From 3f3ad76eafcc5513000ac7526c74c2009bb390d8 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 4 Aug 2026 04:31:51 +0900 Subject: feat(plugin): remove subscribed listeners when a plugin is removed Wire removePlugin to EventDispatcher::removeListener now that subscriber listeners carry the plugin's P-table handle: PHP's $candidate[0] === $listener identity check maps to phandle equality on Callable::PhpMethod. Co-Authored-By: Claude Fable 5 --- crates/shirabe/tests/command/archive_command_test.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/shirabe/tests/command') diff --git a/crates/shirabe/tests/command/archive_command_test.rs b/crates/shirabe/tests/command/archive_command_test.rs index 655020e0..6d20fda0 100644 --- a/crates/shirabe/tests/command/archive_command_test.rs +++ b/crates/shirabe/tests/command/archive_command_test.rs @@ -89,6 +89,7 @@ mockall::mock! { &mut self, subscriber: &'a dyn shirabe::event_dispatcher::EventSubscriberInterface, ) -> anyhow::Result<()>; + fn remove_listener<'a>(&mut self, listener: &'a shirabe_php_rpc::PhpObjHandle); fn has_event_listeners(&mut self, event: &dyn EventInterface) -> bool; } } -- cgit v1.3.1