Skip to content

fix: Bootstrap 5 に存在しない mr-2 / mr-3 を me-2 / me-3 に修正 - #200

Closed
ttokoro20240902 wants to merge 2 commits into
4.2from
fix/bootstrap5-margin-utility
Closed

fix: Bootstrap 5 に存在しない mr-2 / mr-3 を me-2 / me-3 に修正#200
ttokoro20240902 wants to merge 2 commits into
4.2from
fix/bootstrap5-margin-utility

Conversation

@ttokoro20240902

@ttokoro20240902 ttokoro20240902 commented Aug 3, 2026

Copy link
Copy Markdown

概要

管理画面のクーポン登録画面に Bootstrap 4 の右マージンユーティリティ(mr-*)が残っており、何のスタイルも当たっていません。Bootstrap 5 では me-* にリネームされているため、ボタン/アイコンの余白が詰まって表示されます。

#197 のレビューで nanasess から指摘された既存不具合で、4.4 対応ブランチ側は #197 に同梱して修正済みです。default ブランチ (4.2) にも同じ 5 箇所が存在するため、こちらにも反映します。

変更内容

ファイル 変更
Resource/template/admin/regist.twig 411 / 473 mr-3me-3
Resource/template/admin/regist.twig 450 mr-2me-2
Resource/template/admin/regist_product_list_prototype.twig 17 mr-3me-3
Resource/template/admin/regist_category_list_prototype.twig 16 mr-3me-3

根拠

  • 管理画面の html/template/admin/assets/css/bootstrap.css.mr-2 のルールは 存在しません.me-2 は存在します)
  • 同じ regist.twig の 391 行だけが me-2 になっており不統一でした
  • 他の Bootstrap 4 残骸(ml-* / pr-* / float-left / badge-* / sr-only など)は grep で 0 件のため、本 PR の対象は上記 5 箇所のみです

テンプレートのクラス名のみの変更で、ロジック・テストへの影響はありません。

