Skip to content

Mobile: per-channel notification settings parity + push suppression #3234

Description

@LordMelkor

Follow-up to #3160 (desktop implementation: #3233).

Bring per-channel notification settings to the Flutter app:

  • Read/write the channel-notify-prefs kind-30078 blob (spec: docs/nips/NIP-CN.md on the feat(desktop): Slack-parity per-channel notification settings #3233 branch). The schema already reserves a mobile per-channel field; the desktop client preserves unknown fields round-trip, so mobile can adopt incrementally.
  • Mute/level UI in the channel long-press sheet mirroring desktop (All new posts / Just mentions / Mute and hide, timed mute presets).
  • Push suppression: a muted or mentions-level channel must also stop mobile pushes. Pushes are relay-driven (NIP-PL leases), so the client should project its resolved per-channel decisions into its lease/subscription state (client-authored lease projection) rather than the relay learning to decrypt prefs.
  • Keep the legacy channel-mutes dual-write interop working (newer-updatedAt wins per dimension is resolved client-side; see NIP-CN §Legacy interop).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions