• .claude/skills/jsexec/SKILL.md src/sbbs3/jsexec.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, November 11, 2026 21:04:16
    https://gitlab.synchro.net/main/sbbs/-/commit/3ba093fdc760fab893f04e11
    Modified Files:
    .claude/skills/jsexec/SKILL.md src/sbbs3/jsexec.cpp
    Log Message:
    jsexec: exit 0 when a script is stopped or recycled by a signal

    A SIGTERM/SIGINT/SIGQUIT (or Windows console control event) or a SIGHUP
    recycle aborts the running script from the operation callback, so JS_ExecuteScript() fails and jsexec reported EXIT_FAILURE. Every routine "systemctl stop" or restart of a jsexec-hosted service (e.g. the
    chat_llm IRC bot) was therefore logged by systemd as status=1/FAILURE.
    Don't treat an abort caused by a local stop or recycle as a failure; an exit_code set by the script still takes precedence, and an abort for any
    other reason still exits 1.

    Also restore the "-> Terminated Locally" notice for Ctrl-C on Windows.
    Since aba1e3e94f (hosts-11-access, 2026-09-29) moved that notice out of
    the signal handler, it was gated on terminate_signal being non-zero, but CTRL_C_EVENT is 0. terminate_signal now starts at -1.

    Document both behaviors in the jsexec skill, along with the status
    stream being discarded when stdin is not a tty (use -S to see it).

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

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