Files
arboretum/packages/desktop/CHANGELOG.md
T
johanleroy 114fbc8ba0
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
fix(desktop, web): pont presse-papier Electron, sans quoi copier ne faisait rien dans l'app
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).
2026-08-04 21:11:46 +02:00

77 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.