Shell 1.12.1: a catalog install keeps the tarball's file modes #44
Open
michael
wants to merge 1 commits from
claude/shell-tar-exec-bits into main
pull from: claude/shell-tar-exec-bits
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
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
34a6def839 |
Shell 1.12.1: a catalog install keeps the tarball's file modes
parseTar threw away each entry's mode, so installModule wrote every downloaded file 0644 — including the prebuilt helpers modules ship under bin/. spawn() then failed with EACCES: on the 1.10.2 rollout (AB, 2026-10-04) that silently killed both LTC capture (Timers 1.7.0) and SPL metering (0.5.0) until the binaries were chmod +x'd by hand. carryOverExecutables (1.9.2) never applied: it only carries files the download does NOT include, and these downloads include the helpers. parseTar now keeps the header's mode field (permission bits only, defaulting to 0644) and both writers pass it on: installModule's staging and the archive-based shell update. The unbundled-shell test's mock repo now ships an executable bin/ helper and asserts it still spawns-worthy after a catalog install, alongside the existing carry-over check. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |