Tasks UX: auto-assign project, remove Add buttons, remove card background
Details
Project dropdown now auto-assigns on selection change via
OnSelectedProjectChanged partial handler. Added a static "None" sentinel
project as the first item so users can clear the assignment from the
dropdown directly. Removed the Assign and Clear buttons.
Removed redundant "Add" buttons from Tags, Contexts, Checklist, and
Related Tasks inputs — all already support Enter-to-submit via existing
KeyDown handlers. Updated watermark text to hint at Enter usage.
Removed the ThemeSurfaceBrush card background from the detail area so
content sits directly on the page background for a cleaner, modern look.
Version bump: 1.13.0 → 1.14.0
Add AI "Generate Title from Content" action to Notes and Tasks plugins
Details
Notes plugin (1.50.0): Adds GenerateTitleFromContentAsync() that extracts all page block text, sends it to the AI service with a title-generation prompt (25-75 chars), and presents the suggestion via inline observable properties. Accept sets CurrentPageTitle, dismiss clears the suggestion, and undo restores the previous title. A "Generate Title" menu item is added to the BlockWrapper AI context menu alongside Summarize and Rewrite.
Tasks plugin (1.13.0): Adds GenerateTitleFromContentAsync() that gathers the task description, task notes, and associated project name/description for richer context. The AI Title button is placed in both the main TasksView header (next to status/priority badges) and the TaskDetailPanel headline block. An accept/dismiss suggestion banner appears below the title. Also adds AI Generate/Rewrite buttons to the main TasksView Description section (previously only in TaskDetailPanel).
Both use the direct IAiService.CompleteAsync() pattern with MaxTokens=48, Temperature=0.5, and dedicated feature IDs for usage tracking.
Add Notes UI animations and theme-aware table default color
Details
AiSuggestionPanel: replaces IsVisible toggle with a translateX/opacity
slide animation using style classes (panel-hidden/panel-visible). The
panel stays in the visual tree with IsHitTestVisible=False when hidden,
allowing the 200ms CubicEaseOut slide-in to play on open.
ModalOverlay: adds entrance animation — backdrop fades in over 150ms,
modal card scales from 0.95→1.0 and fades in over 120ms. Uses
Dispatcher.Post at Loaded priority so initial values render before the
transition fires.
TableBlockEditor: adds GetThemeDefaultColor() that reads the new
ThemeTableDefaultColor resource from the active app theme. Falls back
through: explicit table color → user settings default → theme default →
null (gray). This makes new tables automatically match the active theme
(Azure → Blue, Sage → Green, Ember → Orange, etc).
Notes plugin 1.48.2 → 1.49.0.
Notes: inline cover drag/zoom, reposition modal uses shared ModalOverlay
Details
- Added direct LMB drag-to-reposition on the cover image in the main
editor view. Dragging pans the crop offsets and persists on release.
- Added mouse wheel zoom on cover image (0.1 step per tick, 1x-3x range).
Saves immediately after each wheel event.
- Cover action buttons (Change/Reposition/Remove) already fade in only
on cover hover via existing Panel:pointerover styles.
- Reposition button kept for users without a scroll wheel.
- Converted CoverCropEditorOverlay from custom modal layout to the shared
ModalOverlay base (handles Escape, backdrop click, themed header/footer).
Removed redundant ScrollViewer — content auto-sizes to fit, with
ModalMaxHeight raised to 900 so it never needs to scroll.
- Added ApplyInlineCoverPanDelta, ApplyInlineCoverZoomDelta, and
SaveInlineCoverCrop methods to NotesViewModel.
Fix multi-select, remove sidebar filters, add Gmail category support
Details
Selection: Changed ListBox SelectionMode from Multiple to Extended.
Multiple mode caused every click to accumulate selections (showing
"7 selected" when only 1 was intended). Extended mode gives standard
behavior: click selects one, Shift+click for range, Ctrl+click to
toggle individual items.
Filters: Removed the sidebar filter buttons (All Mail, Unread,
Starred, Attachments). These were redundant with folder navigation
and IMAP search. FilterLabel now shows just the folder name.
Gmail categories: Added EmailFolderType.Category to classify Gmail
category folders ([Gmail]/Categories/Promotions, Social, Updates,
Forums, Purchases). Categories appear in the system folders section
between Archive and Junk, sorted alphabetically.
Search: Server-side search results now sort by date descending to
match the default message list ordering.
Version: 1.25.0 → 1.26.0
Get notified about new releases