Skip to content

fix: pass qaMode explicitly to ComputerUseSession constructor#7462

Merged
Jasonnnz merged 1 commit into
feature/qa-video-automationfrom
swarm/fb-7425
Feb 24, 2026
Merged

fix: pass qaMode explicitly to ComputerUseSession constructor#7462
Jasonnnz merged 1 commit into
feature/qa-video-automationfrom
swarm/fb-7425

Conversation

@Jasonnnz
Copy link
Copy Markdown
Contributor

@Jasonnnz Jasonnnz commented Feb 24, 2026

Summary

  • Passes qaMode as a separate constructor parameter to ComputerUseSession instead of deriving it from requiresRecording
  • The constructor log now accurately reflects QA mode status regardless of recording requirements
  • Addresses feedback from both Codex and Devin on feat: recording gate observability + user feedback #7425

Test plan

  • Verify type-check passes (bunx tsc --noEmit — pre-existing errors only, no new errors from this change)
  • Confirm structured logs show correct qaMode value when qaMode: true but requiresRecording: false

🤖 Generated with Claude Code


Open with Devin

The constructor log was deriving qaMode from requiresRecording, but
these are independent IPC fields — a session can be in QA mode without
requiring recording. Pass qaMode as a separate constructor parameter
from msg.qaMode and log it directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Jasonnnz Jasonnnz merged commit 9a9f092 into feature/qa-video-automation Feb 24, 2026
@Jasonnnz Jasonnnz deleted the swarm/fb-7425 branch February 24, 2026 02:37
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

ashleeradka pushed a commit that referenced this pull request May 21, 2026
Brings apps/web/src/domains/settings/ to feature parity with the
platform repo's current end state for the billing, storage, and
compute settings surfaces. Covers four "Web App Repo Move" drift
issues that accumulated after settings paths were frozen on May 20:

