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/installer_test.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/shirabe/tests/installer_test.rs') diff --git a/crates/shirabe/tests/installer_test.rs b/crates/shirabe/tests/installer_test.rs index 1a8b7ccc..f5e84558 100644 --- a/crates/shirabe/tests/installer_test.rs +++ b/crates/shirabe/tests/installer_test.rs @@ -194,6 +194,7 @@ impl EventDispatcherInterface for StubEventDispatcher { ) -> anyhow::Result<()> { Ok(()) } + fn remove_listener(&mut self, _listener: &shirabe_php_rpc::PhpObjHandle) {} fn has_event_listeners(&mut self, _event: &dyn EventInterface) -> bool { false } -- cgit v1.3.1