You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cc6720e: Disconnect stalled terminal viewers before their queued output can exhaust the PTY host memory.
cc6720e: Ensure hosted terminal children exit before their sessions are reported closed.
3b8e8a1: Keep attention badges sticky and restore codex turn/usage reporting. Tasks blocked on a permission prompt, rate limit, or error no longer decay to a plain idle badge after the 10-minute lapse timer — they stay lit until a real engine event clears them, so "come back and see who's stuck" survives long breaks. Codex rollout parsing now recognizes the real on-disk shapes: event_msg completion signals (task_complete / turn_complete / turn_aborted) so codex turns reach "done" again (background toast + unread badge fire), and event_msg token_count usage so the History panel shows non-zero tokens and carries the model context window.
ca4d2b6: Close CI/release gate gaps: PR and release workflows now run the full bun run test suite (fast + unix-socket daemon tests, previously excluded by a hardcoded directory whitelist), and release.sh/release.yml gate on lint + typecheck + test + behavior before a version is ever tagged or published.
12283c5: Harden kobe api prompt delivery and fan-out: verify a pasted prompt actually landed in the engine composer (strict engine-pane lookup, no blind first-pane fallback), size the readiness wait to the repo init-script budget, and surface a dropped prompt as a non-zero exit instead of a phantom success. Fan-out now delivers prompts concurrently and reports partial failures with each created task's id (exit 3) rather than losing them. kobe api add no longer steals the active-task focus by default — pass --activate to opt in.
ada1e16: Hard-blocking CLI errors now point to the next step: a wedged/failed daemon start names the daemon log path and kobe doctor, missing tmux gets a platform install command instead of stale version wording, and the top-level CLI error is trimmed to a one-line message (set KOBE_DEBUG=1 for the full stack). Running bare kobe outside a git repo no longer permanently saves the cwd as a project — it now lands on the empty kobe-home session with a pointer to kobe add <path>.
be2da5a: Harden the daemon client/transport: the web transport now degrades to socket-only on a port conflict instead of crashing the daemon or SIGTERM-ing the port holder (with the real reason surfaced via daemon status); daemon RPCs gained a per-request deadline so a wedged daemon converges on the visible disconnect→reconnect path instead of silently freezing the UI; and event dispatch isolates a throwing subscriber so one bad handler can't make a pane go deaf.
fd1a713: Remove dead code: delete the legacy kobe-web/server standalone bridge (superseded by the daemon-hosted web transport, ADR 0003) and its three server-only tests, and drop three orchestrator dead spots — the voided EMPTY_INDEX, the unused toTaskId keep-alive in core.ts, and the TaskIndexStore.archive semantic-trap wrapper (production archiving goes through orchestrator.setArchived).
084468f: kobe api send/spawn-task/fan-out now route prompt delivery, liveness, and teardown to a task's actual backend. A pty-host (default) task is delivered into its live engine over the pty socket instead of being mistaken for "not running" and silently opening a second tmux engine in the same worktree — a data-corruption bug where two agents clobbered the same files. When a hosted task's engine tab is gone, delivery returns delivered:false rather than double-opening.
037e817: Land a task's branch back into its base repo (task.land RPC + kobe api land, TUI worktrees-page l key): merge/squash, refuse a dirty base checkout, abort on conflict and return the file list. Self-heal dead worktreePaths (clear on worktree removal, re-materialise onto the retained branch on next enter), delete the branch when a task is deleted, parallelise worktree listing probes, and consolidate the (new task) placeholder to one source.
64ab258: Fix the daemon PR-status poller so an unrecognized gh failure surfaces as an error instead of silently masquerading as "no PR" (switched to gh pr list --head and a single shared failure classifier), and cache RemoteExecHost instances by ControlMaster socket so remote-project git operations stop paying a synchronous SSH connection check on every call.
65294b4: Harden state.json writes: unique per-write tmp filenames (pid + nonce) prevent concurrent kobe processes from tearing each other's writes, and a malformed state.json is now backed up to state.json.corrupt-<ts> instead of being silently discarded.
7ddaa38: Native workspace Changes tab can now show a task's whole branch vs its base, not just uncommitted work — so a task's output stays visible after the engine commits it. Press b to toggle the Changes tab between working-tree and vs-base scope (it auto-picks vs-base when the worktree is clean), and d to open any file's read-only diff in a workspace tab (a content swap that keeps focus on the file tree). The base is the task's PR base when it has one, else the repo's default branch.
2e7d52c: Native workspace: notify (bell/toast/OSC 9 desktop) when a task you've switched away from pauses on an approval, errors, or finishes a turn, and add a ctrl+g chord to jump to the next task waiting for input. OSC 9 rides SSH to your local terminal; both gated by a new Notifications setting.
cc6720e: Prevent a second PTY host from replacing the socket of a running terminal session host.