release: git-arboretum 3.7.0 (fin de l'écran noir, colonnes de terminaux, git scopé), desktop 0.2.4
CI / No em/en dashes (push) Successful in 4s
CI / Build & test (Node 24) (push) Successful in 10m50s
CI / Build & test (Node 22) (push) Successful in 11m5s
Release / Publish to Gitea npm registry (push) Successful in 10m57s
Desktop Release / Build Linux (AppImage + deb) (push) Successful in 13m27s
Desktop Release / Publish floating desktop-latest release (push) Successful in 10s
CI / Pack & boot smoke (Node 22) (push) Successful in 9m55s

Le desktop 0.2.4 embarque le daemon 3.7.0 et livre aussi les garde-fous de
démarrage déjà sur main (dialogue d'échec, reprise d'un daemon orphelin,
redémarrage après mise à jour installée à chaud).
This commit is contained in:
2026-08-05 10:57:05 +02:00
parent bdec8d6ad0
commit dc8c7c9534
6 changed files with 41 additions and 6 deletions
+1 -1
View File
@@ -7933,7 +7933,7 @@
}, },
"packages/server": { "packages/server": {
"name": "@johanleroy/git-arboretum", "name": "@johanleroy/git-arboretum",
"version": "3.6.0", "version": "3.7.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@fastify/cookie": "^11.0.0", "@fastify/cookie": "^11.0.0",
+5 -1
View File
@@ -4,7 +4,11 @@ Notable changes to the Arboretum desktop app (`packages/desktop`). The daemon an
extension keep their own changelogs in `packages/server/CHANGELOG.md` and extension keep their own changelogs in `packages/server/CHANGELOG.md` and
`packages/vscode/CHANGELOG.md`. `packages/vscode/CHANGELOG.md`.
## Unreleased ## 0.2.4
Ships the daemon 3.7.0: terminals no longer go black, they can sit side by side in resizable columns,
and the Changes view follows the terminal you are working in. This release also carries the start-up
fixes below, which is what makes an update installed over a running app recover on its own.
- **The app could refuse to start after an update, silently.** Installing a new version replaces the - **The app could refuse to start after an update, silently.** Installing a new version replaces the
files on disk but leaves the running app alone: its daemon kept port 7317, so the version you just files on disk but leaves the running app alone: its daemon kept port 7317, so the version you just
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "@arboretum/desktop", "name": "@arboretum/desktop",
"version": "0.2.3", "version": "0.2.4",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@arboretum/desktop", "name": "@arboretum/desktop",
"version": "0.2.3", "version": "0.2.4",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@types/node": "^22.10.0", "@types/node": "^22.10.0",
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "@arboretum/desktop", "name": "@arboretum/desktop",
"private": true, "private": true,
"version": "0.2.3", "version": "0.2.4",
"description": "Self-hosted multi-project AI IDE for git worktrees and Claude Code sessions", "description": "Self-hosted multi-project AI IDE for git worktrees and Claude Code sessions",
"homepage": "https://git-arboretum.com", "homepage": "https://git-arboretum.com",
"repository": { "repository": {
+31
View File
@@ -3,6 +3,37 @@
Notable changes to `@johanleroy/git-arboretum` (the Arboretum daemon). The VS Code Notable changes to `@johanleroy/git-arboretum` (the Arboretum daemon). The VS Code
extension keeps its own changelog in `packages/vscode/CHANGELOG.md`. extension keeps its own changelog in `packages/vscode/CHANGELOG.md`.
## 3.7.0
Terminals stop going black, and they now sit side by side. Files and commits follow the terminal you
are actually looking at. Fully additive, no protocol version bump.
- **A terminal could stay completely black while its session was alive and running.** The attach
replay is a binary frame, but a client only learns its channel number from the `attached` message.
The server sent the replay *first*, so every client dropped it on an unknown channel: nothing was
painted, and a resting TUI (Claude at its prompt) never emits anything on its own. `attached` is now
sent before the replay, which fixes the web app, the desktop app and the VS Code extension at once.
A resize on attach used to hide the bug by triggering a repaint through SIGWINCH, which is why it
looked intermittent.
- **Screen-less attachments.** `attach` accepts an optional `screen` flag (default `true`). With
`screen: false`, a client that only wants to answer a dialog no longer takes control of the session,
no longer forces its own dimensions onto the PTY (which used to freeze the real terminal's geometry)
and no longer receives the output stream just to throw it away.
- **The reason a session died is now visible in the terminal**: a last line, `[arboretum] claude
exited with code 1`, is written to the stream before clients are detached. A process that died at
spawn time used to leave nothing but an empty screen.
- **A stale Claude CLI path is re-resolved.** The resolved binary was cached for the lifetime of the
daemon; after an nvm or asdf switch it pointed at a file that no longer existed, and the PTY died
without a single byte of output.
- **Terminal columns.** The dock holds up to three resizable columns, each with its own tabs. Alt+click
a session (tree, panels, attention list) or use the tab button to open it beside the current one.
Keystrokes always go to the focused column. The dock's height ceiling now follows the viewport
instead of a fixed 640 px, and opening the dock gives it a usable height.
- **Changes are scoped to the focused terminal.** The Changes view shows the worktree of the terminal
you are working in, or every repo of its group for a group session, with a one-click "show every
project" toggle. The Git index in the sidebar stays global on purpose: it is the way out of a narrow
scope. The activity-bar badge stays global too: it exists to surface work you are *not* looking at.
## 3.6.0 ## 3.6.0
Files open again, and uncommitted work gets a real surface: one block per project, in the centre of Files open again, and uncommitted work gets a real surface: one block per project, in the centre of
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@johanleroy/git-arboretum", "name": "@johanleroy/git-arboretum",
"version": "3.6.0", "version": "3.7.0",
"description": "Self-hosted multi-project AI IDE for git worktrees and the Claude Code sessions running on them", "description": "Self-hosted multi-project AI IDE for git worktrees and the Claude Code sessions running on them",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",