Fix graph sidebar dark mode: node type text color and expander hover glitch
Details
Node type labels (Notes, Tasks, Contacts, etc.) were using non-existent ThemeTextBrush resource, falling back to black text on dark backgrounds. Changed to ThemeTextPrimaryBrush which resolves correctly in all themes.
Expander headers in the glass sidebar had a visual glitch on hover where the opaque ThemeSurfaceBrush background from the global theme conflicted with the translucent ThemeSurfaceGlassBrush sidebar background. Added scoped transparent background overrides for all Expander toggle button states to blend seamlessly with the glass panel.
Show AI tray when any AI is enabled, not just intents
Details
The AI suggestion tray button was gated on IntentEngine.IsEnabled which
requires both AiEnabled AND AiIntentEnabled. Changed to check AiEnabled
and AiService.IsAvailable directly, so the tray shows whenever any AI
feature is configured regardless of intent toggle state.
Add IQuickActionForm SDK interface and harden quick action overlay (v1.49.2)
Details
Introduces IQuickActionForm capability interface with CloseRequested event and
RequestClose() method, enabling the shell to handle overlay close lifecycle
instead of each plugin using reflection to find MainWindowViewModel. The
QuickActionService now subscribes to IQuickActionForm.CloseRequested when
creating UI content, providing a standardized close path. ShowQuickActionOverlay
resets stale state before showing new content and dispatches via
Dispatcher.UIThread.Post to ensure a clean visual tree cycle when rapidly
re-invoking overlays.
Fix Clean DB deleting all entities: orphan detection used wrong column
Details
The orphan entity detection compared created_by (a peer UUID identifying
the device) against plugin_id (e.g. "privstack.notes"), which never
matched — causing every entity to be classified as an orphan and deleted.
Fixed find_orphan_entities and delete_orphan_entities to check only the
entity_type column against the set of registered entity types from all
plugins. The created_by field is a peer identifier for CRDT sync and is
not related to plugin ownership.
Rust core v1.13.6, Desktop v1.49.1.
Restyle universal search shortcut badge: larger, bold, right-aligned
Details
Replaced the horizontal StackPanel layout with a Grid so the shortcut
badge is pushed to the far right of the search pill. Made the badge
bold and bumped font size from ThemeFontSizeXs to ThemeFontSizeSm for
better visibility. The badge is now vertically centered with proper
right margin, clearly separated from the placeholder text.
Get notified about new releases