Fix page tree UI polish and block editor UX improvements (v1.53.0)
Details
Page tree sidebar: constrain selected item width to match New Page/Template
buttons, add right-aligned expand/collapse chevron with animation, apply
ellipsis to long page titles, left-align icons with tighter spacing, and
scope bold styling to only the directly selected page (not its children).
Block editor: replace Cmd+/ shortcut with Notion-style slash command that
opens the block type picker when "/" is typed in an empty paragraph block.
Clear saved block index when focus leaves a block editor so that adding
new blocks appends at the end instead of inserting at the stale position.
Fix quick action forms not rendering: build UI in constructor
Details
OnAttachedToVisualTree had a race condition causing intermittent empty
modals. Moved BuildForm() into the constructor so Content is always
populated before the control enters any visual tree. This eliminates
the timing dependency entirely.
Fix quick action shortcuts: Cmd+N for sticky note, Cmd+T rendering outside plugin views
Details
Two bugs fixed:
1. Cmd+N was creating a new note page instead of opening the sticky note
quick action. Root cause: NotesView.axaml.cs had a local OnKeyDown handler
that intercepted Cmd+N and called CreatePageCommand before the shell's
global quick action routing could match it. Additionally, the Notes plugin's
QuickActionDescriptor for sticky notes had no DefaultShortcutHint declared.
Fix: Removed the local Cmd+N handler from NotesView and added
DefaultShortcutHint = "Cmd+N" to the sticky note quick action descriptor.
Now Cmd+N globally triggers the sticky note popup via the shell's generic
shortcut resolution.
2. Cmd+T quick task modal appeared empty when triggered outside the Tasks
plugin view. Root cause: Both QuickTaskForm and QuickStickyNoteForm built
their UI in OnApplyTemplate, which relies on a ControlTemplate being applied.
When the shell's quick action overlay places these controls inside a
ContentPresenter, OnApplyTemplate may not fire or fires without the right
template context. Fix: Switched both forms to build their UI in
OnAttachedToVisualTree with a null guard, ensuring the form content renders
regardless of which visual tree context hosts the control.
Add QuickEventForm for global quick action overlay (v1.14.0)
Details
Adds a programmatic QuickEventForm control used by CalendarPlugin's
IQuickActionProvider to create events from the Cmd+E global shortcut.
The form includes title, date, and time (hour/minute/AM-PM) inputs with
auto-rounding to the next 15-minute increment.
Calendar plugin version 1.13.1 → 1.14.0.
Migrate Notes AI suggestions to global tray (v1.52.0)
Details
Migrates the Notes plugin from its local AiSuggestionPanel to the shell's
unified AI suggestion tray via Host.Suggestions (IAiSuggestionService).
Changes:
- NotesViewModel.AI.cs: replaced AiSuggestionPanel.AddLoadingCard() with
Host.Suggestions.Push() + Update() for Loading→Ready/Error transitions.
Added PushLoadingCard/ShowCardResult/ShowCardError helpers.
- NotesViewModel.AiTray.cs (new): handles ContentSuggestionActionRequestedMessage
and ContentSuggestionDismissedMessage for block-level operations (replace,
insert above/below, undo). Tracks undo state in Dictionary<string, SuggestionBlockState>.
- NotesPlugin.cs: passes Host.Suggestions to SetAiService, registers messenger
subscriptions for AI tray action messages.
- NotesView.axaml: removed local AiSuggestionPanel from right dock.
AI toggle button now triggers LoadAiSuggestionsForCurrentPage (re-pushes
persisted suggestions into global tray).
- AiSuggestionPanelViewModel, AiSuggestionCardViewModel: marked [Obsolete],
kept for backward compatibility.
Notes plugin version 1.51.0 → 1.52.0.
Get notified about new releases