Release v0.5.0: CodeMirror 6 file editor, Push-to-Talk STT, session compaction, AI plans, named terminals & UI Enhancements!#31
Conversation
…views and editors
…ge meter, and session compaction functionality
…Plan Manager, Remote SSH File/Git Resume, Session Context Window Compaction, and V2 Roadmap. These changes streamline the project by eliminating outdated or redundant content, ensuring a more focused development effort moving forward.
… update Git revision
- Added quick actions to collapsed plan cards for loading, renaming, and removing plans, improving accessibility and usability. - Introduced collapsible plan status groups with descriptive headers to clarify the state of plans in the Plans panel. - Implemented a new session compaction feature to summarize ongoing conversations, optimizing context usage. - Updated internationalization keys for new features and ensured translations across all supported locales. - Improved visual consistency of quick action buttons and fixed minor UI issues related to plan card displays.
…t for quick action buttons
- Introduced new light themes: Tokyo Night Light, Nord Light, GitHub Light, Ayu Light, One Light, Winter Light, Paper Light, Alpine Light, Frost Light, and Lilac Light. - Updated the theme catalog with new theme configurations and preview colors. - Added internationalization support for the new themes in Traditional Chinese. - Enhanced CSS variables for each new theme to ensure proper styling and color schemes.
- Added a new terminal naming section in the workspace settings pane to allow users to toggle between slot numbers and friendly names. - Implemented a mechanism to manage an editable name pool for terminal slots, allowing users to add, edit, and remove names. - Updated the terminal display to show friendly names based on user preferences, with overrides for individual slots. - Introduced a new module for terminal naming logic, including functions for resolving names and managing the name pool. - Updated theme colors and styles to support the new terminal naming feature. - Refactored related components to integrate the new naming functionality seamlessly.
- Implemented AI plan generation functionality with a new dialog in the Plans panel. - Added localization support for new AI-related strings in Italian, Japanese, Korean, Polish, Portuguese, Russian, Simplified Chinese, and Traditional Chinese. - Introduced a new `GeneratedPlan` struct to handle AI-generated plans. - Created a new CSS file for styling the AI generation dialog. - Updated the Tauri bridge to include a new `plan_generate_ai` function for generating plans based on user prompts. - Enhanced the Plans panel to include buttons for generating AI plans and tasks, triggering the new dialog. - Added error handling and user feedback for the AI generation process.
- Added a new Push-to-Talk section in BLXCode Settings for configuring voice input. - Integrated local STT using `whisper.cpp` with options for model selection and quality presets. - Enabled cloud STT options with existing providers, ensuring AWS Polly is not misused for transcription. - Implemented target behavior for inserting transcripts into various inputs (Agent composer, terminal, clipboard). - Added collision handling to prevent conflicts with existing STT/TTS features. - Enhanced UI with settings for auto-submit, partial transcript display, and microphone device selection. - Updated documentation and i18n keys for new features. - Improved performance and error handling for STT operations. - Added tests for settings serialization, target routing, and collision state machine. docs: Update architecture and user documentation - Revised architecture documentation to reflect async command handling for workspace indexing. - Enhanced user documentation for agent harness, providers, appearance themes, file preview, plans, settings, and workspaces. - Expanded theme options from 20 to 30, including new light themes and a warm-charcoal dark theme. - Introduced named terminals feature for improved user experience in terminal management.
…or local whisper models
…proved progress tracking
…cluding Code Architect, Code Explorer, Code Simplifier, Comment Analyzer, Rust Build Resolver, and Rust Reviewer
…tterns and rust-testing
- Implemented the Push-to-Talk (PTT) settings section in the voice pane, allowing users to configure PTT options such as mode, quality, target, and behavior. - Created a dedicated CSS file for the PTT section to style the UI components. - Developed a PTT runtime module that handles the hold-to-talk functionality, including managing recording states and routing transcripts to various targets (agent composer, terminal, clipboard). - Added a floating PTT indicator to display recording status and partial transcripts. - Enhanced shortcut configuration to support PTT key bindings, allowing users to customize their PTT shortcut in the settings. - Updated the workspace panel to handle PTT actions correctly, ensuring proper dispatching of shortcut actions.
… handling improvements - Added Push-to-Talk (PTT) speech-to-text feature with local and cloud options. - Introduced a concurrency review plan to ensure non-blocking operations on the main thread. - Implemented error handling with user-friendly toast notifications for relevant errors. - Updated documentation and changelog to reflect new features and improvements. - Added various images for user documentation and settings.
…ucture and styling
- Enhanced CSS styles for model manager and push-to-talk sections for improved layout and responsiveness. - Introduced a shared SettingsPaneHeader component for consistent header design across settings panes. - Updated RemoteSettingsPane and ShortcutsSettingsPane to utilize the new SettingsPaneHeader component. - Improved accessibility and usability of various input elements within the voice settings pane. - Adjusted global styles to ensure proper layering and visibility of UI elements.
Latest implementations on
|
| Issue | CHANGELOG bucket | Title |
|---|---|---|
| #50 | Added | Rules, Skills, and Plans filtering (shared category filter row, themed separator, live search) |
| #51 | Changed | Rules and skills use category instead of tags (frontmatter + index.json, legacy tags migrated) |
| #52 | Fixed | Rules panel descriptions and sidebar typography alignment (## Ziel paragraph + File Diff / Git Commits sizing) |
| #53 | Fixed | Push-to-Talk errors surfaced as localized toasts (start / busy-TTS / finalize / insertion) |
All four are already merged on stage. If they should ride with this release, please add Closes #50, Closes #51, Closes #52, Closes #53 to the PR description (or push them as a follow-up); otherwise they will be left behind when this PR merges.
Details
#50 — Rules, Skills, and Plans filtering
- Rules and Skills share the same category filter row, themed separator, and live search structure; entries are filtered by title, description, source/category metadata, and category selection.
- Skills tab is now scoped to user/workspace skills under
.agents/skillsonly (hides the internal core harness skills from the UI while keeping them available to the agent backend). - Plans panel mirrors the interaction with its own live search field below the status filter tabs, combining text search with the active status filter.
#51 — Rules and skills use category instead of tags
- Each rule or skill can declare one optional
categoryin Markdown frontmatter and in its.agents/*/index.jsonentry; multiple entries can share the same category. - Legacy rule
tagsarrays are migrated at read time by taking the first tag as the category. - Rule and skill cards show the category in the same compact chip style in both collapsed and expanded states.
#52 — Rules panel descriptions and sidebar typography
- Rule summaries skip YAML frontmatter and now use the paragraph below
## Zielinstead of rendering the heading itself. - File Diff and Git Commits sidebar sections now use the same compact font sizing as the Project Files tree.
#53 — Push-to-Talk errors surfaced as localized toasts
- Start failures show the existing microphone error.
- Busy / TTS-collision rejects show the same message as the indicator hint.
- Finalize failures map to no-model / model-load / generic transcription messages.
- Failed transcript insertion into the clipboard, active terminal, or active text input now reports
VoicePttInsertFailed.
- Split the RemoteSettingsPane into a master/detail layout with a list of connection cards and an editor for connection details. - Implement connection card component for displaying saved connections. - Add functionality to open the editor for creating or editing connections. - Enhance CSS for improved layout and styling of the new components. - Introduce shared helper functions for input handling and connection management.
…tecture documentation
…ction functionality
Follow-up: new ticket filed and PR description updatedA new It did not have a tracking ticket, so I filed one:
PR descriptionWhile I was at it, I also wired up the four issues called out in the previous comment (#50, #51, #52, #53) so they auto-close on merge, and added a matching bullet for the new #54. The PR description now Closes-links all 23 issues in this release window:
No code changes — description and tracking only. |
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…vers and window controls Mounts AppTitleBar at the App root (draggable through boot/EULA), moves the sidebar/right-panel toggles into the bar, and offsets the app shell by the new --titlebar-h. Tokens-only styling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Terminal cells publish their live header title (OSC/auto title, else slot number or friendly name per the naming mode) into WorkbenchService keyed by terminal_key. The breadcrumb appends the active workspace's focused terminal title while the Terminals grid tab is active. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…mproved UI - Added `git_commit_details` function to fetch detailed commit information including author, body, and file changes. - Updated `GitCommitNode` and `GitCommitDetails` structs to include additional fields such as `short_oid`, `author_email`, and file change statistics. - Refactored `GitGraphEntry` to support new commit details and improved rendering of commit rows with hover and selection states. - Introduced `GitGraphLaneGutter` and `GitGraphExpandedFiles` components for better visual representation of commit lanes and expanded file changes. - Enhanced CSS styles for the git graph to improve layout, spacing, and hover effects. - Fixed minor issues in the notifications menu and remote connection card components.
…y and improved styles
…st layout calculations
…hangelog with detailed commit graph improvements
Summary
This PR merges the v0.5.0 release staging branch into
main. It collects every change currently listed under## [Unreleased]inCHANGELOG.md, plus the accompanying documentation, plan, and screenshot updates that ship with them.The release is anchored by five headline areas:
highlight.jsbundle and its heuristic fold model.whisper.cppengine with a managed model catalog (downloads with resume / progress / speed, sha256-verified, Use / Delete), and an optional cloud mode that reuses the existing OpenAI / OpenRouter STT providers. New collision state machine keeps PTT from clashing with the agent voice orb or TTS playback.Compactbutton plus auto-compact once the meter crosses a threshold.AI Plan/AI Tasksheader buttons in the Plans panel, backed by the existing one-shotoneshot::complete_textprovider path.It also bundles a set of editor/UX refactors (unified Send/Stop toggle, merged thinking blocks, off-main-thread memory indexing), small bugfixes, a documentation pass (User + Developer guides, release notes, plans, screenshot rename), and the removal of the
highlight.jsdependency.What's included
Added
Settings → Voice → Push-to-Talk, newShortcutAction::PushToTalkwith default Ctrl+Shift+Space) — hold a key, speak, transcript is routed to agent composer / terminal / active input / clipboard; remember target at PTT start; live partial transcript (default on) via a throttled re-decode worker;VoiceRuntimeStatecollision machine (TTS = Stop / Pause / Block); backend undersrc-tauri/src/voice/{ptt,models,stt}; commandsptt_start/partial/finalize/cancel,voice_tts_playing,voice_agent_input_active. Closes feat(voice): Push-to-Talk speech-to-text (local whisper.cpp + cloud) #49.whisper.cppGGML weights (filter tabs: All / Standard / Quantized / Turbo / Large), per-model size, language, speed / accuracy ratings and "best for" hint, resumable downloads with live progress + transfer speed (MB/s), sha256-verified atomic install, Use / Delete per installed model, models stored under<app-data>/voice/models/<id>.bin. Local engine compiled behind thelocal-whispercargo feature (default build is cloud-only). Covered by feat(voice): Push-to-Talk speech-to-text (local whisper.cpp + cloud) #49.AI Plan(LuSparkles) andAI Tasks(LuListPlus) header buttons open a dialog that turns a short prompt into a full Markdown plan via the agent tab's configured provider/model; reuses the existing one-shotoneshot::complete_textpath; Skill-conformant system prompt; Save / Regenerate / Cancel; toggle for creating tasks alongside the plan (forced on in AI Tasks mode); shimmer loading animation; themed scrollable Markdown preview. Closes feat(plans): AI-generated plans & tasks dialog #48.MAX_ROUNDS = 36; clamped on save and at the call site; drives both the OpenAI-compatible and Anthropic coordinator loops. Closes feat(agent): Configurable tool-loop limit (Settings → Agent) #32.used / max · NN%bar in the chat header, color-shifts past 70% (warning) and 85% (danger); max resolved from the provider's model metadata with a static fallback table for direct providers; tracks the newest main-agent round's prompt size (true window occupancy), not the cumulative cost-sum, and excludes subagent rounds. Closes feat(agent): Context-window usage meter in chat header #33.Compactbutton in the chat header summarizes the conversation into a dense briefing and starts fresh from it; auto-compact (on by default, configurable threshold 50–95%) runs the same path automatically once occupancy crosses the threshold; fires only between turns, re-arms only after occupancy falls back below. Closes feat(agent): Session compaction with auto-compact threshold #34.PLANS.mdindex entry. Closes feat(plans): Plan card quick actions (Load / Rename / Remove) #35.PLANS.mdindex file is no longer listed as a plan card. Closes feat(plans): Collapsible plan status groups with descriptions #37.slot_id; double-click the titlebar or use the right-click Rename / Reset name menu to override;harness.list_terminalsreturnsname+namingMode, andharness.send_terminal_keys/send_agent_context/read_terminal_outputaccept anameargument (case-insensitive). Closes feat(terminal): Named terminals with editable name pool and per-slot overrides #38.#d97757; replaces the near-redundantgithub-darkslot. Closes feat(themes): Claude Code dark theme (replaces github-dark) #39..agents/skillsonly (internal core harness skills are hidden from the UI but stay available to the agent backend). Closes feat(panels): Rules, Skills, and Plans filtering #50.Changed
memory_rebuild_architecture/memory_lint_architectureare nowasynccommands that offload CPU/IO-bound work tospawn_blocking, so the window keeps pumping events. Closes refactor(memory): Move architecture/memory indexing off the main thread #43.categoryin Markdown frontmatter and its.agents/*/index.jsonentry (multiple entries can share the same category); legacy ruletagsarrays are migrated at read time by taking the first tag as the category; rule and skill cards show the category in the same compact chip style in collapsed and expanded states. Closes refactor(meta): Rules and skills use category instead of tags #51.RemoteConnectionCard) inside a framed section card, each showing the name,user@host:port, auth method, session-resume mode, a masked Stored / Not set secret badge, and the default remote directory (no secret values ever leave the backend). Clicking a card (or the new top-right Add connection button) opens a dedicated editor view (RemoteConnectionEditor) with a Back to connections header and a New connection / Edit connection title; Save and Delete return to the refreshed list. The 670-line module was split per the repo's component rules intomod.rs(orchestration + shared helpers) /connection_card.rs/connection_editor.rswith co-located, token-only CSS. Four new i18n keys (RemoteNewConnection,RemoteEditConnection,RemoteBackToList,RemoteCardEditHint) are translated across all 14 locales. Closes refactor(remote): Redesign SSH settings pane as master/detail view #54.Fixed
stable_indexhash key and threaded through explicitly. Closes fix(agent): Model-round rows show nonsensical line numbers #45.## Zielinstead of rendering the heading itself, while the File Diff and Git Commits sidebar sections use the same compact font sizing as the Project Files tree. Closes fix(rules): Rules panel descriptions and sidebar typography alignment #52.VoicePttInsertFailed. Closes fix(voice): Push-to-Talk errors surfaced as localized toasts #53.Removed
highlight.jsdependency removed — the file preview no longer ships or lazy-loads the vendoredhighlight.jsbundle (~127 KiB); the heuristic Rust fold model is gone; a single CodeMirror 6 bundle drives both preview and edit. Closes chore(deps): Remove highlight.js dependency from file preview #47.Documentation
docs/user/voice.mdPush-to-Talk section (Settings → Voice, model manager, target routing, collision behaviour, troubleshooting);docs/user/file-preview.mdupdates for the CodeMirror 6 editor;docs/user/workspaces.mdCenter-tabs section, terminal naming section;docs/user/plans.mdAI Plan / AI Tasks dialog, quick actions, collapsible groups;docs/user/settings.mdAgent pane updates (tool-loop limit, context meter, auto-compact);docs/user/getting-started.mdboot loading screen;docs/user/appearance-themes.mdnew light themes + Claude Code dark;docs/user/remote.mdRemote settings master/detail view + connection card / editor.docs/developer/voice.mdbackend architecture,VoiceRuntimeStatestate machine,local-whisperfeature flag,PttSettingsenvelope, command surface, event channel, model catalog + download pipeline, resume-range logic, key-chord migration..agents/plans/voice-push-to-talk-stt.md(status: done),.agents/plans/voice-ptt-concurrency-error-review.md(follow-up),.agents/plans/PLANS.mdindex updated,docs/releases/v0.3.3.mdfinalized.screenshot-*.png/Screenshot *.pngfiles indocs/images/to meaningful names; removed 9 md5-identical duplicates; references updated acrossREADME.mdanddocs/.Notes
See
CHANGELOG.md[Unreleased]for the full detailed change list. Companion plan files live under.agents/plans/. This PR resolves the v0.5.0 milestone (#32 through #49) and five follow-up[Unreleased]items filed in this release window (#50 through #54) — 23 issues in total.