Skip to content

feat: Improve Password-Protected Channel Discovery UX #177

@kwsantiago

Description

@kwsantiago

Checklist

  • I have used the search function for OPEN issues to see if someone else has already submitted the same feature request.
  • I have also used the search function for CLOSED issues to see if the feature was already implemented and is just waiting to be released, or if the feature was rejected.
  • I will describe the problem with as much detail as possible.
  • This request contains only one single feature, not a list of multiple (related) features.

App version

0.7.2

Feature or improvement you want

Improve Password-Protected Channel Discovery UX

Problem

Password-protected channels have poor discoverability and UX in BitChat:

  • Users don't know a channel is password-protected until they see encrypted messages
  • No visual indicators for password-protected channels
  • Channels discovered through messages aren't shown in any UI
  • Users must manually track which channels they've seen

Current Behavior

  1. User sees encrypted message in a channel (e.g., "#secret")
  2. Message shows as "[Encrypted message - password required]"
  3. User must manually type /join #secret password to join
  4. No indication in UI that #secret exists or needs a password
  5. If user forgets channel name, they can't find it again

Expected Behavior

  1. Auto-detect password-protected channels from encrypted messages
  2. Show discovered channels in UI with lock icon (🔒)
  3. Clicking on password-protected channel prompts for password
  4. Remember discovered channels between sessions
  5. Visual distinction between joined/unjoined/password-protected channels

Privacy Considerations

  • Do NOT broadcast channel metadata to mesh (privacy leak)
  • Only discover channels through actual message traffic
  • All discovery is local to the device
  • No CHANNEL_ANNOUNCE implementation (intentionally)

Benefits

  • Better UX while maintaining privacy
  • Easier to join password-protected channels
  • No protocol changes required

Why This Feature Should Be Added

Better UX for password-protected channels while maintaining privacy. Users currently can't find or rejoin channels they've seen.

Problem Solved & Use Cases

Problem: Users see encrypted messages but have no way to discover, track, or easily rejoin password-protected channels.

Use cases:

  • User sees encrypted message in "#secret" but forgets the channel name
  • User wants to join a password-protected channel they previously discovered
  • User needs visual indication of which channels require passwords

UI Design & User Interaction

  • Channel list shows discovered password-protected channels with 🔒 icon
  • Clicking locked channel opens password prompt dialog
  • Visual states: joined (normal), unjoined (grayed), password-protected (🔒)
  • Channels persist in list between app sessions

Technical Implementation Details

  • Parse channel names from encrypted message headers (local only)
  • Store discovered channels in local database
  • No mesh broadcasting of channel metadata (privacy preserved)
  • Password prompt triggers existing /join #channel password logic

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions