Tale v0.2.92
Highlights
Faster sandbox container builds (opt-in)
DinD sandbox sessions used to rebuild every Docker layer from scratch — each session got an ephemeral inner /var/lib/docker. A new shared, persistent BuildKit daemon (sandbox-buildkitd) gives every session on a host one content-addressed build cache, so docker build / docker compose up --build in one session reuses the layers another already built — transparently, with no per-build flags or hardcoded IPs. Build steps stay egress-fenced like the rest of the sandbox. Off by default; enable with SANDBOX_DOCKER_BUILD_CACHE=true (only meaningful with DinD). (#2164)
Issue resolution desk: self-closing and multi-repo
The Issue desk now finishes its own work and is no longer hardcoded to a single repository. Tasks parked at in_review auto-close when their PR is merged out of band (GitHub UI, CI automerge, a teammate) instead of being stranded forever, and each install configures its own target repo. Built as app data plus small generic platform primitives — no per-vertical backend code. (#2153)
Fixes
- Sandbox / deploy: A
tale deployblue-green flip that left an old colour lingering kept the baresandboxnetwork alias, so session creates failed with a persistent503 drainingon every retry — not just a transient flip-window race. The flip now revokes the alias from the lingering colour, with a drain-retry on session create. (#2162) - Chat attachments: Audio/video files in the 100–200 MB band were wrongly rejected because the per-file gate clamped the media ceiling back down to the 100 MB generic cap; media now uses its own ceiling (the 200 MB total cap and 4-hour duration check remain the real gates). Unsupported types with no configured upload policy now show the correct rejection toast. (#2156)
- Chat: Thread titles fall back to the user's first message when no title is generated. (#2161)
- Chat i18n: Resolved-state status badges on approval cards are now translated, and missing chat-panel, canvas, and live-browser keys were added across all locales. (#2157, #2159)
- Export: Fixed the export-dialog nested-button hydration warning and relabeled the PDF export option. (#2160)
- Issue desk: Stopped the desk's first page rendering empty. (#2151)
- Enterprise SSO: Seed the SSO form's select/switch controls with defined defaults. (#2099)
- Reliability: Log and surface failures that were previously swallowed in empty catch blocks. (#2158)
Developer experience
- Boot the dockerized dev stack with zero
.envconfig, and forward host env into thedocker:devcontainer. (#2163, #2165)
For operators
Upgrading adds a new optional service image, sandbox-buildkitd. Run tale upgrade then tale deploy as usual — compose is regenerated to include it. The shared build cache is off by default; enable it with SANDBOX_DOCKER_BUILD_CACHE=true (DinD only). No data migration is required.
Full changelog: v0.2.91...v0.2.92