Commit Graph
78 Commits
Author SHA1 Message Date
haylanandClaude Bot ea252ecf6c fix(admin): move dump modals into sw-page #content slot so delete works on 6.7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:54:26 +01:00
haylanandClaude Bot 8b13c5b3c8 fix(dump): pass --column-statistics=0 for MySQL 8 mysqldump on MariaDB
When the server is MariaDB but only MySQL 8's mysqldump is installed
(e.g. dockware/web), the dump aborted with "Unknown table
'COLUMN_STATISTICS' in information_schema (1109)".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:29:43 +01:00
haylanandClaude Bot fa464bc20d refactor(admin): lazy registration, Meteor components, Settings card for 6.7
- register the list page lazily and wrap it with wrapComponentConfig
- sw-button/sw-alert/sw-progress-bar -> mt-button/mt-banner/mt-progress-bar
- beforeDestroy -> beforeUnmount (Vue 3)
- split the combined `import type` that broke the Vite build
- Vite outputs to public/administration/assets/: update .gitignore and the CI asset check

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:29:43 +01:00
haylanandClaude Bot 4abd77103e feat!: require Shopware 6.7, release as 0.1.0
- shopware/core ~6.7.0; 6.6 stays on the 0.0.x line
- drop the sw-settings navigation entry; the settingsItem card in
  Settings > System is the only entry, like core settings modules
- dev container on dockware/shopware:6.7.14.2

BREAKING CHANGE: Shopware 6.6 is no longer supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:49:56 +01:00
haylan 1176d3c87d Merge pull request 'fix(release): repack zip root-level for the Composer registry' (!14) from fix/release-registry-zip into main
release / release (push) Successful in 12s
Reviewed-on: #14
v0.0.6
2026-10-03 23:21:07 +00:00
haylanandClaude Bot bfb88a25b8 chore: release as 0.0.6; compare the version check against published releases
plugin-checks / version-changelog (pull_request) Successful in 15s
plugin-checks / package (pull_request) Successful in 1m8s
plugin-checks / phpunit (pull_request) Successful in 2m34s
- composer.json 0.0.6, CHANGELOG entries of the withdrawn 0.1.0/0.1.1 merged into [0.0.6]
- version-changelog: version must exceed the latest published release (main may carry a
  version whose release was withdrawn), instead of exceeding main's version

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 01:18:29 +02:00
haylanandClaude Bot 7f3e77a3e9 ci: retrigger to exercise the cache-hit path
plugin-checks / version-changelog (pull_request) Successful in 21s
plugin-checks / package (pull_request) Successful in 1m1s
plugin-checks / phpunit (pull_request) Successful in 2m35s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 01:12:21 +02:00
haylanandClaude Bot 8b2c2278d2 ci: resolve the Shopware version with Composer from the plugin constraint; harden the registry repack
plugin-checks / version-changelog (pull_request) Successful in 18s
plugin-checks / package (pull_request) Successful in 1m3s
plugin-checks / phpunit (pull_request) Successful in 6m14s
- phpunit: 'Resolve the latest Shopware Version' uses composer show against require.shopware/core
  from the plugin's composer.json (the Packagist scrape returned nothing on the first run)
- release: build the registry zip from an explicit file list without a leading ./ so the
  composer.json entry is stored at the zip root

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 01:05:25 +02:00
haylanandClaude Bot 18844718d2 ci(phpunit): cache the installed database, key the cache on the Shopware version
plugin-checks / version-changelog (pull_request) Successful in 16s
plugin-checks / phpunit (pull_request) Failing after 27s
plugin-checks / package (pull_request) Successful in 59s
- resolve the latest 6.6.x from Packagist; cache key shopware-<version>-installed-v1
- cache the project plus a SQL dump of the installed shopware_test database; on a hit restore
  the dump instead of running system:install (~4.6 min)
