Skip to content

Fix datepicker overlay click intercept - #19

Merged
Shinoryo merged 18 commits into
mainfrom
fix-datepicker-overlay-click-intercept
May 31, 2026
Merged

Fix datepicker overlay click intercept#19
Shinoryo merged 18 commits into
mainfrom
fix-datepicker-overlay-click-intercept

Conversation

@Shinoryo

Copy link
Copy Markdown
Owner

概要

  • Money Forward の手入力モーダルで日付入力後に datepicker が残ることで、保存ボタンのクリックが阻害されるケースを改善するための変更です。
  • 保存直前に datepicker のクローズを試行し、UI 重なりによる登録失敗リスクを下げます。

変更内容

  • 保存前の UI 安定化処理を追加
    • 日付入力後、Escape 押下と blur 実行で datepicker クローズを試行
    • datepicker 非表示化を短時間待機して、保存クリックに進むよう調整
  • UI 安定化処理を分離
    • import-paypay-to-mfme.js から処理を切り出し
    • ui-stability.js を新規追加して closeDatepickerBeforeSubmit を集約
  • テスト追加
    • ui-stability.test.js を新規追加
    • 正常系(手順順序)と例外系(各ステップ失敗時も継続)を検証
  • ドキュメント更新
    • README.md に datepicker クローズ挙動を追記
    • test-spec.md に UI 安定化観点(TC-UI-01)を追加
  • スタイル調整
    • ui-stability.js の末尾改行を正規化

動作確認

  • 実施手順(必要に応じて実測結果に置き換えてください)
    • npm ci
    • npm run smoke:dry-run
    • node --test ui-stability.test.js
  • 確認観点
    • 保存前に datepicker クローズ処理が呼ばれること
    • クローズ処理内の各ステップ失敗時でも保存フローが継続可能なこと
  • 動作確認環境(記入例)
    • OS: Windows 11
    • Node.js: v24.12.0
    • ブラウザ: Chromium(Playwright 1.59.1)

チェックリスト

  • コードにバグがないか確認した
  • ドキュメントを更新した(必要な場合)
  • テストを追加/修正した(必要な場合)

@Shinoryo Shinoryo added this to the v1.1.1 milestone May 26, 2026
@Shinoryo
Shinoryo requested a review from Copilot May 26, 2026 15:46
@Shinoryo Shinoryo self-assigned this May 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reduces the risk of Money Forward’s datepicker overlay intercepting the “保存” (submit) click by adding a pre-submit UI stabilization step that attempts to close the datepicker after date entry.

Changes:

  • Add closeDatepickerBeforeSubmit (Escape + blur + short wait for datepicker invisibility) in a new src/ui-stability.js module.
  • Invoke the new UI-stabilization step in importTransactions just before clicking the submit button.
  • Add a unit test for the new helper and update docs (README + test spec) to describe the behavior.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/ui-stability.test.js Adds unit tests validating the helper’s step order and error-swallowing behavior.
src/ui-stability.js Introduces the datepicker close + wait helper used to stabilize UI before submit.
src/import-paypay-to-mfme.js Calls the new helper after filling the date field and before submit click.
README.md Documents the new “close datepicker before save” behavior and adjusts process description.
docs/test-spec.md Adds a UI-stability test perspective/case entry for the datepicker close behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/ui-stability.js Outdated
Comment thread src/ui-stability.js Outdated
Comment thread src/import-paypay-to-mfme.js
Comment thread docs/test-spec.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment thread src/ui-stability.js Outdated
Comment thread src/ui-stability.js Outdated
@Shinoryo
Shinoryo merged commit 3d7875c into main May 31, 2026
1 check passed
@Shinoryo
Shinoryo deleted the fix-datepicker-overlay-click-intercept branch May 31, 2026 08:40
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.

[バグ] 保存時に datepicker が前面残留してクリックを遮断し、登録がタイムアウトする

2 participants