fix(web): six e2e tests fail since the header live indicator lists connections
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- nextjs, playwright, react, typescript
- Ambito
- testing
Direzione di ricerca
Start by reading the header indicator in src/components/app/arrivals.tsx (around lines 290 and 359) and the badge in src/components/connections/connection-status-badge.tsx:43 to see why the hidden tooltip duplicates page text. Then fix each lookup at e2e/connections.spec.ts:123,254,539, e2e/digitalocean.spec.ts:17 and e2e/posthog.spec.ts:14, scoping them to main content or role/name so they still fail if the page text disappears; the infinite .live-ready animation in src/app/globals.css:430 is what stalls the helper at e2e/year-in-review.spec.ts:16. Run the four specs through safe-e2e.sh, then the full PW_PROJECT=instance-wide suite; done means all six pass and no instance-wide specs are skipped.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
Since #395 (1ec5fdd, Closes #392) put the connected connections in the header live indicator, six Chromium end-to-end tests fail on main. Because they are in the chromium project, Playwright then skips the four instance-wide specs (simulated-providers, alert-email, simulated-sentry, demo-event), so a full run on main covers 292 of 302 tests.
Found while running the full local gate for the #377 epic pull request. Each failure was rerun on its own with the guarded runner (safe-e2e.sh <dir> 3197 -c <throwaway config> <spec:line>...) on main at 1ec5fdd and on 377-timeline-polish at 373203e (which contains 1ec5fdd). All six fail the same way on both:
[chromium] e2e/connections.spec.ts:123 getByText('No connections yet') strict mode violation: resolved to 2 elements:
1) <p>No connections yet. Add one on the Connections pa…</p>
2) <h2 ...>No connections yet</h2>
[chromium] e2e/connections.spec.ts:254 getByText('Status: Needs attention').first() Expected: visible Received: hidden
[chromium] e2e/connections.spec.ts:539 getByText('Status: Active').first() Expected: visible Received: hidden
[chromium] e2e/digitalocean.spec.ts:17 getByText('Example team').first() Expected: visible Received: hidden
[chromium] e2e/posthog.spec.ts:14 getByText('Example organization').first() Expected: visible Received: hidden
[chromium] e2e/year-in-review.spec.ts:22 Test timeout of 30000ms exceeded.
> 16 | await page.evaluate(() => Promise.all(document.getAnimations().map((animation) => animation.finished)));
Causes, from the code on main:
src/components/app/arrivals.tsxrendersLiveConnectionsListinside the header indicator's tooltip on every workspace page. It printsNo connections yet. Add one on the Connections page.(line 359) and each connection with its status badge, whose screen reader text isStatus: <label>(src/components/connections/connection-status-badge.tsx:43), plus the connection and account names. The tooltip is in the DOM but hidden, and it comes before the page content, sogetByText(...)is ambiguous andgetByText(...).first()picks the hidden copy.src/app/globals.css:430gives.live-ready(the live dot,arrivals.tsx:290)animation: live-ready 2.4s ease-out infinite. An infinite animation'sfinishedpromise never resolves, so the year in review spec's "wait for every animation" helper (e2e/year-in-review.spec.ts:16) waits until the test times out. The spec does not use reduced motion, which is the only state that stops the animation.
GitHub Actions has produced no run since 2026-11-06, so CI did not catch this on #395.
Plan
- Scope the five text lookups to the page content rather than the whole document (for example
page.getByRole("main")), or select the elements by role and accessible name, so the header tooltip cannot match. Do not change the tooltip copy to dodge the selectors. - Make the year in review helper wait only for animations that can finish (skip those whose effect timing has
iterations: Infinity), or scope it to the slide element it scans. - Run the six tests, then the full suite, so the
instance-widespecs run again.
Acceptance criteria
- The six tests above pass on a local run with the header live indicator showing connections and showing none.
- A full run of
playwright test --project=instance-wide(chromium as its dependency) reports no skippedinstance-widespecs. - No assertion is loosened: each lookup still fails if the page itself stops showing the text.
Files and areas
e2e/connections.spec.ts,e2e/digitalocean.spec.ts,e2e/posthog.spec.ts,e2e/year-in-review.spec.ts.- Non-goals: changing the live indicator's behavior or copy (#392), and the GitHub Actions outage.
Verification
/Users/eddie/Downloads/brain/scripts/safe-e2e.sh <worktree> <port> -c <config> e2e/connections.spec.ts e2e/digitalocean.spec.ts e2e/posthog.spec.ts e2e/year-in-review.spec.ts passes, then the full suite with PW_PROJECT=instance-wide.
Model: anthropic/claude-opus-5-5 | Reasoning effort: not exposed by harness
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 1
- Merge medio
- 6h 56m
- PR unite (30g)
- 136
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eddiejaoude/StackDash
-
area: docs documentation priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eddiejaoude/StackDash#462 ·
I maintainer di solito rispondono entro 1 giorno
-
area: web bug priority: P3 size: XS
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
eddiejaoude/StackDash#432 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: database bug priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eddiejaoude/StackDash#419 ·
I maintainer di solito rispondono entro 1 giorno
-
area: docs bug priority: P2 size: XS
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
eddiejaoude/StackDash#418 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility area: timeline bug priority: P3 size: XS
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
eddiejaoude/StackDash#389 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eddiejaoude/StackDash
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
open-webui/tether#52 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
voidzero-dev/void#835 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AykutSarac/jsoncrack.com#616 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
melgarafael/DeskcommCRM#4679 ·
I maintainer di solito rispondono entro 1 giorno