summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node')
-rw-r--r--packages/meshbay-node/src/meshbay_node/daemon.py2
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py9
2 files changed, 9 insertions, 2 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/daemon.py b/packages/meshbay-node/src/meshbay_node/daemon.py
index 028918d..bcc4f6d 100644
--- a/packages/meshbay-node/src/meshbay_node/daemon.py
+++ b/packages/meshbay-node/src/meshbay_node/daemon.py
@@ -1086,7 +1086,7 @@ class NodeDaemon:
# context is read once at load and an app enabled later must not find its
# own setting missing. Adding an app adds a name here and nowhere else on
# this side.
- APP_DIR_KEYS = ("video", "music", "photo", "chat")
+ APP_DIR_KEYS = ("video", "music", "photo", "chat", "helloworld")
async def _app_directories_ctx(self, group_id: str) -> dict:
"""
diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
index 0e2d418..acdbe29 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
@@ -1828,7 +1828,14 @@ class WebRTCPeerSession:
# network calls (TMDB, MusicBrainz) once enabled, so an operator opts a
# group in explicitly rather than getting it for free
# (docs/mediacenter.md §5.6, docs/musicbay.md §4.4).
- ALLOWED_APPS = frozenset({"chat", "files", "video", "music", "photo"})
+ # `helloworld` is the reference implementation (docs/refactor-groups.md
+ # §4.1), hidden client-side behind `?dev=1`. It is here because the
+ # allow-list is server-side enforcement — a client that names an app this
+ # node does not know is refused — and an app the node refused could not
+ # demonstrate anything. This entry and the client's registry line are the
+ # whole of what adding an application costs.
+ ALLOWED_APPS = frozenset({"chat", "files", "video", "music", "photo",
+ "helloworld"})
def _do_apps_enabled(self, msg: dict) -> None:
"""