CI について(追加コミット 75fd402

本 PR を出した時点で、4.2 ブランチの CI が全ジョブ failure になっていました。原因はテンプレート変更ではなく、GitHub 側で actions/cache v1 が廃止され、ワークフローが自動的に失敗するようになったためです。

##[error]This request has been automatically failed because it uses a
deprecated version of `actions/cache: v1`.

本 PR の内容を CI で検証できるようにするため、最小限だけ追随しています。

  • actions/cache@v1@v4
  • ::set-output$GITHUB_OUTPUT(同じく非推奨)

actions/checkout@v2 などの他の古い action は本 PR では触っていません。CI 更新を別 PR に分けたい場合はお知らせください。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • テスト

    • ショップのトップ、商品一覧・詳細、カート、ログイン、顧客情報入力、注文手続き、クーポン、複数配送先指定などの画面状態を追加しました。
    • 管理画面のホーム、ページ管理、クーポン登録画面のアクセシビリティ情報を追加しました。
    • 正常画面に加え、エラー画面の表示状態も記録しました。
  • スタイル

    • 管理画面のボタンやリンクの余白表示を現行のデザイン仕様に合わせました。

管理画面のクーポン登録画面で、Bootstrap 4 の右マージンユーティリティ
(mr-*) が残っており、スタイルが当たっていなかった。Bootstrap 5 では
me-* にリネームされている。

- Resource/template/admin/regist.twig (411 / 450 / 473 行)
- Resource/template/admin/regist_product_list_prototype.twig
- Resource/template/admin/regist_category_list_prototype.twig

admin の bootstrap.css に .mr-2 のルールは存在せず (.me-2 は存在する) 、
同じ regist.twig の 391 行だけが me-2 で不統一だった。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

EC-CUBEのショップ画面、管理画面、HTTP 500画面のPlaywrightアクセシビリティスナップショットを追加しました。管理画面テンプレートのBootstrap余白クラスも更新しました。

Changes

ショップ画面スナップショット

Layer / File(s) Summary
ショップトップと商品表示
.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml, .playwright-mcp/page-2026-07-03T06-10-41-082Z.yml, .playwright-mcp/page-2026-07-03T06-10-59-326Z.yml, .playwright-mcp/page-2026-08-03T05-27-40-288Z.yml, .playwright-mcp/page-2026-08-03T05-27-54-278Z.yml
トップページと商品詳細ページの画面要素、商品情報、共通ナビゲーション、フッター、Symfony Web Debug Toolbarを追加しました。
カートとログイン画面
.playwright-mcp/page-2026-07-03T06-11-05-809Z.yml, .playwright-mcp/page-2026-07-03T06-11-16-212Z.yml, .playwright-mcp/page-2026-07-03T07-23-31-914Z.yml, .playwright-mcp/page-2026-07-03T07-23-47-382Z.yml, .playwright-mcp/page-2026-08-03T05-28-00-046Z.yml, .playwright-mcp/page-2026-08-03T05-28-11-982Z.yml, .playwright-mcp/page-2026-08-03T05-25-29-897Z.yml
カート内容、数量操作、購入導線、ログインフォーム、ゲスト購入、デバッグ情報を追加しました。
顧客情報と注文手続き
.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml, .playwright-mcp/page-2026-07-03T06-12-11-182Z.yml, .playwright-mcp/page-2026-07-03T07-23-52-543Z.yml, .playwright-mcp/page-2026-07-24-15-863Z.yml, .playwright-mcp/page-2026-08-03T05-28-32-923Z.yml, .playwright-mcp/page-2026-08-03T05-32-24-404Z.yml
顧客情報、配送情報、支払方法、クーポン、問い合わせ、注文金額、確認操作を追加しました。
クーポン入力画面
.playwright-mcp/page-2026-07-03T06-12-26-886Z.yml, .playwright-mcp/page-2026-07-03T06-12-51-021Z.yml, .playwright-mcp/page-2026-07-03T06-15-54-154Z.yml, .playwright-mcp/page-2026-07-03T06-16-00-407Z.yml, .playwright-mcp/page-2026-08-03T05-29-44-051Z.yml, .playwright-mcp/page-2026-08-03T05-30-36-393Z.yml
クーポン利用選択、コード入力、登録操作、戻る操作、フッター、デバッグ情報を追加しました。
複数配送先指定
.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml, .playwright-mcp/page-2026-08-03T05-32-31-517Z.yml, .playwright-mcp/page-2026-08-03T05-33-00-632Z.yml
配送先選択、配送数量、配送先追加、配送確定、戻る操作を追加しました。
ショップのエラー画面
.playwright-mcp/page-2026-07-03T07-21-49-407Z.yml, .playwright-mcp/page-2026-08-03T05-24-56-828Z.yml, .playwright-mcp/page-2026-08-03T05-29-19-775Z.yml
キャッシュ削除時のIOExceptionとTwig構文エラーを含むHTTP 500画面を追加しました。

管理画面スナップショット

Layer / File(s) Summary
管理画面ホームとページ管理
.playwright-mcp/page-2026-08-03T05-25-41-789Z.yml, .playwright-mcp/page-2026-08-03T05-25-48-517Z.yml
管理ナビゲーション、ホーム情報、警告、ページ設定、Twig編集、レイアウト設定、登録操作を追加しました。
管理画面のクーポン登録
.playwright-mcp/page-2026-08-03T05-26-22-467Z.yml
クーポン登録項目、対象商品、利用制限、値引き設定、発行枚数、期間、登録操作を追加しました。

Bootstrap余白クラス更新

Layer / File(s) Summary
管理画面ボタンの余白指定
Resource/template/admin/regist.twig, Resource/template/admin/regist_category_list_prototype.twig, Resource/template/admin/regist_product_list_prototype.twig
mr-*クラスをme-*クラスへ変更しました。

Estimated code review effort: 3 (Moderate) | ~25 minutes

Poem

うさぎが画面をぴょんと確認、
商品もカートも道しるべ。
クーポン入力、配送先指定、
管理画面の余白も整列。
スナップショットを耳で祝う。

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed タイトルはBootstrap 5の余白クラスをmr-*からme-*へ修正する主要変更を正確に示しています。
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/bootstrap5-margin-utility

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 8

🧹 Nitpick comments (1)
.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml (1)

1-245: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

10件の.playwright-mcp/スナップショットは同一の根本原因を共有します。 これらはPlaywright MCPの対話セッションから出力された生のアクセシビリティツリーであり、[ref=eXX]のようなセッション固有識別子を含みます。複数ファイルが同一画面をツールバーの読み込み段階違いだけで重複キャプチャしています。本PRの目的(管理画面のmr-2/mr-3me-2/me-3へ変更)とは無関係であり、これらを検証する自動テストも提供されたコンテキストに存在しません。

  • .playwright-mcp/page-2026-07-03T06-08-40-319Z.yml#L1-L245: このホームページスナップショットが自動テストから参照されているか確認する。参照がなければ削除を検討する。
  • .playwright-mcp/page-2026-07-03T06-10-41-082Z.yml#L1-L194: 商品詳細ページ(カート0件)の完了版。同じ状態を捉えた読み込み中版(page-2026-07-03T07-23-01-508Z.yml)と1か月後の再キャプチャ版(page-2026-08-03T05-27-40-288Z.yml)のうち、どれを正とするか決めて重複を整理する。
  • .playwright-mcp/page-2026-07-03T06-10-59-326Z.yml#L1-L203: カート追加直後の商品詳細ページ。同じ状態を捉えたpage-2026-08-03T05-27-54-278Z.ymlとの重複を整理する。
  • .playwright-mcp/page-2026-07-03T07-23-01-508Z.yml#L1-L132: Symfony Web Debug Toolbarが読み込み中の状態のみを捉えた低価値な重複ファイルを削除する。
  • .playwright-mcp/page-2026-08-03T05-27-40-288Z.yml#L1-L179: 1か月前のキャプチャと重複するファイルを削除するか、保持理由を明記する。
  • .playwright-mcp/page-2026-08-03T05-27-54-278Z.yml#L1-L186: page-2026-07-03T06-10-59-326Z.ymlとの重複を整理する。
  • .playwright-mcp/page-2026-07-03T06-11-05-809Z.yml#L1-L217: カートページの完了版。読み込み中版(page-2026-07-03T07-23-31-914Z.yml)との重複を整理する。
  • .playwright-mcp/page-2026-07-03T07-23-31-914Z.yml#L1-L155: Symfony Web Debug Toolbarが読み込み中の状態のみを捉えた低価値な重複ファイルを削除する。
  • .playwright-mcp/page-2026-08-03T05-32-31-517Z.yml#L1-L174: お届け先複数指定ページの完了版。読み込み中版(page-2026-08-03T05-33-00-632Z.yml)との重複を整理する。
  • .playwright-mcp/page-2026-08-03T05-33-00-632Z.yml#L1-L118: Symfony Web Debug Toolbarが読み込み中の状態のみを捉えた低価値な重複ファイルを削除する。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml around lines 1 - 245,
Playwright MCPの生スナップショットが重複しており、本PRの変更対象外です。自動テストからの参照を確認し、参照がない
.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml(1-245)は削除を検討してください。.playwright-mcp/page-2026-07-03T06-10-41-082Z.yml(1-194)と
page-2026-08-03T05-27-40-288Z.yml(1-179)は正となる一方を保持し、page-2026-07-03T06-10-59-326Z.yml(1-203)と
page-2026-08-03T05-27-54-278Z.yml(1-186)も一方に整理してください。読み込み中のみの
page-2026-07-03T07-23-01-508Z.yml(1-132)、page-2026-07-03T07-23-31-914Z.yml(1-155)、page-2026-08-03T05-33-00-632Z.yml(1-118)は削除し、page-2026-07-03T06-11-05-809Z.yml(1-217)と
page-2026-08-03T05-32-31-517Z.yml(1-174)は対応する読み込み中版との重複を整理してください。
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.playwright-mcp/page-2026-07-03T07-21-49-407Z.yml:
- Line 18: Remove or sanitize runtime-specific snapshot data in
.playwright-mcp/page-2026-07-03T07-21-49-407Z.yml:18-18,
.playwright-mcp/page-2026-08-03T05-24-56-828Z.yml:13-13, and
.playwright-mcp/page-2026-08-03T05-29-19-775Z.yml:171-179. Mask the variable
cache paths, file:///var/www/html absolute paths, and profiler ID, or exclude
these generated snapshots from the repository and Playwright comparison targets.

In @.playwright-mcp/page-2026-07-03T07-23-47-382Z.yml:
- Around line 19-21: Set an accessible name, such as an aria-label, on the
common-header search button associated with the searchbox "キーワードを入力", then
update the corresponding snapshot entries in
.playwright-mcp/page-2026-07-03T07-23-47-382Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-00-046Z.yml lines 17-19,
.playwright-mcp/page-2026-07-03T06-11-16-212Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-11-982Z.yml lines 17-19,
.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml lines 19-21,
.playwright-mcp/page-2026-07-03T07-23-52-543Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-32-923Z.yml lines 17-19,
.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml lines 17-19, and
.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml lines 17-19 to reflect that
name.

In @.playwright-mcp/page-2026-08-03T05-26-22-467Z.yml:
- Around line 161-163: Set an accessible name for the end-date input
corresponding to available_to_date by adding and associating a dedicated label,
using a name such as 「有効期間(終了日)」. Update the form definition in CouponType.php
and preserve its required end-date validation.

In @.playwright-mcp/page-2026-08-03T05-27-30-540Z.yml:
- Around line 20-34: 装飾用アイコンがリンク名へ混入しないよう、会員登録・お気に入り・ログインの各リンク内アイコンと同様のアイコン文字列に
aria-hidden="true"
を設定し、アクセシブルなリンク名を各日本語ラベルだけにしてください。メニューアイコンは装飾表示ではなく操作要素として、名前付きの button
として公開してください。
- Around line 35-39: Update the cart control represented by generic ref=f7e37 to
use a named link when it navigates to the cart, or a named button when it
performs JavaScript actions. Ensure the chosen control has an accessible name
and supports keyboard interaction instead of relying on cursor=pointer alone.
- Line 9:
検索・商品選択のcombobox、検索button、商品リンク、数量spinbuttonに、対象や操作内容を明確にするアクセシブルな名前を付与してください。各コントロールへ関連するlabel、aria-labelledby、または適切なaria-labelを設定し、画面上の表示名と重複しない一貫した名前で公開されるようにしてください。

In @.playwright-mcp/page-2026-08-03T05-29-44-051Z.yml:
- Around line 67-68: Remove the test marker COUPON-PAGE-EDIT-MARKER-197 from the
coupon input template in shopping_coupon.twig, then regenerate the corresponding
Playwright snapshot so the public page content no longer contains the marker.

In @.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml:
- Line 67:
クーポン入力画面の本文に表示される「COUPON-PAGE-EDIT-MARKER-197」をテンプレートまたは関連フックから削除し、その後
Playwright MCP の記録を再生成してマーカーが含まれない状態に更新してください。

---

Nitpick comments:
In @.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml:
- Around line 1-245: Playwright
MCPの生スナップショットが重複しており、本PRの変更対象外です。自動テストからの参照を確認し、参照がない
.playwright-mcp/page-2026-07-03T06-08-40-319Z.yml(1-245)は削除を検討してください。.playwright-mcp/page-2026-07-03T06-10-41-082Z.yml(1-194)と
page-2026-08-03T05-27-40-288Z.yml(1-179)は正となる一方を保持し、page-2026-07-03T06-10-59-326Z.yml(1-203)と
page-2026-08-03T05-27-54-278Z.yml(1-186)も一方に整理してください。読み込み中のみの
page-2026-07-03T07-23-01-508Z.yml(1-132)、page-2026-07-03T07-23-31-914Z.yml(1-155)、page-2026-08-03T05-33-00-632Z.yml(1-118)は削除し、page-2026-07-03T06-11-05-809Z.yml(1-217)と
page-2026-08-03T05-32-31-517Z.yml(1-174)は対応する読み込み中版との重複を整理してください。
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a18e0664-7f18-4141-bf07-16749f52004d

📥 Commits

Reviewing files that changed from the base of the PR and between 112ab3e and 8c3e743.

⛔ Files ignored due to path filters (14)
  • .playwright-mcp/console-2026-07-03T06-08-39-000Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-07-03T06-11-05-543Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-07-03T07-21-45-178Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-07-03T07-23-46-777Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-07-03T07-23-52-103Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-24-54-665Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-25-15-939Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-26-22-269Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-27-30-163Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-28-11-671Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-28-33-323Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-29-19-528Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-30-36-166Z.log is excluded by !**/*.log
  • .playwright-mcp/console-2026-08-03T05-32-24-002Z.log is excluded by !**/*.log
📒 Files selected for processing (39)
  • .playwright-mcp/page-2026-07-03T06-08-40-319Z.yml
  • .playwright-mcp/page-2026-07-03T06-10-41-082Z.yml
  • .playwright-mcp/page-2026-07-03T06-10-59-326Z.yml
  • .playwright-mcp/page-2026-07-03T06-11-05-809Z.yml
  • .playwright-mcp/page-2026-07-03T06-11-16-212Z.yml
  • .playwright-mcp/page-2026-07-03T06-11-29-081Z.yml
  • .playwright-mcp/page-2026-07-03T06-12-11-182Z.yml
  • .playwright-mcp/page-2026-07-03T06-12-26-886Z.yml
  • .playwright-mcp/page-2026-07-03T06-12-51-021Z.yml
  • .playwright-mcp/page-2026-07-03T06-15-54-154Z.yml
  • .playwright-mcp/page-2026-07-03T06-16-00-407Z.yml
  • .playwright-mcp/page-2026-07-03T07-21-49-407Z.yml
  • .playwright-mcp/page-2026-07-03T07-23-01-508Z.yml
  • .playwright-mcp/page-2026-07-03T07-23-31-914Z.yml
  • .playwright-mcp/page-2026-07-03T07-23-47-382Z.yml
  • .playwright-mcp/page-2026-07-03T07-23-52-543Z.yml
  • .playwright-mcp/page-2026-07-03T07-24-15-863Z.yml
  • .playwright-mcp/page-2026-07-03T07-24-22-271Z.yml
  • .playwright-mcp/page-2026-08-03T05-24-56-828Z.yml
  • .playwright-mcp/page-2026-08-03T05-25-29-897Z.yml
  • .playwright-mcp/page-2026-08-03T05-25-41-789Z.yml
  • .playwright-mcp/page-2026-08-03T05-25-48-517Z.yml
  • .playwright-mcp/page-2026-08-03T05-26-22-467Z.yml
  • .playwright-mcp/page-2026-08-03T05-27-30-540Z.yml
  • .playwright-mcp/page-2026-08-03T05-27-40-288Z.yml
  • .playwright-mcp/page-2026-08-03T05-27-54-278Z.yml
  • .playwright-mcp/page-2026-08-03T05-28-00-046Z.yml
  • .playwright-mcp/page-2026-08-03T05-28-11-982Z.yml
  • .playwright-mcp/page-2026-08-03T05-28-32-923Z.yml
  • .playwright-mcp/page-2026-08-03T05-29-19-775Z.yml
  • .playwright-mcp/page-2026-08-03T05-29-44-051Z.yml
  • .playwright-mcp/page-2026-08-03T05-30-36-393Z.yml
  • .playwright-mcp/page-2026-08-03T05-31-25-683Z.yml
  • .playwright-mcp/page-2026-08-03T05-32-24-404Z.yml
  • .playwright-mcp/page-2026-08-03T05-32-31-517Z.yml
  • .playwright-mcp/page-2026-08-03T05-33-00-632Z.yml
  • Resource/template/admin/regist.twig
  • Resource/template/admin/regist_category_list_prototype.twig
  • Resource/template/admin/regist_product_list_prototype.twig

- /url: "#trace-box-1"
- heading "HTTP 500 Internal Server Error" [level=2] [ref=e17]
- generic [ref=e19]:
- 'heading "Failed to remove file \"/var/www/html/var/cache/dev/.!!8kl/URI/4.19.0,81373184c6f30942fadaf90d195b52503f5834e7,1.ser\": unlink(/var/www/html/var/cache/dev/.!!8kl/URI/4.19.0,81373184c6f30942fadaf90d195b52503f5834e7,1.ser): Permission denied" [level=1] [ref=e20]'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

# スナップショットがテスト設定または比較処理から参照されるか確認する。
rg -n --hidden -C 3 \
  '(\.playwright-mcp|toMatchSnapshot|snapshotPathTemplate|playwright)' \
  -g '!**/.git/**' .

# 実行ごとに変化する値と環境固有の値を確認する。
rg -n \
  '\.\!\![^/"]+|file:///var/www/html|/_profiler/[[:alnum:]]+' \
  .playwright-mcp/page-2026-07-03T07-21-49-407Z.yml \
  .playwright-mcp/page-2026-08-03T05-24-56-828Z.yml \
  .playwright-mcp/page-2026-08-03T05-29-19-775Z.yml

Repository: EC-CUBE/coupon-plugin

Length of output: 159


🏁 Script executed:

#!/usr/bin/env bash
set -u

echo "tracked files matching .playwright-mcp:"
git ls-files .playwright-mcp | sed -n '1,80p'

echo
echo "yml lines containing target fragments:"
for f in \
  .playwright-mcp/page-2026-07-03T07-21-49-407Z.yml \
  .playwright-mcp/page-2026-08-03T05-24-56-828Z.yml \
  .playwright-mcp/page-2026-08-03T05-29-19-775Z.yml
do
  if [ -f "$f" ]; then
    echo "--- $f"
    wc -l "$f"
    rg -n -C 2 "Failed to remove file|/var/www/html|/var/cache/dev|/\\_profiler/|Symfony Web Debug Toolbar|Loading…|Close Toolbar" "$f" || true
  else
    echo "--- MISSING: $f"
  fi
done

echo
echo "config/test references to .playwright-mcp or playwright:"
rg -n --hidden -C 2 \
  '(\.playwright-mcp|toMatchSnapshot|snapshotPathTemplate|`@playwright`|playwright|playwright-mcp)' \
  -g '!**/.git/**' . || true

Repository: EC-CUBE/coupon-plugin

Length of output: 16876


実行時データを含んだスナップショットをリポジトリから外してください。

.playwright-mcp/page-2026-07-03T07-21-49-407Z.ymlfailed to remove file / file:///var/www/html などと、.playwright-mcp/page-2026-08-03T05-24-56-828Z.ymlfailed to remove file / file:///var/www/html は、每次実行で変動するキャッシュ一時ディレクトリやローカル絶対パスです。.playwright-mcp/page-2026-08-03T05-29-19-775Z.ymlfile:///var/www/html と profiler ID (/_profiler/59171a?panel=request) を含み、Playwright の比較対象であれば不要な差分になります。これらの箇所はマスクするか、実行時データを含む生成物のコミットを見直してください。

📍 Affects 3 files
  • .playwright-mcp/page-2026-07-03T07-21-49-407Z.yml#L18-L18 (this comment)
  • .playwright-mcp/page-2026-08-03T05-24-56-828Z.yml#L13-L13
  • .playwright-mcp/page-2026-08-03T05-29-19-775Z.yml#L171-L179
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-07-03T07-21-49-407Z.yml at line 18, Remove or
sanitize runtime-specific snapshot data in
.playwright-mcp/page-2026-07-03T07-21-49-407Z.yml:18-18,
.playwright-mcp/page-2026-08-03T05-24-56-828Z.yml:13-13, and
.playwright-mcp/page-2026-08-03T05-29-19-775Z.yml:171-179. Mask the variable
cache paths, file:///var/www/html absolute paths, and profiler ID, or exclude
these generated snapshots from the repository and Playwright comparison targets.

Comment on lines +19 to +21
- generic [ref=f3e16]:
- searchbox "キーワードを入力" [ref=f3e17]
- button [ref=f3e18] [cursor=pointer]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n -C 5 'キーワードを入力' .

Repository: EC-CUBE/coupon-plugin

Length of output: 159


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Tracked files under .playwright-mcp:\n'
git ls-files '.playwright-mcp/*' | sed -n '1,40p'

printf '\nyml files matching dates mentioned:\n'
git ls-files '.playwright-mcp/page-*.yml' | grep -E 'page-(2026-07-03T07-23-47-382Z|2026-08-03T05-28-00-046Z|2026-07-03T06-11-16-212Z|2026-08-03T05-28-11-982Z|2026-07-03T06-11-29-081Z|2026-07-03T07-23-52-543Z|2026-08-03T05-28-32-923Z|2026-08-03T05-30-36-393Z|2026-08-03T05-31-25-683Z)\.yml' || true

printf '\nOccurrences of generic/searchbox/button labels in .playwright-mcp:\n'
rg -n -C 3 'generic \[ref=|searchbox |button \[ref=' .playwright-mcp || true

Repository: EC-CUBE/coupon-plugin

Length of output: 50378


🏁 Script executed:

#!/bin/bash
set -euo pipefail

files=(
  '.playwright-mcp/page-2026-07-03T07-23-47-382Z.yml'
  '.playwright-mcp/page-2026-08-03T05-28-00-046Z.yml'
  '.playwright-mcp/page-2026-07-03T06-11-16-212Z.yml'
  '.playwright-mcp/page-2026-08-03T05-28-11-982Z.yml'
  '.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml'
  '.playwright-mcp/page-2026-07-03T07-23-52-543Z.yml'
  '.playwright-mcp/page-2026-08-03T05-28-32-923Z.yml'
  '.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml'
  '.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml'
)

for f in "${files[@]}"; do
  if git ls-files --error-unmatch "$f" >/dev/null 2>&1; then
    echo "===== $f ====="
    sed -n '13,25p' "$f"
  else
    echo "MISSING: $f"
  fi
done

printf '\nAny exact line with searchbox "キーワードを入力" in tracked yml:\n'
rg -n '^ +searchbox "キーワードを入力" \[ref=[^]]+\]' .playwright-mcp || true

printf '\nNearby button lines under same generic blocks in these files:\n'
python3 - <<'PY'
from pathlib import Path
import re
files=[
  Path(p) for p in [
    '.playwright-mcp/page-2026-07-03T07-23-47-382Z.yml',
    '.playwright-mcp/page-2026-08-03T05-28-00-046Z.yml',
    '.playwright-mcp/page-2026-07-03T06-11-16-212Z.yml',
    '.playwright-mcp/page-2026-08-03T05-28-11-982Z.yml',
    '.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml',
    '.playwright-mcp/page-2026-07-03T07-23-52-543Z.yml',
    '.playwright-mcp/page-2026-08-03T05-28-32-923Z.yml',
    '.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml',
    '.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml',
  ]]
for path in files:
    lines=path.read_text(encoding='utf-8').splitlines()
    for i,l in enumerate(lines, start=1):
        if 'searchbox "キーワードを入力"' in l:
            print(f"===== {path} line {i} =====")
            start=max(1, i-2); end=min(len(lines), i+4)
            for n in range(start,end+1):
                print(f"{n}: {lines[n-1]}")
PY

Repository: EC-CUBE/coupon-plugin

Length of output: 8607


検索ボタンにアクセシブル名を設定してください。

共通ヘッダーの検索機能のボタンに名前がありません。aria-label などを設定し、該当の全 .playwright-mcp/page-*.yml スナップショットを更新してください。対象は .playwright-mcp/page-2026-07-03T07-23-47-382Z.yml.playwright-mcp/page-2026-08-03T05-28-00-046Z.yml.playwright-mcp/page-2026-07-03T06-11-16-212Z.yml.playwright-mcp/page-2026-08-03T05-28-11-982Z.yml.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml.playwright-mcp/page-2026-07-03T07-23-52-543Z.yml.playwright-mcp/page-2026-08-03T05-28-32-923Z.yml.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml です。

📍 Affects 9 files
  • .playwright-mcp/page-2026-07-03T07-23-47-382Z.yml#L19-L21 (this comment)
  • .playwright-mcp/page-2026-08-03T05-28-00-046Z.yml#L17-L19
  • .playwright-mcp/page-2026-07-03T06-11-16-212Z.yml#L19-L21
  • .playwright-mcp/page-2026-08-03T05-28-11-982Z.yml#L17-L19
  • .playwright-mcp/page-2026-07-03T06-11-29-081Z.yml#L19-L21
  • .playwright-mcp/page-2026-07-03T07-23-52-543Z.yml#L19-L21
  • .playwright-mcp/page-2026-08-03T05-28-32-923Z.yml#L17-L19
  • .playwright-mcp/page-2026-08-03T05-30-36-393Z.yml#L17-L19
  • .playwright-mcp/page-2026-08-03T05-31-25-683Z.yml#L17-L19
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-07-03T07-23-47-382Z.yml around lines 19 - 21, Set
an accessible name, such as an aria-label, on the common-header search button
associated with the searchbox "キーワードを入力", then update the corresponding snapshot
entries in .playwright-mcp/page-2026-07-03T07-23-47-382Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-00-046Z.yml lines 17-19,
.playwright-mcp/page-2026-07-03T06-11-16-212Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-11-982Z.yml lines 17-19,
.playwright-mcp/page-2026-07-03T06-11-29-081Z.yml lines 19-21,
.playwright-mcp/page-2026-07-03T07-23-52-543Z.yml lines 19-21,
.playwright-mcp/page-2026-08-03T05-28-32-923Z.yml lines 17-19,
.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml lines 17-19, and
.playwright-mcp/page-2026-08-03T05-31-25-683Z.yml lines 17-19 to reflect that
name.

Comment on lines +161 to +163
- textbox "有効期間" [ref=f5e147]
- generic [ref=f5e148]: ~
- textbox [ref=f5e150]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

終了日の入力欄にアクセシブルな名前を設定してください。

Line 163 の textbox にはアクセシブルな名前がありません。スクリーンリーダー利用者は、この必須入力が有効期間の終了日であることを識別できません。

available_to_date に専用の <label> を関連付けてください。名前は「有効期間(終了日)」などにしてください。Form/Type/CouponType.php では、この値を必須の終了日として処理します。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-26-22-467Z.yml around lines 161 - 163,
Set an accessible name for the end-date input corresponding to available_to_date
by adding and associating a dedicated label, using a name such as 「有効期間(終了日)」.
Update the form definition in CouponType.php and preserve its required end-date
validation.

- generic [ref=f7e9]:
- generic [ref=f7e11]:
- generic:
- combobox [ref=f7e14] [cursor=pointer]:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

操作要素にアクセシブルな名前を設定してください。

Line 9 の combobox、Line 19 の検索 button、Lines 75-82 の combobox、Lines 85-90 と 96-101 の商品リンク、Lines 93 と 112 の数量 spinbutton、Lines 103 と 108 の商品選択 combobox が名前なしで公開されています。スクリーンリーダー利用者は対象や操作内容を識別できません。関連付けた <label>aria-labelledby、または適切な aria-label を追加してください。

Also applies to: 19-19, 75-82, 85-93, 96-112

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-27-30-540Z.yml at line 9,
検索・商品選択のcombobox、検索button、商品リンク、数量spinbuttonに、対象や操作内容を明確にするアクセシブルな名前を付与してください。各コントロールへ関連するlabel、aria-labelledby、または適切なaria-labelを設定し、画面上の表示名と重複しない一貫した名前で公開されるようにしてください。

Comment on lines +20 to +34
- generic: 
- generic [ref=f7e20]:
- generic [ref=f7e22]:
- link " 新規会員登録" [ref=f7e24] [cursor=pointer]:
- /url: http://localhost:8080/entry
- generic [ref=f7e25]: 
- generic [ref=f7e26]: 新規会員登録
- link " お気に入り" [ref=f7e28] [cursor=pointer]:
- /url: http://localhost:8080/mypage/favorite
- generic [ref=f7e29]: 
- generic [ref=f7e30]: お気に入り
- link " ログイン" [ref=f7e32] [cursor=pointer]:
- /url: http://localhost:8080/mypage/login
- generic [ref=f7e33]: 
- generic [ref=f7e34]: ログイン

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

装飾用アイコンをアクセシビリティツリーから除外してください。

Lines 23、27、31 のリンク名に が含まれています。Line 133 にもアイコン文字列が露出しています。装飾用アイコンには aria-hidden="true" を設定し、リンク名を 新規会員登録お気に入りログイン のみにしてください。Line 20 の がメニュー操作なら、名前付き button として公開してください。

Also applies to: 37-37, 133-133

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-27-30-540Z.yml around lines 20 - 34,
装飾用アイコンがリンク名へ混入しないよう、会員登録・お気に入り・ログインの各リンク内アイコンと同様のアイコン文字列に aria-hidden="true"
を設定し、アクセシブルなリンク名を各日本語ラベルだけにしてください。メニューアイコンは装飾表示ではなく操作要素として、名前付きの button
として公開してください。

Comment on lines +35 to +39
- generic [ref=f7e37] [cursor=pointer]:
- generic [ref=f7e38]:
- text: 
- generic [ref=f7e39]: "0"
- generic [ref=f7e40]: ¥0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

カート操作を link または button として公開してください。

Line 35 のカート領域は generic [cursor=pointer] で、操作ロールとアクセシブルな名前がありません。カートへ遷移する操作なら名前付きの link として実装してください。JavaScript操作なら名前付きの button とキーボード操作を実装してください。cursor=pointer だけでは操作できません。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-27-30-540Z.yml around lines 35 - 39,
Update the cart control represented by generic ref=f7e37 to use a named link
when it navigates to the cart, or a named button when it performs JavaScript
actions. Ensure the chosen control has an accessible name and supports keyboard
interaction instead of relying on cursor=pointer alone.

Comment on lines +67 to +68
- paragraph [ref=f14e62]: COUPON-PAGE-EDIT-MARKER-197
- heading "クーポンコードの入力" [level=1] [ref=f14e65]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 3 'COUPON-PAGE-EDIT-MARKER-197' .

Repository: EC-CUBE/coupon-plugin

Length of output: 159


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "tracked files matching page yml:"
git ls-files | grep -E '\.playwright-mcp/.*\.yml$' || true

echo
echo "marker search including untracked:"
grep -RIne 'COUPON-PAGE-EDIT-MARKER-197' . 2>/dev/null || true

echo
echo "relevant yml around heading/paragraph if file exists:"
if [ -f ".playwright-mcp/page-2026-08-03T05-29-44-051Z.yml" ]; then
  sed -n '45,75p' ".playwright-mcp/page-2026-08-03T05-29-44-051Z.yml" | cat -n
fi

Repository: EC-CUBE/coupon-plugin

Length of output: 4067


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "references to COUPON-PAGE-EDIT-MARKER-197 in repository files:"
git ls-files -z | xargs -0 grep -Ine 'COUPON-PAGE-EDIT-MARKER-197' 2>/dev/null || true

echo
echo "references to COUPON-PAGE-EDIT-MARKER in repository files:"
git ls-files -z | xargs -0 grep -Ine 'COUPON-PAGE-EDIT-MARKER' 2>/dev/null || true

echo
echo "yml snapshot references with coupon marker patterns:"
git ls-files .playwright-mcp/*.yml | xargs grep -InE 'COUPON-PAGE-EDIT-MARKER|coupon|クーポンコードの入力' 2>/dev/null | head -120

Repository: EC-CUBE/coupon-plugin

Length of output: 5965


クーポン入力テンプレートからテスト用マーカーを削除してください。

shopping_coupon.twig 側で COUPON-PAGE-EDIT-MARKER-197 が入っており、.playwright-mcp/page-2026-08-03T05-29-44-051Z.yml に公開画面としてその内容が取得されています。このマーカーをテンプレートから削除後、スナップショットも再取得してください。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-29-44-051Z.yml around lines 67 - 68,
Remove the test marker COUPON-PAGE-EDIT-MARKER-197 from the coupon input
template in shopping_coupon.twig, then regenerate the corresponding Playwright
snapshot so the public page content no longer contains the marker.

- link "フルーツ" [ref=f16e59] [cursor=pointer]:
- /url: http://localhost:8080/products/list?category_id=6
- main [ref=f16e61]:
- paragraph [ref=f16e62]: COUPON-PAGE-EDIT-MARKER-197

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n -C 3 --fixed-strings 'COUPON-PAGE-EDIT-MARKER-197' .

Repository: EC-CUBE/coupon-plugin

Length of output: 159


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate and inspect the reviewed file and relevant nearby context without changing files.
if [ -f ".playwright-mcp/page-2026-08-03T05-30-36-393Z.yml" ]; then
  echo "== reviewed file exists =="
  wc -l ".playwright-mcp/page-2026-08-03T05-30-36-393Z.yml"
  sed -n '55,75p' ".playwright-mcp/page-2026-08-03T05-30-36-393Z.yml" | cat -n
else
  echo "== reviewed file missing =="
fi

echo "== marker occurrences in tracked files =="
git ls-files | xargs rg -n -C 3 --fixed-strings 'COUPON-PAGE-EDIT-MARKER-197' || true

echo "== marker-like strings =="
rg -n --fixed-strings 'MARKER-' . || true

Repository: EC-CUBE/coupon-plugin

Length of output: 3496


テスト用マーカーをテンプレートから削除してください。

COUPON-PAGE-EDIT-MARKER-197 がクーポン入力画面の本文領域に埋め込まれています。クーポン表示用のテンプレート/フックにこのマーカーを削除し、Playwright MCP の記録を再生成してください。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.playwright-mcp/page-2026-08-03T05-30-36-393Z.yml at line 67,
クーポン入力画面の本文に表示される「COUPON-PAGE-EDIT-MARKER-197」をテンプレートまたは関連フックから削除し、その後
Playwright MCP の記録を再生成してマーカーが含まれない状態に更新してください。

GitHub 側で actions/cache v1 が廃止され、ワークフローが自動的に失敗する
ようになったため、本ブランチの CI が全ジョブ failure になっていた。

  ##[error]This request has been automatically failed because it uses a
  deprecated version of `actions/cache: v1`.

- actions/cache@v1 → @v4
- ::set-output → $GITHUB_OUTPUT(同じく非推奨のため合わせて更新)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ttokoro20240902

Copy link
Copy Markdown
Author

作業ファイル(Playwright のスナップショット)を誤って含めていたことと、CI 復旧・4.3 マトリクスのテスト追随を含めて整理したいため、いったんクローズして出し直します。後継 PR は下記です。

@ttokoro20240902

Copy link
Copy Markdown
Author

後継 PR: #201

@ttokoro20240902
ttokoro20240902 deleted the fix/bootstrap5-margin-utility branch August 3, 2026 05:56
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