on main help sign in
e76bef5fix(flake): set vendorHash to null for committed vendor directoryiko 3fdceefchore: re-vendor dependencies after go.mod updatesiko 2153b16feat(ui): add difftastic as optional external diff renderer for edit diffs (#1)iko 9af07ecfix(tools): lowercase all remaining error messages for Go conventioniko 2679ea6fix(tools): lowercase remaining view.go error messages, fix testsiko 19eb38afix(ui): clean up nested tool IDs in RemoveMessageiko 68c5026fix(ui): clean up temp file on error in openEditoriko b203f9cfix(tools): lowercase 'image file is too large' error messageiko 0bfed63fix(ui): honor explicit notification style without focus event supportiko 83a2dedfix(tools): standardize error message capitalizationiko a9b1350fix(ui): correct off-by-one in attachment 'N more' countiko 490c2f8docs: fix misleading TODO commentsiko 6f4906cfix(ui): use correct default read limit in permissions dialogiko e7a7bf3perf(tools): eliminate redundant file read in write tooliko d3d1c35fix(tools): don't overwrite truncation warning with depth message in lsiko 0b020c5fix(tools): correct copy-paste errors in session ID error messagesiko f1a9aa4fix(tools): show 'Overwrite file' instead of 'Create file' in write tool permissionsiko 343b333fix(ui): correct copy-paste error in initialize project warningiko 55b6944fix(ui): strip .0 from file sizes, replace last context.TODO()iko da0ab43fix(ui): use absolute path consistently in insertFileCompletioniko c61252bfix: correct replaceAll not-found error, harden session type assertionsiko 8add8b4fix(ui): cap context percentage at 100%, add landing state to FullHelpiko 9cc1cc3fix(ui): remove redundant loop, fix incorrect timestamp, rename misleading variableiko 0398017fix(ui): replace TODO placeholders with user-friendly messagesiko 9f93030refactor(ui): extract render-cache state into a renderCache typeiko 36d571erefactor(ui): thread program lifecycle context through workspace callsiko 6c2ba62fix(app): cancel and join background goroutines on shutdowniko ab74a3bfix(config): guard reload-mutated store fields against lock-free readersiko 699924dperf(ui): decouple assistant spinner from cached body renderiko dc0d982fix(pubsub): eliminate broker close-vs-send data raceiko 309e445chore(quality): harden lint gate, throttle broker drop-log, replace flush busy-polliko 8b1a0a1perf: load only messages from summary onward instead of full session history on every turniko 5717e30feat(ui): unify system, user, and MCP commands into single listiko 8cf6e16perf: cache tool sets and provider options, batch DB deletes, add hot-path indexes, and reduce per-turn allocationsiko 7ea54ebfeat(ui): collapse nested tool calls by default with expansion hintiko 94f4d40perf(ui): build render-cache fingerprints without per-frame allocationsiko 7f2f09bdocs(readme): note this is a fork of charmbracelet/crushiko 5fd111abuild(nix): add default package to flakeiko 0e74f12feat(ui): UX/UI improvements across the TUIiko 66c7911perf: eliminate per-frame RPCs, redundant work, and hot-path allocationsiko 3f54541fix: close permission bypass and concurrency/caching bugsiko 2c77d01perf(ui): cache render-hot-path workiko 5dd90d8perf(fsext,skills,lsp): prune walks, cache counts, linear editsiko 0352d74perf(db,config): lighter queries, indexes, cached reload/env workiko d88bfb9perf(permission): release requestMu before the human waitiko b10b0e1perf(agent): O(1) IsBusy, provider client cache, gated tool copiesiko 9492d7dperf(message): eliminate O(n²) streaming accumulationiko 0d76633perf(chat): stop O(n²) re-render of long thinking tracesiko 23077d9chore(deps): bump the all group with 6 updates (#3257)dependabot[bot] e136afachore(deps): bump the all group with 5 updates (#3258)dependabot[bot]