Enable anonymous downloads on the host and harden Strings.fmt
Host (applied with root@192.168.88.30) - [service] REQUIRE_SIGNIN_VIEW = false in /etc/gitea/app.ini (backup written alongside), Gitea restarted. Verified anonymously: repo page 200, API 200, and a release asset downloads at full size (50.8 MB AppImage). Localization safety (Open Polish) - Strings.placeholder_count() counts conversions and ignores %% escapes. - Strings.fmt() validates the count and fails safe (warns, returns the template) instead of raising an engine error when a key's placeholders drift. - Strings.validate() lints the table for a trailing %, unsupported conversions, and mixed positional/sequential placeholders. - Tests cover the counter, the fail-safe path, a clean table, and a formatting pass over every placeholder key with type-correct arguments. Docs - TODO: distribution, release-pipeline, and open-polish sections are complete and moved to DONE; the v0.2.4-v0.2.8 backfill is closed as superseded. - README/MEMORY updated. Version 0.2.14.
This commit is contained in:
1 parent
a2a0ded527
commit
74f14014b2
7 files changed
+182
-44
No files matched your search
@@ -526,3 +526,45 @@ Completed 2026-10-31 (working tree). Headless **149/149**; `src/test/smoke_scena
|
||||
crowd spike (more rubberneckers, not only one `arrive` spawn).
|
||||
- [x] Building: "activate body camera" and "request reason" once those verbs exist, used in
|
||||
at least one authored event.
|
||||
|
||||
## Distribution follow-up (host config)
|
||||
|
||||
Completed 2026-10-31 (working tree). Headless **153/153**.
|
||||
|
||||
|
||||
Verified via API+host credentials (2026-10-31):
|
||||
|
||||
- [x] Repo is **public** (`private:false`) and account has admin rights.
|
||||
- [x] Release `v0.2.1` now carries all five artifacts (portable binaries + NSIS installer +
|
||||
AppImage).
|
||||
- [x] **Host setting applied**: `[service] REQUIRE_SIGNIN_VIEW = false` in `/etc/gitea/app.ini`
|
||||
(backup written alongside), Gitea restarted. Verified anonymously: repo page 200, API 200,
|
||||
and a release asset downloads with the full 50.8 MB AppImage.
|
||||
|
||||
## Release pipeline follow-up
|
||||
|
||||
Completed 2026-10-31 (working tree). Headless **153/153**.
|
||||
|
||||
|
||||
- [x] Fix `tools/publish_release.sh`: the `~/.git-credentials` branch never set `AUTH`,
|
||||
so every tag build since v0.2.2 failed to publish.
|
||||
- [x] Add a `github.token` fallback in `.gitea/workflows/build.yml` (the repo has no
|
||||
`GITEA_TOKEN` secret).
|
||||
- [x] Fall back to the checkout's git extraheader when no token/credentials exist (the
|
||||
Gitea runner does not expose `github.token`).
|
||||
- [x] Uploads now fail loudly and the release is verified to carry every artifact
|
||||
(a silent HTTP 4xx used to leave an empty release with a green job).
|
||||
- [x] Host disk expanded to 16G; v0.2.0 and v0.2.9 releases restored from the local artifacts.
|
||||
- [x] Host maintenance via `root@192.168.88.30`: apt cache cleaned and journald capped
|
||||
(`SystemMaxUse=300M` in `/etc/systemd/journald.conf.d/99-size.conf`); ~7.6G free.
|
||||
- [x] Verified end to end: tagging v0.2.12 produced a release with all five artifacts
|
||||
(AppImage, Linux, macOS, NSIS installer, Windows) from CI, with no repo secret.
|
||||
- [x] Backfill decision: v0.2.4–v0.2.8 stay superseded; their tags and source remain, and the
|
||||
release page points at the current build. No rebuilds planned.
|
||||
|
||||
## Open Polish
|
||||
|
||||
Completed 2026-10-31 (working tree). Headless **153/153**.
|
||||
|
||||
|
||||
- [x] Keep `%` placeholders stable in `Strings.fmt` when adding keys (positional formatting).
|
||||
Reference in new issue
Block a user