Skip to content

Fix/bug fixes - #355

Merged
navneetkumar-pim-webkul merged 62 commits into
masterfrom
fix/bug-fixes
Apr 23, 2026
Merged

navneetkumar-pim-webkul merged 62 commits into
masterfrom
fix/bug-fixes

Conversation

@navneetkumar-pim-webkul

Copy link
Copy Markdown
Collaborator

Issue Reference

<! Please mention issue #id or use a comma if your pull request solves multiple issues. -->

Description

<! Please describe your changes in detail. -->

How To Test This?

<! Please describe in detail how to test the changes made in this pull request. -->

Documentation

  • My pull request requires an update on the documentation repository.
    <! Please describe in detail what needs to be changed. >

Branch Selection

<! Please specify the target branch for this pull request. -->

  • Target Branch: master

Pint

<! Please make sure all the pint tests are passed. -->

Tailwind Reordering

<! Please make sure all the Tailwind classes are reordered. -->

Adds validation in the category update flow to block assigning a
descendant or the category itself as its parent. Previously this caused
a raw PHP exception from the nested-set library. Now a clear UI error
message is shown and the save is rejected.
- Rename v-datagrid-table to v-history-table in history/table.blade.php to
  avoid Vue component registration conflict with the regular datagrid table
  (both shared the same template ID, causing visibleColumns to be undefined)
- Remove unconditional slot forwarding from v-history-datagrid that was
  overriding v-history-table's default slot content with empty content
- Add AttributeHistoryPresenter to translate raw field names and values
  into human-readable labels in the history detail modal