- LUM-1683: Billing UI reorder + referral stats (platform #7376)
- LUM-1682: Pro billing machine resize + storage card + tier
  selection (platform #7310, #7312, #7323, #7338)
- LUM-1761: Noa's billing UI polish (platform #7462, #7473, #7492)
- LUM-1760: Shaarson's Pro storage/compute UX (platform #7389,
  #7390, #7392, #7395, #7399, #7400, #7403, #7404)

The port targets feature parity, not 1:1 file translation:

- Routing translated from platform's useAppNavigate / next/navigation
  to react-router (useNavigate, useSearchParams) per target conventions.
- Feature flag reads translated from useAppFeatureFlags() context to
  the target's useFeatureFlagStore.use.X() Zustand pattern.
- Component imports redirected to @vellum/design-library and
  @/generated/api.
- Shared hooks/utils that already exist in the target
  (use-billing-portal-session, payment-method-brand) wired up rather
  than recreated.
- Daemon-aware Assistant type from @/assistant/api.js used in place
  of platform's @/lib/assistants/api.

New files:
- assistant-storage-card.tsx (per-assistant Storage card)
- compute-upgrade-card.tsx (rewritten with full machine-size range)
- plan-feature-list.tsx (inline + checklist variants for
  AdjustPlanModal and PlanCard)
- resize-errors.ts (extractResizeError envelope for friendly resize
  failure messaging)
- tier-picker.tsx (Dropdown-driven tier selection for Pro upgrade)
- lib/billing/machine-sizes.ts (TIER_TO_SIZES, SIZE_LABEL,
  SIZE_DESCRIPTION, machineSizeRank shared util)

Deletions (functionality moved to general settings, per-assistant):
- storage-card.tsx
- machine-size-card.tsx
- machine-size-modal.tsx

Other changes:
- onboarding-page.tsx: storage step replaces pvc-readiness polling;
  failures count now gates wizard progression.
- billing-page.tsx: drops storage/machine card mounts; ReferralPanel
  renders unconditionally.
- general-page.tsx: mounts AssistantStorageCard alongside
  ComputeUpgradeCard.
- adjust-plan-modal.tsx: tier-picker + plan-feature-list, dynamic
  LOST_FEATURES via prop, copy and layout polish.
- referralCodes and referralCodesAdmin flags removed from the store
  and dev panel (no longer gated upstream).
- preferences-menu.tsx: drops referralCodes gating so Earn Credits
  always renders.
- design-library dropdown.tsx: DropdownOption.disabled support +
  findEnabledIndex helper for keyboard/click guards (needed by
  tier-picker).

Platform PR #7476 (unify per-assistant cards into a single
ResizeCard) is not yet merged in platform and is therefore not
included; the two-card layout is the current end state.
ashleeradka added a commit that referenced this pull request May 21, 2026
* chore(web): refresh platform.yaml for billing/storage/compute drift port

Pulls the current platform OpenAPI bundle so the regenerated client picks
up assistantsResize, AssistantResizeRequestRequest, provisioned_storage_gib,
selected_storage_gib, and the onboarding/storage endpoint. Prerequisite for
porting the Pro storage/compute UX cluster (LUM-1760) and selected storage
state surfacing (LUM-1682 #7312) from platform to vellum-assistant.

Refs LUM-1683, LUM-1682, LUM-1761, LUM-1760.

* feat(web/settings): port billing/storage/compute drift from platform

Brings apps/web/src/domains/settings/ to feature parity with the
platform repo's current end state for the billing, storage, and
compute settings surfaces. Covers four "Web App Repo Move" drift
issues that accumulated after settings paths were frozen on May 20:

- LUM-1683: Billing UI reorder + referral stats (platform #7376)
- LUM-1682: Pro billing machine resize + storage card + tier
  selection (platform #7310, #7312, #7323, #7338)
- LUM-1761: Noa's billing UI polish (platform #7462, #7473, #7492)
- LUM-1760: Shaarson's Pro storage/compute UX (platform #7389,
  #7390, #7392, #7395, #7399, #7400, #7403, #7404)

The port targets feature parity, not 1:1 file translation:

- Routing translated from platform's useAppNavigate / next/navigation
  to react-router (useNavigate, useSearchParams) per target conventions.
- Feature flag reads translated from useAppFeatureFlags() context to
  the target's useFeatureFlagStore.use.X() Zustand pattern.
- Component imports redirected to @vellum/design-library and
  @/generated/api.
- Shared hooks/utils that already exist in the target
  (use-billing-portal-session, payment-method-brand) wired up rather
  than recreated.
- Daemon-aware Assistant type from @/assistant/api.js used in place
  of platform's @/lib/assistants/api.

New files:
- assistant-storage-card.tsx (per-assistant Storage card)
- compute-upgrade-card.tsx (rewritten with full machine-size range)
- plan-feature-list.tsx (inline + checklist variants for
  AdjustPlanModal and PlanCard)
- resize-errors.ts (extractResizeError envelope for friendly resize
  failure messaging)
- tier-picker.tsx (Dropdown-driven tier selection for Pro upgrade)
- lib/billing/machine-sizes.ts (TIER_TO_SIZES, SIZE_LABEL,
  SIZE_DESCRIPTION, machineSizeRank shared util)

Deletions (functionality moved to general settings, per-assistant):
- storage-card.tsx
- machine-size-card.tsx
- machine-size-modal.tsx

Other changes:
- onboarding-page.tsx: storage step replaces pvc-readiness polling;
  failures count now gates wizard progression.
- billing-page.tsx: drops storage/machine card mounts; ReferralPanel
  renders unconditionally.
- general-page.tsx: mounts AssistantStorageCard alongside
  ComputeUpgradeCard.
- adjust-plan-modal.tsx: tier-picker + plan-feature-list, dynamic
  LOST_FEATURES via prop, copy and layout polish.
- referralCodes and referralCodesAdmin flags removed from the store
  and dev panel (no longer gated upstream).
- preferences-menu.tsx: drops referralCodes gating so Earn Credits
  always renders.
- design-library dropdown.tsx: DropdownOption.disabled support +
  findEnabledIndex helper for keyboard/click guards (needed by
  tier-picker).

Platform PR #7476 (unify per-assistant cards into a single
ResizeCard) is not yet merged in platform and is therefore not
included; the two-card layout is the current end state.

* fix(web/settings): drop stale eslint-disable for react-hooks/exhaustive-deps

The directive was ported from platform, but apps/web's eslint config
does not enable react-hooks/exhaustive-deps, so the unknown rule
trips the report-unused-disable check. The useMemo dependency array
still keys on clientSecret intentionally to retrigger appearance
resolution on each new SetupIntent.

---------

Co-authored-by: Claude <noreply@anthropic.com>
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