Timers 1.7.1: a failed LTC capture spawn retries instead of parking #45
Open
michael
wants to merge 1 commits from
claude/timers-ltc-spawn-error into main
pull from: claude/timers-ltc-spawn-error
merge into: :main
:main
:claude/vista-cues-picker
:claude/vista-cues
:claude/overflow-tap-module
:claude/layouts-menu-not-shown
:claude/timers-ltc-spawn-error
:claude/shell-tar-exec-bits
:claude/resi-cues-startup-pause
:claude/pco-multi-service-types
:claude/proddash-alerts-feature-67694f
:claude/send-message-module-refactor-9af19a
:claude/update-error-message
:claude/prodcom-filter-button-visibility-8a1d2d
:claude/spl-prebuilt-helper
:claude/timers-prebuilt-helper
:claude/release-builds
:claude/unbundled-shell
:claude/module-helper-rules
:claude/pco-song-key
:claude/timers-video-countdown
:claude/spl-build-retry
:claude/timers-build-retry
:claude/shell-keep-executables
:claude/shell-module-update-reload
:claude/timers-capture-install
:claude/pco-ableset-progress
:claude/proddash-ableset-module-6c2556
:claude/timers-second-phase
:claude/pco-teams-tile
:claude/resi-stage-cues
:claude/service-times-module
:claude/band-lineup-docs-tidy
:claude/band-lineup-display-1-3-10
:claude/spl-devices-without-binary
:claude/pco-message-match
:claude/grid-size
:claude/band-lineup-module
:claude/layout-audit
:claude/update-safety
:claude/module-rules
:claude/themes
:claude/admin-pin-trim
:claude/tile-chrome
:claude/readme-slack-module
:claude/slack-send-target
:claude/propresenter-now
:claude/gitea-is-home
:claude/admin-pin
:claude/shell-1-5-0
:claude/self-hosted-forge
:claude/no-campus-defaults
:claude/proddash-app-tweaks
:claude/slack-module
:claude/dashboard-round-2026-09
:claude/proddash-menubar-launcher-6eb34e
:claude/pco-plan-module-f711b9
:claude/prodcom-orientation-channels-icon-bcf897
:claude/prodash-propresenter-timers-cea871
:claude/proddash-app-build-gnwq7y
:claude/timers-ltc-stage-display
:claude/propresenter-timers-module
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The bug (AB, 2026-10-04)
When
spawn()itself fails — EACCES on a helper that lost its execute bit, as the 1.10.2 catalog install did (shell fix in PR #44), or ENOENT — the child emits'error'with no'exit'to follow.ltc-listener.js's error handler reported the error but leftchildset and scheduled nothing:if (stopped || !child) return) saw a truthychildand kept reporting a misleading "No signal" over the dead child object, immediately burying the one error report;That is exactly what AB showed: EACCES spawn, tile said "No signal", no error anywhere, no capture process running — and Timers needed a remount after the
chmod +x, while SPL healed itself (itsspl-listener.jserror path already nulls the child and retries).The fix
Mirror
spl-listener.js: in the'error'handler, keep the error report, nullchild, andscheduleRestart(BAD_CONFIG_RETRY_MS). Withchildnull the eval loop stops reporting, so the error stays visible on the tile, and the 30 s retry picks the helper up as soon as it is runnable again.Module version 1.7.0 → 1.7.1.
Testing
ltc.selftest.js(all checks) andphase.selftest.js(66 checks) pass.{state:"nosignal"}over a dead child; fixed code reportsCapture tool unavailable — see Admin / LTC capture failed to start: spawn … EACCESonce and nothing overwrites it.🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.