Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/card-outline-top-right.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/column-bottom-space.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/copy-code-blocks.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/ctrl-enter-hint.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/dispatch-attachments.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/file-download.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/gone-dispatch-workers.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/keep-typing-focus.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/local-name-any-case.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/mdns-and-tunnel.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/no-dispatch-strip.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/notification-after-hand-back.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/replay-landings.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/restart-from-a-stuck-board.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/retry-unstarted-close.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/sandbox-downloads.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/sign-in-complete-toast.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/smooth-typing.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/sweep-gone-chats.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/themed-scrollbars.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/themes.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/unnumbered-confirmation.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/waiting-in-chat-modal.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/worktree-latest-main.md

This file was deleted.

32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# seamux

## 0.3.0

### Minor Changes

- 9a090d1: Every session seamux starts in a new worktree now gets the How to worktree macro, not only one in a repo with no `.claude/worktrees/` or ignored `worktrees/`. By default it has the session follow the worktree convention in the repo's CLAUDE.md or AGENTS.md, and, when there is none, propose one to you before starting: worktrees in the directory seamux used and gitignored, each starting from the latest main unless told otherwise, dependencies installed in the worktree, all work done there. Once you agree, the session records it in the repo's agent instructions, so later sessions follow it without asking. The macro has a new `{{worktrees}}` variable, the worktree directory relative to the main checkout. If you customised How to worktree, it is now sent for every new worktree, so check it still reads right there.

### Patch Changes

- a8aabec: A card on the board drops its outline and shadow: its only edges are along the top and down the right, each fading out from the engine's colored top-right corner, and a Done card's top edge now fades in like the others. The light board's background is a shade darker, so the cards stand out against it. On a phone, the context bar under Open chat loses its own border, so it reads as the button's foot.
- e688bf5: On a phone, each board column ends with space under its last card, so the list visibly stops and that card sits clear of the home indicator's swipe.
- 8aee875: Code blocks in a card's reply, the chat and the file viewer have a copy button in their top right, shown on hover, that copies the block's text.
- 8b2e52f: The send hints in the dispatch bar and the chat (⌘↵) now read Ctrl+↵ on Windows and Linux, where Ctrl+Enter is the key that sends, and are gone on a phone or tablet, whose keyboard has no such shortcut.
- ae84461: The dispatch box takes images and files, as a chat's full view does: paste or drop them into the prompt, or pick them with the paperclip. Each shows as `[Image #1]` or `[File #1]` where it went in, and the new session gets it with its first prompt. The controls under the prompt now sit in one row: the agent, the directory and a Worktree checkbox on the left, the paperclip and Dispatch well apart on the right. On a phone the directory and the Worktree checkbox take the first line, and the agent the second, with the paperclip and Dispatch at its far end.
- c97229e: The file viewer's display switch offers Download beside Raw and Rendered, which saves the file as is. `/file/download?path=/abs/path` does the same from a link or script.
- b0b64f4: A fan-out worker whose session closes without running `seamux done` now counts as gone, with its own icon in its parent chat's side rail, instead of being waited on forever. `seamux wait` stops waiting for it and lists it under a new `gone` key, as do `seamux status` and `seamux list`; a worker is never counted gone in the first five minutes after `fanout` starts it.
- 496c0ac: The box you're typing in keeps the cursor when its card moves to another column, its chat modal included, and when a send or dispatch finishes after you've started on the next message, as a new chat starts with its "Started" toast. It used to drop focus, and the next keys went nowhere.
- 0170d0a: The board answers its `.local` name however it's capitalised. curl and Shortcuts send the name as typed, and `http://Osmium.local:54321/` was refused with "Blocked request. This host is not allowed." while `osmium.local` worked; browsers always send it lowercased, so only scripts met it.
- 59ac3e9: mDNS and the Cloudflare tunnel can now be on at the same time: turning one on in the Remote tab no longer turns the other off. Each keeps its own login, the password at the `.local` name and Cloudflare Access at the tunnel's hostname, and with mDNS on, a request from the network addressed to the tunnel's hostname is refused.
- 642a394: Fan-outs no longer get a strip above the columns, and worker cards no longer carry a status line. Instead, the card of the chat that ran `fanout` shows `(N workers)` after its state, and clicking it opens the chat, whose side rail lists every worker next to its subagents: a worker still out in full, and one that has reported, failed or closed without reporting as a single line that opens to its summary. Finished subagents fold to a line the same way, and both now leave after 10 minutes rather than 30. `seamux wait`, `status` and `list` are unchanged.
- c556d99: A chat whose subagent had finished no longer sits in Working while a background shell runs. Claude Code 2.1.285 and later log the subagent's task notification after the chat has already answered its result, and the board took that notification for a turn still running.
- 5bb8a88: A landing on main now always reaches the board without a restart. The dev server used to miss one now and then and keep serving the old code until it restarted. The board's stylesheet is also no longer cached as immutable, which could leave a phone on an old one.
- ac37634: Restart the board from a browser whose board page loaded but whose buttons don't work. After ten seconds without the board's scripts starting, the page shows "Buttons not working? Restart the board" at the bottom. That link goes to `/restart`, which asks the supervisor to restart the board's server, clears the browser's cache for the board, and returns to the board once it answers again. It works from a phone over mDNS or the tunnel, and the error page links to it too.
- 28d896f: When a close is held because the close-session macro never started a turn, closing the chat again sends the macro again instead of exiting without it, since none of the clean-up ran. The held note says so.
- 0368fe4: A rendered HTML file in the file viewer can download what its links point to, such as an exported CSV, which its sandbox used to block.
- 19c2711: A finished sign-in no longer leaves a "Signed in" card in Attention for 20 seconds: the card goes as soon as the sign-in completes, and a toast says "Claude Code sign-in complete" (or Codex's). A card with chats still stopped on the expired login stays, for its Resume button.
- 9d0ae82: Typing into a chat no longer lags on a busy board: a keystroke re-renders only the chat you're typing in, the draft is saved once you pause, and the board's poll no longer re-renders every card's and message's markdown when nothing in it changed. Drafts still survive a reload.
- 209695b: The board now forgets what your browser keeps for a chat (its unsent draft and attached files, whether it was minimized, and its open full view) once the chat has been gone from the board for about 100 polls in a row, a few minutes. Before, minimized chats left a key in localStorage forever, and unsent attachments held memory until the tab closed. Polls while seamux can't see every chat don't count, so a cmux outage never clears a live chat's draft.
- 5e17c6e: Scrollbars match the board: a slim rounded thumb in the palette's muted tone, with no track or arrow buttons, a little darker under the pointer (lighter in dark mode). They're dark in dark mode in place of the system's light grey.
- c9056c8: Themes: a new Themes tab in settings makes and edits themes, each a light and a dark set of colours, and switches every open board to one at once. Picking a theme in the tab's list previews it, with any unsaved edits, on that browser alone until you leave the tab, and its Light and Dark tabs preview each variant. A theme can colour each column's dot on its own, with `--column-idle`, `--column-waiting`, `--column-working`, `--column-done`, `--column-pinned` and `--column-attention`. A theme can set images, as `data:` URLs of at most 100 kB: `--background-image` behind the page, `--input-image` behind every text box, and `--watermark-image` in the bottom-right corner behind the board, with `--watermark-opacity`. Export saves a theme as a file to share, and Import opens one as a new theme. A theme needs only its two brand colours; the board works out the rest of its palette from them, and anything else it sets replaces what was worked out. Below the editor, a switch, Allow POST /theme/set, off by default: with it on, a JSON POST to `/theme/set`, `{"name": "pink-candy", "color": "light"}`, with the board's user and password, switches the theme from a script, from this Mac or over mDNS. `color` is optional, and switches every browser to light or dark until its own toggle switches it back. Debug's Clear all themes removes every saved theme.
- cfb1455: A tool's own confirmation, such as the Artifact tool's "Permanently delete …?", now shows on its card the way the terminal shows it, with No and Yes in the terminal's order. The card used to offer Approve and Deny, and Approve did nothing, since this dialog has no numbers to press.
- f435c30: The chat window now shows what a waiting chat is blocked on, as its card does: an open question to answer, a tool call to approve, or a dialog to choose from, so you can answer it without closing the chat. While a question is open, its form takes an answer of your own in a "Type your answer here" row after its options, as Claude Code's own dialog does, and the reply box is hidden on the card and in the chat window until the question is answered.

## 0.2.2

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "seamux",
"version": "0.2.2",
"version": "0.3.0",
"description": "A board over every Claude Code and Codex session on your Mac, and the tools to drive and dispatch them.",
"license": "MIT",
"author": "Jakob Heuser <jakob@codedrift.com>",
Expand Down