forked from bots-garden/ori
| 🛟 Updated. | 1 | # Handoff — 2026-09-18 — ori-desktop built on Linux, MIT LICENSE added |
| 2 | ||
| 3 | ## What was asked | |
| 4 | ||
| 5 | 1. `cd ori-desktop && wails build`. | |
| 6 | 2. Mid-session: "ajoute un fichier de licence MIT". | |
| 7 | 3. Then: how to build the macOS version (answered in chat), and "cree un document expliquant ca | |
| 8 | dans ./ori-desktop/how-to-build.md". | |
| 9 | ||
| 10 | ## State at the end | |
| 11 | ||
| 12 | All three done. New tracked files: `LICENSE` (root) and `ori-desktop/how-to-build.md`. The | |
| 13 | pre-existing modifications to `docs/.assets/ori-architecture.drawio.svg`, | |
| 14 | `ori-desktop/README.md`, `ori-desktop/README.fr.md` and `template/build.sh` are the user's and | |
| 15 | were deliberately not touched. Nothing committed, nothing pushed. | |
| 16 | ||
| 17 | ## The build recipe that works in this sandbox | |
| 18 | ||
| 19 | ```bash | |
| 20 | go install github.com/wailsapp/wails/v2/cmd/wails@v2.16.0 | |
| 21 | sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev | |
| 22 | export PATH="$PATH:$(go env GOPATH)/bin" | |
| 23 | cd ori-desktop && wails build -tags webkit2_41 # → build/bin/ori-desktop (ELF aarch64, 9.4 MB) | |
| 24 | ``` | |
| 25 | ||
| 26 | ## Traps found | |
| 27 | ||
| 28 | - **`wails build` without `-tags webkit2_41` fails here.** Wails' cgo pkg-config line asks for | |
| 29 | `webkit2gtk-4.0`; Ubuntu 26.04 only packages `webkit2gtk-4.1`. Error: | |
| 30 | `Package 'webkit2gtk-4.0' not found` ×3. | |
| 31 | - **`wails doctor` lies about it**: it reports `libwebkit | Unknown | Not Found` and | |
| 32 | `Fatal: Required dependencies missing: libwebkit` *after* 4.1 is installed, because it probes | |
| 33 | only 4.0. Trust `pkg-config --modversion webkit2gtk-4.1` (→ 2.52.6) instead. | |
| 34 | - **`make desktop` is still broken on Linux** — it runs bare `wails build`. Left as-is | |
| 35 | deliberately (outside the ask). If you fix it, the tag must stay Linux-only: macOS and the | |
| 36 | Windows cross-build must not receive `-tags webkit2_41`. | |
| 37 | - **No macOS build is possible from here.** Wails needs macOS/Xcode for a `.app`. The | |
| 38 | `build/bin/ori-desktop.app` that `scripts/launch-ori.applescript` opens is the user's own Mac | |
| 39 | build; this session did not touch it. `build/bin/` now holds all three targets side by side. | |
| 40 | - The apt packages live on the container disk, so a sandbox recreation loses them and the | |
| 41 | install step has to be repeated. | |
| 42 | ||
| 43 | ## The document | |
| 44 | ||
| 45 | `ori-desktop/how-to-build.md` — prerequisites, a from-where/to-what cross-build matrix, one | |
| 46 | section per platform (macOS / Linux / Windows), the `wails build` flags that matter, `wails dev`, | |
| 47 | the tests, troubleshooting. Written in the repository's Diátaxis how-to style, in English | |
| 48 | (the `.md` / `.fr.md` pair convention means the unsuffixed name is the English one). | |
| 49 | ||
| 50 | Everything in it about Linux was verified in this session. The macOS section reflects the user's | |
| 51 | own earlier build plus Wails v2.16 CLI behaviour (`wails build -help` was read, not guessed); the | |
| 52 | `darwin/universal` variant has never been exercised in this project. | |
| 53 | ||
| 54 | ## Next steps / still open | |
| 55 | ||
| 56 | - The window has **never been run** — neither here (no display) nor confirmed on the Mac after | |
| 57 | the CSS specificity fix. The summary's "Not yet established" item about the iframe actually | |
| 58 | showing ori inside WKWebView is unchanged by this session. | |
| 59 | - The Linux binary was not executed either; only compiled. `xvfb` + a running ori server would | |
| 60 | be the way to smoke-test it in the sandbox. | |
| 61 | - `LICENSE` is referenced from nowhere: no badge or "Licence" section in `README.md` / | |
| 62 | `README.fr.md` / `ori-desktop/README*.md`, no `"license": "MIT"` in `ui/package.json`. Add | |
| 63 | those if the user wants the licence discoverable. | |
| 64 | - `how-to-build.md` has no French counterpart and nothing links to it. Both were left undone on | |
| 65 | purpose: the repository pairs every doc with a `.fr.md`, and `ori-desktop/README.md` has a | |
| 66 | "Build a redistributable binary" section that is the obvious place for the pointer — but that | |
| 67 | file has uncommitted user edits, so it was not touched. Offered to the user. | |
| 68 | - The overlap between `how-to-build.md` and the build sections of `ori-desktop/README*.md` is now | |
| 69 | duplicated content. If the user wants it deduplicated, the README should shrink to a link. |