Skip to content

Comments

Add room sync controls with polished room server status UI#172

Open
Specter242 wants to merge 5 commits intozjs81:mainfrom
Specter242:feature/room-sync-controls
Open

Add room sync controls with polished room server status UI#172
Specter242 wants to merge 5 commits intozjs81:mainfrom
Specter242:feature/room-sync-controls

Conversation

@Specter242
Copy link
Contributor

@Specter242 Specter242 commented Feb 14, 2026

Summary

  • Adds room sync service integration with per-room auto-sync controls and room status visibility.
  • Corrects room status rendering by using explicit status kinds instead of string matching.
  • Removes the redundant room status legend from Contacts to reduce clutter and rely on per-contact status text.

UI/UX polish included

  • Fixes false green status for rooms not logged in.
  • Uses consistent status color mapping based on typed status (synced, syncing, stale/waiting, disabled/not logged in).
  • Keeps room status clear directly on each room contact row.

Test plan

  • dart format on changed files
  • flutter analyze
  • Android build/install (flutter build apk --debug + adb install -r)
  • iOS test (not run: iOS device/environment unavailable)

Introduce app-side room auto-sync orchestration with per-room enablement, sync status indicators, and configurable timing controls so users can keep only selected room servers up to date.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Specter242
Copy link
Contributor Author

Quick validation checklist for reviewers:

  • Open App Settings -> Room Sync and verify global toggles + numeric controls persist after app restart.
  • In Contacts, confirm room status legend appears when room servers are present.
  • For a room contact, open options and toggle Auto-sync this room; verify status reflects enable/disable state.
  • Open a room chat and confirm subtitle includes room sync status.
  • With saved room credentials, verify auto-login/catch-up runs and transitions through expected states (Syncing -> Synced, and Stale when threshold is exceeded).

If helpful, I can also attach short screen recordings for the settings flow and per-room toggle behavior.

@Specter242
Copy link
Contributor Author

Test coverage note: this change set was validated on Android hardware. I was not able to run iOS validation in this environment.

This replaces fragile string-based room sync status coloring with explicit status kinds and removes the redundant contacts legend so room status text remains clear and consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Specter242 Specter242 changed the title Add room sync service with per-room controls and UI status Add room sync controls with polished room server status UI Feb 14, 2026
@446564
Copy link
Collaborator

446564 commented Feb 14, 2026

I will test this out today and review, then move to #173

@Specter242
Copy link
Contributor Author

Pushed an update to :\n\n- Register manual room login in so successful manual room logins mark the room session active and persist login success.\n- Call that registration from immediately after successful login.\n\nThis fixes the status mismatch where a connected/logged-in room could still show as not synced/not logged in until auto-login kicked in.

@Specter242
Copy link
Contributor Author

Pushed an update to feature/room-sync-controls.

Changes:

  • Register manual room login in RoomSyncService so a successful manual room login marks the room session active and persists login success.
  • Call that registration from RoomLoginDialog immediately after a successful login.

Result:

  • Room status now reflects the active logged-in session immediately after manual login, instead of waiting for auto-login/background cycle.

@Specter242
Copy link
Contributor Author

Pushed an update to the PR branch () in commit .

Change included:

  • Treat any non-connected connector state as disconnected in room sync status tracking.
  • Only report room sync states when the transport is actively connected.

This fixes stale status when the device has been out of range and reconnection is still in progress.

@Specter242
Copy link
Contributor Author

Update pushed to PR branch feature/room-sync-controls in commit 151fbb3.

Included fix:

  • Treat any non-connected connector state as disconnected in room sync tracking.
  • Only show Connected room-sync statuses when transport is actively connected.

This addresses stale Connected, synced status after long out-of-range periods while reconnecting.

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