4 Commits
Author SHA1 Message Date
MrAlders0n f4098111e7 Load nodes 200 at a time and wait out a rate limit (#175)
Map and Nodes fetch a region at the server's 200 cap instead of 50, a
quarter of the requests. A 429 now pauses paging until Retry-After and
retries the refused page, instead of stopping with "Some nodes failed to
load".
2026-10-18 23:13:04 -04:00
MrAlders0n a8cd595b35 Give emoji in names and messages room to paint on 1x screens (#174)
Chrome on macOS lays an emoji out 1em wide but paints Apple's about 1.25em
wide at small sizes on standard-density screens, so it overlapped the next
letter (☠️Grunt, 🍓Strawberry). Each emoji in a node, observer or sender
name, and in channel messages, now sits in its own span that gets 0.3em of
extra room below 1.5x density. Retina screens render unchanged.
2026-10-18 19:56:43 -04:00
MrAlders0n 92bcc8ebc7 Speed up the Nodes table: mount only on-screen rows (#173)
* Speed up the Nodes table: mount only on-screen rows and sort with a shared collator

* Fit the Nodes table beside the detail panel and tidy virtualization

Name takes a 22% share and the table's floor drops to 52rem, so 1280 and
1366 px laptops no longer scroll sideways with a node open. Long names get
a title. Card dividers follow list position so heights stay put, cards and
rows cache sizes apart, getItemKey stays stable, and the table reports its
full row count to screen readers. Tests share one layout stub instead of a
global offsetHeight shim.
2026-10-18 19:52:56 -04:00
MrAlders0n 7a9770e713 v2.0.0 (#141) 2026-10-02 22:38:54 -04:00