Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 48 of 117 Next →
February 21, 2026
patch SDK

Add IntentExecutedMessage for reverse-linking intent results

SDK 1.59.0 → 1.59.1 | 18815c2c
Details

New SDK message type broadcast after a successful intent execution,

allowing source plugins to create reverse links from the originating

entity to the newly created entity. This enables bidirectional linking

between e.g. a task and a calendar event created from that task's note.

SDK version 1.59.0 -> 1.59.1.

patch Desktop Shell

Add action buttons to AI intent suggestions and fix dismiss

Desktop 1.58.3 → 1.58.4 | 7637ec20
Details

Intent suggestions from IntentEngine (e.g. "Create Calendar Event",

"Create Task") were rendered with only a "Dismiss" link and no action

button. The user had no way to accept/execute the suggested intent.

Three fixes:

1. AddIntentAsAssistantMessage now adds a primary action button using

the matched intent's DisplayName (e.g. "Create Calendar Event").

Clicking it calls IntentEngine.ExecuteAsync() which routes to the

owning plugin's IIntentProvider.ExecuteIntentAsync().

2. Fixed RemoveMessageBySuggestionId double-prefix bug — intent messages

have SuggestionId="intent:{uuid}" but the method was searching for

"intent:intent:{uuid}", so dismiss never actually removed the message.

3. Dismiss now calls IntentEngine.Dismiss() to clean up the pending

suggestion from the engine, not just the UI collection.

Also added IRecipient<ContentSuggestionActionRequestedMessage> to

AiSuggestionTrayViewModel to route intent action clicks through

ExecuteIntentActionAsync with proper loading/applied/error state

transitions.

patch Desktop Shell

Fix AI intent suggestions not appearing to user

Desktop 1.58.2 → 1.58.3 | b13469f3
Details

AiSuggestionTrayViewModel was lazily initialized (??= on first property

access), which meant the SuggestionAdded event subscription didn't exist

until the user opened the AI tray. Intent signals from plugins (email,

tasks, etc.) fired before the VM was created, so the balloon notification

and gold badge indicator never appeared — even though IntentEngine

correctly classified the intents.

Fixed by eagerly initializing AiTrayVM at the end of the

MainWindowViewModel constructor, ensuring the event subscription is

active before any plugin signals arrive.

patch Desktop Shell

Fix AI model selection not persisting across restarts

Details

The selected cloud model was being overwritten during settings load.

When LoadAiSettings set SelectedAiProvider, it triggered

OnSelectedAiProviderChanged which called RefreshAiCloudModels, which

defaulted SelectedAiCloudModel to the first model (Sonnet). This

fired OnSelectedAiCloudModelChanged which saved Sonnet to settings

before the actual saved model could be restored.

Fix: add _isLoadingAiSettings guard that suppresses all save calls

during LoadAiSettings. Change handlers now early-return when the

guard is active.

Also add a green "Saved" indicator below the model dropdown that

appears for 2 seconds after changing the model selection.

patch Desktop Shell

Downgrade cloud sync auto-start auth error to debug log

Desktop 1.58.1 → 1.58.2 | 48c68c01
Details

CloudAuthError on auto-start is an expected condition (token expired, not yet

logged in). Log it at Debug level with a clean one-liner instead of Warning

with the full stack trace. Unexpected errors still get the full Warning + trace.

← Prev Page 48 of 117 Next →

Get notified about new releases