Skip to content

Fix/355 fix 005 release bugs#356

Merged
felix-schultz merged 14 commits intodevfrom
fix/355-fix-005-release-bugs
Oct 27, 2025
Merged

Fix/355 fix 005 release bugs#356
felix-schultz merged 14 commits intodevfrom
fix/355-fix-005-release-bugs

Conversation

@felix-schultz
Copy link
Copy Markdown
Member

This pull request introduces several important updates to the desktop application's event sink and deep link handling. The main focus is on renaming the "path" field to "route" for deep links, ensuring database and code consistency, and improving schema permissions. Additionally, there are enhancements to the event sink manager's concurrency handling and error reporting.

Deeplink and Event Sink Refactoring:

  • Renamed all instances of the deep link field from path to route throughout the codebase, including the database schema, Rust structs, and TypeScript event config. This includes updating table columns, SQL queries, log messages, and struct field names. A migration function ensures legacy databases are updated from path to route. (apps/desktop/src-tauri/src/event_sink/deeplink.rs, apps/desktop/src-tauri/src/deeplink.rs, apps/desktop/lib/event-config.ts) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

  • Added a migration step to rename the legacy path column to route in the deeplink_routes table and to update related indexes, ensuring backward compatibility for existing users. (apps/desktop/src-tauri/src/event_sink/deeplink.rs)

Schema and Permissions Updates:

  • Expanded the default permissions set in both desktop-schema.json and macOS-schema.json to include allow-register-listener and allow-remove-listener. Also added explicit allow/deny entries for these permissions, improving granularity and clarity for plugin developers. (apps/desktop/src-tauri/gen/schemas/desktop-schema.json, apps/desktop/src-tauri/gen/schemas/macOS-schema.json) [1] [2] [3]

Event Sink Manager Improvements:

  • Implemented a Clone trait for EventSinkManager to support safe concurrent usage. (apps/desktop/src-tauri/src/event_sink/manager.rs)

  • Improved concurrency and error handling in the start_sink_once method: now ensures only one instance of a sink is started at a time, and if startup fails, the sink is properly removed from the started set. (apps/desktop/src-tauri/src/event_sink/manager.rs)

These changes collectively improve the maintainability, safety, and flexibility of the event system, especially around deep linking and permissions.

- Updated JSON schemas for desktop and macOS to include new permissions: `allow-register-listener`, `allow-remove-listener`, `deny-register-listener`, and `deny-remove-listener`.
- Improved `EventSinkManager` to prevent redundant sink starts and added a delay for sink initialization.
- Refactored logging nodes (ErrorNode, InfoNode, WarningNode) to handle messages as generic values instead of strings, allowing for better flexibility in logging.
- Enhanced execution context and internal node handling to support context pin overrides, improving the evaluation of pin values.
- Cleaned up HTTP client caching logic for better readability.
refactor: update ExecutionContext to simplify pin value overrides
refactor: enhance logging nodes with on_update method for message matching
…lue methods for improved isolation in parallel execution
@felix-schultz felix-schultz linked an issue Oct 27, 2025 that may be closed by this pull request
6 tasks
@felix-schultz felix-schultz merged commit d7ef3d4 into dev Oct 27, 2025
3 of 10 checks passed
@felix-schultz felix-schultz deleted the fix/355-fix-005-release-bugs branch October 27, 2025 20:02
This was referenced Oct 28, 2025
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.

Fix 0.0.5 release bugs

1 participant