- rename the step 'Install Shopware (once)' to 'Install Shopware'

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 01:01:21 +02:00
haylanandClaude Bot eb2a3172e5 fix(package): exclude .config and .gitea from the zip
plugin-checks / version-changelog (pull_request) Successful in 25s
plugin-checks / package (pull_request) Successful in 1m9s
plugin-checks / phpunit (pull_request) Canceled after 2m30s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:58:42 +02:00
haylanandClaude Bot 953f4ee579 docs: research shopware-cli changelog handling and PHP floor
plugin-checks / version-changelog (pull_request) Successful in 22s
plugin-checks / package (pull_request) Successful in 1m1s
plugin-checks / phpunit (pull_request) Canceled after 5m12s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:53:26 +02:00
haylanandClaude Bot 391db5b621 docs: match CLAUDE.md to the idempotent release and registry repack
plugin-checks / version-changelog (pull_request) Successful in 22s
plugin-checks / package (pull_request) Successful in 1m12s
plugin-checks / phpunit (pull_request) Canceled after 3m1s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:50:20 +02:00
haylanandClaude Bot 8afe30b476 test: assert plugin logs to injected PSR logger
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:50:19 +02:00
haylanandClaude Bot 5f8cc9bdad docs: refresh CLAUDE.md and compliance spec after guideline PR
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:49:57 +02:00
haylanandClaude Bot c08d27c8e1 fix(release): repack the zip root-level for the Composer registry; make release steps idempotent
Gitea's registry answered 400 'composer.json file is missing' for the shopware-cli zip
(single top-level folder). Repack the same prebuilt content with composer.json at the root.
Drop the tag-exists skip guard so a half-finished release can be re-run; reuse an existing
release/asset. Bump to 0.1.1.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:49:53 +02:00
haylan 85980ee3bf Merge pull request 'feat: align plugin and pipeline with Shopware guidelines' (!13) from ci/shopware-guideline-compliance into main
release / release (push) Failing after 11s
Reviewed-on: #13
2026-10-03 22:46:17 +00:00
haylanandClaude Bot 8a72751a14 ci: single Shopware install into shopware_test; serialize releases
plugin-checks / version-changelog (pull_request) Successful in 16s
plugin-checks / package (pull_request) Successful in 1m1s
plugin-checks / phpunit (pull_request) Successful in 6m2s
DATABASE_URL already ends in _test so the TestBootstrapper finds an installed DB and
skips its own migration run; FORCE_INSTALL (which failed with an unknown database) removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:36:22 +02:00
haylanandClaude Bot 233f3eb17f ci: merge version check into plugin-checks, share packaging as a composite action
plugin-checks / version-changelog (pull_request) Successful in 22s
plugin-checks / package (pull_request) Successful in 1m8s
plugin-checks / phpunit (pull_request) Failing after 1m53s
- one PR workflow (plugin-checks) with version-changelog, package, phpunit jobs
- .gitea/actions/package: package + validate + assert, used by PR and release
- phpunit: FORCE_INSTALL so the TestBootstrapper installs its own test DB
- protect-main.sh: required context is now plugin-checks / version-changelog

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:32:16 +02:00
haylanandClaude Bot 37aba5d2f0 ci: cache the Shopware project, drop duplicate install, reuse the tested zip in release
version-changelog / version-changelog (pull_request) Successful in 24s
plugin-checks / package (pull_request) Successful in 1m18s
plugin-checks / phpunit (pull_request) Failing after 1m33s
- phpunit: cache the prepared project (vendor + phpunit) monthly via cache restore/save;
  drop system:install/plugin:install (TestBootstrapper installs into its own test DB, so
  every migration ran twice, ~5.5 min each); relax InnoDB durability on the CI database
- package: save the tested zip keyed by the commit's tree hash; release restores it and
  only re-packages on a miss, but always validates and asserts the zip
