https://gitlab.synchro.net/main/sbbs/-/commit/e4be037a9e1065a3553a5276
Modified Files:
xtrn/syncdoom/lobby.js syncdoom_lib.js
Log Message:
syncdoom: converge lobby onto shared game_lobby.js
Rewrite syncdoom_lib.js as a thin DOOM-specific layer over the shared exec/load/game_lobby.js (as SyncDuke already is), deleting its own copies of logic the shared lib provides -- string/time helpers, [net] config overlay + defaults, UDP port allocation, address resolution, the game-registry read, node paging, the live who's-online panel primitives, and events.jsonl read/prune -- and repointing lobby.js's call sites at gl.*. Only genuinely DOOM-specific code stays (the wad-set catalog, map-warp args, the frag/level/death event taxonomy, and the panel/activity composition), its internals rewired to gl.*.
Two intended behavior changes come with adopting the shared registry/prune: a game entry with no heartbeat now ages by file mtime (gl.entry_age) instead of being reaped immediately, and the events-log prune round-trips lines through JSON
(normalizing malformed lines) instead of copying raw text. game_lobby.js itself is unchanged, so SyncDuke is unaffected.
Co-Authored-By: Claude Opus 4.8 <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net