Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 22 of 53 Next →
February 21, 2026
minor Desktop Shell

Unified global AI suggestion tray replacing IntentSuggestionTray (v1.49.0)

Desktop 1.48.3 → 1.49.0 | 489d3a95
Details

Merges the shell's intent suggestion tray and plugin-local AI panels into a

single global "AI Suggestions" tray owned by the desktop shell.

New files:

  • AiSuggestionServiceImpl: wraps WeakReferenceMessenger for Push/Update/Remove
  • AiSuggestionTrayViewModel: subscribes to IntentEngine events + content

suggestion messages, aggregates both card types into one ObservableCollection

  • ContentSuggestionCardViewModel: wraps ContentSuggestionCard, sends

ActionRequested/Dismissed messages back to owning plugin

  • IAiTrayCardViewModel: common interface for Intent and Content card VMs
  • AiSuggestionTray.axaml: DataTemplate-based rendering for both card types

Removed:

  • IntentSuggestionTrayViewModel (replaced by AiSuggestionTrayViewModel)
  • IntentSuggestionTray.axaml (replaced by AiSuggestionTray.axaml)

Renamed in MainWindowViewModel:

  • IntentTrayVM → AiTrayVM, IsIntentTrayOpen → IsAiTrayOpen
  • ToggleIntentTray → ToggleAiTray

Updated MainWindow.axaml bindings, Keyboard.cs escape handler, PluginHost/

PluginHostFactory wiring, and ServiceRegistration DI container.

Desktop version 1.48.3 → 1.49.0.

minor SDK

Add IAiSuggestionService SDK types for unified AI tray (v1.49.0)

SDK 1.48.0 → 1.49.0 | a5193ce3
Details

Introduces the SDK contract for the global AI suggestion tray:

  • ContentSuggestionCard, SuggestionAction, ContentSuggestionState models
  • Messenger messages: Push/Update/Remove/ActionRequested/Dismissed
  • IAiSuggestionService interface (Push, Update, Remove)
  • IPluginHost.Suggestions property for plugin access
  • SDK version bump 1.48.0 → 1.49.0

Plugins can now push content suggestion cards (summaries, rewrites, etc.)

into a shell-owned unified tray via Host.Suggestions. Action clicks route

back to the owning plugin via ContentSuggestionActionRequestedMessage on

the messenger bus, keeping block-level operations inside the plugin while

the shell renders cards uniformly alongside intent suggestion cards.

minor Data

Add AggregateGroupedAsync to Data plugin

Data 1.17.0 → 1.18.0 | 6c872a54
Details

Implements the new IDataObjectProvider.AggregateGroupedAsync method,

delegating to the underlying IDatasetService for multi-series grouped

aggregate queries. Bumps Data plugin version from 1.17.0 to 1.18.0.

minor Data

Add Generate Insights button to Data plugin, bump to 1.17.0

Data 1.16.3 → 1.17.0 | 2b417b14
Details

New "Generate Insights" button in the dataset browse header. Clicking it

queries the first 100 rows, pushes a Loading suggestion card to the AI tray,

and sends DatasetInsightRequestMessage to the shell orchestrator for AI

analysis. The orchestrator handles the AI call and note creation.

New partial class DatasetBrowseViewModel.Insights.cs keeps insight logic

separate. IAiSuggestionService wired through DataPlugin → DataViewModel →

DatasetBrowseViewModel.

minor Desktop Shell

Fix Cmd+K in text blocks + global quick actions (v1.48.0)

Desktop 1.47.3 → 1.48.0 | 4e7154f9
Details

Fixes global keyboard shortcuts (Cmd+K, Cmd+/, Cmd+\, etc.) not firing when

focus is inside TextBox or RichTextEditor controls. The root cause was that

MainWindow.OnKeyDown() used bubble-phase routing, so text controls consumed

KeyDown events before they reached the window. Switched to tunnel-phase

routing via AddHandler(KeyDownEvent, handler, RoutingStrategies.Tunnel),

matching the pattern already used by NavigationSidebar.

Split MainWindow.axaml.cs (593 lines) into three partial classes for

modularity: MainWindow.axaml.cs (lifecycle + pointer handlers),

MainWindow.Keyboard.cs (all global shortcut handling),

MainWindow.Speech.cs (speech-to-text helpers).

Added QuickActionService that aggregates IQuickActionProvider capabilities

from plugins and surfaces them as command palette entries. Wired quick action

overlay in MainWindow.axaml with modal backdrop, title bar, and dynamic

ContentPresenter. Added overlay state properties to MainWindowViewModel.

Registered IQuickActionProvider auto-discovery in PluginRegistry.ActivatePlugin

and QuickActionService as a command provider in SetMainViewModel.

← Prev Page 22 of 53 Next →

Get notified about new releases