aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common')
-rw-r--r--packages/meshbay-common/src/meshbay_common/adminop.py6
-rw-r--r--packages/meshbay-common/src/meshbay_common/protocol.py12
2 files changed, 18 insertions, 0 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/adminop.py b/packages/meshbay-common/src/meshbay_common/adminop.py
index 1d2e2b2..9a56934 100644
--- a/packages/meshbay-common/src/meshbay_common/adminop.py
+++ b/packages/meshbay-common/src/meshbay_common/adminop.py
@@ -106,6 +106,12 @@ OP_AUDIO_ROOT = "audio_root"
OP_PHOTO_ROOTS = "photo_roots"
OP_ROOT_ADD = "root_add"
OP_ROOT_REMOVE = "root_remove"
+# One op for every application's directories. The subject is
+# "<app>:<comma-joined sorted paths>" so what the operator is shown before
+# signing names both the app and the outcome — "video_root" alone said neither.
+OP_APP_DIRECTORIES = "app_directories"
+OP_CHAT_DIRECTORY = "chat_directory"
+OP_CHAT_LINK_PREVIEW = "chat_link_preview"
OP_ROOT_UPDATE = "root_update"
OP_ROOT_EJECT = "root_eject"
OP_ROOT_PLUG = "root_plug"
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index 7ee5df1..689adbf 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -164,6 +164,18 @@ class MNP:
ROOT_ADD_ACK = "root_add_ack" # node → operator: confirmed
ROOT_REMOVE = "root_remove" # operator → node: remove a root from a group
ROOT_REMOVE_ACK = "root_remove_ack" # node → operator: confirmed
+ # One message for every application's directories, keyed by the app's own
+ # name — adding an app adds no message type. VIDEO_ROOT / AUDIO_ROOT /
+ # PHOTO_ROOTS above are the same instruction under three earlier names and
+ # are still handled, for clients that predate this.
+ APP_DIRECTORIES = "app_directories" # operator → node: an app's folder(s)
+ APP_DIRECTORIES_ACK = "app_directories_ack"
+ # Chat's own two: where attachments are written (a destination, so it must
+ # be a read-write root), and whether the node unfurls links members post.
+ CHAT_DIRECTORY = "chat_directory"
+ CHAT_DIRECTORY_ACK = "chat_directory_ack"
+ CHAT_LINK_PREVIEW = "chat_link_preview"
+ CHAT_LINK_PREVIEW_ACK = "chat_link_preview_ack"
ROOT_UPDATE = "root_update" # operator → node: change writable/removable on a root
ROOT_UPDATE_ACK = "root_update_ack"
ROOT_EJECT = "root_eject" # operator → node: mark removable root as ejected