…ext and image prompts are seeded on fresh install
…ew key and add view translation across all locales
…s URL prefixes for the configurable product API
CI installs latest pint via aglipanci/laravel-pint-action while lockfile
had v1.29.0; v1.29.1 (PR #432) tightened fixer detection causing CI-only
style failures. Pin exact version to align local + CI, reformat the three
affected controllers.
aglipanci/[email protected] does composer global require and
pulls the latest pint, bypassing composer.lock. Swap to setup-php +
ramsey/composer-install so the lockfile-pinned version is used, keeping
CI and local in lockstep.
Copilot AI review requested due to automatic review settings April 23, 2026 05:44

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.

Pull request overview

This PR is a broad set of bug fixes and regression tests across Admin UI, Admin API, Magic AI/AiAgent, DataTransfer import validation, and authorization handling.

Changes:

  • Standardizes unauthorized access responses to HTTP 403 (instead of 401) across multiple controllers/middleware and updates tests accordingly.
  • Improves Admin API behavior (configurable-products routing, media upload assignment to product values, clearer invalid filter handling, API key secret regeneration revoking tokens).
  • Enhances Magic AI/AiAgent UX and validation (default platform must be enabled, tilde-prefixed model handling, model auto-fetch/test-before-save, chat widget default platform selection) and adds extensive regression tests.

Reviewed changes

Copilot reviewed 159 out of 161 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
tests/e2e-pw/tests/02-configuration/magicAI-default-requires-enabled.spec.js Adds Playwright E2E coverage for “disabled platform cannot be default”.
packages/Webkul/Webhook/src/Http/Controllers/WebhookLogsController.php Switches permission failures to 403 for webhook logs.
packages/Webkul/User/tests/Feature/SecurityTest.php Updates expected unauthorized status from 401 to 403.
packages/Webkul/User/tests/Feature/RoleTest.php Adds test ensuring ACL/menu top-level sort alignment.
packages/Webkul/User/tests/Feature/ResetPasswordTest.php Adds test for reset-password route without token redirect.
packages/Webkul/User/tests/Feature/PasswordChangeInvalidatesTokensTest.php Adds test ensuring password change revokes Passport tokens.
packages/Webkul/User/src/Http/Middleware/Bouncer.php Uses 403 for unauthorized role/permissions state.
packages/Webkul/User/src/Bouncer.php Uses 403 for permission enforcement abort.
packages/Webkul/Product/src/Validator/ProductValuesValidator.php Fixes channel code extraction variable ($channels).
packages/Webkul/Product/src/Validator/ProductCategoriesValidator.php Disallows root categories in product category assignment validation.
packages/Webkul/MagicAI/src/Enums/AiProvider.php Normalizes model IDs returned from OpenAI-compatible providers (strips ~).
packages/Webkul/MagicAI/src/Database/Seeders/MagicAiPromptSeeder.php Adds purpose field to seeded prompts.
packages/Webkul/Installer/src/Console/Commands/PurgeUnusedImages.php Formatting/alignment tweak in match expression.
packages/Webkul/DataTransfer/tests/Unit/ImporterEmptyHeadersTest.php Adds test for trimming trailing empty spreadsheet headers.
packages/Webkul/DataTransfer/src/Helpers/Importers/AbstractImporter.php Trims trailing empty headers before validation to avoid false errors.
packages/Webkul/Core/tests/Unit/CoreConfigRepositoryClearValueTest.php Adds regression test to ensure null config persists as empty string.
packages/Webkul/Core/src/Repositories/CoreConfigRepository.php Persists empty string for explicitly-cleared null config fields.
packages/Webkul/Attribute/src/Repositories/AttributeRepository.php Resolves ambiguous select columns (esp. name) in search query.
packages/Webkul/Attribute/src/Presenters/AttributeHistoryPresenter.php Adds history presenter for attributes with translated labels/formatting.
packages/Webkul/Attribute/src/Models/Attribute.php Registers presenters via PresentableHistoryInterface.
packages/Webkul/AiAgent/tests/Feature/ChatWidgetVisibilityTest.php Ensures widget not rendered on error/anonymous pages.
packages/Webkul/AiAgent/tests/Feature/ChatWidgetDefaultPlatformTest.php Verifies chat widget honors server default over stale sessionStorage.
packages/Webkul/AiAgent/tests/Feature/ChatFileUploadLimitTest.php Asserts 100MB upload limit for chat file attachments.
packages/Webkul/AiAgent/src/Http/Controllers/DashboardController.php Uses 403 when permission missing.
packages/Webkul/AiAgent/src/Http/Controllers/CredentialController.php Uses 403 when permission missing.
packages/Webkul/AiAgent/src/Http/Controllers/ConversationController.php Uses 403 when permission missing.
packages/Webkul/AiAgent/src/Http/Controllers/ChatController.php Increases file upload max size from 20MB to 100MB.
packages/Webkul/AiAgent/src/Http/Controllers/ApprovalController.php Uses 403 when permission missing.
packages/Webkul/AiAgent/src/Http/Controllers/AgentController.php Uses 403 when permission missing.
packages/Webkul/AiAgent/Resources/views/components/chat-widget.blade.php Tracks defaultPlatformId and tightens platform restore logic.
packages/Webkul/AiAgent/Config/menu.php Adjusts menu sort order for ai-agent.
packages/Webkul/AiAgent/Config/acl.php Adjusts ai-agent ACL sort and adds prompt/system-prompt edit/delete ACL keys.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiProductTest.php Makes category selection deterministic (non-root category).
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiProductMethodNotAllowedTest.php Adds tests for disallowed HTTP methods on listing endpoints.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiProductInvalidFilterTest.php Adds test for invalid parent SKU filter returning non-200.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiMediaFileTest.php Adds test for assigning uploaded media to product attribute values.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiImmutableFieldsTest.php Adds tests rejecting immutable field updates (type).
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiConfigurableProductSpellingTest.php Ensures correctly-spelled configurable-products route resolves; keeps legacy typo route.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiConfigurableProductPaginationTest.php Adds pagination/limit test for configurable products endpoint.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiConfigurableProductDeleteTest.php Adds DELETE test for configurable products endpoint.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiCategoryParentTest.php Adds test ensuring category parent code is included in API response.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiCategoryFieldTest.php Updates tests for immutable field behavior and option update behavior.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiCategoryFieldOptionUpdateTest.php Adds test rejecting unknown option codes on option update.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiAttributeTest.php Updates tests for immutable field behavior on attribute updates.
packages/Webkul/AdminApi/tests/Feature/Catalog/ApiAttributeMultiCreateTest.php Adds test rejecting list payloads for attribute creation.
packages/Webkul/AdminApi/src/Routes/V1/catalog-routes.php Adds correctly spelled configurable-products routes (keeps legacy typo) + adds DELETE.
packages/Webkul/AdminApi/src/Http/Controllers/Integrations/ApiKeysController.php Revokes Passport tokens on client secret regeneration.
packages/Webkul/AdminApi/src/Http/Controllers/API/Catalog/MediaFileController.php Persists uploaded media path into product values JSON by scope.
packages/Webkul/AdminApi/src/Http/Controllers/API/Catalog/ConfigurableProductController.php Adds DELETE endpoint implementation for configurable products.
packages/Webkul/AdminApi/src/Http/Controllers/API/Catalog/CategoryFieldController.php Rejects immutable fields in PUT; enforces unknown option code errors keyed by code.
packages/Webkul/AdminApi/src/Http/Controllers/API/Catalog/AttributeController.php Rejects list payloads on create; rejects immutable fields on update.
packages/Webkul/AdminApi/src/ApiDataSource/Catalog/ProductDataSource.php Fixes parent SKU lookup logic and uses 422-style exception for invalid filter value.
packages/Webkul/AdminApi/src/ApiDataSource/Catalog/CategoryDataSource.php Fixes parent category lookup reference.
packages/Webkul/Admin/tests/Feature/PageTitleTest.php Adds assertions for user-friendly page titles.
packages/Webkul/Admin/tests/Feature/ManageColumnsNameOnlyTest.php Ensures manage-columns list hides attribute codes.
packages/Webkul/Admin/tests/Feature/MagicAIMenuOrderTest.php Ensures ai-agent sorts before data_transfer in menu/ACL.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAITinyMCEButtonVisibilityTest.php Ensures TinyMCE AI button only registers when enabled.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAISuggestionValuesTest.php Adds tests for Magic AI suggestion values endpoint behavior.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformTildeModelTest.php Tests tilde-prefixed models are sanitized on save.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformSaveValidatesCredentialsTest.php Ensures UI calls test-connection before save.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformModelsSubmitTest.php Tests models string accepted; ensures FormData always includes models.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformDeleteIconVisibilityTest.php Ensures delete/edit icons only render when actions exist.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformDeleteDefaultTest.php Tests default platform deletion is rejected.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformDefaultValidationTest.php Tests default platform must be enabled in store/update.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformAutofetchModelsTest.php Ensures debounced model auto-fetch behavior exists in UI.
packages/Webkul/Admin/tests/Feature/MagicAI/MagicAIPlatformAddButtonAclTest.php Adds ACL-based visibility tests for “Add Platform” button.
packages/Webkul/Admin/tests/Feature/DataTransfer/JobTrackerGridTooltipTest.php Ensures translated tooltip is returned (not raw translation key).
packages/Webkul/Admin/tests/Feature/DashboardTest.php Adds 403 assertion for dashboard access without permission.
packages/Webkul/Admin/tests/Feature/Catalog/ProductValuesTest.php Adds tests preventing root-category assignment; adjusts category setup.
packages/Webkul/Admin/tests/Feature/Catalog/ProductTest.php Adds test for sticky product edit header offset.
packages/Webkul/Admin/tests/Feature/Catalog/ProductBulkEditTest.php Adds test ensuring bulk edit attribute fetch is limited to selected families.
packages/Webkul/Admin/tests/Feature/Catalog/ProductBulkEditPriceValidationTest.php Adds validation tests for numeric price values in bulk edit save.
packages/Webkul/Admin/tests/Feature/Catalog/ProductBulkEditDatetimeTest.php Adds tests ensuring datetime editor wiring + validation UI text exists.
packages/Webkul/Admin/tests/Feature/Catalog/CategoryParentValidationTest.php Adds tests preventing invalid parent assignment (self/descendant).
packages/Webkul/Admin/tests/Feature/Catalog/BulkEditColumnResizeTest.php Adds tests for improved column resize UX and reactivity.
packages/Webkul/Admin/tests/Feature/Catalog/AttributeTest.php Adds test ensuring swatch modal layout is unified.
packages/Webkul/Admin/tests/Feature/Acl/Settings/UserAclTest.php Updates ACL tests to assert 403 status instead of “Unauthorized” text.
packages/Webkul/Admin/tests/Feature/Acl/Settings/RoleAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Settings/LocaleAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Settings/CurrencyAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Settings/ChannelAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/MagicAi/MagicAiPromptAclTest.php Adds tests for prompt/system prompt action visibility based on ACL.
packages/Webkul/Admin/tests/Feature/Acl/MagicAi/MagicAiPlatformAclTest.php Updates status assertions; adds platform action visibility tests by ACL.
packages/Webkul/Admin/tests/Feature/Acl/DataTransfer/ImportAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/DataTransfer/ExportAclTest.php Updates ACL tests to assert 403 status (incl. tracker route).
packages/Webkul/Admin/tests/Feature/Acl/Configuration/WebhookLogsAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Configuration/IntegrationAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/ProductAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/CategoryFieldAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/CategoryAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/AttributeGroupAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/AttributeFamilyAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/tests/Feature/Acl/Catalog/AttributeAclTest.php Updates ACL tests to assert 403 status.
packages/Webkul/Admin/src/Routes/auth-routes.php Redirects reset-password index to forget-password page.
packages/Webkul/Admin/src/Resources/views/configuration/magic-ai/system-prompt/index.blade.php Fixes page title translation key to index title.
packages/Webkul/Admin/src/Resources/views/configuration/magic-ai/platform/index.blade.php Adds create ACL gating, action icon visibility gating, debounced model fetch, and test-before-save flow.
packages/Webkul/Admin/src/Resources/views/configuration/magic-ai-prompt/index.blade.php Fixes page title translation key to index title.
packages/Webkul/Admin/src/Resources/views/components/tree/radio.blade.php Disables selecting current category and adjusts styling.
packages/Webkul/Admin/src/Resources/views/components/tree/category/view.blade.php Updates currentCategory prop typing/defaults to match new usage.
packages/Webkul/Admin/src/Resources/views/components/tinymce/index.blade.php Registers AI TinyMCE button only when AI is enabled; makes toolbar conditional.
packages/Webkul/Admin/src/Resources/views/components/layouts/anonymous.blade.php Removes unopim.admin.layout.content.after event from anonymous layout rendering.
packages/Webkul/Admin/src/Resources/views/components/history/table.blade.php Renames history table component and adds action title attribute.
packages/Webkul/Admin/src/Resources/views/components/history/index.blade.php Removes passthrough header/body slots from history table usage.
packages/Webkul/Admin/src/Resources/views/components/datagrid/manage-columns/index.blade.php Hides attribute codes in manage-columns list (name-only).
packages/Webkul/Admin/src/Resources/views/components/bulkedit/type/datetime.blade.php Adds datetime bulk edit cell/editor component with validation.
packages/Webkul/Admin/src/Resources/views/components/bulkedit/header.blade.php Makes column widths reactive to resize events.
packages/Webkul/Admin/src/Resources/views/components/bulkedit/header-cell.blade.php Improves resize handle hit-area and emits resize events.
packages/Webkul/Admin/src/Resources/views/components/bulkedit/editor.blade.php Wires datetime editor include.
packages/Webkul/Admin/src/Resources/views/components/bulkedit/cell.blade.php Dispatches datetime attribute type to datetime component.
packages/Webkul/Admin/src/Resources/views/catalog/products/edit.blade.php Makes product edit header sticky with top offset.
packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php Unifies swatch option modal layout (grid structure).
packages/Webkul/Admin/src/Resources/lang/zh_CN/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/pt_PT/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/nl_NL/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/id_ID/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/es_ES/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/en_US/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/en_NZ/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/en_GB/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Resources/lang/en_AU/app.php Adds/updates translations for new validations and UI text.
packages/Webkul/Admin/src/Http/Controllers/User/AccountController.php Revokes Passport tokens on admin password change.
packages/Webkul/Admin/src/Http/Controllers/Settings/DataTransfer/TrackerController.php Uses 403 for unauthorized; fixes normalizeSummary param name.
packages/Webkul/Admin/src/Http/Controllers/Settings/DataTransfer/ImportController.php Uses 403 for unauthorized; fixes normalizeSummary param name.
packages/Webkul/Admin/src/Http/Controllers/Settings/DataTransfer/ExportController.php Uses 403 for unauthorized.
packages/Webkul/Admin/src/Http/Controllers/MagicAI/MagicAIPlatformController.php Enforces default-enabled constraint; strips ~ in model validation; disallows deleting default platform.
packages/Webkul/Admin/src/Http/Controllers/MagicAI/MagicAIController.php Normalizes suggestion query to string default.
packages/Webkul/Admin/src/Http/Controllers/Catalog/ProductBulkEditController.php Adds numeric validation before dispatch; filters attributes by selected families; imports DB facade.
packages/Webkul/Admin/src/Http/Controllers/Catalog/Options/AjaxOptionsController.php Accepts alternate parameter names; adds entityName guard; supports search alias.
packages/Webkul/Admin/src/Http/Controllers/Catalog/CategoryController.php Prevents invalid parent assignment (self/descendant).
packages/Webkul/Admin/src/DataGrids/Settings/DataTransfer/JobTrackerGrid.php Fixes action title translation key used in grid.
packages/Webkul/Admin/src/DataGrids/MagicAI/MagicPromptGrid.php Guards edit/delete actions by permissions.
packages/Webkul/Admin/src/DataGrids/MagicAI/MagicAISystemPromptGrid.php Guards edit/delete actions by permissions.
packages/Webkul/Admin/src/DataGrids/MagicAI/MagicAIPlatformDataGrid.php Guards edit/delete actions by permissions.
packages/Webkul/Admin/src/Config/acl.php Adjusts sort order for data_transfer ACL key.
composer.lock Updates Pint lockfile metadata to v1.29.1.
composer.json Bumps Pint dev dependency; project PHP is ^8.3.
.github/workflows/linting_tests.yml Reworks Pint CI to install deps and run vendor Pint.

Comment thread packages/Webkul/DataTransfer/tests/Unit/ImporterEmptyHeadersTest.php Outdated
Comment thread tests/e2e-pw/tests/02-configuration/magicAI-default-requires-enabled.spec.js Outdated
Comment thread packages/Webkul/AdminApi/src/Http/Controllers/API/Catalog/MediaFileController.php Outdated
Comment thread packages/Webkul/Admin/src/Http/Controllers/Catalog/ProductBulkEditController.php Outdated
Comment thread packages/Webkul/Admin/src/Resources/views/components/tree/radio.blade.php Outdated
Comment thread packages/Webkul/AdminApi/tests/Feature/Catalog/ApiProductInvalidFilterTest.php Outdated
Comment thread packages/Webkul/Core/tests/Unit/CoreConfigRepositoryClearValueTest.php Outdated
Comment thread packages/Webkul/AdminApi/tests/Feature/Catalog/ApiProductMethodNotAllowedTest.php Outdated
Admin layouts don't render a meta[name="csrf-token"] tag, so the old
adminPage.request.post path sent an empty X-CSRF-TOKEN and the request
was rejected (419 locally, 500 in CI shard 2). Switch to the same
in-page fetch pattern as webhook-delivery.spec.js: read the XSRF-TOKEN
cookie and send it as X-XSRF-TOKEN, which the session-backed request
context accepts.
- ProductBulkEditController::validateNumericAttributeValues: replace
  break 2 with break so a single bad scalar no longer aborts validation
  of the remaining numeric attributes on the same product.
- ApiResponse::storeExceptionLog: map UnprocessableEntityHttpException
  to 422 instead of 404; keep ModelNotFoundException on 404.
- Tighten API tests: ApiProductInvalidFilterTest asserts 422 exactly,
  ApiProductMethodNotAllowedTest asserts 405 and presence of Allow
  header instead of accepting a loose status set.
- MediaFileController::assignMediaToProductAttribute: use the injected
  $attributeRepository instead of an ad-hoc app() lookup.
- tree/radio.blade.php: bind cursor-pointer/cursor-not-allowed on icon
  and label text to isCurrentCategory so the disabled state is
  reflected consistently.
- CoreConfigRepositoryClearValueTest: drop source-string matching and
  replace with behavioral tests that exercise CoreConfigRepository
  against the DB for null-cleared and default-valued fields.
- ImporterEmptyHeadersTest: exercise AbstractImporter::validateData via
  a minimal concrete subclass with a stub source so regressions in
  the trailing-empty-header trim are caught against production code.
- ProductCategoriesValidator: replace the per-validate root-code pluck
  with a closure that does a single indexed whereNull lookup per
  submitted code.
…on is missing

The previous null-to-empty-string change made the code fall through to a
password-type check that assumed $field was an array. Tests that exercise
legacy configuration payloads hit a "Trying to access array offset on
null" error. Use null-coalesce on $field['type'] so the password path
is skipped when the config field is not registered.
@navneetkumar-pim-webkul
navneetkumar-pim-webkul merged commit 9ac028d into master Apr 23, 2026
23 checks passed
@navneetkumar-pim-webkul
navneetkumar-pim-webkul deleted the fix/bug-fixes branch April 25, 2026 07:17
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.

2 participants