test(connections): the reopened dismissed-dialog spec fails intermittently

Đang mở
#448 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
nextjs, playwright, react, typescript
Lĩnh vực
frontend, testing

Hướng nghiên cứu

Run safe-e2e.sh <worktree> <port> -c playwright.config.ts e2e/connections.spec.ts:485 --repeat-each 20 first to see the flake and pull the trace. Then read the #367 tests around e2e/connections.spec.ts:485-531 alongside src/app/w/[workspace]/connections/[connectionId]/page.tsx and its not-found handling, checking whether the route refresh after the released action re-renders for a connection deleteConnectionRow already removed. Done means 20 guarded runs pass with the assertion unloosened, and a recorded verdict on whether the test or the page is wrong; the "workspace" wording in the not-found copy is a separate note.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: connections bug priority: P3 size: S

Context

e2e/connections.spec.ts:485 "shows a failure beside the opener when its dialog was dismissed and reopened while working (#367)" failed once and passed on the next run, on branch 442-e2e-failures (#446), whose diff does not touch this test or the page it covers. It passed in the two runs before that too, so it is intermittent. Found while verifying #442.

Failure: locator.click: Test timeout of 30000ms exceeded at line 531 (await opener.click(), "Opening the dialog again starts fresh"), waiting for getByRole('main').getByRole('button', { name: 'Disconnect', exact: true }). The page snapshot at the timeout shows the connection page replaced by the not-found state:

- main:
    - paragraph: Not found
    - heading "We could not find that workspace" [level=1]
    - paragraph: The link may be mistyped, or you may not be a member of this workspace. ...

The test deletes the connection row (deleteConnectionRow) while the held server action is pending, then releases it. Hypothesis, not yet checked: once the action settles, the route refresh re-renders the page for a connection that no longer exists, so the opener goes away before the second opener.click(), depending on timing. The not-found copy also says "workspace" for what is a missing connection, which may be a separate copy bug.

The failure screenshot was overwritten by the passing rerun; the page snapshot above is from error-context.md of the failed run.

Plan

  1. Reproduce with repeated runs of this one test through safe-e2e.sh (--repeat-each), and capture the trace.
  2. Decide whether the test is wrong (it expects the page to stay after its connection is deleted) or the UI is (the page should keep the opener and show the failure, per #367), and record which on this issue.
  3. Fix accordingly, without loosening the assertion.

Acceptance criteria

  • The test passes on 20 repeated runs through the guarded runner
  • Playwright e2e: this spec is the coverage

Files and areas

e2e/connections.spec.ts (the #367 tests), src/app/w/[workspace]/connections/[connectionId]/page.tsx and its not-found handling. Non-goals: other connection specs.

Verification

safe-e2e.sh <worktree> <port> -c playwright.config.ts e2e/connections.spec.ts:485 --repeat-each 20 -> 0 failures.

Model: anthropic/claude-opus-5-5 | Reasoning effort: not reported by the harness

Ngôn ngữ chính
TypeScript
Star
1
Fork
1
Merge trung bình
6 giờ 56 phút
Pull request đã merge (30 ngày)
136

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của eddiejaoude/StackDash

Tất cả issue của eddiejaoude/StackDash

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.