Added room server management#51
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on February 10
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| ), | ||
| ListTile( | ||
| leading: const Icon(Icons.room_preferences, color: Colors.orange), | ||
| title: Text(context.l10n.room_management), |
There was a problem hiding this comment.
Wrong localization key used for room management option
Low Severity
The menu option for managing a room server uses context.l10n.room_management instead of context.l10n.contacts_manageRoom. The contacts_manageRoom localization string was added to all translation files following the established pattern (like contacts_manageRepeater for repeaters), but it's never actually used. This causes the menu to show "Room Server Management" instead of the intended "Manage Room Server", and leaves the contacts_manageRoom string unused.
| size: 40, | ||
| color: Colors.white, | ||
| ), | ||
| const SizedBox(height: 8), |
There was a problem hiding this comment.
Icon not conditional for room server management screen
Low Severity
The RepeaterHubScreen title was correctly made conditional to show "Room Server Management" vs "Repeater Management" based on repeater.type, but the icon in the info card remains hardcoded as Icons.cell_tower. When displaying a room server, the screen shows a cell tower icon (which semantically represents repeaters) instead of a room-related icon. In contacts_screen.dart, rooms consistently use Icons.room and Icons.room_preferences, making this UI inconsistent.
| context, | ||
| MaterialPageRoute( | ||
| builder: (context) => ChatScreen(contact: room), | ||
| builder: (context) => destination == RoomLoginDestination.management |
There was a problem hiding this comment.
Unread messages cleared when opening room management screen
Medium Severity
The _showRoomLogin method unconditionally calls markContactRead in the onLogin callback, even when the destination is management (navigating to RepeaterHubScreen). This causes unread message indicators to be cleared when users access room server management, despite not actually viewing any messages. The markContactRead call should be conditional and only execute when destination == RoomLoginDestination.chat.
This is just the repeater hub but it will work for room servers too.
Note
Enables managing room servers using the existing hub UI and updates navigation/login flows accordingly.
RepeaterHubScreento handle room nodes (dynamic title betweenrepeater_managementandroom_management)RoomLoginDestination(chat/management); context menu addscontacts_manageRoom; room login routes to chat or hub (RepeaterHubScreen) based on destinationroom_managementandcontacts_manageRoomacross locales; rename "Room Login" to "Room Server Login" in en; updateapp_localizations*interfaces and implementationsWritten by Cursor Bugbot for commit 30ba179. This will update automatically on new commits. Configure here.