Page MenuHomePhabricator

Write an Aphlict client debugging console
Closed, ResolvedPublic

Description

Currently, it's hard to figure out what's happening in the browser with respect to real-time infrastructure. Pertinent information is spread across multiple tabs (when it's present at all) and difficult to decipher.

The major components to monitor are:

  • Cross-tab sync through Local Storage (JX.Leader).
  • The uplink to Aphlict (JX.Aphlict)
  • Messages over both channels (notifications, commands).
  • State changes on both channels (connect, disconnect, reconnect, promote, usurp).

Some explicit client actions are not easy to trigger in a diagnostic way:

  • Force disconnect.
  • Force reconnect.
  • Force UI state dirty (after T12566).
  • Force message replay (for T12564).
  • Force promote/usurp for JX.Leader.

Probably the best way to approach this is a DarkConsole "Realtime" tab.