diff options
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/roster.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/roster.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/roster.py b/packages/meshbay-node/src/meshbay_node/roster.py index 5bdb5ee..5af2b55 100644 --- a/packages/meshbay-node/src/meshbay_node/roster.py +++ b/packages/meshbay-node/src/meshbay_node/roster.py @@ -765,6 +765,7 @@ class Roster: SETTING_MAX_STREAMS = "max_concurrent_streams" SETTING_TRANSCODE = "transcode_incompatible_video" SETTING_STUN_SERVERS = "stun_servers" + SETTING_ICE_INTERFACES = "ice_interfaces" async def node_settings(self, defaults: dict) -> dict: """Current effective settings: roster override if present, else config default.""" @@ -785,15 +786,18 @@ class Roster: result[key] = int(stored) else: result[key] = defaults.get(key) - stored = await self.get_setting(self.NODE_WIDE_GROUP_ID, - self.SETTING_STUN_SERVERS) - if stored is not None: - try: - result["stun_servers"] = _json.loads(stored) - except (ValueError, TypeError): - result["stun_servers"] = defaults.get("stun_servers", []) - else: - result["stun_servers"] = defaults.get("stun_servers", []) + for list_key, setting in [ + ("stun_servers", self.SETTING_STUN_SERVERS), + ("ice_interfaces", self.SETTING_ICE_INTERFACES), + ]: + stored = await self.get_setting(self.NODE_WIDE_GROUP_ID, setting) + if stored is not None: + try: + result[list_key] = _json.loads(stored) + except (ValueError, TypeError): + result[list_key] = defaults.get(list_key, []) + else: + result[list_key] = defaults.get(list_key, []) return result async def set_node_setting(self, key: str, value: str, |