• exec/tests/ircd/services-expiry.js services-notices.jsexec/load/ircd/c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, October 27, 2026 09:45:47
    https://gitlab.synchro.net/main/sbbs/-/commit/8cd42e3dd1de766e1b034a9a
    Added Files:
    exec/tests/ircd/services-expiry.js services-notices.js
    Modified Files:
    exec/load/ircd/config.js services-backend.js services-core.js services-store.js services.js services.md exec/tests/ircd/services-network.py services.js
    Log Message:
    ircd: expire unused registrations and clarify remote BBS replies

    Persist nickname and channel last-used timestamps and expose them through
    INFO. Add independent NickExpireDays and ChannelExpireDays settings to the central services configuration, both disabled by default.

    Renew a nickname while its authenticated owner uses that nick, and a
    channel while an authenticated founder or access-list member is present.
    Batch usage writes and expiry checks once per minute, retain brief visits,
    and flush usage on clean shutdown. Expired channels drop their access rows
    and part ChanServ; nickname expiry preserves account-based channel access.
    Use schema version 2 directly, without migration for undeployed services.

    Identify the BBS in remote NickServ and MemoServ NOTICE replies and include
    the qualified /msg target. Carry that context through authentication
    results, errors, telegram chunks and completion replies. Keep central registration notices network-wide and provide concrete HELP addresses.

    Validation: 51 native unit tests and the live services network checks
    through a v2.0 relay passed, including restart persistence and clean child process exits. git diff --check passed.

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