Skip to content

Feat #6332: Add HTML5 autocomplete attributes to customer form fields#6722

Open
imsameer-dev wants to merge 2 commits intoEC-CUBE:4.3from
imsameer-dev:feature/add-autocomplete-attributes
Open

Feat #6332: Add HTML5 autocomplete attributes to customer form fields#6722
imsameer-dev wants to merge 2 commits intoEC-CUBE:4.3from
imsameer-dev:feature/add-autocomplete-attributes

Conversation

@imsameer-dev
Copy link
Copy Markdown

@imsameer-dev imsameer-dev commented Apr 8, 2026

Description

Adds HTML5 autocomplete attributes to form fields in the customer edit form to improve user experience and allow browsers to provide better autocomplete suggestions.

Changes

  • Add "given-name" autocomplete to first name field
  • Add "family-name" autocomplete to last name field
  • Add "additional-name" autocomplete to kana fields
  • Add "organization" autocomplete to company name field
  • Add "postal-code" autocomplete to postal code field
  • Add "email" autocomplete to email field
  • Add "tel" autocomplete to phone number field

Motivation

HTML5 autocomplete attributes help browsers provide intelligent suggestions when users fill out forms. This improves user experience, reduces data entry time, and makes the form more accessible.

Testing

Visually verify that the autocomplete attributes are present in the customer edit form.

Related to #6332

Summary by CodeRabbit

  • 新機能
    • 顧客情報編集画面の複数フォームフィールド(氏名、フリガナ、会社名、郵便番号、メールアドレス、電話番号)でブラウザのオートコンプリート機能に対応しました。データ入力がより便利になります。

… fields

- Add 'given-name' autocomplete to first name field
- Add 'family-name' autocomplete to last name field
- Add 'additional-name' autocomplete to kana fields
- Add 'organization' autocomplete to company name field
- Add 'postal-code' autocomplete to postal code field
- Add 'email' autocomplete to email field
- Add 'tel' autocomplete to phone number field

These attributes help browsers provide better autocomplete suggestions
for users filling out the customer information form in the EC-CUBE admin
panel, improving user experience and reducing data entry time.
Copilot AI review requested due to automatic review settings April 8, 2026 21:52
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 77de02da-5bdc-4b30-8f0d-f48a5e2a9d3f

📥 Commits

Reviewing files that changed from the base of the PR and between 20f469c and ca1e61c.

📒 Files selected for processing (1)
  • src/Eccube/Resource/template/admin/Customer/edit.twig

📝 Walkthrough

Walkthrough

顧客編集用Twigテンプレートの複数のform_widget()呼び出しに対して、HTMLのautocomplete属性をウィジェットオプション経由で追加しました。マークアップ、レイアウト、検証、制御フローの変更はありません。

Changes

Cohort / File(s) Summary
Autocomplete属性の追加
src/Eccube/Resource/template/admin/Customer/edit.twig
8箇所のフォームウィジェットにautocomplete属性を追加。姓名、フリガナ、会社名、郵便番号、メールアドレス、電話番号フィールドに対応する標準的なautocomplete値を指定。

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 フォームの入力、スムーズに
オートコンプリート、魔法のように
ユーザーの手間、ふわり軽く
テンプレート微調整、優しい配慮
楽しい体験へ、ぴょん!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed プルリクエストのタイトルは、顧客フォームフィールドにHTML5 autocomplete属性を追加するという主な変更を明確かつ正確に要約しており、変更セットと完全に関連しています。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR’s stated goal is to add HTML5 autocomplete attributes to the customer edit form, but the diff primarily contains broad infrastructure/config updates (Symfony security/session config, Codeception E2E stabilization, CI workflows, Docker/MySQL/PHP updates, SCSS build pipeline changes) and additional bundled frontend assets.

Changes:

  • Updates Symfony security/session configuration and related service definitions (password hashers, logout behavior, test session storage).
  • Refactors/extends Codeception acceptance tests and page objects (timing/waits, selectors, new CSV upload pages, new fixtures/plugins).
  • Modernizes tooling/ops (CI workflows, Docker PHP/MySQL versions, PostCSS media query sorting, Husky hook, asset version strategy, monolog/doctrine configs).

Reviewed changes

