aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common/src')
-rw-r--r--packages/meshbay-common/src/meshbay_common/adminop.py5
-rw-r--r--packages/meshbay-common/src/meshbay_common/protocol.py3
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/adminop.py b/packages/meshbay-common/src/meshbay_common/adminop.py
index 8638e60..3e9fe11 100644
--- a/packages/meshbay-common/src/meshbay_common/adminop.py
+++ b/packages/meshbay-common/src/meshbay_common/adminop.py
@@ -99,6 +99,11 @@ OP_ROOT_REMOVE = "root_remove"
OP_APP_DIRECTORIES = "app_directories"
OP_CHAT_DIRECTORY = "chat_directory"
OP_CHAT_LINK_PREVIEW = "chat_link_preview"
+# Whether this group's files appear in its members' cross-group Search. A
+# presentation choice and nothing more — every member still lists the group by
+# opening it — but it changes what every member's Search shows, so it is the
+# operator's, signed like the other per-group switches.
+OP_SEARCH_LISTED = "search_listed"
# Open a new chat epoch for a group, by hand. The removals that matter open one
# by themselves (member revoke/unpin, device revoke, gek_rotate); this is the
# operator saying "do it anyway", which is the same shape as `gek_rotate` and
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index 1dfa519..f4cd497 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -223,6 +223,9 @@ class MNP:
CHAT_DIRECTORY_ACK = "chat_directory_ack"
CHAT_LINK_PREVIEW = "chat_link_preview"
CHAT_LINK_PREVIEW_ACK = "chat_link_preview_ack"
+ # Whether the group's files are listed in members' cross-group Search.
+ SEARCH_LISTED = "search_listed"
+ SEARCH_LISTED_ACK = "search_listed_ack"
# The keys a group's chat archive is encrypted under, on their way to a
# member. Sealed under a group-derived subkey, so the payload carries an
# authentication tag from a key the hub does not hold — and a member who has