Cordial 0.5.1 — a Flatpak that actually builds, and an ID we own
The Flatpak builds for the first time on any machine, the remote exists, and
the application ID no longer claims a domain this project does not own.
The application ID is now io.github.luohoa97.Cordial
It was org.cordial.Cordial — a claim on cordial.org, a domain registered in
1999 and in active use by somebody else. Flathub requires an application ID
over a domain or forge account you demonstrably control, so the old one was
unsubmittable rather than merely untidy. The new one needs no domain, matches the
homepage, and is what <developer id="io.github.luohoa97"> in the metainfo had
been saying all along.
Done on the same day the remote went live, on purpose: a rename before a package
has users costs a git mv, and after it costs everyone their data.
Important
A Flatpak's data lives at ~/.var/app/<app-id>/. If you installed
org.cordial.Cordial during the ~40 minutes it existed, that install will
never update and its profiles, sign-in and extracted Roblox build stay behind
the old directory. flatpak uninstall --delete-data org.cordial.Cordial is the
whole of the fix.
The Flatpak had never built
The manifest asked for org.freedesktop.Platform, and the shell is GTK4 and
libadwaita end to end — that runtime carries neither. Every CI run had failed on
Package 'gtk4' not found: five in a row, unlooked at, under a commit titled
"A Flatpak that builds". Now org.gnome.Platform/org.gnome.Sdk 50.
That exposed a second thing immediately: the GNOME runtime is numbered 50 and the
freedesktop SDK extensions it inherits are numbered by the base runtime, 25.08.
Deriving all four refs from runtime-version asked for a rust-stable//50 that
does not exist.
The published remote definition could not be added
Both the workflow and cordial.flatpakrepo's own comment recorded that GPGKey=
with an empty value is how a .flatpakrepo states "unsigned", and that omitting
the line says the same thing only by accident. Backwards. Measured with
flatpak 1.18.0:
| form | result |
|---|---|
GPGKey= |
error: Invalid gpg key — remote-add fails |
| omitted | accepted; gpg-verify=false |
Only a green run could expose this, because until one happened the generated file
had never existed to be added.
Everything else
- GitHub Pages is enabled and the site is live at
https://luohoa97.github.io/cordial/, sharing one deployment with the OSTree
remote under/repo/. - Releases exist at all.
v0.2.0andv0.3.0had been tagged and never
published;v0.4.0was a version bump that never got a tag.
CHANGELOG.md is new. - The documentation table stopped at ADR-013 — ADR-014 through ADR-018 and
HANDOVER.mdwere written and never listed. unimplemented.rs's fallback log path skippedXDG_DATA_HOME, which inside a
Flatpak names the real home the sandbox cannot write. It now matches every
other path derivation in the tree.
Measured: remote-add accepted, remote-ls returning the application ref at
6.1 MB download and 16.1 MB installed, install placing both
cordial-shell and cordial-run in /app/bin, and cordial-run --help
answering from inside the sandbox. cargo test --workspace: 460 passed, 0
failed. appstreamcli validate: clean.
Not verified: that the installed shell opens a window. It exits 0 without one,
and the leading candidate is that GApplication with a fixed id is
single-instance by design and a development build already owned the name — but
the control has not been run, and this project does not report diagnoses it has
not tested.
Cordial ships no Roblox code, APK or assets — you supply the Android client
yourself.