fix: keep devbox ble cache parity

LA
1mo ago
+948649-163163

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.


View with [code]smith Autofix with [code]smith
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, and linux in 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.sh via an atomic tmp-file-and-rename so a failed copy never corrupts an existing cache.
  • Bumps CMUX_IMAGE_EPOCH so 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.