YuriyKrasilnikov commented on PR #37367:
URL: https://github.com/apache/superset/pull/37367#issuecomment-3794543737
### Playwright Timeout Analysis
**All 4 Playwright tests fail** with identical error: `Timeout 30000ms
exceeded navigating to /login/`
**All 12 Cypress tests pass** in the same CI run — including login
authentication.
---
#### Code Flow Analysis
The changes in this PR **cannot affect the login page**:
```
Login Page Flow:
/login/ → Flask → spa.html → loads "spa" bundle
↓
preamble.ts + views/index.tsx
(embedded code NOT loaded)
Embedded Page Flow:
/embedded/uuid/ → Flask → spa.html → loads "embedded" bundle
↓
preamble.ts + embedded/index.tsx
↓
setupEmbedded() ← our change
```
**Key points:**
- Webpack entry points are **completely separate** (`spa` vs `embedded`)
- Login page loads `entry="spa"`, never touches `embedded/index.tsx`
- `initFeatureFlags()` has idempotent guard: `if (!window.featureFlags)`
- Login component does **not** use `isFeatureEnabled()`
---
#### Proof: Cypress Tests Pass with Same Login
Cypress tests in this PR use the same `/login/` endpoint and **all pass**:
| Test | Status | Time |
|------|--------|------|
| cypress-matrix (0, chrome) | ✅ pass | 14m |
| cypress-matrix (1, chrome) | ✅ pass | 14m |
| cypress-matrix (2, chrome) | ✅ pass | 14m |
| ... | ✅ pass | ... |
| **All 12 Cypress jobs** | ✅ **pass** | |
Cypress login command (`cy.login()`) posts to `/login/` — same endpoint
Playwright fails on.
---
#### Root Cause: Playwright Wait Strategy
| Aspect | Playwright | Cypress |
|--------|-----------|---------|
| Login method | `page.goto('/login/')` waits for 'load' event |
`cy.request(POST '/login/')` HTTP-only |
| Timeout | 30s for full page load | 10s per HTTP request |
| Failure mode | Times out if JS slow to load | Returns on HTTP response |
Playwright requires the full page 'load' event. If Flask cold start or asset
loading is slow, the 30s timeout is exceeded — even though the server is
functional (proven by Cypress passing).
---
#### Conclusion
This is a **Playwright infrastructure flakiness issue**, not a code
regression. The login endpoint works (Cypress proves it), and the embedded code
changes cannot affect the spa bundle.
Requesting re-run of failed Playwright tests.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]