Skip to content

Milestones

List view

  • Target release collecting all work currently in `CHANGELOG.md` under `## [Unreleased]`, plus every plan in `.agents/plans/` with status `planned`. Track progress via the issue checkboxes below; close an issue (and tick its box) once its changelog entry is verified live in a release build. Release PR: [#31](https://github.com/Bitslix/BLXCode/pull/31). Changelog source of truth: [`CHANGELOG.md`](../blob/main/CHANGELOG.md). --- ## Unreleased Changes > **42 open issues** on this milestone. Every changelog entry has a matching tracking issue — close the issue and tick the box when the work is verified in the release build. ### Added (22) - [ ] **[#55](https://github.com/Bitslix/BLXCode/issues/55)** — Redesigned **BLXCode** dark/light themes (Tokyo Night + Dracula fusion) + **BLXCode Legacy** preserved (catalog 30 → 32). - [ ] **[#66](https://github.com/Bitslix/BLXCode/issues/66)** — **Roundings & Font controls** (Settings → Appearance): global `--radius-scale` (Sharp/Default/Rounded/Extra) over `--radius-{xs,sm,md,lg,xl}` tokens, 247 `border-radius` declarations migrated; curated monospace picker (JetBrains Mono + Cascadia / Fira / SF Mono / Menlo / Consolas / System) wired to `--font-mono` with xterm re-fit on change. - [ ] **[#56](https://github.com/Bitslix/BLXCode/issues/56)** — **Custom app titlebar**: brand cluster, native window controls, centered workspace breadcrumb + focused-terminal crumb, **NAVIGATE** quick menu, Notifications popover; sidebar add-workspace + grid-preview polish. - [ ] **[#57](https://github.com/Bitslix/BLXCode/issues/57)** — **VS Code-style Git commit graph visuals**: structured lanes, per-row summary, click-to-expand file list, hover/focus detail card with **Open on GitHub**, lazy per-SHA caching, rename detection. - [ ] **[#50](https://github.com/Bitslix/BLXCode/issues/50)** — **Rules, Skills, and Plans filtering**: shared category filter row, themed separator, live search; Skills scoped to `.agents/skills`; Plans live search under status tabs. - [ ] **[#49](https://github.com/Bitslix/BLXCode/issues/49)** — **Push-to-Talk speech-to-text** (local `whisper.cpp` warm + cloud OpenAI/OpenRouter); hotkey via new `ShortcutAction::PushToTalk` (default `Ctrl+Shift+Space`); agent/terminal/text/clipboard targets with focus-remembered mode; live partial transcript; `VoiceRuntimeState` collision state machine. Includes **Whisper model manager** with filterable GGML list, resumable downloads (HTTP `Range`), sha256-verified atomic install, and per-model Use/Delete. - [ ] **[#48](https://github.com/Bitslix/BLXCode/issues/48)** — **AI-generated plans & tasks** (Plans panel): new `AI Plan` / `AI Tasks` dialog backed by `oneshot::complete_text`; saves through existing `plan_create` / `plan_load`; shimmer loading + Markdown preview + Save/Regenerate/Cancel. - [ ] **[#32](https://github.com/Bitslix/BLXCode/issues/32)** — **Configurable tool-loop limit** (Settings → Agent): replaces the hard-coded `MAX_ROUNDS = 36`, range 1–500, drives both OpenAI-compatible and Anthropic loops. - [ ] **[#33](https://github.com/Bitslix/BLXCode/issues/33)** — **Context-window usage meter**: `used / max · NN%` bar in the chat header with provider-aware max sizes (OpenRouter `context_length` + static fallback). - [ ] **[#34](https://github.com/Bitslix/BLXCode/issues/34)** — **Session compaction**: `Compact` button + auto-compact (default on, threshold 50–95%) summarizing the conversation into a dense briefing. - [ ] **[#35](https://github.com/Bitslix/BLXCode/issues/35)** — **Plan card quick actions**: header-level Load / Rename / Remove on collapsed plan cards. - [ ] **[#36](https://github.com/Bitslix/BLXCode/issues/36)** — **Ten new light themes** (catalog 20 → 30): five brand light counterparts (Tokyo Night / Nord / GitHub / Ayu / Atom One Light) + five custom cool designs (Winter / Paper / Alpine / Frost / Lilac Light). - [ ] **[#37](https://github.com/Bitslix/BLXCode/issues/37)** — **Collapsible plan status groups** with one-line descriptions in the *All* view; `PLANS.md` excluded from cards and counts. - [ ] **[#38](https://github.com/Bitslix/BLXCode/issues/38)** — **Named terminals** (Settings → Workspace → Terminal naming): editable name pool, per-slot overrides, agent-aware via `harness.list_terminals` (accepts `name` argument). - [ ] **[#39](https://github.com/Bitslix/BLXCode/issues/39)** — **"Claude Code" dark theme** (Settings → Appearance): warm-charcoal surfaces with coral `#d97757` accent; replaces the near-redundant `github-dark` slot. - [ ] **[#58](https://github.com/Bitslix/BLXCode/issues/58) / [#59](https://github.com/Bitslix/BLXCode/issues/59)** — **Memory panel**: centered tab opener + live `X files / Y cats` count summary; default workspace index auto-load + exclusive group open with shared `set_exclusive_open_group` helper. - [ ] **[#74](https://github.com/Bitslix/BLXCode/issues/74)** — **3D Drobo Agent orb with 2D fallback toggle** (Settings → Agent): bundled `public/assets/Drobo.glb` rendered as an interactive Three.js model that follows the cursor, recolors from theme tokens, reacts to recording/transcribing; falls back to the flat `B` logo when WebGL/model loading fails; new persisted **Agent orb** switch (default *3D Drobo* / *2D logo*) updates the open Agent tab without restart. - [ ] **[#73](https://github.com/Bitslix/BLXCode/issues/73)** — **Agent session stats panel** in hero left column: provider/model button → Settings → Agent Provider; session start time recovered from the first user turn after workspace reload; context-window mini meter; user turns / model rounds / total tool calls (open / read / edit / rm buckets) / active subagent count + names / accumulated cost. Isolated `session_stats` aggregator with unit tests; `ChatUsageStats.session_started_at` and `UserPart.createdAt` persisted; `AgStats*` i18n keys for all 13 locales (non-English currently use English fallback). - [ ] **[#71](https://github.com/Bitslix/BLXCode/issues/71)** — **Terminal CLI-agent control and prompt enhancement**: BLXCode Agent can drive interactive terminal agents via the harness — new `harness.wait_terminal_output` (sequence ids, idle / contains / max-bytes) and `harness.terminal_interrupt` (Ctrl+C); centralized CLI-agent launch/resume profiles for `claude` / `codex` / `gemini` / `opencode` / `cursor`; terminal-control permission classification across `AgentChatMode`; new embedded core `prompt-generating` skill; per-workspace composer **Enhance prompt before send** toggle → isolated one-shot `agent_enhance_prompt` (no history / tools / memory / plans / timeline mutation; original draft restored on failure). - [ ] **[#72](https://github.com/Bitslix/BLXCode/issues/72)** — **Agent timeline refactor**: consecutive tool activity renders as slim grouped status rows for both main-agent and subagent cards via a reusable `tool_group`; model turns that mutate files end with a **Changed files** summary card from `git_status_changes` (totals + collapsible directory tree + click-to-diff); old mode toolbar + single-line input replaced by a modern auto-growing composer (footer model picker, Plan/Build/access popover, thinking-level selector, busy-safe controls, send/stop orb). Token-only CSS in `agent_panel/{tool_group,changed_files_card,composer}`; i18n across all 13 locales; verified with `cargo check -p blxcode-ui --target wasm32-unknown-unknown`, `cargo test --workspace`, `scripts/lint_theme_tokens.sh`. - [ ] **[#75](https://github.com/Bitslix/BLXCode/issues/75)** — **Agent Thinking stream preview**: while the current turn is actively thinking, a compact inline preview appears under the Drobo orb and follows the newest open Thinking block from the timeline; autoscrolls as reasoning streams in; uses active theme radius/color tokens; hidden in compact chat mode. - [ ] **[#80](https://github.com/Bitslix/BLXCode/issues/80)** — **Agent tool list output formatting**: JSON-array tool results (e.g. `rules_list`, `skills_list`) render as readable compact lists in the chat timeline instead of raw one-line JSON. Agent still receives the original JSON internally; UI-only presentation layer extracts `title` / `name`, `summary`, category/kind, and small metadata chips, with a tolerant fallback that shows complete list items from truncated array prefixes. ### Changed (10) - [ ] **[#65](https://github.com/Bitslix/BLXCode/issues/65)** — **Memory center tab ergonomics improved**: titlebar **NAVIGATE → Memory** now opens/focuses the Memory center tab; new **Settings → Memory** pane replaces the right-sidebar entry (default off); centered files column starts at double the min width; folder grouping with collapsible sections; centered-only **Split View** toggle; graph details dock right on wide layouts. - [ ] **[#60](https://github.com/Bitslix/BLXCode/issues/60)** — **Update check dialog now reuses the full What's New release-notes view** (hero summary, sections, loading state, manifest fallback). - [ ] **[#54](https://github.com/Bitslix/BLXCode/issues/54)** — **Remote (SSH) settings redesigned as a master/detail view** (`RemoteConnectionCard` grid + `RemoteConnectionEditor`); secrets stay server-side; module split per component rules. - [ ] **[#51](https://github.com/Bitslix/BLXCode/issues/51)** — **Rules and skills now share the same category model** (Markdown frontmatter + `index.json`; legacy `tags` arrays migrated to first-tag category). - [ ] **[#40](https://github.com/Bitslix/BLXCode/issues/40)** — **File preview now uses the same CodeMirror 6 editor as edit mode**, mounted read-only; one highlighting + fold engine for both modes. - [ ] **[#41](https://github.com/Bitslix/BLXCode/issues/41)** — **Chat Send / Stop is a single toggle button** that flips based on turn state. - [ ] **[#42](https://github.com/Bitslix/BLXCode/issues/42)** — **Thinking blocks merge into the following model-round line** when grouping applies (single line number per pair). - [ ] **[#43](https://github.com/Bitslix/BLXCode/issues/43)** — **Architecture / memory indexing runs off the main thread** via `spawn_blocking` (no more workspace-open freeze on large codebases). - [ ] **[#61](https://github.com/Bitslix/BLXCode/issues/61)** — **Backend git / fs commands now `async`** and run on the blocking thread pool (`list_path_entries`, `git_is_repository` → `Result<bool, String>`); frontend `GitSyncControls::refresh` dedupe + `ProjectExplorerBody` stale-response guard. - [ ] **[#76](https://github.com/Bitslix/BLXCode/issues/76)** — **Agent settings affordances are more direct**: old sidebar push-to-talk tooltip styling generalized into app-global `.blx-tooltip` / `.blx-tip-anchor` CSS (preserving the sidebar trigger behavior); Agent session stats panel deliberately avoids tooltips, and its model/provider chip is a real button that opens **Settings → Agent Provider** directly. ### Fixed (8) - [ ] **[#63](https://github.com/Bitslix/BLXCode/issues/63)** — **Inactive Memory center tab no longer remains visible beside Terminals**: hidden center-panel selector is now more specific than the Memory `display: flex` rule. - [ ] **[#62](https://github.com/Bitslix/BLXCode/issues/62)** — **Git commit graph polish after the VS Code-style refactor**: `--text-lane` indent (`lanes - 1`), hover card positioned from the row, no native `title` tooltip clash, lazy detail loading without flicker. - [ ] **[#52](https://github.com/Bitslix/BLXCode/issues/52)** — **Rules panel descriptions and sidebar typography now line up with the rest of the workbench** (skip YAML frontmatter, use `## Ziel` paragraph; File Diff + Git Commits match the Project Files tree typography). - [ ] **[#53](https://github.com/Bitslix/BLXCode/issues/53)** — **Push-to-Talk errors are now surfaced as localized toasts** (start / collision / finalize / insertion failure messages). - [ ] **[#44](https://github.com/Bitslix/BLXCode/issues/44)** — **Plan card quick *Remove* button border no longer stands out** vs. its siblings (subtle border at rest, danger tint on hover). - [ ] **[#45](https://github.com/Bitslix/BLXCode/issues/45)** — **Model-round rows now show sequential line numbers** (display index decoupled from `stable_index` hash). - [ ] **[#46](https://github.com/Bitslix/BLXCode/issues/46)** — **The per-message Play (TTS) button only appears when the TTS provider has an API key set** (OpenAI / OpenRouter / AWS Polly key check). - [ ] **[#77](https://github.com/Bitslix/BLXCode/issues/77)** — **Workspace tests compile after the Agent orb-mode setting addition**: OpenRouter pricing test helper now initializes the newer `AgentProviderSettings::orb_mode` field, so `cargo test --workspace` no longer fails on a stale struct literal when unrelated frontend work runs the full suite. ### Removed (1) - [ ] **[#47](https://github.com/Bitslix/BLXCode/issues/47)** — **`highlight.js` dependency removed**; CodeMirror 6 drives both preview and edit (~127 KiB saved; heuristic `editor/folding.rs` gone). --- ## Counts | Section | Items | Tracked by | |---|---|---| | Added | 22 | 23 issues (#58 + #59 share one changelog line) | | Changed | 10 | 10 issues | | Fixed | 8 | 8 issues | | Removed | 1 | 1 issue | | **Total** | **41** | **42 issues** | (`#58` + `#59` together cover the two Memory panel *Added* bullets as a single changelog entry. The Whisper model manager sub-bullet is rolled into `#49`.) --- ## Planned Plans | Plan | Summary | |------|---------| | [`kanban-board-view.md`](../blob/main/.agents/plans/kanban-board-view.md) | Kanban view in the Plans panel: status columns, DnD for cards/columns, show/hide columns, Markdown writeback (MVP in v2 roadmap). | | [`leptos-to-typescript-migration.md`](../blob/main/.agents/plans/leptos-to-typescript-migration.md) | Remove Leptos/WASM entirely; Vite + React + TS frontend (~53k LOC), Tauri backend unchanged, atomic cutover (~9–12 PM). | | [`performance-optimization.md`](../blob/main/.agents/plans/performance-optimization.md) | Performance audit (phases P0–P3): agent streaming hot path, auto-save cascade, backend blocking, boot/CDN, terminal refit. | | [`russh-transport-refactor.md`](../blob/main/.agents/plans/russh-transport-refactor.md) | Move remote transport from wrapped-ssh to `russh`: one multiplexed connection per host (1 TCP / 1 auth, Windows-capable). Tasks RUSSH-01…22. | | [`security-hardening.md`](../blob/main/.agents/plans/security-hardening.md) | Security audit (P0–P3): subagent `shell_write` bypass, shell allowlist, XSS/CSP, runtime tool allowlist, symlink/URL/PTY hardening. | | [`agent-plan-status-lifecycle.md`](../blob/main/.agents/plans/agent-plan-status-lifecycle.md) | Agent-driven plan/task status lifecycle (`in_progress` while working, auto pending/blocked/completed/cancelled), Markdown writeback, In-Progress filter. | | [`voice-push-to-talk-stt.md`](../blob/main/.agents/plans/voice-push-to-talk-stt.md) | Push-to-talk STT: local `whisper.cpp` (warm, off-thread) + cloud reuse, target routing with remember-target, collision state machine. Phases P0–P5. *(Delivered in Unreleased; tracked for cleanup.)* | | [`ai-plan-task-generation.md`](../blob/main/.agents/plans/ai-plan-task-generation.md) | AI Plan / AI Tasks header buttons reusing `oneshot::complete_text` and Plan-Skill format. *(Delivered in Unreleased; tracked for cleanup.)* | | [`terminal-agent-control-prompt-enhancement.md`](../blob/main/.agents/plans/terminal-agent-control-prompt-enhancement.md) | BLXCode Agent drives terminal agents end to end (claude / codex / gemini / opencode / cursor): new `harness.wait_terminal_output` + `harness.terminal_interrupt` tools, PTY-based control with monotonic output sequences, permission classification across `AgentChatMode`, embedded `prompt-generating` skill, per-workspace *Enhance prompt before send* composer toggle. *(Delivered in Unreleased; tracked for cleanup.)* | --- ## Release Checklist - [ ] All 42 tracking issues closed. - [ ] `CHANGELOG.md` `[Unreleased]` entries verified live in a release build. - [ ] Locale parity check: every user-facing string translated across all 13 locales. - [ ] Theme parity check: every theme ships the full token set. - [ ] `cargo tauri build` green on Linux / macOS / Windows. - [ ] `cargo test --workspace` green. - [ ] `cargo check -p blxcode-ui --target wasm32-unknown-unknown` green. - [ ] Release PR [#31](https://github.com/Bitslix/BLXCode/pull/31) merged. - [ ] Tag `v0.5.0` pushed; GitHub release published with `CHANGELOG.md` excerpt. - [ ] Milestone closed.

    No due date
    76/76 issues closed