Threadlines v0.3.4
Highlights
This release makes agent activity less noisy, recovers threads when their checkout folder is deleted, improves right-panel and sidebar behavior, and adds a cross-machine usage dashboard.
- Subagent work moves out of the chat and into the Agents panel — Subagent streaming no longer floods the inline chat. Running agents appear in the right-side Agents rail with live status and per-agent file-change counts, promoted background runs show as agents, and agent rows persist across reconnects so transcripts and stop controls stay available.
- Prevent leaked subagent output and settle orphaned agent rows — Subagent output no longer leaks into the main chat and rows that outlive their provider process are settled as interrupted when a session restarts, so long-running or crashed providers no longer leave forever-running rows.
- Recover deleted checkouts and avoid broken threads — If a thread's checkout folder is removed, Threadlines detects the missing worktree before starting work, records the issue, and offers to move the thread to the project root or recreate the worktree; drafts no longer inherit missing paths and the UI shows recovery actions when relevant.
- Cross-machine usage and clearer charts — Usage now aggregates provider transcripts from every connected machine into one price-equivalent dashboard, with a daily chart that aligns hover tracking to days and supports touch scrubbing, plus a sidebar meter for today's total.
Also improved
- Drag to reorder right-panel tabs and preserve per-thread panel state, so the right rail reflects the order you set and remembers which tab was open per thread.
- Pinned threads now keep their place in the live list and are not auto-filed under Done, so items you pin stay immediately reachable.
- Safer desktop startup and backend checks: the app refuses duplicate instances and re-verifies backend ports on restart to avoid attaching to unrelated or stale servers.
- Warn before quitting when sessions are active, so accidental quits are prevented when work is running.
- Pending user input requests expire when a turn is interrupted, preventing stray prompts from blocking the conversation after an interruption.
- Plugin and extension calls respect the selected machine scope, and the project picker shows projects across machines, so installs target the machine you picked.
Complete technical changes
What's Changed
- Surface unsent drafts in the sidebar by @badcuban in #131
- Stop stale async flows from closing a palette they do not own by @badcuban in #133
- Apply queued checkout switches on idle and announce them at pick time by @badcuban in #135
- Bump voidzero-dev/setup-vp from 1.15.0 to 1.17.0 by @dependabot[bot] in #136
- Bump the development-dependencies group with 2 updates by @dependabot[bot] in #138
- Bump the production-dependencies group across 1 directory with 8 updates by @dependabot[bot] in #137
- Usage: cross-machine token and cost dashboard by @badcuban in #134
- Write release copy for users, not developers by @badcuban in #139
- Line the usage chart hover up with the day it describes by @badcuban in #140
- Ship a Docker self-host image by @badcuban in #141
- Publish the self-host Docker image on stable releases by @badcuban in #142
- Label the Docker image with its source repository by @badcuban in #143
- Bring the README and origins doc up to the product's present by @badcuban in #144
- Tell the README about onboarding, phone access, and the usage dashboard by @badcuban in #145
- Add Claude local usage heatmap by @badcuban in #147
- Stabilize Windows terminal and pull request sidebar indicators by @badcuban in #148
- Improve loading skeletons and preserve active turn status by @badcuban in #149
- Add the agents panel: the turn's subagents and runs as a thread rail by @badcuban in #146
- Retry transient Electron release downloads by @badcuban in #150
- Run staged install before Electron packaging by @badcuban in #151
- Preserve native subagent model omissions by @badcuban in #155
- Refuse duplicate desktop instances and re-verify backend ports on restart by @badcuban in #152
- Polish panel tabs and release mentions by @badcuban in #154
- Add safe source control tool updates by @badcuban in #153
- Add verified cross-platform source control tool maintenance by @badcuban in #156
- Keep the turn activity tracker steady while subagents run by @badcuban in #157
- Promote background codex exec runs into subagent rows by @badcuban in #158
- Multi-machine project UX: remote assets, logical pickers, machine filter, unified selection styling by @badcuban in #159
- Recover threads whose checkout folder was deleted by @badcuban in #161
- Keep a subagent's work out of the inline feed and surface the Agents tab by @badcuban in #160
- Harden the subagent roster fold and close review gaps from #160 by @badcuban in #162
- Keep background commands out of the Agents tab entirely by @badcuban in #163
- Bump the development-dependencies group with 3 updates by @dependabot[bot] in #165
- chore(deps): bump provider SDKs and app dependencies to latest by @badcuban in #166
Direct changes
75e87245Prevent subagent output leaking into chate8dab201Prevent blank space below active chats5e9dd2a0Live chat activity stays steady while a turn runs0cd2ef2aSettle subagents when parent turn stops3cb67185Warn before quitting active sessionsade23d08Terminal running icon survives commands started in a booting shell67f056beSettle orphaned subagent rows when a provider session restartsbc630a59Show live +/- line counts for subagent work0d605e83Plugins tab scopes to any connected machine70301134Pinned threads keep their place in the live listfa390b3aDrag to reorder the right sidebar tabsb4118414Clarify turn scope in AGENTS.mde8d1f7a9Expand AGENTS.md with Threadlines development guidancee8767222Refresh Claude OAuth credentials and stream live edit stats3bb82165Improve right panel tabs and last-used model selection210b9e20Prevent desktop from attaching to unrelated servers964299f0Expire pending user input on turn interrupt7ad21981Keep Settings visible while returning from Usage8054599aCache repository tests and browser task runse88b439eImprove web navigation and thread wrap-up state handlingf658a57fPersist subagent state for agent activity panels8ed97c61Persist subagent state and improve agent activity panels52c0f183Move thread activity controls into the chat headerbf09a209Prefer local plugin catalogs over remote mirrors33a55c32Add shared desktop titlebars and improve usage chart interactions2c9fd797Remember source control state and collapse long Done lists12172ee7Make the project scope picker read as an input65473f09Show waiting state and elapsed time for background tasks
Full Changelog: v0.3.3...v0.3.4