Skip to content

fix: await hydration across dashboard E2E interactions - #507

Merged
sh4869221b merged 1 commit into
mainfrom
fix/e2e-hydration-readiness
Oct 7, 2026
Merged

sh4869221b merged 1 commit into
mainfrom
fix/e2e-hydration-readiness

Conversation

@sh4869221b

@sh4869221b sh4869221b commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

原因

PR #506 の失敗 trace では、開始日を 2026-09- に入力した時点で main[aria-busy=true](hydration前)でした。次の入力前に hydration が完了して開始日が初期値へ戻ったため、送信時は空の終了日に正しくフォーカスしていました。focus待ち時間ではなく、テストの入力前提が崩れています。

修正

  • E2Eの83 navigation地点を監査。未保護の55操作開始経路に既存 waitForDashboardReady を適用(49待機地点、履歴helperで7経路をまとめて保護)。
  • 期間作成・日付picker・calendar keyboard・history/modal・shell・統合フローのreload・framework routerを対象に修正。
  • 既に保護されていた19経路、SSR/URLのみ確認する8地点、意図的な初期化前検証は維持。
  • 初期作成(navigation/reload)とcalendar keyboard+追加期間作成の遅延hydration回帰3件を追加。既存settings回帰も維持。
  • 固定sleep・timeout延長・retry追加・assertion削除・アプリ/依存変更なし。

検証

  • 独立レビュー済み。format:check、lint:ci、Fallow全3 gate、git diff --check成功。
  • 修正head 989a288 のGitHub CIは全12ジョブ成功。E2E118件(shard 1:62、shard 2:56)、unit534件、integration79件が全件成功。追加した遅延hydration3件と元の失敗テストも成功しました。
  • ローカル型チェックはメモリ不足。unitは530成功/3失敗(既存のFallow負例2件の5000ms超過とESLint subprocess timeout、worker SIGKILLも記録)。integrationは78成功/1失敗(sqlite3 CLI未導入のENOENT)。buildはSSR生成後にSIGKILL。ローカル結果は成功扱いせず、上記GitHub CI全gateで検証しました。承認後のローカルChromium取得も公式配布ZIPの取得/展開エラーで失敗したため、実ブラウザー成功の根拠はGitHub CIです。
  • baseはmain 6de0c00(pnpm12.9.0)。#506のアプリ依存lock documentはbaseと完全一致しますが、#506自体のCIはこの修正取り込み後に別途検証が必要です。

関連: #498、#506。マージは行いません。

@sh4869221b
sh4869221b marked this pull request as ready for review October 7, 2026 02:59
@sh4869221b
sh4869221b merged commit d74d6ac into main Oct 7, 2026
13 checks passed
@sh4869221b
sh4869221b deleted the fix/e2e-hydration-readiness branch October 7, 2026 03:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant