aboutsummaryrefslogtreecommitdiffstats
path: root/android/app/src/webview/java
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-15 11:56:52 -0700
committerAdam Soltys <[email protected]>2026-09-15 11:56:52 -0700
commit0ebef05d3850d312ec8098584525b22ec1b9a0de (patch)
tree7d71dd0e5effb78163cc1c35950dbadcb1b8fc4d /android/app/src/webview/java
parentdce411ae0a5f4f9475786b3bd4f419db0a371709 (diff)
downloadcoinosv3-0ebef05d3850d312ec8098584525b22ec1b9a0de.tar.gz
coinosv3-0ebef05d3850d312ec8098584525b22ec1b9a0de.zip
Chat keeps its relay subscriptions alive while the app is on screen.
New messages rang in Vector but sat unseen in v3 until a reload. The resume hook only rebuilds subscriptions after an absence it was told about; a socket that errors while the page stays visible (a wifi hop, a laptop lid, a phone freezing the tab without the away timer noticing, another tab clearing that timer first) is dropped from the nostr-tools pool with every subscription it carried, and nothing dials it again. A watchdog now runs whenever the app is on screen: on focus, on becoming visible, and every ten seconds between. It asks the pool whether each relay the inbox and the rooms listen on still holds a live socket (a dial hung past 20s counts as dead, and a relay that closed a subscription on us counts too) and rebuilds the lot when one is missing, dropping a stuck relay first so the rebuild dials afresh. Rebuilds retry on a growing backoff while a relay keeps refusing. tools/chat-watchdog-test.js errors every socket under an open room and checks the recovery. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01JuwQqNWtDJcxPWtEm9134z
Diffstat (limited to 'android/app/src/webview/java')
0 files changed, 0 insertions, 0 deletions