callebtc b56ed5bb79 Show live geohash activity on the globe picker
The globe picker now shows where people are chatting, in the spirit of
bitmap.lat. While it is open, a monitor subscribes to kind 20000 (last
hour) and kind 20001 (last five minutes) with no geohash filter, on a
worldwide spread of relays plus the few nearest the resting view. Relays
it opened are released when the picker stops.

- Dots are sized by people and colored by chat volume; heartbeat-only
  channels draw as quiet rings, recent chat pulses, and overlapping dots
  merge into clusters that split as you zoom.
- Tapping a dot flies to that geohash and selects it; tapping a cluster
  zooms in and lists its busiest channels. The card shows people and
  messages per hour, a Join button, and the busiest chat inside the cell.
- Clients heartbeat into region, province and city channels under
  separate identities, so people are estimated from the busiest
  precision level instead of summed.
- Signatures are verified for any event that would add a person or a
  message, so forged events cannot inflate counts.
- Observe-only subscriptions bypass the shared deduplicator so the
  sweep never consumes events the open chat still needs.

The picker chrome is redesigned: top bar with a live status chip, a
zoom rail with a whole-globe button, gesture hints that fade after
first touch, and opaque surfaces that no longer show their own shadow.
With no starting geohash it opens on the whole globe.
2026-10-27 11:11:15 +01:00
..
2025-12-14 21:55:41 +07:00