Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 61 of 266 Next →
February 26, 2026
patch Desktop Shell

Route Whisper transcriptions to Duncan when no text input is focused

Details

When Cmd+M is pressed without a text input focused, the speech recording

now proceeds normally and routes the transcription to Duncan's AI tray

instead of silently discarding it. This enables voice commands:

  • MainWindow.Speech.cs: removed early return when no text control is

focused — always start recording regardless of focus state

  • MainWindow.axaml.cs: OnTranscriptionReady routes to

AiTrayVM.SendVoiceMessageAsync() when _speechTargetControl is null,

and auto-opens the AI tray panel

  • AiSuggestionTrayViewModel.Chat.cs: added SendVoiceMessageAsync() that

sets ChatInputText and triggers the standard send pipeline (RAG +

intent classification)

Flow: Cmd+M → record → Whisper transcribe → no text field? → Duncan

processes via RAG + intent engine → shows response/action in AI tray.

patch CalendarContactsEmailFilesFinanceHabitsJournalNotesRssSnippetsTasksWebClips

Round 4: complete AI intent inventory with full slot signatures

Details

The 10th-man audit: previous rounds listed intent names but not the full

slot signatures needed for the AI to construct proper natural-language-to-action

calls. The RAG-indexed descriptions now contain the complete actionable API

for every plugin, enabling voice/speech-to-intent routing.

Key findings and fixes:

  • Tasks: was missing 3 of 4 intents — added tasks.create_project,

tasks.update_task (with all 12 updatable fields), tasks.add_link (with

6 relationship types). This is the biggest gap: users saying "mark my

task as done" or "link this task to that note" would have failed.

  • Finance: had intent names but no slot details for 10 intents — users

asking "what's my checking balance?" or "how much did I spend on

groceries?" need the AI to know which params to fill

  • Notes: was missing content and tags slots (only listed title)
  • Journal: had wrong required slot (title doesn't exist, content is required)
  • Files: was completely missing files.create_bookmark intent
  • WebClips: was completely missing webclips.save_clip intent
  • All plugins: standardized format with * for required slots, included

defaults and behavioral notes (e.g., email.draft_email saves as draft,

does not send; calendar defaults to +1hr; habits uses fuzzy name matching)

patch ContactsEmailFilesHabitsRss

Round 3: add command palette entries to all plugins that expose them

Details

5 plugins register commands in the global command palette (Cmd+K) but none

of their DetailedDescriptions mentioned this. If a user asks Duncan "refresh

my feeds" or "check my mail", the AI needs to know these commands exist.

  • RSS: Refresh All Feeds, Show Unread/Starred, Mark All Read, OPML import/export
  • Email: Check Mail, Compose, Add Account, Mark All Read, Empty Trash
  • Contacts: New Contact/Company/Group, filter by status, Import, Scan Duplicates
  • Habits: New Habit, New Goal, Log Habit, View Analytics
  • Files: Upload File, New Folder, Toggle View, Switch Storage Mode
patch CalendarContactsDataEmailFilesFinanceHabitsJournalNotesRssSnippetsTasksWebClips

Round 2: fill remaining DetailedDescription gaps across all plugins

Details

Focused on AI-actionable gaps identified by cross-referencing PLUGIN_CONTEXT.md:

  • Tasks: list 8 default statuses by name, add GTD contexts with autocomplete,

GitHub activity timeline, AI intent with slots

  • Notes: wiki-link syntax for internal pages vs cross-plugin, automatic backlink

resolution, sticky note tags, AI intent with slots

  • Calendar: AI intent with slots
  • Contacts: favorites toggle, per-contact notes field, AI intent with slots
  • Email: AI intent with slots
  • Habits: export/share, 3 AI intents with slots
  • Finance: category management flags (sort order, hidden)
  • Journal: entry metadata (weather, location, word count, favorite), editable

transcription text, AI intent with slots

  • Files: vault unlock requirement
  • Snippets: AI intent with slots
  • RSS: batch refresh, remove feeds, feed context menus, AI intent with slots
  • WebClips: delete/archive CRUD, graph contribution with tag-based edges
  • Data: search datasets by name
patch CalendarCanvasContactsDataEmailFilesFinanceHabitsNotesRssSnippetsTasksWebClips

Update DetailedDescriptions across all plugins for RAG indexing completeness

Details

The AI assistant (Duncan) lacked knowledge of many user-facing features because

PluginMetadata.DetailedDescription — which gets RAG-indexed as plugin_context

chunks — was incomplete across most plugins.

Updated 13 plugin files to include all features documented in PLUGIN_CONTEXT.md:

HIGH priority (major feature gaps filled):

  • Tasks: pairwise prioritization, task links/relationships, discrete notes,

projects, AI features, in-plugin keyboard shortcuts

  • Notes: 23 block types (was "15+"), chart blocks, table variants, export/import

formats, page locking, cover images, inline properties, 18 templates

MEDIUM priority (moderate gaps filled):

  • Calendar: agenda view, mini calendar, video conference detection, recurring

event exceptions, ICS subscriptions, drag-to-create snap grid, event popover

  • Contacts: phonetic names, personal relationships, interaction detail fields,

org chart, company detail expansion, statistics detail

  • Email: sender trust detail, search debounce, layout toggle, folder management

expansion, concurrent sync limits, intent signals

  • Habits: frequency/value type detail, streak rules, dashboard metrics,

goal overdue detection, multi-period analytics detail

LOW priority (minor enrichments):

  • Finance: 9 account types (added Equity), 10 AI intents enumerated
  • Files: vault security boundary note
  • Snippets: minor formatting improvements
  • RSS: reader mode metadata extraction, semantic renderer detail
  • WebClips: scroll position resume, domain filtering, AI suggestions
  • Canvas: arrow styles, keyboard shortcuts, data migration note
  • Data: CTE detection, import capability detail, AI insights

Journal was already comprehensive — no changes needed.

← Prev Page 61 of 266 Next →

Get notified about new releases