Skip to content

fix(admin): unsaved badge on gallery removal and the queue worker timeout handler - #713

Merged
navneetkumar-pim-webkul merged 3 commits into
unopim:3.xfrom
dripar-webkul:fix/gallery-unsaved-changes-badge
Sep 18, 2026
Merged

navneetkumar-pim-webkul merged 3 commits into
unopim:3.xfrom
dripar-webkul:fix/gallery-unsaved-changes-badge

Conversation

@dripar-webkul

Copy link
Copy Markdown
Collaborator

Two fixes:

  1. Gallery removal Unsaved badge (2706d20f)
    Fixed dirty-state tracking when gallery image inputs are removed. The control group is now remembered and correctly falls back to the touched group, so the “Unsaved” badge appears.

  2. Queue worker Laravel 13.32 compatibility (a8612277)
    Updated registerTimeoutHandler() to match Laravel 13.32.0’s new signature. This requires deciding between a ^13.32 floor bump or a reflection-based BC guard.

Testing

  • Playwright gallery removal test added and passes after the fix.
  • composer phpstan: OK
  • vendor/bin/pint --test: OK
  • Translations: 386/386
  • Pest not run.

Copilot AI 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.

🔵 Needs a closer look

The queue worker compatibility test does not exercise both timeout-handler signature branches.

Pull request overview

Fixes gallery removal unsaved-state tracking and Laravel queue worker timeout-handler compatibility.

Changes:

  • Added shared gallery E2E helpers and removal regression coverage.
  • Updated unsaved-change group resolution for removed controls.
  • Added reflection-based support for Laravel timeout-handler signatures.
File summaries
File Reviewed changes
tests/e2e-pw/utils/gallery-helpers.js Shared gallery and product test helpers
tests/e2e-pw/tests/01-catalog/galleryReorderUnsavedChanges.spec.js Refactored to use shared helpers
tests/e2e-pw/tests/01-catalog/galleryRemoveUnsavedChanges.spec.js Added gallery removal regression coverage
packages/Webkul/DataTransfer/tests/Unit/Queue/WorkerTest.php Tests timeout-handler argument dispatch
packages/Webkul/DataTransfer/src/Queue/Worker.php Supports compatible timeout-handler signatures
packages/Webkul/Admin/src/Resources/views/components/form/unsaved-changes.blade.php Restores group resolution for removed controls
Review details

Suppressed comments (1)

packages/Webkul/DataTransfer/tests/Unit/Queue/WorkerTest.php:41

  • This assertion derives the expected count from the same installed BaseWorker signature that selects the branch under test, so the suite only exercises one branch (the repository lock is Laravel 13.30.1) and would not catch a regression in the Laravel 13.32 four-argument path. Please add an explicit two-/four-argument compatibility matrix or a test seam that exercises both mappings and asserts the exact captured arguments.
    expect($captured)->toHaveCount(
        (new ReflectionMethod(BaseWorker::class, 'registerTimeoutHandler'))->getNumberOfParameters()
    );

    expect(end($captured))->toBe($options);
  • Files reviewed: 6/6 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@navneetkumar-pim-webkul
navneetkumar-pim-webkul merged commit 485c5d3 into unopim:3.x Sep 18, 2026
19 checks passed
@navneetkumar-pim-webkul navneetkumar-pim-webkul mentioned this pull request Sep 24, 2026
2 of 6 tasks
navneetkumar-pim-webkul added a commit that referenced this pull request Sep 24, 2026
Six merged pull requests since v3.1.1 carried no changelog entry: the
gallery unsaved badge and worker timeout handler (#713), the import filter
re-render (#720), the worker timeout alarm (#722), the channel name on
PostgreSQL (#725), the price input height (#726), and the export view
events (#717, #718). The two fixes pending in #727 and #728 are included
so the cut merges after them.

The model recommendation entry described the cheap-tier ranking that #724
replaced with newest-per-family; it now describes the shipped behaviour.

3.1.2 is a patch release, so everything is filed under bug fixes and
improvements; no feature section. Core::VERSION, package.json and the
UPGRADE.md walkthrough move to 3.1.2 together, as they did for 3.1.1.
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.

3 participants