Skip to content

fix: honor platform override on image pull and clarify wizard compat UX#501

Merged
skevetter merged 1 commit into
mainfrom
parched-parrot
Jun 6, 2026
Merged

fix: honor platform override on image pull and clarify wizard compat UX#501
skevetter merged 1 commit into
mainfrom
parched-parrot

Conversation

@skevetter

Copy link
Copy Markdown
Contributor

Summary

  • Fixes the real launch failure where an amd64-only image (e.g. mcr.microsoft.com/devcontainers/universal:2) on an arm64 host failed with no matching manifest for linux/arm64/v8. EnsureImage pulled the image with no platform flag, so the pull failed before docker run --platform was ever reached — making the wizard's emulation override effectively dead.
  • pkg/docker: refactor Pull to take a PullOptions config struct (Image, Platform, Stdin, Stdout, Stderr) and thread Platform through to docker pull --platform.
  • pkg/driver/docker: EnsureImage now passes RunOptions.Platform into the pull.
  • Desktop wizard review step: image-compat check now always resolves to a definite state — compatible (green check + supported platforms), incompatible (existing amber warning + supported platforms), or unknown (neutral "couldn't verify" note) — instead of flashing "Checking image compatibility…" and vanishing with no result.
  • Desktop wizard cleanup: removed the confusing "Auto-suggested / Resolved id" helper lines; aligned the Ref Type dropdown height with the adjacent input.

Notes

  • Scope intentionally minimal: this makes the platform override work and surfaces the compat result. A Go-side fail-fast pre-check (clear error when an image is incompatible and no override is given) is not included here and remains a follow-up.
  • Emulation still requires host qemu/Rosetta binfmt to actually exec the foreign-arch container.

The desktop wizard's image-compatibility check ran but its result was
invisible unless the image was incompatible, and the emulation override
never worked: EnsureImage pulled without a platform flag, so an
amd64-only image on an arm64 host failed at `docker pull` before
`docker run --platform` was ever reached.

- pkg/docker: refactor Pull to take a PullOptions config struct and
  thread Platform through to `docker pull --platform`
- pkg/driver/docker: pass RunOptions.Platform into the pull
- desktop wizard: review step now always resolves to a definite compat
  state (compatible / incompatible / unknown) instead of flashing
  "Checking…" and vanishing; list supported platforms
- desktop wizard: drop confusing "Auto-suggested / Resolved id" lines;
  align Ref Type dropdown height with the adjacent input
@netlify

netlify Bot commented Jun 6, 2026

Copy link
Copy Markdown

Deploy Preview for devsydev canceled.

Name Link
🔨 Latest commit 30300be
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6a2421cce215050008c74d0c

@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@skevetter, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 52 minutes and 40 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8abd61ad-9dfd-475a-aefb-32245f9e4ca6

📥 Commits

Reviewing files that changed from the base of the PR and between 711806e and 30300be.

📒 Files selected for processing (6)
  • desktop/src/renderer/src/lib/components/workspace/WorkspaceWizard.platform.test.ts
  • desktop/src/renderer/src/lib/components/workspace/WorkspaceWizard.svelte
  • e2e/tests/up-docker-compose/helper.go
  • pkg/docker/helper.go
  • pkg/docker/helper_test.go
  • pkg/driver/docker/docker.go

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added the size/l label Jun 6, 2026
@skevetter skevetter marked this pull request as ready for review June 6, 2026 14:17
@skevetter skevetter merged commit d0935c1 into main Jun 6, 2026
103 of 105 checks passed
@skevetter skevetter deleted the parched-parrot branch June 6, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant