Skip to content

Console: prevent repeated snapshot remounts and add localized fast live view #420

Description

@2160039878-cyber

Problem\n\nThe local console has three usability issues in real use:\n\n1. When /events repeatedly emits snapshot_required (for example during a publication gap), the browser handler closes, re-snapshots, remounts the active route, and immediately reconnects. A repeated gap therefore causes an unbounded remount loop; forms visibly flash and cannot be used.\n2. /live waits for an aggregate, a thread ranking, and a time-series query before rendering anything useful. On a large local index this makes the first view unnecessarily slow.\n3. The console is English-only even though it is a local end-user interface.\n\n## Proposed change\n\n- Allow one clean re-snapshot/reopen after snapshot_required; if the fresh source also reports a gap, stop watching and preserve the current page instead of remounting forever.\n- Render the live summary first; make trend/ranking data explicit on-demand detail and cache it for the current committed generation.\n- Add a persisted English / Simplified Chinese selector that localizes the console shell and user-facing labels while preserving API values and routes.\n\n## Reproduction\n\n1. Open /explore with live watching enabled.\n2. Make /events return snapshot_required twice in succession.\n3. Observe repeated route remounts and a flashing/empty form.\n\n## Acceptance criteria\n\n- A persistent gap results in at most one route remount and no reconnect loop.\n- Live summary appears without waiting for ranking/time-series queries.\n- Detail data remains available on demand and cache entries are scoped to the committed generation.\n- Language choice persists locally and default English behavior remains unchanged.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions