Repository navigation
feat(web): restore Studio Ship this playflow - #2437
Conversation
Unblock anonymous ship after the IDE shell dropped Deploy. Ship this exports the pack ZIP and stays enabled when SeaDance/Cluely checks are skip/unknown. Wire review_action cards, transcript retry, and toast position. Do not restore origin deploy or G.A.T.E. changes. Co-authored-by: KK <kk-agent@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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. Comment |
|
Please add a See governance: #898 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
✅ E2E Test Results: ALL TESTS PASSED
Test Output |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 371f6e01ff
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| onClick={() => void exportPkg()} | ||
| disabled={!shipCta.enabled} | ||
| data-testid="studio-ide-ship" | ||
| title={shipCta.hint} |
There was a problem hiding this comment.
Route anonymous Ship through an accessible export
For the anonymous users targeted by this change, this handler still calls downloadScaffoldPackage, which posts to /api/workspace/export; that route invokes requireProFeatureAccess, and its route test confirms non-Pro callers receive a 402 checkout response rather than a ZIP. Consequently the newly enabled primary CTA and its “Download the Video Pack ZIP” hint do not deliver the stated anonymous Ship flow. Either use an export endpoint anonymous users may access or present this as a Pro checkout action.
Useful? React with 👍 / 👎.
| stackChecks={stackCheckViews} | ||
| reviewActions={(workflowActions?.actions ?? []).map((action) => { | ||
| const card = studioActionCard(action); |
There was a problem hiding this comment.
Add a reachable path that populates review actions
These cards cannot appear in the current Studio UI: workflowActions starts as null and is only populated inside act(), but a repo-wide search of this component finds no button or other caller that invokes act. Passing that unreachable state here therefore does not restore review_action cards for users, despite the isolated child-component test; wire the existing Act workflow into the IDE or populate the cards from a reachable result source.
Useful? React with 👍 / 👎.
| {showTranscriptRetry ? ( | ||
| <button | ||
| type="button" | ||
| data-testid="studio-transcript-retry" | ||
| onClick={() => void runAnalysis(url || selected?.url || '')} |
There was a problem hiding this comment.
Retry the failed selection instead of edited input
When a failed video is selected but the user has edited the URL field, url wins over selected.url, so clicking “Retry transcript” analyzes the newly typed video rather than retrying the failed transcript shown on screen. The existing recovery paths intentionally prefer selected?.url; this handler should do the same so the retry remains scoped to the failure that caused the button to appear.
Useful? React with 👍 / 👎.
Keep #2437 Ship this ZIP CTA and skip/unknown stack rows. Keep this branch's Events honesty, pack workbench, Act on this run, and transcript-tab retry. Deduplicate toolbar Retry and Tools stack lists. Co-authored-by: KK <kk-agent@users.noreply.github.com>
Canonical issue
Closes #2435.
Dogfood remaining after #1692: no discoverable Ship this; disabled Deploy held production on SeaDance/Cluely-class checks. The 2026-10-07 IDE shell then deleted
studio-deploy-buttonand left those helpers unwired.Related closed cuts (not closers): 1696 (anon stack-check hold), 1705 (transcript stages), 1712 (player), 1715 (export toast), 1716 (review_action cards), 1719 (durable copy / footer).
Overlap: draft #2436 also targets #2435. This PR is the Ship this / skip-unknown / retry / review-card rewire; keep one winner at merge.
Outcome
Anonymous Studio can Ship this (pack ZIP) on a completed pack. Skip/unknown stack checks are honest and do not disable the button. Review cards, transcript retry, and export toast are visible again. No live hostname claim.
Scope
studioShipEnabled/studioShipCta— exportability gates ship; holdReason never doesstudio-ide-ship) calling existing exportreview_actioncards viastudioActionCardstudioCanRetryTranscriptbottom-4(sticky footer is gone)studio-deploy-button/ originstudio-deploykickoffRisk
stack.toolsVerification
Head SHA:
371f6e01fcd apps/web && npm test -- src/lib/__tests__/studio-pipeline-status.test.ts src/lib/__tests__/official-templates.test.ts src/lib/__tests__/uvai-surface-unification.test.ts src/components/__tests__/OneLoopStudio.three-panel.test.tsx src/components/studio/__tests__/StudioIdeOutput.playflow.test.tsx→ 5 files, 49 passednpx tsc --noEmit(apps/web)Production evidence
UI/playflow only. Preview on Vercel
v0-uvaiafter CI. Not a production Studio E2E and not a live deploy receipt.Agent handoff
Closes #2435)