Two things kept the charger list showing whatever was true when the tab
opened.
The map of who is online was replaced wholesale on every read, so a
service that would not answer took every charger it knows about grey with
it — and then the read marked the question asked, and the guard above it
meant nothing asked again. One failed call and the list sat colourless
until somebody pressed Refresh. It merges now, and only when something
actually answered: a provider that answered overwrites its own entries, a
provider that could not be reached leaves its last word standing. "We
could not ask" is not an answer, and it is not "unknown" either.
And it only ever asked once. There is a thirty-second poll now, running
only while the tab is being looked at — not on the public tab, not while
the page is hidden, and asking straight away on the way back rather than
waiting out an interval that was never going to fire.
The poll takes the reachability half alone, which is what the second
argument is for. That is one call per connected service, back in about a
quarter of a second. The per-charger views behind it are a dozen cloud
endpoints each, and a background poll has no business spending those.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>