- cancel superseded PR runs (concurrency)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:29:17 +02:00
haylanandClaude Bot 9f760cb6b0 chore: mark CI scripts executable
version-changelog / version-changelog (pull_request) Successful in 53s
plugin-checks / package (pull_request) Successful in 1m43s
plugin-checks / phpunit (pull_request) Failing after 14m43s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:15:33 +02:00
haylanandClaude Bot ff69377749 ci: dedupe validate into package, add caches, run phpunit in the shopware-cli image
version-changelog / version-changelog (pull_request) Successful in 51s
plugin-checks / package (pull_request) Failing after 1m26s
plugin-checks / phpunit (pull_request) Failing after 3m3s
- drop the separate validate job (the zip is validated after packaging); same in release
- shared scripts/ci/assert-built-assets.sh (BusyBox-safe), now also used by release
- actions/cache for npm, shopware-cli and composer
- phpunit: shopware-cli image instead of a 4.5 min apt install; MariaDB 10.11
  (11.4 broke Shopware's migrations: Duplicate column 'sorter_key')
- protect-main.sh: drop the removed validate context

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:15:25 +02:00
haylanandClaude Bot c3b242675e ci: run shopware-cli jobs in the official Docker image
version-changelog / version-changelog (pull_request) Successful in 59s
plugin-checks / validate (pull_request) Successful in 3m1s
plugin-checks / package (pull_request) Failing after 3m47s
plugin-checks / phpunit (pull_request) Failing after 6m38s
Replaces the curl/tar install and setup-node steps; the image ships the
CLI plus its PHP/Node toolchain.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:07:07 +02:00
haylanandClaude Bot 1ec194b464 ci: PHP via apt in a bookworm container, retry shopware-cli download
plugin-checks / validate (pull_request) Successful in 1m49s
version-changelog / version-changelog (pull_request) Successful in 1m55s
plugin-checks / package (pull_request) Successful in 2m15s
plugin-checks / phpunit (pull_request) Failing after 10m31s
setup-php hangs on the runner even with runner=self-hosted; the CLI download
returned a non-gzip body once under concurrent load.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 00:03:12 +02:00
haylanandClaude Bot 221ffece3f ci: fix hanging setup-php, wait for DB manually, add compatibility_date
version-changelog / version-changelog (pull_request) Successful in 26s
plugin-checks / validate (pull_request) Failing after 1m45s
plugin-checks / package (pull_request) Failing after 1m45s
plugin-checks / phpunit (pull_request) Canceled after 11m9s
- validate job needs no PHP (the package job already validates without it)
- phpunit: runner=self-hosted so setup-php does not hang under act; replace the
  unhealthy service healthcheck with a TCP wait loop
- .config/shopware-extension.yml: set compatibility_date

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:51:10 +02:00
haylan 54eeab70aa fix(plugin): reword descriptions, add transparent icon variant
version-changelog / version-changelog (pull_request) Successful in 42s
plugin-checks / package (pull_request) Successful in 1m38s
plugin-checks / phpunit (pull_request) Failing after 1m59s
plugin-checks / validate (pull_request) Canceled after 16m9s
2026-10-03 23:46:11 +02:00
haylanandClaude Bot 89a445f900 fix: satisfy shopware-cli validate (description length, icon under 30kb)
version-changelog / version-changelog (pull_request) Successful in 38s
plugin-checks / package (pull_request) Successful in 1m35s
plugin-checks / phpunit (pull_request) Failing after 2m1s
plugin-checks / validate (pull_request) Successful in 15m51s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:37:03 +02:00
haylanandClaude Bot a551034442 ci: plugin-agnostic PR checks and package-then-release pipeline
version-changelog / version-changelog (pull_request) Successful in 50s
plugin-checks / package (pull_request) Failing after 1m50s
plugin-checks / validate (pull_request) Failing after 31m29s
plugin-checks / phpunit (pull_request) Canceled after 33m2s
- plugin-checks workflow: shopware-cli validate, package + built-JS assertion, phpunit
- release: validate, package from the merge commit, validate the zip, create the release
  via the Gitea API, publish the same zip to the Composer registry
- scripts/protect-main.sh sets required status checks via tea api
- bump to 0.1.0

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:28:15 +02:00
haylanandClaude Bot 8efaef2042 feat(plugin): align with Shopware plugin guidelines
- add dedicated monolog channel aeon_dump_manager and log dump jobs
- migrate services.xml/routes.php to YAML
- require PHP ^8.2
- add extension icon and .config/shopware-extension.yml
- drop empty lifecycle overrides

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:26:21 +02:00
haylanandClaude Bot 29974928d2 docs(spec): add Shopware guideline compliance spec
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 23:22:23 +02:00
haylan 36ef203797 Merge pull request 'chore:(composer): namespace fix' (!12) from namespace-fix into main
release / release (push) Successful in 54s
Reviewed-on: #12
v0.0.5
2026-09-21 19:31:07 +00:00
haylan ba2d1ec1d6 chroe(changelog): version dump
version-changelog / version-changelog (pull_request) Successful in 18s
2026-09-21 21:30:19 +02:00
haylan d117444bae chore(bump): version
version-changelog / version-changelog (pull_request) Failing after 4s
2026-09-21 21:29:04 +02:00
haylan 58df03216d chore:(composer): namespace fix
version-changelog / version-changelog (pull_request) Failing after 5s
2026-09-21 21:27:58 +02:00
haylan 29402a35ac Merge pull request 'ci: link published Composer packages to this repository' (!11) from ci/link-package-fix into main
release / release (push) Successful in 50s
v0.0.4
2026-09-21 18:40:29 +00:00
haylan 63134f7de4 chore(release): bump to 0.0.4 for the Composer package-link fix
version-changelog / version-changelog (pull_request) Successful in 6s
2026-09-21 20:40:03 +02:00
haylan b8b8ee6284 ci: treat HTTP 400 (already linked) as expected on the package-link step 2026-09-21 20:39:10 +02:00
haylan b93217cc51 test: verify RELEASE_TOKEN can call the package-link endpoint 2026-09-21 20:11:54 +02:00
haylan 61b4b2b1af ci: link the published Composer package to this repository 2026-09-21 20:10:55 +02:00
haylan ec5c40c9f2 Merge pull request 'feat(dump): date-range filter, sortable columns, native date formatting' (!10) from feat/dump-list-view into main
release / release (push) Successful in 1m1s
v0.0.3
2026-09-21 18:00:42 +00:00
haylan 56ada0cedc Merge remote-tracking branch 'origin/main' into feat/dump-list-view
version-changelog / version-changelog (pull_request) Successful in 5s
# Conflicts:
#	composer.json
2026-09-21 19:59:19 +02:00
haylan f50154b96b chore(release): bump to 0.0.3 for the date-range filter release 2026-09-21 19:58:04 +02:00
haylan 7aa11b0396 Merge pull request 'ci: add pre-merge version-and-changelog check' (!7) from ci/pr-version-check into main
release / release (push) Successful in 50s
v0.0.2
2026-09-21 17:48:25 +00:00
haylan 161c35dc8a chore(release): bump to 0.0.2 for the CI/CD release pipeline itself
version-changelog / version-changelog (pull_request) Successful in 5s
2026-09-21 19:18:06 +02:00
haylan a1f0160ab9 Merge remote-tracking branch 'origin/ci/release-workflow' into ci/pr-version-check 2026-09-21 19:17:31 +02:00
haylan 1ee83aad37 ci: hardcode SERVER_URL as a workflow env var instead of an Actions variable 2026-09-21 19:10:24 +02:00
haylan b2c2a8d80b ci: add post-merge tag, package, and release workflow 2026-09-21 18:53:22 +02:00
haylan 31b9e61adb ci: add pre-merge version-and-changelog check for PRs into main
version-changelog / version-changelog (pull_request) Failing after 8s
2026-09-21 18:37:10 +02:00
haylanandClaude Bot 5a482b49bb feat(dump): add date-range filter, sortable columns, and native date formatting to admin list
- Wires the backend from/to filter into the UI via sw-filter-panel with
  a hand-built date-filter config (no DAL entity needed — sw-filter-panel's
  only external dependency, filterService, persists through the generic
  user_config entity, not one for the filtered resource).
- Makes the datetime and sizeBytes columns sortable (ascending/descending)
  using the same Mixin.getByName('listing') core list pages use, which
  also persists sort state in the URL query string.
- Replaces the ad hoc `new Date(value).toLocaleString()` with
  Shopware.Utils.format.date, matching the existing fileSize formatting
  and respecting the admin's locale/timezone.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 12:39:23 +02:00
haylanandClaude Bot 6094b6f49c test(dump): replace @dataProvider annotations with #[DataProvider] attributes
The installed PHPUnit (12.x, ahead of this plugin's ^10.0 dev
constraint) no longer parses the @dataProvider PHPDoc annotation,
so both tests silently ran their data-provider method with zero
arguments and failed with ArgumentCountError.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 12:39:08 +02:00
haylanandClaude Bot e5c3a5b28f fix(dump): normalize date-filter bounds to the app timezone before applying day boundary
The admin date filter can send a naive local date string for "from" but
a UTC Z-suffixed instant for "to" (sw-date-filter widens it client-side
via Date#toISOString()). Comparing those directly against dump
timestamps (parsed in PHP's default timezone) shifted the effective
cutoff by the timezone offset. Re-express both bounds in the app's
default timezone before applying the day boundary.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 12:38:54 +02:00