Skip to content

Conversation visibility: harden client-side edge cases #5276

@beastoin

Description

@beastoin

Follow-up from #5268 (conversation visibility toggle).

Current Behavior

The visibility toggle works for the happy path, but a few client-side edge cases aren't covered yet.

Expected Behavior

Robust handling of failures and consistent backend persistence.

Affected Areas

File Description
app/lib/pages/conversation_detail/page.dart Share button sets visibility locally but doesn't call setConversationVisibility() API
app/lib/pages/conversation_detail/widgets/share_to_contacts_sheet.dart Same — local-only update
app/lib/pages/conversation_detail/widgets.dart No error feedback (snackbar) on API failure; no loading/disabled state during async PATCH

Solution

  • Call setConversationVisibility() in the share button and contacts sheet flows so visibility persists after app restart
  • Show a snackbar when the PATCH fails so the user knows the toggle didn't stick
  • Disable the chip or show a spinner while the API call is in flight to prevent double-taps

Impact

None for existing users — these are improvements on the new visibility feature from #5268.


by AI for @beastoin

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions