Skip to content

feat: user blocking (block/unblock + blocked list) - #539

Merged
bmc08gt merged 5 commits into
mainfrom
feat/blocking
Jul 31, 2026
Merged

feat: user blocking (block/unblock + blocked list)#539
bmc08gt merged 5 commits into
mainfrom
feat/blocking

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

What's included

  • Block from a tip DM — tapping the nav title or the in-transcript profile card opens a new profile screen (avatar, display name, "Joined ", and a Block row). Block shows a destructive confirmation, calls BlockUser, and returns to Tips with the conversation hidden. For tip DMs this takes precedence over the contact-card action.
  • Blocked screen — a beta-gated "Blocked" row in My Account lists blocked users with blurred avatars; tapping a row confirms and calls UnblockUser.
  • Feed hiding — the blocklist is the source of truth for who is blocked and reconciles each conversation's isHidden flag; the feed (and Spotlight index) filter on isHidden only. Reconciliation runs on block/unblock, on blocklist refresh, and after every feed load, so a stale server reload can't un-hide a blocked chat. Unblocking restores the conversation with its full history.
  • Persistence & sync — a BlocklistTable cache (SQLiteVersion 27→29) backs the Blocked screen offline and refreshes on foreground.
  • Client wiring — the already-generated Flipcash_Blocklist_V1_Blocklist service is wired into FlipClient; ErrorBlocklist conforms to TransportClassifiableError (pinned by a test). Block/unblock failures surface a user-facing error alert (copy matched to Android) in addition to Bugsnag capture.
  • Proto — re-vendored the Core protos to pick up profile.v1 join_ts, surfaced as Profile.joinedAt.

@bmc08gt
bmc08gt merged commit 3989e39 into main Jul 31, 2026
@bmc08gt
bmc08gt deleted the feat/blocking branch July 31, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant