- improve how chat history is shown on UI
- add time stamp to past chats
- imrove icon look and placement in title bar
feat:
- add new chat icon to title bar
The renderer previously filtered run events by the active runId, which meant
run-processing-start for a newly created or non-active run could be dropped.
That caused the thinking indicator to miss on subsequent chats and lost live
streaming context when switching between runs.
This change keeps only minimal background state:
- a Set of runIds currently processing (driven by run-processing-start/end)
- a per-run streaming buffer for assistant/reasoning deltas
All run events are now observed; non-active runs only update the minimal
structures. When a run is selected, its conversation is loaded as before and
any in-progress buffer is used to seed the streaming UI. Buffers are cleared
on final assistant message, run end, stop, or error.
The chat history list now shows a processing indicator per run.
Tests:
- cd apps/x && npm run deps
- cd apps/x/apps/renderer && npm run build
- Introduced a Popover component to display sync activity and logs.
- Increased the maximum sync events from 30 to 1000.
- Added a mapping for service labels to improve user feedback on active services.
- Refactored state management to track active services and log events more effectively.
Render filepath code blocks as rich, clickable cards with three variants:
knowledge files (navigate to editor), audio files (inline play/pause),
and system files (open externally). Adds shell:openPath and
shell:readFileBase64 IPC channels, FileCardProvider context, and
Streamdown pre override.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add background task scheduling system with cron-based triggers
- Add background-task-detail component for viewing agent status
- Add agent schedule repo and state management
- Update sidebar to show background agents section
- Remove old workflow-authoring and workflow-run-ops skills
- Add IPC handlers for agent schedule operations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Migrate gmail_sync to use Composio for OAuth authentication instead of
direct Google OAuth. Add gmail connection UI to onboarding and connectors.
Remove calendar sync functionality.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allow users to ask copilot to use Slack on their behalf via Composio integration.
Adds composio client, OAuth flow, slack skill with tool catalog, and UI for
connecting Slack in onboarding and connectors popover.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add rowboat auth flow using Supabase as the OIDC provider. User info is
fetched via the standard OIDC userinfo endpoint (discovered from issuer
metadata) instead of a hard-coded Supabase URL. Includes login screen,
auth state hook, IPC handlers, logout button, and id_token_sub persistence
for userinfo fetches across app restarts.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
UX issue: if I scroll the text before the copilot has finished generating, then it scrolls back up after the end of generation.
Rename tasks -> Chats and make it the default view
Implement a stop execution feature that allows users to abort ongoing LLM
streaming, kill running tool calls, and clear pending permission/human input
requests. Uses a hybrid approach: first click sends graceful SIGTERM, second
click within 2s sends SIGKILL and force-closes MCP clients.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>