fix: keep devbox ble cache parity
LA
1mo ago+948649+948649+012345678901234567890123456789012345678901234567890123456789-163163-163163-012345678901234567890123456789012345678901234567890123456789
Keep the shared devbox image aligned with the Blaxel template after the ble.sh cache bake landed.
- seed all four TERM caches in the E2B/Daytona Dockerfile and Freestyle replay
- copy the per-HOME cache seed before ble.sh starts
- bump the image epoch and test all provider paths
Focused verification: bun test --isolate web/tests/vm-devbox-image.test.ts.
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.
Summary by cubic
Keeps the devbox image's ble.sh cache behavior aligned with the Blaxel template so the first shell in a pane no longer prints an "updating tput cache" line or pays the tput walk.
- Seeds ble.sh's per-TERM tput caches for
xterm-256color,screen-256color,tmux-256color, andlinuxin the Dockerfile and Freestyle builder. - Marks the seed and cache fallback directories world-readable so fresh non-root users can read them.
- Copies the baked caches into each user's writable XDG cache before ble.sh starts, refreshing missing or stale entries against
init-term.shvia an atomic tmp-file-and-rename so a failed copy never corrupts an existing cache. - Bumps
CMUX_IMAGE_EPOCHso remote builders pick up the new layers. - Adds a test asserting all providers bake and seed the same cache set.
Summary by CodeRabbit
-
Performance Improvements
- Faster interactive shell startup through pre-seeded terminal compatibility caches.
- Added support for xterm, screen, tmux, and Linux terminal environments.
- Ensured consistent cache setup across devbox image builds and shell sessions.
-
Bug Fixes
- Reduced delays and initialization issues when opening shell sessions.
- Improved reliability and safety when updating terminal cache files.
-
Tests
- Added coverage to verify consistent terminal cache setup across supported devbox image providers.