From 3e21c8a93ad6bd6390fc87f25cc0f0445a60e45a Mon Sep 17 00:00:00 2001 From: totaam Date: Sun, 3 Sep 2023 00:09:45 +0700 Subject: [PATCH] #3930 use the same prefix for all subsystem packets --- .../unittests/unit/server/mixins/notification_test.py | 2 +- xpra/client/mixins/clipboard.py | 10 +++++++--- xpra/server/mixins/clipboard.py | 9 +++++++-- xpra/server/mixins/notification.py | 5 +++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/tests/unittests/unit/server/mixins/notification_test.py b/tests/unittests/unit/server/mixins/notification_test.py index 2f1d366c2a..2cf95f912d 100755 --- a/tests/unittests/unit/server/mixins/notification_test.py +++ b/tests/unittests/unit/server/mixins/notification_test.py @@ -38,7 +38,7 @@ def test_notification(self): self._test_mixin_class(notification.NotificationForwarder, opts) self.verify_packet_error(("notification-close", 1, "test", "hello")) self.verify_packet_error(("notification-action", 1)) - self.handle_packet(("set-notify", False)) + self.handle_packet(("notification-status", False)) self.mixin.cleanup() time.sleep(0.1) finally: diff --git a/xpra/client/mixins/clipboard.py b/xpra/client/mixins/clipboard.py index d4b79e5c91..fb9e2115ad 100644 --- a/xpra/client/mixins/clipboard.py +++ b/xpra/client/mixins/clipboard.py @@ -175,11 +175,12 @@ def process_ui_capabilities(self, caps : typedict) -> None: def init_authenticated_packet_handlers(self) -> None: - self.add_packet_handler("set-clipboard-enabled", self._process_clipboard_enabled_status) + self.add_packet_handler("set-clipboard-enabled", self._process_clipboard_status) for x in ( "token", "request", "contents", "contents-none", "pending-requests", "enable-selections", + "status", ): self.add_packet_handler("clipboard-%s" % x, self._process_clipboard_packet) @@ -243,10 +244,13 @@ def make_clipboard_helper(self): def _process_clipboard_packet(self, packet : PacketType) -> None: ch = self.clipboard_helper log("process_clipboard_packet: %s, helper=%s", bytestostr(packet[0]), ch) - if ch: + packet_type = packet[0] + if packet_type=="clipboard-status": + self._process_clipboard_status(packet) + elif ch: ch.process_clipboard_packet(packet) - def _process_clipboard_enabled_status(self, packet: PacketType) -> None: + def _process_clipboard_status(self, packet: PacketType) -> None: clipboard_enabled, reason = packet[1:3] if self.clipboard_enabled!=clipboard_enabled: log.info("clipboard toggled to %s by the server, reason given:", ["off", "on"][int(clipboard_enabled)]) diff --git a/xpra/server/mixins/clipboard.py b/xpra/server/mixins/clipboard.py index 58de6b659a..b361ae8f74 100644 --- a/xpra/server/mixins/clipboard.py +++ b/xpra/server/mixins/clipboard.py @@ -198,6 +198,10 @@ def _process_clipboard_packet(self, proto, packet : PacketType) -> None: if not ss: #protocol has been dropped! return + packet_type = packet[0] + if packet_type=="clipboard-status": + self._process_clipboard_status(proto, packet) + return if self._clipboard_client!=ss: log("the clipboard packet '%s' does not come from the clipboard owner!", packet[0]) return @@ -211,7 +215,7 @@ def _process_clipboard_packet(self, proto, packet : PacketType) -> None: assert ch, "received a clipboard packet but clipboard sharing is disabled" self.idle_add(ch.process_clipboard_packet, packet) - def _process_clipboard_enabled_status(self, proto, packet : PacketType) -> None: + def _process_clipboard_status(self, proto, packet : PacketType) -> None: assert self.clipboard if self.readonly: return @@ -253,9 +257,10 @@ def send_clipboard_packet(self, *parts) -> None: def init_packet_handlers(self) -> None: if self.clipboard: - self.add_packet_handler("set-clipboard-enabled", self._process_clipboard_enabled_status) + self.add_packet_handler("set-clipboard-enabled", self._process_clipboard_status) for x in ( "token", "request", "contents", "contents-none", "pending-requests", "enable-selections", "loop-uuids", + "status", ): self.add_packet_handler("clipboard-%s" % x, self._process_clipboard_packet) diff --git a/xpra/server/mixins/notification.py b/xpra/server/mixins/notification.py index 7236b87529..9dc36cedc0 100644 --- a/xpra/server/mixins/notification.py +++ b/xpra/server/mixins/notification.py @@ -152,7 +152,7 @@ def notify_close_callback(self, nid:int) -> None: ss.notify_close(int(nid)) - def _process_set_notify(self, proto, packet : PacketType) -> None: + def _process_notification_status(self, proto, packet : PacketType) -> None: assert self.notifications, "cannot toggle notifications: the feature is disabled" ss = self.get_server_source(proto) if ss: @@ -204,5 +204,6 @@ def init_packet_handlers(self) -> None: self.add_packet_handlers({ "notification-close" : self._process_notification_close, "notification-action" : self._process_notification_action, - "set-notify" : self._process_set_notify, + "notification-status" : self._process_notification_status, + "set-notify" : self._process_notification_status, })