Skip to content

feat(web): resolve blocked issues from cards - #312

Merged
version-1 merged 4 commits into
mainfrom
feat/resolve-blocked-card
Aug 14, 2026
Merged

feat(web): resolve blocked issues from cards#312
version-1 merged 4 commits into
mainfrom
feat/resolve-blocked-card

Conversation

@version-1

Copy link
Copy Markdown
Owner

Resolve blocked issues from Issue Cards

Summary

Blocked Issue Cards can now open a guided Resolve flow instead of moving directly to Ready. The dialog shows the latest blocker comment as read-only context, accepts a free-text resolution or an Ok / Retry shortcut, creates a Change Request, and then moves the Issue to ready.

主な変更点:

  • blocked card の Ready quick action を Resolve に変更
  • comment の全ページから最新 blocker comment を取得してダイアログに表示
  • フリーテキストと Ok / Retry の即時送信に対応
  • blocker 取得失敗時の再読み込みと、取得完了までの送信抑止を追加
  • status 更新失敗後にダイアログを閉じても Change Request を二重作成しない recovery state を追加

Screenshot

Resolve blocked issue dialog

やったこと

  • Issue Card から Layout 管理の Resolve dialog を開くイベントを追加
  • 最新 blocker comment のページング取得を独立した helper に分離
  • Resolve 専用 dialog が blocker の loading / error / ready state を管理
  • ChangeRequestDialog に context slot、shortcut、外部 submission lock、作成済み通知を追加
  • Change Request 作成済み状態を Issue 単位で Layout に保持し、再オープン時に復元
  • Storybook story、スクリーンショット、日英 UI design documentation を追加
  • 正常系、取得失敗、再読み込み、shortcut、status recovery、カード action のテストを追加

動作確認

  • bun run typecheck
  • bun run test — 26 files / 146 tests
  • bun run build
  • Storybook の ResolveIssueDialog を Chromium で 1280×900 撮影
  • git diff --check

レビュー & 動作確認 チェックリスト

  • 最新 blocker の選択 - 複数ページにまたがっても最大 ID の blocker が表示されること
  • 送信順序 - Change Request 作成後に Issue が ready へ移ること
  • 二重作成防止 - status 失敗後に閉じて再度 Resolve しても Change Request を再作成しないこと
  • 取得失敗時の安全性 - blocker を確認できるまで free text と shortcut が無効であること
  • 表示確認 - light / dark theme と狭い viewport で dialog が操作可能なこと

推奨テスト計画:

  1. blocked Issue Card の Resolve を押し、最新 blocker comment が表示されることを確認する。
  2. Ok または Retry を押し、Change Request 作成と ready 遷移を確認する。
  3. free text でも同じ遷移になることを確認する。
  4. status API だけを失敗させ、ダイアログを閉じて再度開き、再送時に Change Request が増えないことを確認する。
  5. comment API を失敗させ、送信不可と再読み込み動作を確認する。

その他気になることや相談ごと

  • Production build は成功していますが、既存の 500 kB 超 chunk warning は継続しています。
  • Reviewer の High 指摘だった「status 失敗後の再オープンによる二重作成」は commit 14b339a で解消済みです。
  • Layout を通した Cancel → Resolve 再オープンの統合テストは未追加ですが、Dialog の unmount/remount contract と Layout の recovery 配線は個別に確認しています。

Replace the blocked-card Ready action with a Resolve flow that loads the latest blocker comment, supports free-text and shortcut change requests, and moves the issue to ready with recovery-safe submission behavior. Add frontend tests, Storybook coverage, and synchronized UI documentation.
Inject the latest-blocker loader so Storybook can render the resolved dialog deterministically without relying on a live issue tracker.
Capture the deterministic ResolveIssueDialog Storybook story for inclusion in the pull request description.
Keep the created change-request state in the layout when a status update fails so closing and reopening Resolve retries only the ready transition instead of creating a duplicate request.
@version-1
version-1 merged commit a86ebff into main Aug 14, 2026
5 checks passed
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