Skip to content

refactor: migrate event listeners to runtime subscriptions for better modularity#141

Merged
ldm0 merged 1 commit intomasterfrom
event_migration
Feb 16, 2026
Merged

refactor: migrate event listeners to runtime subscriptions for better modularity#141
ldm0 merged 1 commit intomasterfrom
event_migration

Conversation

@ldm0
Copy link
Collaborator

@ldm0 ldm0 commented Feb 16, 2026

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors event listener management by centralizing Tauri event subscriptions into a dedicated runtime module, improving code modularity and reducing duplication across hooks.

Changes:

  • Introduces a centralized tauriEventRuntime.ts module that manages all Tauri event listeners with a pub-sub pattern
  • Migrates four hooks (useRecentFSEvents, useDataLoader, useAppWindowListeners, useAppHotkeys) to use the new runtime subscription API
  • Updates all corresponding tests to mock the runtime subscriptions instead of Tauri APIs directly

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
cardinal/src/runtime/tauriEventRuntime.ts New runtime module implementing centralized event subscription management with singleton initialization pattern
cardinal/src/main.tsx Initializes the event runtime at application startup
cardinal/src/hooks/useRecentFSEvents.ts Migrated from direct Tauri event listener to runtime subscription, removed validation logic (now centralized)
cardinal/src/hooks/useDataLoader.ts Simplified to use runtime subscription for icon updates, removed inline type casting
cardinal/src/hooks/useAppWindowListeners.ts Refactored to use runtime subscriptions, split into separate useEffect hooks per subscription
cardinal/src/hooks/useAppHotkeys.ts Migrated Quick Look keydown handling to runtime subscription
cardinal/src/hooks/__tests__/useRecentFSEvents.test.ts New test file verifying runtime subscription integration
cardinal/src/hooks/__tests__/useDataLoader.test.ts Updated to mock runtime instead of Tauri event API, added cleanup test
cardinal/src/hooks/__tests__/useAppWindowListeners.test.ts Refactored to mock runtime subscriptions, verifies all subscription cleanups
cardinal/src/hooks/__tests__/useAppHotkeys.test.ts Updated to mock runtime subscription instead of Tauri event API

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ldm0 ldm0 merged commit 11c44a3 into master Feb 16, 2026
15 checks passed
@ldm0 ldm0 deleted the event_migration branch February 16, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant