mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-11-08 08:01:09 +00:00
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.