Animated thinking dots for Duncan's loading state
Details
Replace the barely-visible indeterminate ProgressBar + static "Thinking..." text
with an animated "Thinking." → "Thinking.." → "Thinking..." cycle (400ms per
frame) driven by a timer in AiChatMessageViewModel. The animation starts when
the message enters Loading state and stops when streaming/ready begins. Uses
italic styling for visual distinction from actual response content.
Desktop 1.63.0 → 1.63.1.
Expand AI & Intent System RAG documentation for Duncan
Details
The shell-ai RAG chunk was too sparse for Duncan to explain its own
features. Expand it with detailed interaction instructions, provider
configuration details, response length behavior, and AI memory.
Add a new shell-intents RAG chunk documenting the full intent lifecycle
(signal → classification → slot extraction → execution → confirmation),
listing every available intent across all 14 plugins with descriptions
and example natural language queries.
Update APP_CONTEXT.md with a comprehensive AI & Intent System section
including a full intent catalog table, RAG explanation, and content
suggestion documentation.
This ensures Duncan can answer questions like "what are intents?",
"how do I interact with you?", and "what can you do?" with accurate,
context-aware responses from the RAG index.
Add shell-level RAG content provider for global features
Details
Introduces ShellContentProvider implementing IIndexableContentProvider to
index shell-level features into the RAG vector index. This allows Duncan
to answer questions about global shortcuts, Universal Search, Knowledge
Graph, Dashboard, AI services, Info Panel, Cloud Sync, themes, speech
input, reminders, security, and the plugin ecosystem — without needing
plugin-specific context. Registered via CapabilityBroker so RagIndexService
discovers it alongside plugin providers during full index.
Fix DispatcherPriority, revert auto-note on intents, add missing nav icons
Details
- Fix DispatcherPriority.Layout → Render (Layout doesn't exist in Avalonia)
- Revert auto-note creation from intent suggestions — intents should only
show action buttons, not auto-create notes. Auto-note stays in the
DatasetInsightOrchestrator for user-initiated insights only.
- Add Target icon (Habits plugin) and CurrencyDollar icon (Finance plugin)
to IconData with GetIcon switch cases
Duncan AI improvements: bubble positioning, token streaming, auto-insight notes
Details
- Fix speech balloon arrow seam by using open path (no top-edge stroke)
- Dynamically position balloon over AI star icon instead of hardcoded margin
- Clicking balloon now opens AI tray (intents) instead of just dismissing
- Add token streaming for local LLM inference — responses appear progressively
instead of all-at-once after full generation completes
- Add StreamCompleteAsync to IAiProvider with default fallback implementation
- LocalLlamaProvider streams tokens via onToken callback during InferAsync loop
- New ChatMessageState.Streaming state for progressive content display
- Auto-create a Notes page when Duncan generates an intent suggestion insight
- Show "View Note" button alongside the intent action for quick navigation
- Handle view_page: action routing in intent suggestion message handler
Get notified about new releases