Skip to content

fix(devboxes): clean up create timeout - #831

Draft
jrvb-rl wants to merge 1 commit into
mainfrom
fix/devbox-timeout-cleanup
Draft

fix(devboxes): clean up create timeout#831
jrvb-rl wants to merge 1 commit into
mainfrom
fix/devbox-timeout-cleanup

Conversation

@jrvb-rl

@jrvb-rl jrvb-rl commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Description

Prevent devboxes created by create_and_await_running from being orphaned when waiting for the running state times out.

Motivation

The create request succeeds before polling begins. If polling times out, the devbox can continue booting without the caller retaining its ID, wasting resources until lifecycle cleanup eventually shuts it down.

Changes

  • Shut down the created devbox on polling timeout by default, then re-raise the original timeout.
  • Add shutdown_on_timeout=False to return the created devbox instead, including Devbox and AsyncDevbox wrappers through high-level SDK create helpers.
  • Add synchronous and asynchronous regression tests for cleanup, opt-out behavior, and SDK option forwarding.

Testing

  • Unit tests added
  • Integration tests added
  • Smoke tests added/updated
  • Tested locally

Validated with Ruff, Pyright, mypy, targeted API-resource tests, and the sync/async SDK test suites.

Breaking Changes

None. The timeout is still raised by default; the created devbox is now shut down first.

@reflex-loop

reflex-loop Bot commented Aug 18, 2026

Copy link
Copy Markdown

Reflex agent status: Completed

The agent completed its work.

This PR was created by Reflex.

View the agent run →

This comment updates in place as the agent works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant