Peers who unsubscribed or disconnected from vital sharing were lingering forever in the Vital Sharing browser window because nothing ever deleted them from the server-side state or told the browser to drop them. Backend: - share_unsubscribe now pops the character from _vital_sharing_peer_state (not just flips connected=false) and broadcasts a share_peer_removed envelope to browser clients. - On real plugin disconnect, do the same: pop the state entry and broadcast share_peer_removed so the NetworkUI updates immediately. Frontend: - New removeVitalSharingPeer(name) deletes from the local vitalSharingPeers dict and re-renders. - socket.onmessage now routes share_peer_removed to it. - refreshVitalSharingPeers() reconciles against the server's list and prunes any local entries the server no longer knows about, catching any race where the broadcast was missed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| icons | ||
| acmap.png | ||
| admin.html | ||
| debug.html | ||
| dereth.png | ||
| dereth_highres.png | ||
| dungeon_tiles.json | ||
| favicon.ico | ||
| index.html | ||
| inventory.html | ||
| inventory.js | ||
| login.html | ||
| prismatic-taper-icon.png | ||
| script.js | ||
| style-ac.css | ||
| style.css | ||
| suitbuilder.css | ||
| suitbuilder.html | ||
| suitbuilder.js | ||