aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src/meshbay_common
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common')
-rw-r--r--packages/meshbay-common/src/meshbay_common/__init__.py6
-rw-r--r--packages/meshbay-common/src/meshbay_common/adminop.py5
-rw-r--r--packages/meshbay-common/src/meshbay_common/protocol.py2
3 files changed, 12 insertions, 1 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/__init__.py b/packages/meshbay-common/src/meshbay_common/__init__.py
index d40f647..4612157 100644
--- a/packages/meshbay-common/src/meshbay_common/__init__.py
+++ b/packages/meshbay-common/src/meshbay_common/__init__.py
@@ -52,5 +52,9 @@ __version__ = "0.8.0"
# 0.12: added `link_preview_req`/`link_preview_resp` — the node unfurls a URL
# pasted in chat into an OpenGraph card. Additive: an older node logs "unknown
# type" and the client just shows the bare link, as it always did.
-MNP_VERSION = "0.12"
+# 0.13: added `tmdb_rematch`/`tmdb_rematch_ack` — an operator dropping one
+# file's cached TMDB match so it re-resolves with the current matcher
+# (§10.1/V13). Additive: an older node logs "unknown type", the client's
+# button just does nothing.
+MNP_VERSION = "0.13"
MHP_VERSION = "0.1"
diff --git a/packages/meshbay-common/src/meshbay_common/adminop.py b/packages/meshbay-common/src/meshbay_common/adminop.py
index f96dd57..762a2d1 100644
--- a/packages/meshbay-common/src/meshbay_common/adminop.py
+++ b/packages/meshbay-common/src/meshbay_common/adminop.py
@@ -83,6 +83,11 @@ OP_VIDEO_ROOT = "video_root"
# (media_cache is shared, not per-viewer), so an unsigned override would let
# any member vandalize another show's metadata.
OP_TMDB_OVERRIDE = "tmdb_override"
+# "Re-match this one file" — drop its cached match (and any override marker)
+# so the next media_meta_req re-resolves with the current matcher. Signed for
+# the same reason as tmdb_override: media_cache is shared node-wide, so an
+# unsigned reset would let any member wipe another's correction.
+OP_TMDB_REMATCH = "tmdb_rematch"
# MusicBrainz contact is now the owner's hub email (musicbrainz.py) — no
# signed config op needed. Only the per-group toggle remains.
# Whether the node calls MusicBrainz *at all* for this group — per-group from
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index 651fe2d..a3fb4de 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -109,6 +109,8 @@ class MNP:
TMDB_SEARCH_RESP = "tmdb_search_resp" # node → client: candidate list (id, title, year, poster)
TMDB_OVERRIDE = "tmdb_override" # operator → node: replace a show/movie's TMDB match
TMDB_OVERRIDE_ACK = "tmdb_override_ack"
+ TMDB_REMATCH = "tmdb_rematch" # operator → node: drop one file's match
+ TMDB_REMATCH_ACK = "tmdb_rematch_ack"
# Music app (docs/musicbay.md). Contact is derived from the owner's hub
# email at login — no config/ack pair needed. Only the per-group toggle
# remains.