Skip to content

AIとの接続で保存したチェックが開いたときの状態に戻る不具合を直す - #533

Open
cateiru wants to merge 1 commit into
mainfrom
fix/527-ai-connection-permissions-reset
Open

cateiru wants to merge 1 commit into
mainfrom
fix/527-ai-connection-permissions-reset

Conversation

@cateiru

@cateiru cateiru commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

概要

Closes #527

設定の「AIとの接続」で許可する範囲を保存すると、表示だけがページを開いたときのチェックに戻り、再読み込みすると正しい状態になる不具合を直しました。

原因

  • React 19 は <form action={...}> で送ったフォームを、Action が終わったあとに自動で reset します。
  • react-aria の Checkbox(useToggle)は useFormReset でフォームの reset イベントを受け、マウント時の値で setSelected を呼びます。
  • setSelected は onChange を呼ぶため、isSelected で制御しているチェックボックスでも McpPermissionTreeField の state がマウント時の値に書き戻されます。
  • 保存は成功しているため、再読み込みすると正しい状態が表示されます。

変更点

  • McpPermissionsForm で送信を onSubmit で受け、preventDefault したうえで startTransition の中で formAction を呼ぶようにしました。React の自動 reset が走らないため、保存後も選んだチェックのまま表示されます。
  • ユニットテスト(McpPermissionsForm.test.tsx)を追加しました。家の「書く」を付けて保存した後も、チェックが付いたままであることを確かめます。
  • E2E(e2e/ai-connections.spec.ts)で、保存後に「保存する」ボタンが押せるようになるまで待ってから、再読み込み前のチェックの状態を確かめるようにしました。チェックが戻るのはトーストより後の、再検証が終わるタイミングのため、ボタンを待っています。
  • リリースノートを追記し、バージョンを 0.69.1 に上げました(不具合修正のためパッチ)。

確認したこと

  • 追加したユニットテストが、修正前に失敗し修正後に通ることを確認しました。
  • 追加した E2E のアサーションが、修正前に失敗し(保存後に「うんちを読む」がチェックありに戻る)、修正後に通ることをローカルで確認しました。
    • ローカル D1 には E2E の残りの猫が多く(111 匹)、既定の 30 秒を超えるため --timeout=180000 で実行しました。
  • pnpm test・tsc --noEmit・pnpm lint(既存の警告のみ)が通ることを確認しました。

範囲外

デプロイ

マイグレーションはありません。マージ後の自動デプロイだけで反映されます。

🤖 Generated with Claude Code

https://claude.ai/code/session_01GXATvk9xNT9gCRz7KbvTGG

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-09T14:55:56.738533Z 09f405c New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cateiru cateiru self-assigned this Nov 9, 2026
React は action で送ったフォームを送信後に reset し、react-aria の Checkbox は
reset でマウント時の値に戻そうとして onChange を呼ぶため、保存後に表示だけが
ページを開いたときの状態に戻っていた。送信を onSubmit で受けて action を
startTransition の中で呼び、フォームが reset されないようにする。

Closes #527

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXATvk9xNT9gCRz7KbvTGG
@cateiru

cateiru commented Nov 9, 2026

Copy link
Copy Markdown
Owner Author

/e2e

@cateiru
cateiru force-pushed the fix/527-ai-connection-permissions-reset branch from 915b9e6 to 09f405c Compare November 9, 2026 14:54
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

管理画面の VRT (reg-suit) 結果

ステータス 件数
差分あり 0
新規 0
削除 0
変化なし 19

reg-suit レポートを見る

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

VRT (reg-suit) 結果

ステータス 件数
差分あり 1
新規 0
削除 0
変化なし 159

reg-suit レポートを見る

差分があったページ

  • 記録追加ページ(日付欄あり) - ごはん記録追加ページ(あいまいモード)の見た目.png

@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://fix-527-ai-connection-permissions-reset-canshi.cateiru-fe4.workers.dev (commit 09f405c)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://329f61d5-canshi.cateiru-fe4.workers.dev 09f405c 2026-11-09T14:56:28.908Z Visit the dashboard ↗

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.

AIとの接続ページでチェックを入れて「保存する」を押すとキャッシュが残ってチェックが外れた表示になる

1 participant