Files
Remote-Terminal-for-MeshCore/frontend
Ryan Gregg 5e5ab7db4d Keep overheard packet traffic out of the chat render path
Typing in a conversation got progressively slower as its history grew.
The cause was not the input: every packet the node overhears was stored
in App state, so each one re-rendered the whole tree, including the
un-memoized MessageList. That cost scales with history length, and on a
busy mesh it saturated the main thread so keystrokes queued behind it.

Measured in Chromium with the real components, cost per overheard packet:

  history    before    after
      50      7.3ms    ~0ms
     500     48.5ms    ~0ms
    1000     97.7ms    ~0ms
    2000    228.4ms    ~0ms

The packet stream now lives in a small external store that views subscribe
to individually, so only the map, visualizer, raw feed, and cracker re-render
when a packet arrives, so the chat view is no longer along for the ride.
This also retires useRawPacketStatsSession, whose session state was App
state for the same reason.
2026-07-25 12:32:14 -07:00
..
2026-04-16 21:44:52 -07:00
2026-03-08 12:34:47 -07:00
2026-04-16 21:44:52 -07:00
2026-01-06 20:02:48 -08:00
2026-03-03 20:07:45 -08:00
2026-02-10 16:47:46 -08:00