Copilot reviewed 277 out of 1512 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
html/bundle/170487867de05784a96608617bdd544d.js Rebuilt Ace bundle snippet wrapper
html/bundle/15f3800d33b854ba476c9daf1b9e0326.js Rebuilt Ace bundle snippet wrapper
html/bundle/1533058f0ce13acdaa8d5bdc7d147bef.js Rebuilt Ace bundle snippet wrapper
html/bundle/13eda3507db9cbfb400f46b9b3ff6553.js Rebuilt Ace bundle snippet wrapper
html/bundle/130340e2c62b9e858f186dab5f491e55.js Rebuilt Ace bundle snippet wrapper
html/bundle/119f6c45ea400e3c27e1ce172e4c881d.js Adds Ace razor snippets bundle
html/bundle/1034e3807d1bcf55cb564491950237ab.js Rebuilt Ace bundle snippet wrapper
html/bundle/10132993df2cf9c9423b53a8a44379ab.js Rebuilt Ace bundle snippet wrapper
html/bundle/0f147528a6f36ca40c8b3ec796429f58.js Adds Ace maze snippets bundle
html/bundle/0a1d9862d917663419ac2dd2e8193267.js Rebuilt Ace bundle snippet wrapper
html/bundle/0973bb38b2e3efd2a879fd8e81d50fce.js Adds Ace rst mode bundle
html/bundle/078dd0bd08c93b1512e3d1b777591b21.js Rebuilt Ace bundle snippet wrapper
html/bundle/07567125b93045706d81f17f7d04e262.js Adds Ace rtl extension bundle
html/bundle/06d958315fc6cdbb28576b03e43203aa.js Rebuilt Ace bundle snippet wrapper
html/bundle/0416c21cfe088739209926632a360e3b.js Adds Ace flix mode bundle
html/bundle/03aae8272914723a7bf85b984385032c.js Rebuilt Ace bundle snippet wrapper
html/bundle/03980cb12dacd26148c22bb61fce440f.js Rebuilt Ace bundle snippet wrapper
html/bundle/029ed9161a8d24a9c2ba97124020989d.js Rebuilt Ace bundle snippet wrapper
html/bundle/02174460fe8ff6a6bc19db86543b9600.js Adds Ace robot snippets bundle
html/bundle/0144de97a3c256f81447e7e7135780e5.js Adds Ace properties mode bundle
html/bundle/003671ee2a876e7614cd94390e2255b3.js Adds Ace csound snippets bundle
gulp/task/scss.js Replaces cssmqpacker with postcss-sort-media-queries
gulp/task/scss-min.js Replaces cssmqpacker with postcss-sort-media-queries
docker-compose.yml Documents ECCUBE_PHPINFO_ENABLED env var
docker-compose.owaspzap.ci.yml Adds OWASP ZAP container config for CI
docker-compose.nodejs.yml Adds Node.js compose service for tooling
docker-compose.mysql.yml Bumps MySQL image and DB server version
codeception/acceptance/ZZ99PluginUninstallerCest.php Modernizes visibility/foreach usage
codeception/acceptance/Plugin/PL10GMCCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL09SiteKitCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL08ApiCest.php Updates interpolation + AcceptanceTester FQCN
codeception/acceptance/Plugin/PL07ProductReviewCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL06SecurityCheckCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL05RelatedProductCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL04SalesReportCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL03MailMagazineCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL02CouponCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/Plugin/PL01RecommendCest.php Uses fully-qualified AcceptanceTester
codeception/acceptance/EF08InvoiceCest.php Adds new test group tag
codeception/acceptance/EF06OtherCest.php Adds block test + refactors shop setting calls
codeception/acceptance/EF04CustomerCest.php Adds new test group tag
codeception/acceptance/EF02ProductCest.php Stabilizes product list tests with waits
codeception/acceptance/EF01TopCest.php Adds Filesystem import + fixes string interpolation
codeception/acceptance/EA09ShippingCest.php Stabilizes admin shipping tests + repo class usage
codeception/acceptance/EA05CustomerCest.php Adds small waits to reduce flakiness
codeception/acceptance/EA04OrderCest.php Stabilizes admin order tests + repo class usage
codeception/acceptance/EA02AuthenticationCest.php Removes unused intermediate variable
codeception/acceptance/EA01TopCest.php Uses OrderStatus import + tab switch helper
codeception/acceptance/CL01DenyCest.php Cleans up import syntax
codeception/acceptance/AA0PluginInstallerCest.php Modernizes visibility/foreach usage
codeception/acceptance.suite.yml Updates Codeception suite keys + chrome capabilities
codeception/_support/UnitTester.php Refactors tester base class import/structure
codeception/_support/Page/Front/TopPage.php Simplifies foreach and whitespace
codeception/_support/Page/Front/ProductReviewPage.php Adds spacing + chaining consistency
codeception/_support/Page/Front/ProductListPage.php Adds wait + fixes interpolation quoting
codeception/_support/Page/Front/ProductDetailPage.php Fixes interpolation quoting in selectors
codeception/_support/Page/Front/MyPage.php Makes constants public + fixes interpolation
codeception/_support/Page/Front/EntryPage.php Adds wait after form submit
codeception/_support/Page/Front/CustomerAddressListPage.php Fixes interpolation quoting in selectors
codeception/_support/Page/Front/CustomerAddressChangePage.php Removes extra blank line
codeception/_support/Page/Front/CartPage.php Fixes interpolation quoting + selector waiting
codeception/_support/Page/Admin/TaxManagePage.php Fixes selector interpolation + returns cleanup
codeception/_support/Page/Admin/SystemMemberEditPage.php Normalizes form data type
codeception/_support/Page/Admin/ShopSettingPage.php Adds post-save wait + adds GA tag input
codeception/_support/Page/Admin/ShippingEditPage.php Fixes selector interpolation
codeception/_support/Page/Admin/SalesReportPage.php Fixes interpolation quoting + chaining consistency
codeception/_support/Page/Admin/RelatedProductEditPage.php Fixes interpolation and braces formatting
codeception/_support/Page/Admin/RecommendManagePage.php Fixes interpolation quoting + chaining consistency
codeception/_support/Page/Admin/RecommendEditPage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/ProductTagPage.php Adds chaining spacing consistency
codeception/_support/Page/Admin/ProductReviewManagePage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/ProductEditPage.php Adds wait before preview click
codeception/_support/Page/Admin/ProductClassEditPage.php Fixes interpolation in element ids
codeception/_support/Page/Admin/PluginLocalInstallPage.php Changes upload API to compress plugin dir
codeception/_support/Page/Admin/PaymentManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/PageManagePage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/OrderEditPage.php Adds mail success selector + fixes interpolation
codeception/_support/Page/Admin/NewsManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/MasterDataManagePage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/MailSettingsPage.php Adds mail template editing helpers
codeception/_support/Page/Admin/MailMagazineTemplatePage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/MailMagazineTemplateEditPage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/MailMagazinePage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/MailMagazineHistoryPage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/MailMagazineEditPage.php Adds spacing + minor cleanup
codeception/_support/Page/Admin/LayoutManagePage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/LayoutEditPage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/JavaScriptManagePage.php Adds fixed waits around Ace editor input
codeception/_support/Page/Admin/FileManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/DeliveryEditPage.php Fixes interpolation in element ids
codeception/_support/Page/Admin/CssManagePage.php Adds fixed waits around Ace editor input
codeception/_support/Page/Admin/CouponManagePage.php Adds spacing (no functional change noted)
codeception/_support/Page/Admin/CouponEditPage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/ClassNameManagePage.php Adds csv helpers + new XPath helper
codeception/_support/Page/Admin/ClassNameCsvUploadPage.php Adds new page object for CSV upload
codeception/_support/Page/Admin/ClassCategoryManagePage.php Adds csv helpers + new XPath helper
codeception/_support/Page/Admin/ClassCategoryCsvUploadPage.php Adds new page object for CSV upload
codeception/_support/Page/Admin/CategoryManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/CalendarSettingsPage.php Minor chaining whitespace
codeception/_support/Page/Admin/BlockManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/AuthorityManagePage.php Fixes selector interpolation quoting
codeception/_support/Page/Admin/ApiWebHookPage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/ApiWebHookEditPage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/ApiOauthPage.php Fixes xpath interpolation quoting
codeception/_support/Page/Admin/ApiOauthEditPage.php Adds spacing + chaining consistency
codeception/_support/Page/Admin/AbstractAdminPageStyleGuide.php Changes atPage to waitForText
codeception/_support/Page/Admin/AbstractAdminPage.php Adds retry loop for admin navigation
codeception/_support/Page/AbstractPage.php Fixes interpolation quoting in waitForJS
codeception/_support/Interactions/WaitAction.php Docblock type normalization
codeception/_support/Interactions/DragAndDropBy.php Uses RemoteWebElement import in phpdoc
codeception/_support/Helper/Unit.php Uses Codeception\Module import
codeception/_support/Helper/Functional.php Uses Codeception\Module import
codeception/_support/Helper/Acceptance.php Uses Codeception\Module import
codeception/_support/FunctionalTester.php Refactors tester base class import/structure
codeception/_envs/travis.yml Updates chrome capabilities key
codeception/_envs/github_action_docker.yml Updates chrome capabilities key
codeception/_envs/github_action.yml Updates chrome capabilities key
codeception/_data/upload.php Adds header + switches to single quotes
codeception/_data/plugins/Template-1.0.0/composer.json Adds plugin fixture
codeception/_data/plugins/Template-1.0.0/Resource/template/index.twig Adds plugin fixture template
codeception/_data/plugins/Template-1.0.0/Controller/Controller.php Adds plugin fixture controller
codeception/_data/plugins/InstallError/composer.json Adds plugin fixture for install error
codeception/_data/plugins/Horizon-1.0.1/composer.json Adds plugin fixture
codeception/_data/plugins/Horizon-1.0.1/Repository/DashRepository.php Adds plugin fixture repository
codeception/_data/plugins/Horizon-1.0.1/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Horizon-1.0.1/Entity/Dash.php Adds plugin fixture entity
codeception/_data/plugins/Horizon-1.0.1/Entity/CartTrait.php Adds plugin fixture entity extension
codeception/_data/plugins/Horizon-1.0.0/composer.json Adds plugin fixture
codeception/_data/plugins/Horizon-1.0.0/Repository/DashRepository.php Adds plugin fixture repository
codeception/_data/plugins/Horizon-1.0.0/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Horizon-1.0.0/Entity/Dash.php Adds plugin fixture entity
codeception/_data/plugins/Horizon-1.0.0/Entity/CartTrait.php Adds plugin fixture entity extension
codeception/_data/plugins/Emperor-1.0.1/composer.json Adds plugin fixture
codeception/_data/plugins/Emperor-1.0.1/Repository/BarRepository.php Adds plugin fixture repository
codeception/_data/plugins/Emperor-1.0.1/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Emperor-1.0.1/Entity/Cart2Trait.php Adds plugin fixture trait
codeception/_data/plugins/Emperor-1.0.1/Entity/Bar.php Adds plugin fixture entity
codeception/_data/plugins/Emperor-1.0.0/composer.json Adds plugin fixture
codeception/_data/plugins/Emperor-1.0.0/Repository/FooRepository.php Adds plugin fixture repository
codeception/_data/plugins/Emperor-1.0.0/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Emperor-1.0.0/Entity/Foo.php Adds plugin fixture entity
codeception/_data/plugins/Emperor-1.0.0/Entity/CartTrait.php Adds plugin fixture trait
codeception/_data/plugins/Bundle-1.0.1/composer.json Adds bundle-based plugin fixture
codeception/_data/plugins/Bundle-1.0.1/Resource/config/services.yaml Adds bundle-based plugin fixture config
codeception/_data/plugins/Bundle-1.0.1/Resource/config/routes.php Adds bundle-based plugin fixture routes
codeception/_data/plugins/Bundle-1.0.1/Resource/config/bundles.php Adds bundle-based plugin fixture bundles
codeception/_data/plugins/Bundle-1.0.1/DependencyInjection/Compiler/BundleCompilerPass.php Adds compiler pass fixture
codeception/_data/plugins/Bundle-1.0.1/Bundle/BundleBundle.php Adds bundle class fixture
codeception/_data/plugins/Bundle-1.0.0/composer.json Adds bundle-based plugin fixture
codeception/_data/plugins/Bundle-1.0.0/Resource/config/services.yaml Adds bundle-based plugin fixture config
codeception/_data/plugins/Bundle-1.0.0/Resource/config/routes.php Adds bundle-based plugin fixture routes
codeception/_data/plugins/Bundle-1.0.0/Resource/config/bundles.php Adds bundle-based plugin fixture bundles
codeception/_data/plugins/Bundle-1.0.0/DependencyInjection/Compiler/BundleCompilerPass.php Adds compiler pass fixture
codeception/_data/plugins/Bundle-1.0.0/Bundle/BundleBundle.php Adds bundle class fixture
codeception/_data/plugins/Boomerang10-1.0.0/composer.json Adds plugin dependency fixture
codeception/_data/plugins/Boomerang10-1.0.0/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Boomerang10-1.0.0/Entity/BarTrait.php Adds plugin fixture trait
codeception/_data/plugins/Boomerang-1.0.0/composer.json Adds plugin fixture
codeception/_data/plugins/Boomerang-1.0.0/Repository/BarRepository.php Adds plugin fixture repository
codeception/_data/plugins/Boomerang-1.0.0/PluginManager.php Adds plugin fixture plugin manager
codeception/_data/plugins/Boomerang-1.0.0/Entity/CartTrait.php Adds plugin fixture trait
codeception/_data/plugins/Boomerang-1.0.0/Entity/Bar.php Adds plugin fixture entity
codeception/_data/plugins/Boomerang-1.0.0/Controller/BoomerangController.php Adds plugin fixture controller
codeception/_data/plugins/Assets-1.0.1/composer.json Adds plugin fixture
codeception/_data/plugins/Assets-1.0.1/Resource/assets/updated.js Adds plugin asset fixture
codeception/_data/plugins/Assets-1.0.1/Resource/assets/assets.js Adds plugin asset fixture
codeception/_data/plugins/Assets-1.0.0/composer.json Adds plugin fixture
codeception/_data/plugins/Assets-1.0.0/Resource/assets/assets.js Adds plugin asset fixture
codeception/_data/class_name.csv Adds CSV fixture
codeception/_data/class_category.csv Adds CSV fixture
app/config/eccube/services_test.yaml Adjusts test service wiring for session & processors
app/config/eccube/services.yaml Updates service locators + adds password hasher
app/config/eccube/packages/twig.yaml Comments out base_template_class
app/config/eccube/packages/test/security.yml Adds test password hasher config
app/config/eccube/packages/test/generator.yaml Switches generator deps to hasher/request_stack
app/config/eccube/packages/test/framework.yaml Switches session mock to storage factory
app/config/eccube/packages/security.yaml Migrates from encoders to password_hashers
app/config/eccube/packages/prod/monolog.yml Reduces log volume and raises levels
app/config/eccube/packages/prod/doctrine.yaml Switches doctrine cache provider wrapper
app/config/eccube/packages/order_state_machine.php Adds trailing comma
app/config/eccube/packages/install/monolog.yml Simplifies install logging
app/config/eccube/packages/framework.yaml Adds user_data asset version strategy
app/config/eccube/packages/eccube_nav.yaml Adds CSV import nav items
app/config/eccube/packages/eccube.yaml Adds env vars + bumps package API URL
app/config/eccube/packages/doctrine.yaml Sets default connection
app/config/eccube/packages/dev/monolog.yml Simplifies dev logging
app/config/eccube/packages/dev/generator.yaml Switches generator deps to hasher/request_stack
app/config/eccube/packages/codeception/monolog.yml Simplifies codeception logging
app/config/eccube/packages/codeception/generator.yaml Switches generator deps to hasher/request_stack
app/config/eccube/packages/codeception/doctrine.yaml Switches doctrine cache provider wrapper
app/config/eccube/bundles.php Removes leading backslash on bundle class
app/Plugin/QueryCustomize/ServiceProvider/QueryCustomizeServiceProvider.php Removes legacy Silex service provider
app/Plugin/PurchaseProcessors/Service/PurchaseFlow/Processor/SaleLimitOneValidator.php Docblock spacing adjustments
app/Plugin/MigrationSample/PluginManager.php Uses PSR ContainerInterface + const visibility
app/Plugin/HogePlugin/Controller/IndexController.php Adds docblock spacing
app/Plugin/FormExtension/ServiceProvider/FormExtensionServiceProvider.php Removes legacy Silex service provider
app/Plugin/EntityForm/Entity/ProductUrlTrait.php Adds docblock spacing
app/Plugin/AnnotatedRouting/Controller/AnnotatedRoutingController.php Adds docblock spacing
app/DoctrineMigrations/Version20240312170000.php Adds migration for new block seed
app/DoctrineMigrations/Version20230928014611.php Adds headers + quoting fixes
app/DoctrineMigrations/Version20230116061053.php Adds headers + const visibility
app/DoctrineMigrations/Version20211111050712.php Normalizes file header formatting
app/DoctrineMigrations/Version20210412073123.php Fixes interpolation quoting
app/DoctrineMigrations/Version20210316120000.php Normalizes file header formatting
app/DoctrineMigrations/Version20210216120000.php Adds migration for Google Analytics block
app/DoctrineMigrations/Version20190821081036.php Adds const visibility
Dockerfile Bumps default PHP image tag and removes Node install
.php-cs-fixer.dist.php Removes phpdoc_scalar rule override
.husky/pre-commit Adds lint-staged hook
.htaccess Adds additional static extensions to rewrite exclude list
.github/workflows/rector.yml Adds Rector reusable workflow
.github/workflows/phpstan.yml Converts to reusable workflow + caching
.github/workflows/php-cs-fixer.yml Adds PHP CS Fixer reusable workflow
.github/workflows/main.yml Adds main workflow orchestrating reusable jobs
.github/workflows/deny-test.yml Converts to reusable workflow + upgrades env
.github/dependabot.yml Adds Dependabot config
.github/codecov.yml Adds Codecov informational status config
.github/actions/composer/action.yml Changes Composer caching strategy
.env.dist Documents ECCUBE_PHPINFO_ENABLED env var
.devcontainer/devcontainer.json Updates Intelephense PHP version setting

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


