M12 — the Android client, end to end #2

Merged
bvandeusen merged 86 commits from dev into main 2026-08-21 08:53:58 -04:00
Showing only changes of commit c1464228df - Show all commits
+6 -6
View File
@@ -23,7 +23,7 @@ build (docker buildx).
- ruff — lint job runs `ruff check src/` with zero install overhead
- uv — test job creates the venv (`uv venv /opt/venv`) and installs the package
with dev deps
- docker CLI + buildx — build job pushes the dev/release image to the Forgejo
- docker CLI + buildx — build job pushes the dev/release image to the Fabled-Git
registry
## Per-job tool installs
@@ -188,7 +188,7 @@ error: src refspec dev matches more than one
```
The rolling update channel is a release on a **fixed tag named `dev`** (the tag
never moves — Forgejo has no `/releases/latest/download/<asset>` route, so the
never moves — Fabled-Git has no `/releases/latest/download/<asset>` route, so the
updater needs a permanent URL). Once that tag is fetched locally, the short name
`dev` resolves to both `refs/heads/dev` and `refs/tags/dev`. Fully qualify it:
@@ -207,15 +207,15 @@ dash -n desktop/packaging/install.sh # or: sh -n
bash -n desktop/packaging/publish-release.sh
```
Where a script resolves URLs from the Forgejo API, exercise the resolution
Where a script resolves URLs from the Fabled-Git API, exercise the resolution
against the live instance (plain `curl` reads, no install) rather than trusting
the regex by eye. Both channel paths in `install.sh` were verified that way.
**Hand-assembled JSON: parse it before you push it.** `publish-release.sh` builds
its request bodies as shell strings, and quoting context decides what survives
into the JSON — a `` \` `` inside an unquoted heredoc loses its backslash to the
shell, the same `` \` `` inside a single-quoted variable does not, and reaches
Forgejo as an illegal escape (HTTP 422, one wasted build). `sh -n` cannot see
into the JSON — a `` \ `` inside an unquoted heredoc loses its backslash to the
shell, the same `` \ `` inside a single-quoted variable does not, and reaches
Fabled-Git as an illegal escape (HTTP 422, one wasted build). `sh -n` cannot see
this. Extract the body block and parse it for every branch it can take:
```