commandmate 0.45.1 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +302 -298
- package/.next/app-path-routes-manifest.json +15 -15
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +9 -9
- package/.next/react-loadable-manifest.json +4 -4
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page.js +1 -1
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page.js +1 -1
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +1 -1
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +12 -9
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +15 -15
- package/.next/server/chunks/1341.js +1 -1
- package/.next/server/chunks/1501.js +2 -2
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2283.js +15 -13
- package/.next/server/chunks/2404.js +4 -4
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/2560.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4072.js +15 -0
- package/.next/server/chunks/4207.js +1 -1
- package/.next/server/chunks/4718.js +3 -3
- package/.next/server/chunks/4837.js +3 -3
- package/.next/server/chunks/5625.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6345.js +1 -0
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6722.js +1 -0
- package/.next/server/chunks/8098.js +1 -1
- package/.next/server/chunks/8356.js +1 -1
- package/.next/server/chunks/8581.js +25 -29
- package/.next/server/chunks/8728.js +1 -1
- package/.next/server/chunks/8800.js +4 -4
- package/.next/server/chunks/9731.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_error.js +2 -2
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2407-86890b00eeecf391.js → 2407-acb644c5487e1720.js} +1 -1
- package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
- package/.next/static/chunks/2717.21abf5b6bbd45520.js +1 -0
- package/.next/static/chunks/2770-db80aedf6384d594.js +1 -0
- package/.next/static/chunks/2863-6a07ec82fb52f4dd.js +1 -0
- package/.next/static/chunks/3201-c01f1feed69020e6.js +1 -0
- package/.next/static/chunks/4768-ad6f82f034f21eae.js +1 -0
- package/.next/static/chunks/5371-a94ed618148287a0.js +1 -0
- package/.next/static/chunks/5794-947fb4934d8be193.js +1 -0
- package/.next/static/chunks/5927-54315d21f323e204.js +1 -0
- package/.next/static/chunks/602-25e45a2422d2a3ea.js +1 -0
- package/.next/static/chunks/6606-02ddc006686a6b7d.js +1 -0
- package/.next/static/chunks/6654-f3534f35f16644bc.js +1 -0
- package/.next/static/chunks/7730-011e137be64403ae.js +1 -0
- package/.next/static/chunks/8165-263172c17ae8e8c3.js +1 -0
- package/.next/static/chunks/8606-cf6bdbff44a764cf.js +1 -0
- package/.next/static/chunks/934-a37509667baa86ee.js +1 -0
- package/.next/static/chunks/9465-e5a351baa941f31b.js +1 -0
- package/.next/static/chunks/app/layout-ae30ce63569c22be.js +1 -0
- package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +1 -0
- package/.next/static/chunks/app/review/page-e2fd4a590646a2d8.js +1 -0
- package/.next/static/chunks/app/sessions/page-9859ed61e93e6890.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-52ba58712faf3378.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-2eb1d0fd0a077b7e.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
- package/.next/static/chunks/{webpack-ee3ccbe378c4aa06.js → webpack-c0b821f340afdebf.js} +1 -1
- package/.next/static/css/743f79ff19ab91e9.css +1 -0
- package/.next/trace +13 -13
- package/dist/server/locales/en/worktree.json +46 -16
- package/dist/server/locales/ja/worktree.json +46 -16
- package/dist/server/src/config/activity-bar-config.js +56 -9
- package/dist/server/src/lib/polling/prompt-dedup-state.js +26 -7
- package/dist/server/src/lib/polling/prompt-dedup.js +50 -22
- package/dist/server/src/lib/polling/response-checker.js +14 -1
- package/dist/server/src/lib/polling/response-dedup.js +104 -20
- package/dist/server/src/lib/polling/response-poller-core.js +47 -26
- package/dist/server/src/lib/session/next-action-helper.js +2 -15
- package/dist/server/src/lib/verification/env-clean-gate.js +14 -1
- package/dist/server/src/lib/verification/gate-runner.js +17 -11
- package/dist/server/src/lib/verification/scope-gate.js +169 -3
- package/dist/server/src/types/sidebar.js +1 -0
- package/docs/en/architecture.md +26 -14
- package/docs/en/user-guide/webapp-guide.md +31 -18
- package/package.json +1 -1
- package/release-notes/0.46.0.json +110 -0
- package/.next/server/chunks/1674.js +0 -15
- package/.next/server/chunks/6927.js +0 -1
- package/.next/server/chunks/9355.js +0 -1
- package/.next/static/chunks/1642-0f1bf8fb8161e10a.js +0 -1
- package/.next/static/chunks/2770-827a64760bab8a3a.js +0 -1
- package/.next/static/chunks/3922.0bc2e4e168d2b522.js +0 -1
- package/.next/static/chunks/4727-4c69d1aa4118cc09.js +0 -1
- package/.next/static/chunks/4768-fc0aa1d0891cac08.js +0 -1
- package/.next/static/chunks/5371-af1c2b68e983da61.js +0 -1
- package/.next/static/chunks/5521-c358c31f60e5e689.js +0 -1
- package/.next/static/chunks/6192-a67df090838b9aad.js +0 -1
- package/.next/static/chunks/6322-f1b30ed0ee43518f.js +0 -1
- package/.next/static/chunks/6654-ac431270fac1a283.js +0 -1
- package/.next/static/chunks/8165-3525fb42f1b4976e.js +0 -1
- package/.next/static/chunks/8318-01e7d1e5ad0a15a3.js +0 -1
- package/.next/static/chunks/8606-79c36d4c204bbd38.js +0 -1
- package/.next/static/chunks/9619-6c17a271f7f98fbb.js +0 -1
- package/.next/static/chunks/998-2eb5883186abd0bd.js +0 -1
- package/.next/static/chunks/app/layout-eaa6365f8f942e88.js +0 -1
- package/.next/static/chunks/app/repositories/page-6f7511f4ac8449e2.js +0 -1
- package/.next/static/chunks/app/review/page-95f749caae382f46.js +0 -1
- package/.next/static/chunks/app/sessions/page-ebfed2c80e916fb8.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-e4b14031f946c007.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-3372b78fde232b1f.js +0 -1
- package/.next/static/css/6faeb04a0b6819d4.css +0 -1
- /package/.next/static/{vYIpFRCU_Mt0wtG8F_3-6 → zI2nQ6WKboSbFbMF4EtrJ}/_buildManifest.js +0 -0
- /package/.next/static/{vYIpFRCU_Mt0wtG8F_3-6 → zI2nQ6WKboSbFbMF4EtrJ}/_ssgManifest.js +0 -0
package/docs/en/architecture.md
CHANGED
|
@@ -621,41 +621,53 @@ For details, see [Status Indicator](./features/sidebar-status-indicator.md).
|
|
|
621
621
|
|
|
622
622
|
## 11. UI Layout Architecture (PC, Issue #727 / #730 / #747)
|
|
623
623
|
|
|
624
|
-
> **Note**: The legacy desktop left-pane model (history / files / memo, MobileTabBar) introduced in #600 has been replaced by the
|
|
624
|
+
> **Note**: The legacy desktop left-pane model (history / files / memo, MobileTabBar) introduced in #600 has been replaced by the activity model described in this chapter (since Issue #3591: the header tools + ActivityPane). Reorganizing the older descriptions is out of scope here.
|
|
625
625
|
|
|
626
626
|
This chapter covers the **responsibility boundaries, state ownership, and data flow** of the top-level PC UI layout (why the structure exists and who owns which state). Visual layout, interactions (keyboard / Tooltip), and the component catalog are owned by [./UI_UX_GUIDE.md](./UI_UX_GUIDE.md) as the single source of truth and are not duplicated here.
|
|
627
627
|
|
|
628
628
|
### 11.1 Component Responsibilities and State Ownership
|
|
629
629
|
|
|
630
|
-
|
|
630
|
+
> **Note (Issue #3589 / #3591)**: The 48px full-height ActivityBar is gone from PC. Activities are opened from the tools at the right of the header (`HeaderToolBar`) and the Verification chip on the second row, and the ActivityPane opens from the right, laid over the body (pinning it puts it beside the body). The items below describe that layout.
|
|
631
|
+
|
|
632
|
+
- **HeaderToolBar** (`src/components/worktree/HeaderToolBar.tsx`, Issue #3591): A controlled component that **does not own** the activity-selection state. It receives `active` / `onToggle` as props and draws `HEADER_TOOLS` from `@/config/activity-bar-config` (`ACTIVITIES` without `verification`) as icons at the right of the PC header (`DesktopHeader`). On a narrow header the trailing tools fold into a "…" list (`useDesktopHeaderFit` decides how many).
|
|
633
|
+
- **VerificationStatusChip** (`VerificationStatusChip.tsx`, Issue #1816 / #2064 / #3590): The PC entry point of the `verification` activity (`CHIP_ACTIVITY_ID`). It sits in the second-row action bar and opens/closes the Verification pane when pressed. It is always drawn, reporting "unverified" on a branch with no execution contract (#2064).
|
|
634
|
+
- **ActivityBar** (`src/components/worktree/ActivityBar.tsx`): The former 48px vertical Activity Bar. Since Issue #3591 it is not mounted on any screen (the sidebar open/close button moved to `SidebarPanelToggle` in #3512).
|
|
631
635
|
- **ActivityPane** (`ActivityPane.tsx`): A stateless, table-driven dispatcher. It picks exactly one node — `activities[active]` — from the parent-built `ActivityContentMap` (`Partial<Record<ActivityId, ReactNode>>`) and renders it through an `ErrorBoundary`. Because a single `active` key resolves to a single node, **rendering multiple activities simultaneously is structurally impossible**.
|
|
632
636
|
- **TerminalContainer** (`TerminalContainer.tsx`, Issue #730): Wraps a `terminal` slot (always rendered) and an optional `history` slot. Since Issue #744, the top-level History column is no longer rendered on PC; History was moved inside each terminal split (see §12). The `history` prop and the `useHistoryPaneState` wiring are kept for backward compatibility with the #730 single-column layout.
|
|
633
|
-
- **WorktreeDesktopLayout** (`WorktreeDesktopLayout.tsx`, Issue #730):
|
|
634
|
-
- **PaneResizer** (`PaneResizer.tsx`): A generic resizer that owns only transient drag state. It **only reports a pixel delta via `onResize(delta)`**; the parent decides the final pane width. It is reused for both the Activity
|
|
637
|
+
- **WorktreeDesktopLayout** (`WorktreeDesktopLayout.tsx`, Issue #730 / #3589 / #3591): Lays out the Right pane (the body) and the ActivityPane. The ActivityPane is on the **right** (#3591). Unpinned — the default — it is drawn over the Right pane, which keeps its width (#3589). Only when pinned (`activityPanePinned`) does it take a column beside the body, with a PaneResizer on the boundary. The pane's frame (title, pin, ×, Esc / outside-press dismissal) is `PaneOverlayFrame` in the same file. When `activityPane === null`, neither the pane nor the PaneResizer is drawn.
|
|
638
|
+
- **PaneResizer** (`PaneResizer.tsx`): A generic resizer that owns only transient drag state. It **only reports a pixel delta via `onResize(delta)`**; the parent decides the final pane width. It is reused for both the Right↔Activity boundary in WorktreeDesktopLayout (when pinned) and the History↔Terminal boundary in TerminalContainer.
|
|
635
639
|
|
|
636
640
|
### 11.2 State Owners (Custom Hooks)
|
|
637
641
|
|
|
638
|
-
- **useActivityBarState** (`src/hooks/useActivityBarState.ts`): The single source of truth for the `active` state. It persists
|
|
639
|
-
- **
|
|
642
|
+
- **useActivityBarState** (`src/hooks/useActivityBarState.ts`): The single source of truth for the `active` state. It persists **per worktree** under `commandmate.worktree.activeActivity-<worktreeId>` (`getActivityBarStorageKey`, Issue #858). **The closed state (null) is persisted too**, as `__closed__` (`ACTIVITY_CLOSED_SENTINEL`), so a pane closed on one worktree stays closed after a visit to another and back. An unvisited worktree or an invalid value gives `INITIAL_ACTIVITY` (`null` = closed since Issue #3589; it was `'files'` before). The initial render is deterministically `INITIAL_ACTIVITY` and the localStorage read happens in a `useEffect` after mount and on every `worktreeId` change (to avoid hydration mismatch).
|
|
643
|
+
- **usePanePinnedState** (`src/hooks/useActivityPaneOverlay.ts`, Issue #3589): Whether the ActivityPane is pinned. Stored once under `commandmate.worktree.activityPanePinned` (`ACTIVITY_PANE_PINNED_STORAGE_KEY`) and shared across worktrees. `usePaneOverlayDismiss` in the same file closes an overlaid pane on Esc / an outside press.
|
|
644
|
+
- **SidebarContext** (`src/contexts/SidebarContext.tsx`): Owns the sidebar `isOpen` via `useReducer`. The sidebar's own open/close button (`SidebarPanelToggle`, at the top of the `SidebarRail` icon rail while the sidebar is closed) reads this context, forming a separate data-flow path from the props-based activity selection.
|
|
640
645
|
|
|
641
|
-
The
|
|
646
|
+
The controller (`src/hooks/useWorktreeDetailController.ts`) calls `useActivityBarState`, and the PC orchestrator (`WorktreeDetailDesktop.tsx`) builds the `ActivityContentMap` and wires HeaderToolBar (through `DesktopHeader`) / VerificationStatusChip / ActivityPane / WorktreeDesktopLayout together.
|
|
642
647
|
|
|
643
648
|
### 11.3 Data-Flow Diagram
|
|
644
649
|
|
|
645
650
|
```mermaid
|
|
646
651
|
graph TD
|
|
647
|
-
|
|
648
|
-
|
|
652
|
+
Ctrl["useWorktreeDetailController<br/>(calls useActivityBarState)"]
|
|
653
|
+
Parent["WorktreeDetailDesktop<br/>(PC orchestrator)"]
|
|
654
|
+
ActState["useActivityBarState<br/>(owns active / per-worktree localStorage)"]
|
|
655
|
+
PinState["usePanePinnedState<br/>(owns the pin / localStorage)"]
|
|
649
656
|
SideCtx["SidebarContext<br/>(owns isOpen)"]
|
|
650
|
-
|
|
657
|
+
SideToggle["SidebarPanelToggle<br/>(sidebar / SidebarRail)"]
|
|
658
|
+
Tools["HeaderToolBar<br/>(header right, stateless)"]
|
|
659
|
+
Chip["VerificationStatusChip<br/>(second row)"]
|
|
651
660
|
Pane["ActivityPane<br/>(table-driven dispatch)"]
|
|
652
|
-
Layout["WorktreeDesktopLayout<br/>(
|
|
661
|
+
Layout["WorktreeDesktopLayout<br/>(overlay / beside the body when pinned)"]
|
|
653
662
|
Term["TerminalContainer<br/>(terminal + optional history)"]
|
|
654
663
|
|
|
655
|
-
ActState -->|active|
|
|
664
|
+
ActState -->|active| Ctrl
|
|
665
|
+
Ctrl -->|"active / onToggle"| Parent
|
|
656
666
|
Parent -->|onToggle| ActState
|
|
657
|
-
Parent -->|active / onToggle|
|
|
658
|
-
|
|
667
|
+
Parent -->|active / onToggle| Tools
|
|
668
|
+
Parent -->|"open/close verification"| Chip
|
|
669
|
+
PinState -->|activityPanePinned| Parent
|
|
670
|
+
SideToggle --> SideCtx
|
|
659
671
|
Parent -->|"activityPane (nullable)"| Layout
|
|
660
672
|
Parent -->|"ActivityContentMap"| Pane
|
|
661
673
|
Pane --> Layout
|
|
@@ -302,7 +302,7 @@ the same button; that strip is **gone**, and the terminal takes the width back
|
|
|
302
302
|
The arrow in the History column's header points the way it **folds** (left).
|
|
303
303
|
Bring it back with [History] in the action bar.
|
|
304
304
|
|
|
305
|
-
Note that the
|
|
305
|
+
Note that the **"File Tree"** among the tools at the right of the header
|
|
306
306
|
is for browsing the worktree, and is a different thing from the action bar's
|
|
307
307
|
**"Open Files"** (the panel showing files you opened).
|
|
308
308
|
|
|
@@ -370,15 +370,25 @@ Useful for recording work details and TODOs.
|
|
|
370
370
|
|
|
371
371
|
## Agent Settings
|
|
372
372
|
|
|
373
|
-
|
|
373
|
+
Each worktree has its own list of CLI agent sessions (instances).
|
|
374
|
+
The same agent can appear more than once under different names (e.g. "Claude" and "Claude review").
|
|
374
375
|
|
|
375
|
-
###
|
|
376
|
+
### Adding One (PC)
|
|
376
377
|
|
|
377
378
|
1. Select a worktree
|
|
378
|
-
2. Click the **
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
379
|
+
2. Click the **[+]** at the right end of the header's session field ([current session][N more ▾])
|
|
380
|
+
("Add session…" in the [N more ▾] list opens the same form)
|
|
381
|
+
3. Choose the agent (installed ones), a name (optional) and **where to open it** (a new split / replace the current split / add only), then click **[Add]**
|
|
382
|
+
4. Adding does not start a session: it starts when you send the first message from that split
|
|
383
|
+
|
|
384
|
+
Rename, reorder and delete in the **"Agent"** tool at the right of the header.
|
|
385
|
+
|
|
386
|
+
### Adding and Managing (Mobile)
|
|
387
|
+
|
|
388
|
+
1. Tap the **"CMATE"** tab
|
|
389
|
+
2. Tap the **"Agent"** sub-tab
|
|
390
|
+
3. Add with **"Add instance"** below the list; rename, reorder and delete on each row
|
|
391
|
+
4. Settings are saved automatically
|
|
382
392
|
|
|
383
393
|
### Available Agents
|
|
384
394
|
|
|
@@ -394,11 +404,11 @@ Select which CLI agents to use for each worktree.
|
|
|
394
404
|
| **Antigravity** | Antigravity CLI (`agy`) |
|
|
395
405
|
| **Command Code** | Command Code CLI (`commandcode`, Issue #2250) |
|
|
396
406
|
|
|
397
|
-
-
|
|
407
|
+
- A branch holds **1 to 10** of them (the last one cannot be deleted)
|
|
398
408
|
- **Auto Yes behaves differently per agent.** Command Code / Gemini / Vibe-Local only have
|
|
399
409
|
the screen-based route (the dialog is drawn once, then answered automatically). See
|
|
400
410
|
[Approval Routes Differ by Agent](#approval-routes-differ-by-agent)
|
|
401
|
-
-
|
|
411
|
+
- These sessions appear in the session field of the header ([current session][N more ▾])
|
|
402
412
|
|
|
403
413
|
### Ollama Model Selection (Vibe-Local)
|
|
404
414
|
|
|
@@ -427,7 +437,7 @@ surface** switches — the input surface stays exactly the same in either mode
|
|
|
427
437
|
|
|
428
438
|
| Screen | Action |
|
|
429
439
|
|--------|--------|
|
|
430
|
-
| **Desktop** | Click the **Terminal / Chat toggle** in each split's header |
|
|
440
|
+
| **Desktop** | Click the **Terminal / Chat toggle** in each split's header (with a single split it is in the second-row action bar) |
|
|
431
441
|
| **Mobile** | Tap the **round toggle** floating over the top-right corner of the output area |
|
|
432
442
|
| **Keyboard** | **`Cmd/Ctrl + Shift + M`** (press `?` for the shortcut list) |
|
|
433
443
|
|
|
@@ -559,8 +569,9 @@ put it back with the same gesture** (Issue #2261).
|
|
|
559
569
|
|
|
560
570
|
| Action | Where |
|
|
561
571
|
|--------|-------|
|
|
562
|
-
| **Maximize / restore** | The button
|
|
563
|
-
| **Maximize / restore** |
|
|
572
|
+
| **Maximize / restore** | The button in the second-row action bar (⤢ / ⤡; acts on the focused split) |
|
|
573
|
+
| **Maximize / restore** | Each split's "…" menu |
|
|
574
|
+
| **Maximize / restore** | With two or more splits, the button at the right end of each split's header (⤢ / ⤡) |
|
|
564
575
|
| **Maximize / restore** | `Cmd/Ctrl + Shift + Enter` |
|
|
565
576
|
|
|
566
577
|
`Cmd/Ctrl + Shift + Enter` follows the same rule as `Cmd/Ctrl + Shift + M` (the output
|
|
@@ -590,21 +601,23 @@ The **execution contract** handed to an agent with `commandmate send --contract`
|
|
|
590
601
|
**gate verdicts** `commandmate verify` produced from it, are readable on screen — no CLI
|
|
591
602
|
stdout required (Issue #1816).
|
|
592
603
|
|
|
593
|
-
### The
|
|
604
|
+
### The Verification chip (the second-row status chip)
|
|
594
605
|
|
|
595
|
-
|
|
596
|
-
the task title, its `TaskStatus`, and the `RESULT` of the most recent verification run.
|
|
606
|
+
The second row of the worktree screen (the action bar) carries the Verification chip (a status
|
|
607
|
+
chip) with the task title, its `TaskStatus`, and the `RESULT` of the most recent verification run.
|
|
597
608
|
|
|
598
|
-
- A worktree with no task row shows
|
|
609
|
+
- A worktree with no task row **still shows the chip**, with "Verification" in place of the title
|
|
610
|
+
and "Not verified" in place of the RESULT (Issue #2064)
|
|
611
|
+
- The chip's ⓘ button shows the **reason** behind the verdict, on a touch device too
|
|
599
612
|
- Hovering the chip (or reading it with a screen reader) gives the **reason** behind the
|
|
600
613
|
verdict, down to the ids of the gates that did not pass
|
|
601
|
-
- Clicking the chip opens the **Verification** pane
|
|
614
|
+
- Clicking the chip opens the **Verification** pane (pressing it again while the pane is open closes it)
|
|
602
615
|
|
|
603
616
|
### The Verification pane
|
|
604
617
|
|
|
605
618
|
| Screen | How to open |
|
|
606
619
|
|---------|-------------|
|
|
607
|
-
| Desktop |
|
|
620
|
+
| Desktop | Press the Verification chip (the chip with the shield icon) on the second row. The pane opens from the right, over the body |
|
|
608
621
|
| Mobile | **Tools** tab in the bottom bar → **Verification** sub-tab |
|
|
609
622
|
|
|
610
623
|
The pane has three sections, top to bottom.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commandmate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "No long blocks of time? Run an AI team from your phone. Git worktree sessions, task contracts and verification gates for Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Antigravity and Command Code.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.46.0",
|
|
3
|
+
"date": "2026-10-14",
|
|
4
|
+
"highlight": {
|
|
5
|
+
"ja": "worktree 画面を作り直し、見出しを 1 行にして道具を右上のアイコンにまとめました。どの画面からでも依頼を送れる「New task」も使えます。",
|
|
6
|
+
"en": "The worktree screen has been redesigned with a one-line header and tool icons at the top right. You can also send a task from any screen with New task."
|
|
7
|
+
},
|
|
8
|
+
"added": [
|
|
9
|
+
{
|
|
10
|
+
"ja": "どの画面からでもエージェントへ依頼を送れる「New task」ダイアログを追加しました(⌘⇧O / Ctrl+Shift+O)。",
|
|
11
|
+
"en": "Added a New task dialog that sends a request to an agent from any screen (Cmd+Shift+O / Ctrl+Shift+O)."
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"improved": [
|
|
15
|
+
{
|
|
16
|
+
"ja": "worktree の見出しを 1 行にし、縦のアイコンの列をなくして道具を見出しの右へ移しました。",
|
|
17
|
+
"en": "The worktree header is now a single line, and the tools moved from the vertical icon column to the right of the header."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"ja": "worktree 画面はパネルを閉じた状態で始まり、Files などのパネルは本文の上に重ねて開くようになりました。",
|
|
21
|
+
"en": "The worktree screen now opens with panels closed, and panels such as Files open over the content."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"ja": "見出しのセッションを「今のセッション+ほか N」にし、セッションが増えても欄の幅が変わらないようにしました。",
|
|
25
|
+
"en": "The header now shows the current session plus \"N more\", so its width no longer changes with the number of sessions."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"ja": "分割が 1 つのときは、分割の見出しを出さずに中身を 2 段目の行にまとめるようにしました。",
|
|
29
|
+
"en": "With a single split, its header is gone and its controls sit in the second row."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"ja": "進み具合(Status)を、サイドバーのブランチの「…」から変えられるようにしました。",
|
|
33
|
+
"en": "You can now change a branch's status from its \"...\" menu in the sidebar."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"ja": "サイドバーの一覧を 1 行の行と角丸の札に作り直し、狭い幅でもブランチ名が読めるようにしました。",
|
|
37
|
+
"en": "The sidebar list was rebuilt as single-line rounded rows, so branch names stay readable at narrow widths."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"ja": "サイドバーの上の絞り込み・表示・並べ替えを 1 行にまとめました。",
|
|
41
|
+
"en": "The filter, view and sort controls above the sidebar list now fit on one row."
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"ja": "サイドバーを閉じても、アイコンの列から各画面へ移動できるようになりました。",
|
|
45
|
+
"en": "With the sidebar closed, you can still move between screens from the icon column."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"ja": "スマホの引き出しを PC のサイドバーと同じ並びにし、上端に閉じるボタンを置きました。",
|
|
49
|
+
"en": "The phone drawer now matches the desktop sidebar and has a close button at the top."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"ja": "設定の入口を 1 つの設定メニューにまとめました。",
|
|
53
|
+
"en": "Settings are now reached from a single settings menu."
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"ja": "分割が 1 つのときは最大化できないようにそろえました。",
|
|
57
|
+
"en": "Maximize is no longer offered when there is only one split."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"fixed": [
|
|
61
|
+
{
|
|
62
|
+
"ja": "メニューや吹き出しを Esc で閉じたとき、下に重ねたパネルまで一緒に閉じる問題を直しました。",
|
|
63
|
+
"en": "Fixed Escape closing the panel underneath when it was meant to close only a menu or popup."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"ja": "チャットと履歴の検索で、返答が 2 件以上あると最後の返答しか強調されない問題を直しました。",
|
|
67
|
+
"en": "Fixed chat and history search highlighting only the last reply when there are several replies."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"ja": "チャットの検索の強調が、思考の節や特殊な文字の近くでずれる・消える問題を直しました。",
|
|
71
|
+
"en": "Fixed chat search highlights shifting or disappearing near reasoning sections and special characters."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"ja": "⌘K のコマンドパレットが、ほかの画面やメニューの上に重なって開く問題を直しました。",
|
|
75
|
+
"en": "Fixed the Cmd+K command palette opening on top of other dialogs and menus."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"ja": "分割の見出しや 2 段目で、エージェント名が 1 文字まで縮む問題を直しました。",
|
|
79
|
+
"en": "Fixed agent names shrinking to a single character in split headers and the second row."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"ja": "ダークモードで Git のパネル全体が濃い青になる問題を直しました。",
|
|
83
|
+
"en": "Fixed the Git panel turning dark blue in dark mode."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"ja": "セッション一覧の吹き出しが、次の行の名前を隠す問題を直しました。",
|
|
87
|
+
"en": "Fixed tooltips in the session list hiding the name on the next row."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"ja": "進み具合の保存に失敗したとき、知らせて元の値に戻すようにしました。",
|
|
91
|
+
"en": "A failed status change is now reported and the previous value is restored."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"ja": "worktree 画面を直接開いたり戻ったりしたとき、サイドバーの選択がずれる問題を直しました。",
|
|
95
|
+
"en": "Fixed the sidebar selection not matching the open worktree after a direct visit, reload or back/forward."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"ja": "日本語の設定でも、一部の説明や見出しが英語のまま表示される問題を直しました。",
|
|
99
|
+
"en": "Fixed some descriptions and headings staying in English with the Japanese setting."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"ja": "New task が全画面の表示の上に重なる問題と、Auto-Yes の残り時間の表示の遅れを直しました。",
|
|
103
|
+
"en": "Fixed New task appearing over full-screen views and the Auto-Yes time left updating late."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"ja": "worktree の ID が変わったあと、返答が二重に出たり消えたりすることがある問題を直しました。",
|
|
107
|
+
"en": "Fixed replies that could be duplicated or lost after a worktree's ID changed."
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|