Repository navigation
fix(mobile): stop asking for an API token when the channel list is refused - #9327
Merged
Merged
Conversation
loganj
marked this pull request as ready for review
November 11, 2026 18:55
🔐 Codex Security Review
Review SummaryOverall Risk: NONE
FindingsNo concrete security, correctness, or reliability findings were identified. Notes
Generated by Codex Security Review | |
…fused A relay 401 on the channel list said "Not authorized. Check your API token." The mobile app has no API token, so the advice could not be followed. It now says the community did not accept the sign-in, and keeps Retry: for a protected community the refused token is dropped and Retry gets a fresh one, and the shell banner takes over once the sign-in has really ended. A self-hosted relay that refuses the key also needs Retry, since no banner covers it. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <[email protected]>
The error view sees only the status code, and a 401 can come from a refused sign-in, a self-hosted relay that refused the key, or a proxy. Say that the community could not authenticate the request instead of claiming the sign-in was refused. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <[email protected]>
… sign-in ends When the organization sign-in has ended, the app sends channel reads unsigned, so the channel list's Retry can never succeed, while the Home banner already shows "It looks like you're signed out." with a working Sign in button. The error view now points to that prompt and hides Retry whenever the organization sign-in prompt is visible for the current community. Every other failure keeps Retry. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <[email protected]>
The ended-sign-in copy and the hidden Retry now apply only when the relay refuses the read with a 401. Organization relays can serve a read without the organization sign-in, so a timeout or server error keeps its message and Retry, as before this PR. The copy points up: the sign-in prompt sits at the top of Home. From #9358. Co-authored-by: Tom Brow <[email protected]> Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Logan Johnson <[email protected]>
loganj
force-pushed
the
larry/mobile-channels-signin-badge
branch
from
November 11, 2026 21:49
aab8360 to
5f2dea0
Compare
brow
approved these changes
Nov 11, 2026
ravarora2
pushed a commit
that referenced
this pull request
Nov 12, 2026
…small * origin/main: fix(db): seek replaceable heads by channel (#9147) buzz-db: check events created_at floor in app writers (phase 1) (#8325) fix(mobile): keep a thread tail behind the keyboard unread (#9295) fix(mobile): restore header cues and per-channel identity check for #9369 (#9370) fix(relay): treat empty filter sets as match-nothing in SQL (#9342) buzz-cli: add --before and --before-id to messages search (#9382) feat(relay): agents cannot write in DMs except with their owner (#9371) fix(relay): bound each cross-node delivery attempt (#9305) feat(mobile): add iOS Home Screen shortcuts for New chat, New DM and the Bestie (#9360) perf(mobile): stop downloading whole videos for posterless stills (#9367) Enforce single-community relay mode (#9149) fix(relay): match #a tag filters in SQL before LIMIT (#9339) Add participant avatars to mobile conversation headers (#9369) fix(mobile): stop asking for an API token when the channel list is refused (#9327) chore(release): release Buzz Relay version 0.3.0 (#9362) Fix gallery video selection, thumbnails, and swipe dismissal (#9356) Signed-off-by: dessert <7d616e7e143e5d408159614dccff1371350a1c1bd36c8de838a45ece5aca0aca@buzz.block.builderlab.xyz>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Details
_ErrorView(mobile/lib/features/channels/channels_page/badges.dart) only appears on a cold load with no saved channel list. It replaces the list, so Retry is the only control on that screen.organizationSignInPromptVisiblepredicate, the same one the Home banner and the community switcher use, so the error view and the banner agree on who owns the action.Screenshots
Android emulator, debug build, against a local test relay that refuses the channel-list read with HTTP 401 (no saved channel list, so the error view shows):
🤖 Generated with Claude Code