Skip to content

Added room server management#51

Merged
zjs81 merged 3 commits into
zjs81:mainfrom
wel97459:dev-roomManagement
Jan 20, 2026
Merged

Added room server management#51
zjs81 merged 3 commits into
zjs81:mainfrom
wel97459:dev-roomManagement

Conversation

@wel97459

@wel97459 wel97459 commented Jan 19, 2026

Copy link
Copy Markdown
Collaborator

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.

  • Extend RepeaterHubScreen to handle room nodes (dynamic title between repeater_management and room_management)
  • Contacts: add RoomLoginDestination (chat/management); context menu adds contacts_manageRoom; room login routes to chat or hub (RepeaterHubScreen) based on destination
  • i18n: add room_management and contacts_manageRoom across locales; rename "Room Login" to "Room Server Login" in en; update app_localizations* interfaces and implementations

Written by Cursor Bugbot for commit 30ba179. This will update automatically on new commits. Configure here.

@zjs81 zjs81 merged commit 2acba9e into zjs81:main Jan 20, 2026
7 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

size: 40,
color: Colors.white,
),
const SizedBox(height: 8),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

context,
MaterialPageRoute(
builder: (context) => ChatScreen(contact: room),
builder: (context) => destination == RoomLoginDestination.management

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

@wel97459 wel97459 deleted the dev-roomManagement branch March 7, 2026 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants