Groups now driven end to end on Android against relay.flamenet.io: created
"Testers" with a member, it appears in the list, it SURVIVES a full `pm clear`
and re-sign-in (restored from the relay), it opens, and a message sends into
it. This was one of the original asks and had never been exercised.
Two things it turned up:
🔴 **The relay's 401 also blamed the passphrase.** The AccountsClient fix in
the previous commit was correct and incomplete: `describe()` mapped
`RelayException.Unauthorized` to "That handle or passphrase isn't right" too,
and that is the path that actually fires when a relay token ages out. Same
lie, same consequence — a user changing a password that was never wrong. It
now says the session expired, which is what happened.
⚠️ **You are never in your own buddy list**, so every "find the name among the
buddies" fallback rendered the signed-in user as `user 31`. The group row read
"user 31, fnreviewbeta". `Phase.SignedIn` now carries its own `userId` and both
fallbacks say "You". Verified live: the row reads "You, fnreviewbeta".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>