/**
* @group front
* @group front-b
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The PR title/description say this change is about adding HTML5 autocomplete attributes to the customer edit form, but the diff contains extensive unrelated changes (CI workflows, Docker/PHP/MySQL upgrades, Symfony security/session rewiring, Codeception refactors, etc.) and no obvious customer form field autocomplete updates. Please either (mandatory) narrow the PR to only the form autocomplete changes, or (mandatory) update the PR title/description to reflect the actual scope.

Copilot uses AI. Check for mistakes.
Comment on lines +35 to +50
// XXX amOnPage() をコール直後に selector を参照すると、遷移しない場合があるためリトライする
$attempts = 0;
$maxAttempts = 10;
while ($attempts < $maxAttempts) {
$this->tester->amOnPage($adminUrl);
$this->tester->wait(1); // XXX 画面遷移直後は selector の参照に失敗するため wait を入れる
$title = $this->tester->grabTextFrom('.c-pageTitle');

if ($title != $pageTitle) {
$attempts++;
$this->tester->expect('遷移に失敗したためリトライします('.$attempts.'/'.$maxAttempts.')');
$this->tester->wait(1);
} else {
return $this->atPage($pageTitle);
}
}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

If navigation never reaches the expected page title after maxAttempts, the method falls through and returns $this without failing the test. This can mask real navigation failures and cause false positives. Mandatory: after the retry loop, explicitly fail (e.g., throw an exception / call a test failure method) with diagnostic info (expected vs actual title, URL) so the test stops when navigation fails.

Copilot uses AI. Check for mistakes.
Comment on lines 4 to 9
- name: Get Composer Cache Directory
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
shell: bash

- uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
path: ${{ github.workspace }}/vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This composite action now only caches/restores the vendor directory and no longer runs composer install (and the step name is also misleading). If workflows rely on this action for dependency installation (they call it "Initialize Composer"), CI will fail when vendor/bin/* is missing on a cold cache. Mandatory: add an explicit dependency installation step (e.g., run Composer install) and consider caching Composer's download cache (cache-files-dir) in addition/instead of caching vendor.

Copilot uses AI. Check for mistakes.
Comment on lines 125 to 128
eccube.security.logout.success_handler:
class: Eccube\Security\Http\Authentication\EccubeLogoutSuccessHandler
arguments:
- '@security.http_utils'
- '@Eccube\Request\Context'
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The eccube.security.logout.success_handler service definition used to pass multiple constructor arguments, but now only passes @Eccube\\Request\\Context. If EccubeLogoutSuccessHandler still requires the previously configured dependencies, this will break at runtime when/if the service is instantiated. Mandatory: either restore the required constructor arguments, or remove this service definition entirely if logout is now handled via security.yaml target: admin_login and the handler is no longer needed.

Copilot uses AI. Check for mistakes.
Comment on lines +114 to +116
$this->tester->grabAttributeFrom('#shop_master_option_nostock_hidden', 'checked');

return $this;
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The grabAttributeFrom(...) return value is discarded, so this line has no effect (it neither asserts state nor returns it). Mandatory: either remove the unused call, or (preferably) assert the checkbox state matches $value so the test verifies the setting actually applied.

Copilot uses AI. Check for mistakes.
Comment on lines +16 to +27
use Eccube\Annotation\EntityExtension;

/**
* @EntityExtension("Eccube\Entity\Cart")
*/
trait CartTrait
{
/**
* @var bool
*
* @ORM\Column(name="is_horizon", type="boolean", options={"default":false})
*/
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This trait uses @ORM\\... annotations but does not import Doctrine\\ORM\\Mapping as ORM (unlike other fixtures in this PR). That will cause annotation parsing errors when these fixtures are used. Mandatory: add use Doctrine\\ORM\\Mapping as ORM; to this file (and keep it consistent across the Horizon fixture versions if applicable).

Copilot uses AI. Check for mistakes.
Comment thread docker-compose.mysql.yml
Comment on lines 13 to +14
DATABASE_URL: "mysql://dbuser:secret@mysql/eccubedb"
DATABASE_SERVER_VERSION: 5.7
DATABASE_SERVER_VERSION: 8.0
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

DATABASE_SERVER_VERSION (8.0) does not match the container image version (MySQL 8.4). Doctrine uses the declared server version for platform behavior; a mismatch can lead to subtle SQL/platform issues. Recommended: align DATABASE_SERVER_VERSION with the image major/minor (e.g., 8.4) or pin the image to the same version you declare.

Copilot uses AI. Check for mistakes.
Comment thread docker-compose.mysql.yml

mysql:
image: mysql:5.7
image: mysql:8.4
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

DATABASE_SERVER_VERSION (8.0) does not match the container image version (MySQL 8.4). Doctrine uses the declared server version for platform behavior; a mismatch can lead to subtle SQL/platform issues. Recommended: align DATABASE_SERVER_VERSION with the image major/minor (e.g., 8.4) or pin the image to the same version you declare.

Copilot uses AI. Check for mistakes.
Comment thread .husky/pre-commit
@@ -0,0 +1 @@
npx lint-staged -q || node -e ''
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This hook will always exit successfully because failures from lint-staged are masked by || node -e '' (exit code 0). If the intent is to enforce lint-staged checks, this should fail the commit on error; if the intent is optional checks, please add a comment explaining that failures are intentionally ignored (and consider a clearer pattern that only bypasses when the dependency is missing).

Copilot uses AI. Check for mistakes.
@dotani1111 dotani1111 added this to the 4.4.0 milestone Apr 13, 2026
@dotani1111 dotani1111 changed the base branch from 4.2 to 4.3 April 15, 2026 07:23
@dotani1111
Copy link
Copy Markdown
Contributor

@imsameer-dev

Welcome to the EC-CUBE community!

These autocomplete additions are very helpful for improving the form UX. Since this PR currently updates only Edit.twig, could we ask you to add these same attributes to our other form templates too, if possible?

@dotani1111 dotani1111 self-assigned this Apr 15, 2026
@dotani1111 dotani1111 added the improvement 機能改善 label Apr 15, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.62%. Comparing base (94a19f3) to head (ca1e61c).
⚠️ Report is 264 commits behind head on 4.3.

Additional details and impacted files
@@             Coverage Diff              @@
##                4.3    #6722      +/-   ##
============================================
- Coverage     78.66%   78.62%   -0.05%     
  Complexity     6824     6824              
============================================
  Files           476      476              
  Lines         27078    27078              
============================================
- Hits          21302    21290      -12     
- Misses         5776     5788      +12     
Flag Coverage Δ
Unit 78.62% <ø> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement 機能改善

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants