Skip to content

Releases: marmyx77/lampboard

lampboard 0.2.5

Choose a tag to compare

@marmyx77 marmyx77 released this 31 Aug 17:02

A row can now be taken off the column, and a session nobody can reach can be ended.

Requires macOS 14 or later (macOS 26 for dictation). Signed with a Developer ID and notarized by Apple.

Why

A row can outlive what it describes, and nothing on this Mac can tell the difference. Measured: a claude process still loaded nine hours after its chat tab was closed — the extension keeps it so the tab can be reopened with Cmd+Shift+T — and a Codex daemon holding thirty-nine rollouts open, including conversations closed long before. The panel is right that those conversations exist; you are right that they are gone. The existence of a tab is published nowhere, so no probe can settle it and no timeout can guess it.

Two entries in a conversation's menu

Remove this row takes it off, with no confirmation: it costs nothing to undo. The row comes back the moment that session says anything, and a row discovered on disk comes back as soon as its evidence is newer than the click. The removals are remembered across restarts, and forgotten after twelve hours — past that the row would have gone by itself.

End this session… asks first, naming the process, when it started and the folder. It is offered only where the process can be proved: Claude Code writes a file per session naming its own process id, and Codex does not — its conversations are served by one shared daemon, so ending it would end all of them. Process ids get reused, so the recorded start time has to match what the system reports, checked again after you confirm. SIGTERM, never SIGKILL: the session is asked to stop and gets to save what it was holding.

Also fixed

Renaming a conversation from the chat window now reaches the column immediately, and Codex rows no longer blink amber for permission requests that Codex approves by itself.

lampboard 0.2.4

Choose a tag to compare

@marmyx77 marmyx77 released this 31 Aug 14:34

Two defects reported from use, and one of them was in yesterday's fix.

Requires macOS 14 or later (macOS 26 for dictation). Signed with a Developer ID and notarized by Apple.

Amber is for a turn somebody is blocking

A Codex row blinked amber — the state that means "this is stopped until you answer" — for requests Codex approves by itself. Amber only lifts when the command finishes, so an automatic approval kept a row blinking for as long as the work took: 6.0 s, 6.4 s and 31.0 s during one audit, each of them also firing a notification nobody needed.

Who answers a request is not in the event Codex sends. It is in the session's rollout, which that event names, and it changes mid-session — so it is read for every request. When it cannot be read the request is shown: a false amber costs a glance, a swallowed one costs a stopped turn nobody knows about.

The lane name is gone

The row menu had "Rename the lane…" one line under "Rename this conversation…". It gave every conversation of that agent in the project the same name, including ones opened later, and said so only after you had chosen it. Renaming one Codex conversation renamed them all.

Removed, along with the names already saved under it — without that they would have kept applying with no menu left to clear them. What stays is the name of a project and the name of one conversation.

GET /sessions now reports the project's name in label where it reported the lane's. It is the only change visible outside the panel.

Also

Renaming a conversation from the chat window now reaches the column immediately. It was saved correctly and the row kept the old name until an unrelated event arrived, because the panel rebuilds on state changes and a rename is not one.

lampboard 0.2.3

Choose a tag to compare

@marmyx77 marmyx77 released this 31 Aug 11:51

Documentation only: the application is byte-for-byte the behaviour of 0.2.2. This release exists so that the README inside the disk image carries an install line that works.

Requires macOS 14 or later (macOS 26 for dictation).

Signed with a Developer ID and notarized by Apple: the disk image opens with a double click.

Installing from the tap

brew tap marmyx77/tap
brew trust marmyx77/tap
brew install --cask lampboard
lampboard install-hooks

The middle line is not ceremony. Since Homebrew 6 a cask from a third-party tap is refused until the tap is trusted, and the refusal names neither the cask nor a reason you can act on. The line 0.2.2 documented — brew install --cask marmyx77/tap/lampboard — fails for everybody.

macOS asks once, and everything waits until you answer. Homebrew marks every download, so the first launch raises the downloaded from the Internet dialog, while you are still reading the terminal. Click Open. Until you do, the panel does not appear and every lampboard command hangs against a server that has not bound its port, with nothing on screen to say why.

Both are in docs/07-traps.md, with the two wrong measurements that made the second take half an hour to find.

lampboard 0.2.2

Choose a tag to compare

@marmyx77 marmyx77 released this 31 Aug 11:14

A floating column of traffic lights for your coding sessions — Claude Code and Codex, in VS Code, in a terminal, in a desktop app, on another machine.

Requires macOS 14 or later (macOS 26 for dictation).

Signed with a Developer ID and notarized by Apple: the disk image opens with a double click, no right-click needed.

Since 0.1.0

The project is now LampBoard. A lamp board is the annunciator panel of a signal box: one row of pilot lamps, each standing for a circuit, read at a glance and never operated. The old name was borrowed from the harness it happens to watch first.

Codex is a second harness. Its sessions appear without anyone announcing them — the panel adopts what a live process is holding a rollout open for, takes the folder from the rollout's own first record, and leaves the state idle because an open descriptor proves a conversation is loaded, not that it is working. A Codex row never turns red: Codex publishes no failure event, and silence does not tell a crash from a long turn.

Claude Desktop's local sessions are rows too. Its cloud sessions are not: nothing of them runs on this Mac.

One row per project, per machine. A folder here and a folder on another machine are two rows, and hiding one no longer hides both.

Rows can be reordered, renamed and dragged. The order is yours; a state lights a row up where it is.

Fixed since 0.1.0

The updater could never have worked. Accepting an update quit the app and left you on the same version, deterministically. It deleted the staged application milliseconds before installing it. If you are on 0.1.0, this is the release that makes updating work — and the one you have to install by hand.

clawd-light 0.1.0

Choose a tag to compare

@marmyx77 marmyx77 released this 28 Aug 21:45

Floating traffic lights for your Claude Code sessions.

Requires macOS 14 or later (macOS 26 for dictation).

Signed with a Developer ID and notarized by Apple: the disk image opens with a double click, no right-click needed.

The app asks for nothing on first launch — the traffic lights work from the hooks alone. The two system permissions are requested at the moment they are needed, the first time you click a row, and the panel says so on itself if a click cannot raise a window.

Updates: Check for updates… in the panel's menu. It never installs anything without being told to.