Commit Graph

  • 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
  • 96b7597497 docs(tree-sync): record what the orphan leak measures, and one dead end l0ng-ai 2026-08-23 08:05:58 +08:00
  • 24bc48704a fix(keymap): register the fixed bindings before the config, not after l0ng-ai 2026-08-23 07:49:42 +08:00
  • 5ff8011b24 test(settings): pin the docs page to the section names, not just the count l0ng-ai 2026-08-23 07:39:17 +08:00
  • 46656455f6 docs(config): give a summary line back the test it was written for l0ng-ai 2026-08-23 07:33:56 +08:00
  • 9e49b6a412 test(cli): walk the nested verbs when checking the reference for flags l0ng-ai 2026-08-23 07:28:52 +08:00
  • 76929eb8df docs(changelog): four more, closing the backlog's user-visible half l0ng-ai 2026-08-23 07:22:56 +08:00
  • c929057126 fix(scm): fold a commit author's name onto the byline l0ng-ai 2026-08-23 07:19:51 +08:00
  • 029aa3e988 fix(scm): fold a status path where the panel and the detail draw it l0ng-ai 2026-08-23 07:11:48 +08:00
  • 95b31cd64b fix(scm): fold a commit subject onto the row that draws it l0ng-ai 2026-08-23 07:04:36 +08:00
  • 74c4de7127 fix(ui): fold a workspace and tab label where it is drawn, too l0ng-ai 2026-08-23 07:00:02 +08:00
  • 2cc5ffb568 fix(daemon): raise the open-file limit, and name it when it is still reached l0ng-ai 2026-08-23 06:37:12 +08:00
  • fa5b901d8d fix(doctor): check the shell every new tab is going to launch l0ng-ai 2026-08-23 06:11:12 +08:00
  • 4e5699dc89 fix(config): say what is wrong with a config file, and where l0ng-ai 2026-08-23 06:05:50 +08:00
  • 7d6923d1e3 fix(machine): fold a name to one line where every naming path passes l0ng-ai 2026-08-23 05:56:44 +08:00
  • 4805cb1765 fix(doctor): notice a config directory that cannot be written to l0ng-ai 2026-08-23 05:47:16 +08:00
  • c69a39f7a0 docs(changelog): five more, bringing the backlog to a third l0ng-ai 2026-08-23 05:38:56 +08:00
  • ecbe43f5ab docs(changelog): four more, one of them the largest on the list l0ng-ai 2026-08-23 05:37:23 +08:00
  • 58145dace1 docs(changelog): four more, three of them things a user would see l0ng-ai 2026-08-23 05:35:50 +08:00
  • 12ab786e64 docs(changelog): five more, including two nobody could have noticed l0ng-ai 2026-08-23 05:34:12 +08:00
  • fa392a9558 docs(changelog): write up five more fixes, including two that lost work l0ng-ai 2026-08-23 05:32:00 +08:00
  • d2a894c4a1 docs(changelog): write up ten fixes that shipped without an entry l0ng-ai 2026-08-23 05:29:52 +08:00
  • 16370ed30a docs(cli): record what the capture settle timer actually costs l0ng-ai 2026-08-23 05:22:47 +08:00
  • a77d691dad fix(cli): send a bad tab address to the table that has the @ numbers l0ng-ai 2026-08-23 05:10:37 +08:00
  • a67234266b docs(cli): name doctor's config section, and pin the shape l0ng-ai 2026-08-23 05:06:39 +08:00
  • 719e35ec59 test(machine): pin the tty7 events kinds to the CLI reference l0ng-ai 2026-08-23 05:02:58 +08:00
  • 8390fa54e2 test(sftp): pin the one thing only the components walk refuses l0ng-ai 2026-08-23 04:57:30 +08:00
  • 3e1b8bd620 test(agent-hooks): pin that the hook is inert outside tty7 l0ng-ai 2026-08-23 04:31:25 +08:00
  • a9faf7cf07 test(ssh): pin the two host-key decisions nothing was checking l0ng-ai 2026-08-23 04:25:53 +08:00
  • 69ac479c97 test(kitty): prove the temp-dir check is what saves a file, not the OS l0ng-ai 2026-08-23 04:18:04 +08:00
  • bf68eb9f20 fix(kitty): open a file transfer non-blocking, so the fifo check can run l0ng-ai 2026-08-23 04:15:43 +08:00
  • ba28a8224e test(kitty): hold the remote transfer gate for t=f and t=t, not only t=s l0ng-ai 2026-08-23 04:09:48 +08:00
  • 7368872e04 docs(protocol): state at PROTOCOL_VERSION when it moves l0ng-ai 2026-08-23 03:58:05 +08:00
  • 9ca4b27ec9 test(control): pin the wire shape to CONTROL_VERSION l0ng-ai 2026-08-23 03:55:32 +08:00
  • 9332f2e44b test(shell-integration): hold every shell to the same reported facts l0ng-ai 2026-08-23 03:44:59 +08:00
  • 677a1dffe1 test(git-log): drive the lane allocator with random DAGs l0ng-ai 2026-08-23 03:39:04 +08:00
  • e80fc24ce0 test(protocol): round-trip every wire message, and keep it that way l0ng-ai 2026-08-23 03:31:12 +08:00
  • f8b000ed9d fix(pane): clear the agent session when one agent hands over to another l0ng-ai 2026-08-23 03:24:56 +08:00
  • 5d3990dc3e test(agent-hooks): pin every hook event name to what the daemon reads l0ng-ai 2026-08-23 03:20:05 +08:00
  • acd7d69815 fix(ssh-config): report a forward that cannot be imported, rather than dropping it l0ng-ai 2026-08-23 02:59:18 +08:00
  • 209ebe6ca5 fix(gitignore): obey core.ignorecase, as git does l0ng-ai 2026-08-23 02:53:02 +08:00
  • 3064ce8a68 fix(history): stop per-pane history from silently disabling history search l0ng-ai 2026-08-23 02:46:54 +08:00
  • 0d82891cd1 docs(privacy): say where per-pane history is kept l0ng-ai 2026-08-23 02:34:48 +08:00
  • 56b4769d9c docs(privacy): update.log is a file tty7 writes, so list it l0ng-ai 2026-08-23 02:27:09 +08:00
  • 21ddd01bc9 fix(updater): record a panic where someone can find it l0ng-ai 2026-08-23 02:23:23 +08:00
  • ebfc08368b fix(i18n): a number in a search keyword list must survive translation l0ng-ai 2026-08-23 02:08:34 +08:00
  • 43d59b7317 ci(host-boundary): .exists() asks this machine too l0ng-ai 2026-08-23 01:54:53 +08:00
  • d60949437c docs(readme): nushell is an integrated shell, so say so l0ng-ai 2026-08-23 01:25:51 +08:00
  • 36404a6cbb fix(keymap): Restart Server is bindable, like every other menu item l0ng-ai 2026-08-23 01:19:51 +08:00
  • 2d5621a71c feat(palette): amend, refresh and the graph toggle are Git verbs too l0ng-ai 2026-08-23 01:14:09 +08:00
  • eb211d7fc1 docs(shortcuts): the document dock's actions are bindable, so name them l0ng-ai 2026-08-23 01:04:54 +08:00
  • 020769b3bb docs(cli): server restart keeps sessions, and --hard is the one that does not l0ng-ai 2026-08-23 00:58:36 +08:00
  • b6b3e782b4 fix(doctor): name a custom shell that can never appear l0ng-ai 2026-08-23 00:42:13 +08:00
  • 1552abb010 fix(doctor): name the config keys tty7 does not read l0ng-ai 2026-08-23 00:35:46 +08:00
  • fa4a7e7e38 fix(keymap): say when a keybinding in config.json did nothing l0ng-ai 2026-08-23 00:29:10 +08:00
  • e7d04066d2 fix(capture): --plain no longer answers with a fraction of the pane l0ng-ai 2026-08-22 23:51:47 +08:00
  • 449d38e538 docs(wait): say that an unknown pane answers exit, and pin it l0ng-ai 2026-08-22 23:41:08 +08:00
  • ec7a7a2fa5 fix(ssh): a forward with no bind address binds loopback, not the resolver's guess l0ng-ai 2026-08-22 23:15:52 +08:00
  • b23e0feb55 fix(editor): closing a tab no longer throws away unsaved edits l0ng-ai 2026-08-22 23:06:58 +08:00
  • 62d44f3d0f fix(doctor): say when a workspace tree was set aside l0ng-ai 2026-08-22 22:56:55 +08:00
  • c27d88e001 fix(tab-strip): an ellipsis that stands for nothing dropped l0ng-ai 2026-08-22 22:40:12 +08:00
  • c6e878281d fix(updater): read the designated requirement off the stream it is on (#708) l0ng-ai 2026-08-22 22:15:01 +08:00
  • 3b5df0b6b5 fix(tree-sync): adopting a workspace is not creating one (#716) l0ng-ai 2026-08-22 22:10:05 +08:00
  • f4df05ffca fix(sidebar): open the diff of the row whose counts were clicked (#706) l0ng-ai 2026-08-22 22:02:26 +08:00
  • 9963cfb8fc fix(settings): let the scroll slider reach the range it documents l0ng-ai 2026-08-22 21:51:30 +08:00
  • b5f8d484ba fix(palette): stop naming a keymap action the keymap has never had l0ng-ai 2026-08-22 21:46:06 +08:00
  • a92aef969d fix(settings): a row you can see is a row search can find l0ng-ai 2026-08-22 21:41:04 +08:00
  • 19baa6af70 chore(lint): leave the workspace building without a warning l0ng-ai 2026-08-22 16:52:40 +08:00
  • 791d0d0cfa Merge remote-tracking branch 'origin/main' into polish/ralph-wc l0ng-ai 2026-08-22 16:48:33 +08:00
  • 74bb98697d Keep a stalled remote link off the UI thread (#709) l0ng-ai 2026-08-21 16:05:16 +08:00
  • 975e3edf9b Fix Windows path quoting, wire up Checkout to…, bound the Spawn reply (#705) l0ng-ai 2026-08-20 23:33:26 +08:00
  • 46759b8a01 fix(input-bar): read column widths from unicode-width, not a hand-rolled table (#704) l0ng-ai 2026-08-20 22:35:32 +08:00
  • 07e3b26434 feat(agent): outline a coding agent's conversation, and jump back to a turn (#703) l0ng-ai 2026-08-20 21:56:34 +08:00
  • d8ac3ef454 docs(readme): fix the fork column and restate the feature tables l0ng-ai 2026-08-20 21:49:31 +08:00