Four focused UX improvements on feature/ux-improvements:
Collapsible sidebar (icon rail) — left sidebar can collapse to a narrow rail with Projects/MCP/Settings icon buttons. Clicking an icon expands the sidebar to that view. State persisted to localStorage.
Settings panel accordion — grouped into General, Backends, Container, Git/SSH, Tools, Updates. Multiple sections can be open at once; open/closed state persisted per-section.
Global backend defaults with runtime fallback — GlobalAwsSettings.default_model_id, plus new GlobalOllamaSettings and GlobalOpenAiCompatibleSettings (base_url + default_model_id each). When a per-project field is blank, env vars and config fingerprints fall back to the global value, so editing a global default triggers container recreation on next start for any project that was relying on the default. Existing validation in start_project_container was relaxed to accept either a per-project value OR a global one.
Right-click tab rename — right-click (or double-click) a terminal tab to set a custom display name. Renames render as ProjectName: CustomName and persist in Project.renamed_session_names. Entry is pruned automatically when the session closes.
Commits
7acc8b8 Add collapsible sidebar with icon rail
9b78b4b Group Settings panel into accordion sections
5b1c801 Add global backend defaults with runtime fallback
2fa6abe Allow renaming terminal tabs (persisted per project)
Test plan
cd app && npx tauri dev and verify:
Sidebar collapse/expand chevron works; clicking a rail icon expands to that view; collapsed state survives an app restart
Settings accordion sections open/collapse independently; section state survives a restart
Settings → Backends shows AWS, Ollama, and OpenAI Compatible blocks with new default_model_id / base_url inputs
With an Ollama project whose model field is blank but the global default is set, starting the container recreates it and ANTHROPIC_MODEL is the global default
Changing the global default model with an existing project running causes the next start to recreate the container
Right-clicking a terminal tab shows the context menu; rename + reset + close all behave correctly; rename survives an app restart; closing a renamed tab clears the entry on the project
## Summary
Four focused UX improvements on `feature/ux-improvements`:
- **Collapsible sidebar (icon rail)** — left sidebar can collapse to a narrow rail with Projects/MCP/Settings icon buttons. Clicking an icon expands the sidebar to that view. State persisted to localStorage.
- **Settings panel accordion** — grouped into General, Backends, Container, Git/SSH, Tools, Updates. Multiple sections can be open at once; open/closed state persisted per-section.
- **Global backend defaults with runtime fallback** — `GlobalAwsSettings.default_model_id`, plus new `GlobalOllamaSettings` and `GlobalOpenAiCompatibleSettings` (base_url + default_model_id each). When a per-project field is blank, env vars and config fingerprints fall back to the global value, so editing a global default triggers container recreation on next start for any project that was relying on the default. Existing validation in `start_project_container` was relaxed to accept either a per-project value OR a global one.
- **Right-click tab rename** — right-click (or double-click) a terminal tab to set a custom display name. Renames render as `ProjectName: CustomName` and persist in `Project.renamed_session_names`. Entry is pruned automatically when the session closes.
## Commits
- `7acc8b8` Add collapsible sidebar with icon rail
- `9b78b4b` Group Settings panel into accordion sections
- `5b1c801` Add global backend defaults with runtime fallback
- `2fa6abe` Allow renaming terminal tabs (persisted per project)
## Test plan
- [ ] `cd app && npx tauri dev` and verify:
- [ ] Sidebar collapse/expand chevron works; clicking a rail icon expands to that view; collapsed state survives an app restart
- [ ] Settings accordion sections open/collapse independently; section state survives a restart
- [ ] Settings → Backends shows AWS, Ollama, and OpenAI Compatible blocks with new `default_model_id` / `base_url` inputs
- [ ] With an Ollama project whose model field is blank but the global default is set, starting the container recreates it and `ANTHROPIC_MODEL` is the global default
- [ ] Changing the global default model with an existing project running causes the next start to recreate the container
- [ ] Right-clicking a terminal tab shows the context menu; rename + reset + close all behave correctly; rename survives an app restart; closing a renamed tab clears the entry on the project
Automated:
- `cargo check` (src-tauri) clean
- `npm run build` (app) clean
- `npx vitest run` — 33 passing (7 pre-existing Tauri-in-jsdom unhandled errors unchanged)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Pulls in 15 upstream commits since the April 3 bundling snapshot
(msieurthenardier/mission-control). Notable changes:
- agentic-workflow rewritten as the "fast" variant: per-leg design and
implement, single review and commit across the whole flight
- New Skill-Project Boundary section: skills no longer read or write
project-owned artifacts by literal heading
- routine-maintenance scoped to post-mission only; adds state-machine
reachability and cache freshness audits
- Test metrics capture threaded through debrief, maintenance, and flight
- Crew prompts no longer carry skill-required instructions; SKILL.md is
the protocol
- Worktree git strategy removed; standardized on {target-project}
- Jira artifact template removed upstream
Local URL correction in init-project/README.md preserved
(anthropics/flight-control -> msieurthenardier/mission-control).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Persist collapsed state in localStorage. When collapsed, render a
narrow rail with Projects/MCP/Settings icon buttons that expand the
sidebar to that view on click.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Multiple-open accordion with per-section state persisted to
localStorage. Sections: General, Backends, Container, Git/SSH,
Tools, Updates. General is open by default; the rest are collapsed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New fields: GlobalAwsSettings.default_model_id, plus
GlobalOllamaSettings and GlobalOpenAiCompatibleSettings (base_url +
default_model_id each). When a per-project base_url or model_id is
blank, the container env vars and config fingerprints fall back to
the global value. Container recreation is triggered whenever the
resolved value changes, so editing a global default updates existing
projects on next start.
UI: added the new fields to AwsSettings and two new global settings
components, slotted into the Backends accordion.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Right-click a tab (or double-click) to rename. Renamed labels show
as "ProjectName: CustomName" and are stored in the project's
renamed_session_names map. The entry is cleared on tab close.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jknapp
merged commit 1a5fbd6be4 into main2026-05-24 16:39:34 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Four focused UX improvements on
feature/ux-improvements:GlobalAwsSettings.default_model_id, plus newGlobalOllamaSettingsandGlobalOpenAiCompatibleSettings(base_url + default_model_id each). When a per-project field is blank, env vars and config fingerprints fall back to the global value, so editing a global default triggers container recreation on next start for any project that was relying on the default. Existing validation instart_project_containerwas relaxed to accept either a per-project value OR a global one.ProjectName: CustomNameand persist inProject.renamed_session_names. Entry is pruned automatically when the session closes.Commits
7acc8b8Add collapsible sidebar with icon rail9b78b4bGroup Settings panel into accordion sections5b1c801Add global backend defaults with runtime fallback2fa6abeAllow renaming terminal tabs (persisted per project)Test plan
cd app && npx tauri devand verify:default_model_id/base_urlinputsANTHROPIC_MODELis the global defaultAutomated:
cargo check(src-tauri) cleannpm run build(app) cleannpx vitest run— 33 passing (7 pre-existing Tauri-in-jsdom unhandled errors unchanged)🤖 Generated with Claude Code
Pulls in 15 upstream commits since the April 3 bundling snapshot (msieurthenardier/mission-control). Notable changes: - agentic-workflow rewritten as the "fast" variant: per-leg design and implement, single review and commit across the whole flight - New Skill-Project Boundary section: skills no longer read or write project-owned artifacts by literal heading - routine-maintenance scoped to post-mission only; adds state-machine reachability and cache freshness audits - Test metrics capture threaded through debrief, maintenance, and flight - Crew prompts no longer carry skill-required instructions; SKILL.md is the protocol - Worktree git strategy removed; standardized on {target-project} - Jira artifact template removed upstream Local URL correction in init-project/README.md preserved (anthropics/flight-control -> msieurthenardier/mission-control). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>