CI / No em/en dashes (push) Successful in 3s
CI / Build & test (Node 24) (push) Successful in 10m48s
Release / Publish to Gitea npm registry (push) Successful in 10m52s
CI / Build & test (Node 22) (push) Successful in 11m6s
Desktop Release / Build Linux (AppImage + deb) (push) Successful in 13m38s
Desktop Release / Publish floating desktop-latest release (push) Successful in 11s
CI / Pack & boot smoke (Node 22) (push) Successful in 9m56s
Desktop Release / Build Windows (NSIS + portable) (push) Canceled after 0s
git-arboretum 3.5.1, desktop 0.2.2.
Le copier/coller livre en 3.5.0 ne fonctionnait que dans un navigateur : verifie dans l'app packagee,
`navigator.clipboard` y rejette en NotAllowedError A LA LECTURE COMME A L'ECRITURE. La copie echouait
donc silencieusement dans le contexte meme ou le probleme avait ete signale.
- feat(desktop): `arboretumDesktop.clipboard` expose par le preload, relaye en IPC vers le module
`clipboard` d'Electron (lecture + ecriture, ecriture bornee a 1 M de caracteres). Le module
`clipboard` n'etant pas accessible a un preload sandboxe, le passage par le main est obligatoire.
Constantes de canaux isolees dans src/shared/ipc.ts pour que le bundle du preload ne tire pas
`ipcMain` avec lui.
- fix(web): acces au presse-papier en cascade, du plus fiable au plus degrade : pont de l'app de
bureau, puis `navigator.clipboard`, puis `document.execCommand('copy')` pour l'ecriture. Ce dernier
recours couvre aussi l'acces LAN en clair (http://<ip>:7317), ou l'API Clipboard est indisponible.
- test: quatre cas de plus sur l'ordre de la cascade et le retour a null quand tout est refuse
(501 tests). Pont IPC verifie dans un vrai Electron : writeText/readText repondent OK, alors que
`navigator.clipboard` y refuse. Le chemin complet frappe -> copie -> collage -> SIGINT reste
couvert par verify-clipboard.mjs (Chromium CDP, ALL GREEN).
77 lines
4.4 KiB
Markdown
77 lines
4.4 KiB
Markdown
# Changelog
|
||
|
||
Notable changes to the Arboretum desktop app (`packages/desktop`). The daemon and the VS Code
|
||
extension keep their own changelogs in `packages/server/CHANGELOG.md` and
|
||
`packages/vscode/CHANGELOG.md`.
|
||
|
||
## 0.2.2
|
||
|
||
- **Clipboard bridge.** The renderer cannot use `navigator.clipboard` (Electron rejects it with
|
||
`NotAllowedError`), so copying a terminal selection did nothing in the app even after 0.2.1. The
|
||
preload now exposes `arboretumDesktop.clipboard`, relaying to Electron's `clipboard` module over IPC
|
||
(read and write, writes capped at 1M chars). Ships the daemon 3.5.1, whose SPA uses that bridge first.
|
||
|
||
## 0.2.1
|
||
|
||
Ships the daemon 3.5.0, which fixes the black window seen after updating the app.
|
||
|
||
- **Black window after an update, fixed.** The window loaded an `index.html` kept from the previous
|
||
version (revalidated as `304` because the tarball mtime is constant, so the etag did not change) whose
|
||
`/assets/<hash>` files no longer existed. Nothing painted. If you hit it before updating, the app
|
||
repairs itself now; clearing `~/.config/Arboretum/Partitions/arboretum/Cache` was the manual fix.
|
||
- **Copy & paste in session terminals.** `Ctrl+Shift+C` / `Ctrl+Shift+V` (`Cmd+C` / `Cmd+V` on macOS);
|
||
the Edit menu's Copy also works on a terminal selection now. `Ctrl+C` still interrupts.
|
||
- Browse the files of a group's worktrees straight from the Groups panel.
|
||
|
||
The Electron shell itself is unchanged.
|
||
|
||
## 0.2.0
|
||
|
||
Distribution release: the Linux launcher icon finally shows up, Windows becomes a first-class target,
|
||
and the embedded runtime loses a third of its weight.
|
||
|
||
- **Launcher icon fixed (Linux).** Earlier packages installed a single 895×895 icon. That size is not
|
||
declared in `hicolor/index.theme`, so by the freedesktop spec every desktop environment ignored it and
|
||
the launcher fell back to a generic icon. The build now generates the standard set (16 → 512) plus a
|
||
proper `.ico` for Windows, and forces `executableName: arboretum` (the scoped package name was
|
||
producing `@arboretumdesktop` as binary, `.desktop` file and icon name).
|
||
- **Package metadata.** A non-empty short description in `apt show` (`deb.synopsis` was missing),
|
||
`Section: devel` instead of `default`, a single-line `Comment` in the desktop entry (it was multi-line,
|
||
hence invalid), plus `GenericName` and `Keywords` for search.
|
||
- **Windows.** Build scripts run on a Windows host again (`npm`/`npx` are `.cmd` shims that
|
||
`execFileSync` cannot resolve; the Node extraction used `unzip` and `bash -c cp/rm`, none of which
|
||
exist there). The daemon side gained what it needed to actually work: `where.exe` to find the Claude
|
||
CLI, PowerShell as the launch shell, a `.cmd` askpass so HTTPS clone/push with a token works, and
|
||
`taskkill /T` so stopping a terminal takes its whole process tree down. CI has a `windows-latest` job,
|
||
enabled by the `ENABLE_WINDOWS_BUILD` repository variable, see `docs/CI_RUNNERS.md`.
|
||
- **Auto-update repaired.** Shipped binaries point at a `desktop-latest` release that never existed, so
|
||
no client could ever see an update. The release workflow now recreates that floating release on every
|
||
version and attaches the `latest*.yml` files and installers to it, with `.blockmap`s for differential
|
||
updates and `SHA256SUMS`.
|
||
- **Smaller download.** The bundled Node runtime is pruned to the binary and its licence (no headers, no
|
||
docs, no `npm`/`corepack`): ~205 MB → ~118 MB. Nothing at runtime used them, the daemon's dependencies
|
||
being installed at build time.
|
||
- **macOS integration.** An application menu (without it ⌘C / ⌘V / ⌘A were not bound anywhere in the
|
||
app), `app.on('activate')` so the Dock icon brings back a hidden window, and a monochrome template tray
|
||
icon that follows the menu-bar theme.
|
||
- **PATH enrichment on Windows.** `%LOCALAPPDATA%\Programs` and `%APPDATA%\npm` are added to the daemon's
|
||
PATH, where the Claude CLI and global npm binaries live (this was POSIX-only).
|
||
|
||
## 0.1.3
|
||
|
||
Ships the 3.3.0 daemon ("Start the project": launch commands and multi-terminal boot).
|
||
|
||
## 0.1.2
|
||
|
||
Ships the 3.2.0 daemon (Emerald visual overhaul, light and dark themes).
|
||
|
||
## 0.1.1
|
||
|
||
- Fixed the missing window/launcher logo under Debian and Wayland by pinning the runtime app id
|
||
(`app.setName('Arboretum')`) to the `StartupWMClass` written in the desktop entry.
|
||
|
||
## 0.1.0
|
||
|
||
First desktop release: an Electron shell that runs the daemon as a child process and opens its UI
|
||
already authenticated, with a bundled Node runtime, a tray icon, launch-at-login and auto-update.
|