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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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