[Flaky CI]: Playwright esm Tests - thirdPartyErrorsFilter third-party error can fire before Sentry.init
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, playwright, typescript
調査の方向性
suites/integrations/thirdPartyErrorsFilter/test.ts、template.html、utils/generatePage.tsから始めて、first-party エラーと third-party エラーがいつ発生するかを比較してください。レポートでは、page.gotoの後にボタンをクリックして third-party エラーを発生させ、その後、テストがイベントを受信してタグ付けすることを確認する方法が提案されています。動作を確認するため、esm スイート内の指定された Playwright テストを実行してください。
索引モデルが issue の本文から書いたものです。
説明
Flakiness Type
Timeout
Name of Job
CI: Build & Test / Playwright esm (1/4) Tests
Name of Test
suites/integrations/thirdPartyErrorsFilter/test.ts › tags event if contains at least one third-party frame (chromium)
Link to Test Run
https://github.com/getsentry/sentry-javascript/actions/runs/42369835136/job/128396391992
Details
Failed 3 times on develop between Nov 5 and Nov 7 (run, run, run), always page.waitForRequest: Test timeout of 30000ms exceeded. The other test in the file hasn't failed.
I think it's a script-ordering race. template.html loads thirdPartyScript.js as a blocking script, which throws from a setTimeout(..., 100). The init bundle is injected with scriptLoading: 'defer' (utils/generatePage.ts), so it only runs after parsing. If the deferred init takes longer than 100 ms on a slow runner, the error fires before Sentry.init has installed the global handler, and no event is ever sent. The first-party test avoids this because its error comes from page.click after page.goto.
I haven't reproduced it locally. Suggested fix: have thirdPartyScript.js throw from a click handler on its own button, and click it in the test after page.goto, mirroring the first-party test. The error still only has a frame from the third-party script, so the assertion means the same thing. Happy to open a PR if that sounds right.
- 主要言語
- TypeScript
- スター
- 8.8k
- フォーク
- 1.9k
- 平均マージ
- 1日 21時間
- マージ済み PR(30日)
- 637
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getsentry/sentry-javascript のほかの issue
-
Bug Node.js Waiting for: Product Owner
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
getsentry/sentry-javascript#26202 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Workers AI integration drops output of non-streaming chat responses in the OpenAI format (`choices`)対応中かも @andreiborza が 1 日前に担当しました。 オープンBug Cloudflare Workers Spans Waiting for: Product Owner
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getsentry/sentry-javascript#26120 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Only create Nuxt database and storage spans when there is a parent span対応中かも @nicohrubec が 9 日前に担当しました。 オープンImprovement Nuxt
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
getsentry/sentry-javascript#25805 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Only create Cloudflare storage and D1 db spans when there is a parent span対応中かも @nicohrubec が 9 日前に担当しました。 オープンCloudflare Workers Improvement Spans
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getsentry/sentry-javascript#25804 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Only create aws-sdk DynamoDB db spans when there is a parent span対応中かも @nicohrubec が 9 日前に担当しました。 オープンBug javascript
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
getsentry/sentry-javascript#25801 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
getsentry/sentry-javascript の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
bytedance/flowgram.ai#1235 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
devswha/herdr-web-ui#3325 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
desktop v3 windows
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
esengine/DeepSeek-Reasonix#15016 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信