_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/doors/syncdoom/i_termmusic.c syncdoom.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Jul 1 02:20:56 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7108fa623c0935201f64320d
    Modified Files:
    src/doors/syncdoom/i_termmusic.c syncdoom.c
    Log Message:
    syncdoom: fix RTT stale-reject ratchet + audio/frame telemetry

    - RTT: pass stale_reject=0 to termgfx_rtt_sample. That filter dropped any DSR
    round-trip below EMA/3 to reject "absurdly low" late replies -- but it created
    a one-way ratchet: once a slow JXL frame spiked the smoothed RTT, every good
    low sample was then below EMA/3 and discarded, so it could never recover
    (observed latched ~725ms on a ~20ms LAN, which also forced the synthetic
    turn / "evdev/syn"). Reclaimed-frame replies are already dropped above via
    g_dsr_stale, so the filter guarded nothing here. Matches SyncDuke, which runs
    the same shared function with stale_reject=0 and tracks the true link.
    - Telemetry: the music line now splits render=<transcode ms> xfer=<encode+cache+
    upload ms> so a load stall's cause is unambiguous; a frame-stall watchdog logs
    when emit_frame runs long (>500ms, a slow encode); and dlog gains a [+ms]
    prefix (the BBS log only stamps to the second).

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net