Mobile: forum channels never appear in the Home channel list (no Forums section)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Summary
Mobile renders forums fully, but forum channels are never listed on the Home channel list, so there is no way to discover or reach a forum from the main screen. Desktop has a dedicated "Forums" section; mobile has none.
## Where it comes from
`mobile/lib/features/channels/channels_page/body.dart` builds exactly two lists and drops everything else:
```dart
final visibleChannels = channels
.where((channel) => channel.isMember && !channel.isArchived)
.toList();
final streamChannels = visibleChannels
.where((channel) => channel.isStream) // → "Channels"
.toList();
final dmChannels = sortDmChannelsByDisplayLabel(
visibleChannels.where((channel) => channel.isDm), // → "DMs"
currentPubkey: currentPubkey,
);
```
There is no branch for `channel.isForum` (`channel.dart:77`). The current behaviour is locked in by `mobile/test/features/channels/channels_page_test.dart`:
```dart
expect(find.text('design-forum'), findsNothing); // a channelType: 'forum' channel
expect(find.text('FORUMS'), findsNothing);
```
Desktop, by contrast, renders a `Forums` group in `desktop/src/features/sidebar/ui/AppSidebar.tsx` (inside ``).
## Why this looks unintentional rather than by design
#356 (`feat(mobile): implement forum posts and threads`) replaced the "Forum threads are not on mobile yet" placeholder with the full forum experience — `ForumPostsView`, `ForumThreadPage`, create post (`kind:45001`), reply (`kind:45003`), delete. `channel_detail_page.dart:92,293` mounts that view for `channel.isForum`. `channels_provider.dart:20` even ranks forums in `_channelTypeOrder = {'stream': 0, 'forum': 1, 'dm': 2}`.
So the whole feature is present and reachable — everything except the entry point from the channel list. The behaviour is identical on `v0.4.26` and `v0.5.2`.
## Impact
For communities that use forums as a primary surface (structured/card-shaped content rather than chat), the mobile app effectively hides that half of the workspace. Users see their `stream` channels and DMs and reasonably conclude the forums did not sync.
## Current workaround
Search does surface them — `search_provider.dart:194` filters out only DMs — so typing the forum name in Search and tapping the result opens `ChannelDetailPage` → `ForumPostsView`. The Activity feed ("Forum post" / "Forum reply" items) and in-message channel links also work. None of these are discoverable as a browsing path.
## Suggested fix
Mirror the streams section: derive `forumChannels` from `visibleChannels.where((c) => c.isForum)` and render a "Forums" section between Channels and DMs, and update the two assertions in `channels_page_test.dart`.
Happy to send a PR if this is wanted — just wanted to confirm first whether the omission is deliberate (e.g. mobile scope decision) before touching a test that currently asserts the opposite.
Contributor guide
Assessment
This issue has not been assessed yet.