Commit Graph

  • 83544bf822 test(daemon): releasing one workspace leaves the connection's others alone l0ng-ai 2026-08-23 23:28:26 +08:00
  • de20bb696f test(tab-strip): a short label that still does not fit is elided, not a panic l0ng-ai 2026-08-23 23:22:11 +08:00
  • 1fcc282e27 test(diff): a ref name is not an object id however long it is l0ng-ai 2026-08-23 23:16:37 +08:00
  • b3f87fd8a1 test(links): pin the two edges of a candidate that nothing held l0ng-ai 2026-08-23 23:06:02 +08:00
  • c7fd8bed96 test(links): the two spellings of ~ that nothing reached l0ng-ai 2026-08-23 22:59:16 +08:00
  • ded3f822e5 test(remote): a Take Back is due even when an attach was already sent l0ng-ai 2026-08-23 22:40:43 +08:00
  • 6366ae131f test(remote): a link still connecting is not forgotten with its profile l0ng-ai 2026-08-23 22:37:18 +08:00
  • bb73aacc7f test(ssh): a negated Host pattern keeps the block off that alias l0ng-ai 2026-08-23 21:54:04 +08:00
  • b4c0cb6254 test(update): the staging sweep matches a name, not a substring l0ng-ai 2026-08-23 21:40:45 +08:00
  • 717ad23fbe test(tabs): hold the half of a bulk close that spares a live SSH session l0ng-ai 2026-08-23 21:35:18 +08:00
  • 44ce34a978 refactor(tree-sync): one definition of the panes a window answers for l0ng-ai 2026-08-23 21:27:23 +08:00
  • f6e7e321ae test(scm): hold the two halves of discard-all nothing was holding l0ng-ai 2026-08-23 21:19:15 +08:00
  • 93129f04e2 test(links): a path with spaces is one argument to the file command l0ng-ai 2026-08-23 20:55:02 +08:00
  • 65094a415b fix(git): a branch name that looks like an option is still a name l0ng-ai 2026-08-23 20:44:27 +08:00
  • 2421c5dc97 test(session): hold the names views.json and session.json are stored under l0ng-ai 2026-08-23 20:18:15 +08:00
  • 582deded35 test(machine): hold every name the workspace tree is stored under l0ng-ai 2026-08-23 20:12:41 +08:00
  • 1af63cf429 test(config): hold every settings key that has shipped l0ng-ai 2026-08-23 20:06:52 +08:00
  • ef1e9bcee8 test(config): pin what every enum setting is spelled as on disk l0ng-ai 2026-08-23 20:02:10 +08:00
  • e339848d5a test(git): name every merge conflict the way git names it l0ng-ai 2026-08-23 19:54:42 +08:00
  • 4b22a32ef8 test(git): hold the one error kind nothing was holding l0ng-ai 2026-08-23 19:48:56 +08:00
  • 07fcbdb0ba docs(test): note which bash the pty test covers on which machine l0ng-ai 2026-08-23 19:41:00 +08:00
  • 608c3c48e1 test(shell-integration): drive bash over a real pty too l0ng-ai 2026-08-23 19:36:50 +08:00
  • 6527e88f69 test(shell-integration): drive zsh over a real pty l0ng-ai 2026-08-23 19:33:17 +08:00
  • 6709e006f5 test(git): resolve a real linked worktree, not a hand-written path l0ng-ai 2026-08-23 19:25:53 +08:00
  • 13c9fee220 test(git): check the +N -N counts against git's own numstat l0ng-ai 2026-08-23 19:21:49 +08:00
  • eb139b48ab test(scm): check each panel group against the plumbing it stands for l0ng-ai 2026-08-23 19:17:13 +08:00
  • b17dfa9797 test(git): check awkward filenames against real git, not against our model l0ng-ai 2026-08-23 19:13:34 +08:00
  • 3eed5c297f docs(duplex): say how the stdio link actually closes, and pin it l0ng-ai 2026-08-23 18:59:12 +08:00
  • 58974e889d test(shell-quote): cover cmd, and write down the one thing it cannot do l0ng-ai 2026-08-23 18:51:19 +08:00
  • 0469e75b15 test(i18n): hold the awaiting-a-caller list to its own instruction l0ng-ai 2026-08-23 18:45:28 +08:00
  • 3c78ccd719 test(ssh): make the live GSSAPI test skip rather than fail without Kerberos l0ng-ai 2026-08-23 18:38:39 +08:00
  • b9c397c47e test(terminal): fuzz the four parsers a hostile file can reach l0ng-ai 2026-08-23 18:24:05 +08:00
  • a0b4e056f2 test(git): fuzz the status parser, and drop the pathless entry it found l0ng-ai 2026-08-23 18:18:53 +08:00
  • 6410ea5105 fix(scm): say why a Git command with no repository did nothing l0ng-ai 2026-08-23 18:08:50 +08:00
  • 06534398ed fix(tabs): a bulk close says how many tabs it kept l0ng-ai 2026-08-23 18:04:10 +08:00
  • a93d5b3bf7 fix(remote): the SSH bootstrap makes its scratch dir, never adopts one l0ng-ai 2026-08-23 17:54:04 +08:00
  • 4764a35fe5 fix(shell-integration): make a shell's scratch directory, never adopt one l0ng-ai 2026-08-23 17:48:01 +08:00
  • 35a06a8c74 fix(clipboard): stage a pasted image only in a directory we own l0ng-ai 2026-08-23 17:41:33 +08:00
  • 1ebee808d1 fix(config): close the config directory to other users l0ng-ai 2026-08-23 17:31:37 +08:00
  • 5ab9df9aa6 fix(daemon): answer a request whose handler panicked l0ng-ai 2026-08-23 17:17:12 +08:00
  • fda00ff42a fix(host-ops,daemon): a panicking job no longer costs a pool a worker l0ng-ai 2026-08-23 17:13:34 +08:00
  • eacfded204 fix(keymap): taking a chord two actions hold displaces both l0ng-ai 2026-08-23 17:04:07 +08:00
  • 73fb9e2c8c fix(file-tree): escape abandons an inline edit l0ng-ai 2026-08-23 16:55:37 +08:00
  • 282b387a06 fix(ui): fold the names toasts did not compose either l0ng-ai 2026-08-23 16:40:53 +08:00
  • 4d91b25b9b fix(ui): fold every name a confirmation dialog did not compose l0ng-ai 2026-08-23 16:36:33 +08:00
  • fa0c537daa test(scm): pin which draft a landed commit is allowed to clear l0ng-ai 2026-08-23 16:27:37 +08:00
  • cde91bb928 test(remote): hold the strip to offering a retry only where one can work l0ng-ai 2026-08-23 16:18:29 +08:00
  • e83ac36e9d test(remote): pin which machine a new pane is started on l0ng-ai 2026-08-23 16:11:48 +08:00
  • ddbea208dc test(remote): a download whose size nobody sent does not invent one l0ng-ai 2026-08-23 16:05:23 +08:00
  • 17a2cc070e test(completion): assert the shell word scanner directly, not only through a caller l0ng-ai 2026-08-23 16:00:43 +08:00
  • 59809213f8 test(graph): hold snap on values that actually need snapping l0ng-ai 2026-08-23 15:49:52 +08:00
  • bcc349f3a3 test(agent): hold the agent state readable by every peer that reads it l0ng-ai 2026-08-23 15:40:57 +08:00
  • 73698677dd test(session): hold the layout readable by the build that has to read it l0ng-ai 2026-08-23 15:36:05 +08:00
  • b0f55326d2 test(machine): hold the machine file readable by the build that has to read it l0ng-ai 2026-08-23 15:27:44 +08:00
  • deb335aada test(protocol): pin the wire spelling of every simple enum variant l0ng-ai 2026-08-23 15:19:45 +08:00
  • ba462a35a4 test(protocol): finish the sweep — every load-bearing default is now held l0ng-ai 2026-08-23 15:04:22 +08:00
  • 2ce2e69636 test(protocol): hold the wire structs an older peer sends short l0ng-ai 2026-08-23 14:45:34 +08:00
  • 1a73c72e3c test(protocol): pin that a ShellSpec from an older peer still decodes l0ng-ai 2026-08-23 14:30:18 +08:00
  • 84a226a3e5 fix(sidebar): fold the directory names it draws, like everything else does l0ng-ai 2026-08-23 14:22:42 +08:00
  • 84b98aefa2 fix(file-tree): hand the copy its machine instead of letting it look one up l0ng-ai 2026-08-23 14:06:22 +08:00
  • ef936532e0 fix(file-tree): decide which machine a delete lands on before asking, not after l0ng-ai 2026-08-23 14:01:23 +08:00
  • b884e4d513 docs(rustdoc): repair the two links that broke the gate this branch added l0ng-ai 2026-08-23 13:54:08 +08:00
  • c4950bd3ba style: run rustfmt over the branch l0ng-ai 2026-08-23 13:48:17 +08:00
  • 5d5fa77d0f fix(tray): say what quit-and-stop takes that does not come back l0ng-ai 2026-08-23 13:36:49 +08:00
  • 4440d78e99 fix(daemon): finish the poison work the condvar wait was left out of l0ng-ai 2026-08-23 13:32:31 +08:00
  • 32ccd6609e docs(skill): teach the shipped contract what an orphan is now l0ng-ai 2026-08-23 13:21:35 +08:00
  • c14f05829f fix(cli): flag a row as an orphan by the same test the reaper uses l0ng-ai 2026-08-23 13:15:26 +08:00
  • d92ad9c43b docs(changelog): retire the stray-shell known issue, and log what was fixed l0ng-ai 2026-08-23 13:10:50 +08:00
  • abc9ea2071 test(machine): pin the active mark and the pane record a close leaves behind l0ng-ai 2026-08-23 12:53:15 +08:00
  • 0949b5f29e test(mirror): pin where a split ratio lands, and what a bad path answers l0ng-ai 2026-08-23 12:02:33 +08:00
  • 4bdf6af47c test(mirror): pin the tab order and the emptied workspace l0ng-ai 2026-08-23 11:58:48 +08:00
  • 8c93335809 fix(switcher): let the card and pane close --orphans name one set l0ng-ai 2026-08-23 11:43:23 +08:00
  • 2886262d8c fix(doctor): count the strays the reaper it recommends would actually end l0ng-ai 2026-08-23 11:40:58 +08:00
  • 8a7302ae34 fix(cli): stop pane close --orphans reaping a session mid-restore l0ng-ai 2026-08-23 11:36:47 +08:00
  • cb44751cdb fix(switcher): keep live panes off the list that offers to close them l0ng-ai 2026-08-23 11:19:39 +08:00
  • 69b93f8f69 test(layout): pin that a panel cap never lands under its own floor l0ng-ai 2026-08-23 11:00:38 +08:00
  • 83e44e0701 fix(update): ask before an update relaunch takes an unwritten buffer l0ng-ai 2026-08-23 10:51:57 +08:00
  • a225562871 fix(quit): ask before ⌘Q throws away an unwritten buffer l0ng-ai 2026-08-23 10:44:07 +08:00
  • bb8a3b8add fix(window): ask before a window close throws away an unwritten buffer l0ng-ai 2026-08-23 10:35:42 +08:00
  • 4221772c9b test(scm): pin the one destructive path that runs without asking l0ng-ai 2026-08-23 10:26:03 +08:00
  • cfff088c4f docs(shell-quote): say which of the two quoting rules answers which question l0ng-ai 2026-08-23 10:19:27 +08:00
  • 1ccdaeaa2d fix(agent-hooks): quote the hook binary for the shell that re-reads it l0ng-ai 2026-08-23 10:18:28 +08:00
  • 17942c0262 fix(file-tree): stop the delete prompt implying a trash that is not there l0ng-ai 2026-08-23 10:10:14 +08:00
  • f42eec5e8d test(keymap): hold the tmux preset to the same no-collision rule l0ng-ai 2026-08-23 09:57:07 +08:00
  • 1d5c0ab2ef test(keymap): fail the build if two default bindings claim one key in one scope l0ng-ai 2026-08-23 09:54:58 +08:00
  • 8fcc076374 test(git): pin which warning each destructive operation raises l0ng-ai 2026-08-23 09:48:09 +08:00
  • 951a08e6dd fix(daemon): stop one pane's panic from costing every pane on the machine l0ng-ai 2026-08-23 09:42:42 +08:00
  • 5b77b51a28 fix(tree-sync): collect the shells a window strands, from a census of its own panes l0ng-ai 2026-08-23 09:29:20 +08:00
  • 7d7f9a508f test(host): hold every host to keeping a script's executable bit l0ng-ai 2026-08-23 09:09:10 +08:00
  • 5ce0fbdd5a fix(editor): give a saved file back the line endings it arrived with l0ng-ai 2026-08-23 09:06:20 +08:00
  • d6de373619 test(pane): assert awkward text survives the pty and the ring unchanged l0ng-ai 2026-08-23 08:58:50 +08:00
  • ab8faf5877 test(sftp): drive the subsystem against a real server l0ng-ai 2026-08-23 08:53:08 +08:00
  • 510a42c2e5 test(ssh): put bytes through a real tunnel, and let the live tests take turns l0ng-ai 2026-08-23 08:49:39 +08:00
  • d7df1352c9 test(ssh): an end-to-end key-auth check against a real server, and run it l0ng-ai 2026-08-23 08:44:41 +08:00
  • caf5c58022 test(git-log): round-trip the two calendars against each other l0ng-ai 2026-08-23 08:37:58 +08:00
  • 1659391dad test(git-log): walk the civil calendar the commit dates rest on l0ng-ai 2026-08-23 08:33:11 +08:00
  • e91e45f129 docs(tree-sync): a second dead end, and what the two have in common l0ng-ai 2026-08-23 08:27:41 +08:00
  • a5589bd582 docs(changelog): tell users about the stray-shell leak under an agent loop l0ng-ai 2026-08-23 08:20:22 +08:00
  • 6635f94f58 docs(tree-sync): bound the orphan leak — it is an agent loop, not a fuzz l0ng-ai 2026-08-23 08:18:59 +08:00
  • ac90f6c212 fix(doctor): say when the server is running panes nothing holds l0ng-ai 2026-08-23 08:13:50 +08:00