Co-present the Commons, re-validate the instance on login, group accounts #279
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/spec-parity-fjord"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Six fjord-client-spec requirements across instances (#210) and accounts
(#208).
Commons. The descriptor now carries memberCount, membership.namespace and
membership.orgSlug, all optional.
fj instanceslists a joined Commonsbeside the account's own forges: a gateway-routable one is an ordinary
selectable row marked as the shared community forge, and one with no
gatewayForgeId is a "browser only" row.
fj instances use commonson thelatter hands off to the browser and never writes hosts.toml.
The Commons lookup is now best-effort. It used to be joined with the
instance list through try_join!, so a Commons 5xx, an undecodable body or
a slow answer failed or stalled the whole listing. The list no longer
waits more than two seconds on it, and a failure is only visible under
--debug.
Re-login. After a Fjord Account sign-in the remembered instance is
checked against a fresh listing. It is kept when still present and ready;
otherwise the default_instance_* fields are cleared and the ready
instances are printed with the
fj instances use <id>hint. fj has nointeractive picker, so that printed list stands in for one. A listing
that cannot be fetched keeps the selection unverified instead of failing
the login.
Groups.
fj auth group list|create|rename|delete|assign|unassignkeepuser-named groups in a top-level [groups] table in hosts.toml. Grouping
never changes host resolution, a re-login keeps the assignment, and
logout drops it.
fj auth statusandfj auth listshow the group onceone exists.
fj instances list --jsongainskind,routingand acommonsdescriptor; a browser-only Commons entry has a null id.
Covered by unit and wiremock tests only; the Commons and re-login paths were not run against a live Fjord Account.
The accounts requirement "Restore the previously-picked instance" is why #208 is a Refs and not a Closes: the fallback here is a printed list plus
fj instances use <id>, not an interactive picker. Whether that counts as implemented for the spec is a call to make at review.Part 2 of 8 in the spec-parity stack. Based on
feat/spec-parity-notifications, so the diff here is this slice alone; it needs a rebase onto main once the PR below it is squash-merged.Closes #210
Refs #208
Verified on macOS at this commit:
cargo fmt --allclean,cargo clippy --all-targets --all-features -- -D warningsclean,cargo test --allgreen.