• exec/tests/ircd/visibility.jsexec/ircd.js exec/load/ircd/PROTOCOL.md c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, October 21, 2026 20:27:55
    https://gitlab.synchro.net/main/sbbs/-/commit/97fab8d84a68882d1ceff0be
    Added Files:
    exec/tests/ircd/visibility.js
    Modified Files:
    exec/ircd.js exec/load/ircd/PROTOCOL.md channel.js core.js server.js unregistered.js user.js exec/tests/ircd/lib.sjs network.js rolling.js state.js
    Log Message:
    ircd: fix hidden-channel synchronization for 2.5

    Hidden channels omitted from initial leaf bursts could later be created by runtime JOINs without the remote operator list. Authorized MODEs then
    produced spurious channel-operator errors from uninvolved leaves.

    Advertise FULLCHAN and send complete channel state to updated leaves,
    with secret/private visibility enforced in client replies. Keep older
    leaves unaware of hidden channels until their first local member joins,
    send authoritative catch-up state, and withdraw cached memberships after
    the last local PART, KICK or QUIT. Apply the same policy to runtime events
    and public/hidden mode transitions while preserving hub authority.

    Translate numeric NICKIP and NICKIPSTR addresses in bursts and live nickname introductions so 1.3a leaves retain correct IPv4 metadata. Add native legacy configuration support to the test harness and wait for throttled client commands to finish before inspecting rapid JOIN/PART results.

    Bump SynchronetIRCd to 2.5 and document the compatibility behavior.

    Validation:
    - 58 state regression checks passed.
    - Live visibility tests passed with historical 1.3a, 2.0, 2.3 and 2.4 leaves.
    - Mixed 2.0/2.5 and 2.3/2.5 hub/leaf rollout tests passed.
    - Existing client, network, clock and timestamp suites passed.
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net