Skip to content

fix: resolve sandbox generated cn imports from #2640 #2643

Description

@github-actions

Summary

Classification: real regression.

The registry-backed sandbox player cannot render because Vite fails to resolve the bare cn import emitted in generated sandbox modules. This causes the Chromium sandbox suite to time out waiting for the media-player landmark.

Triggering PR

fix(test): repair the e2e suites by @mihar-22.

Failed run

  • Run: https://github.com/videojs/v10/actions/runs/34081265069
  • Head SHA: d4a2d10f889552e88ddf4cbf6055d50afd49f99d
  • Affected tests:
    • Sandbox compare > compares the two stylings side by side with one width
    • react default css from registry uses public skin properties
  • The sandbox report test was flaky in the same run; its click was intercepted by the Vite error overlay.

Evidence

  • The failed Chromium job retried both failing tests three times. Each attempt timed out because the Media player group was absent.
  • Their Playwright traces and report snapshots show Vite overlays reporting Failed to resolve import "cn" from app/_generated/lib/utils.ts and app/_generated/css/lib/utils.ts.
  • The report test identifies <vite-error-overlay> as intercepting its Report-button click, linking its transient failure to the same overlay.
  • PR fix(test): repair the e2e suites #2640 changes E2E workflow/configuration, tests, E2E dependencies, and skin container styles; it does not change the sandbox dependency list or the skin React target generator. At the failing head and its parent, the sandbox package does not declare cn, while the generator configuration names @videojs/utils/style as the cn source.

Likely cause

Verified facts: generated registry code imports bare cn; the sandbox dependency manifest has no cn dependency; Vite cannot resolve it in the failed run.

Inference: the registry/code-generation path is losing the configured module specifier (@videojs/utils/style) when emitting its utility re-export, or it is emitting a dependency that the sandbox does not provide. The failure predates the final PR commit and is not a stale expectation.

Recommended actions

  1. Reproduce the registry CSS and default catalog paths with pnpm exec vp run "@videojs/e2e#test:sandbox" and retain the generated lib/utils.ts files.
  2. Trace the React registry generator from packages/skins/build/target/react.tsx through generated module emission; ensure the emitted import remains @videojs/utils/style, or explicitly provide the correct runtime dependency.
  3. Add an integration check that starts the sandbox and loads both registry styling paths, so generated bare imports fail before browser assertions.

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions