Recent Activities
This page shows what are we working on.
-
head
-
docs: add manual QA scenarios ba69b1
-
-
1.7.36
-
Version 1.7.36 82272a
-
test: config options and type-source coverage
Covers the options x settings surface at the logic level:
- Helper\Config: master switch (every feature off when
ajaxpro/main/enabled is 0), the override-minicart handle whitelist
(allowed only for minicart / shopping-cart handles, matching the
system.xml depends), standalone flags that ignore the master switch,
and type casts.
- Source\Handle / Source\Type: lock the popup handle and cart type
enumerations referenced by name across system.xml, layout and config.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 8f91cf -
test: popup gating matrix across component flavors and popup types
Runs the gating scenarios (popup after add-to-cart, silence on stale
re-fetch, redirect flow) for every combination of component flavor
(luma uiComponent / breeze view) and cartHandle popup type (minicart,
shopping cart, suggest page), plus the simple-popup messages gate and
closeTimeout config variations (disabled, countdown with continue
button, reset on user activity).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> ef33d0 -
test: integration coverage of the popup gating chain
Covers section update -> _subscribe -> ModalManager.checkAndShow end
to end: popup after add-to-cart post, popup after redirect-based add
to cart, silence on stale section re-fetch (the bsxl scenario), no
reopen after the popup was shown. This chain is the only protection
on both stacks since disposableCustomerData was dropped (#54).
Refs #54
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 4f7514 -
refactor: drop disposableCustomerData, unify luma and breeze strategy
Luma applied the disposableCustomerData extender to ajaxpro sections
(wiping them from storage and section_data_ids cookie after use) while
Breeze had it commented out — the divergence made stale-section bugs
Breeze-only and the behavior hard to reason about.
Since 048361e the popup opens only within 30s after a real add-to-cart
post (is-ajaxpro-request marker), so a stale re-fetch on page load can
not trigger it on either stack. Ajaxpro sections now persist like any
other customer-data section on both frontends.
Verified on luma storefront: popup on add to cart, section persists,
stale section re-fetch on navigation stays silent.
Closes #54
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> b0a6dd -
refactor: replace PostHelper preference with a before plugin
The preference on Magento\Framework\Data\Helper\PostHelper replaced
the core class entirely and conflicted silently with other modules
customizing the same helper. A before plugin composes instead.
before (not after/around): the decision "caller did not pass uenc
explicitly" is only visible in the original arguments, and no result
re-serialization is needed. Semantics are identical to the old
override: inside an ajax request reuse the real page uenc from the
request parameters.
Old helper class kept as @deprecated for code extending it.
Closes #55
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 4f0ca4 -
chore: strict_types in all php files, drop dead code
- declare(strict_types=1) in every php file (project standard);
verified with php -l, unit tests and storefront smoke run
- remove commented-out debug/dead blocks (md5 debug, unused methods,
disabled section actions)
- drop stale deprecated setup_version from module.xml (no Setup/ dir)
Refs #53
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> a46452 -
test: cover event handling hygiene fixes (issue #52)
Refs #52
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> bf5db7 -
fix: event handling hygiene in frontend js
- Namespace click handlers (.off('click.ajaxpro')) in floating cart
and minicart override: bare .off() also removed handlers attached
by other modules.
- Cap modal-manager register() polling at 10s and register anyway:
on pages with permanent ajax activity $.active never reaches 0 and
the interval lived forever.
- Dispose customer-data subscriptions on destroy (ajaxpro.js,
compare.js) to avoid duplicate handlers after component re-init.
- Fix dead fallback typo: form.prop('prop') -> form.prop('action').
Closes #52
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 635251 -
test: cover modal auto-close timer (issue #51)
Refs #51
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> e53aaf -
fix: modal auto-close timer throws instead of closing the modal
setTimeout received this.closeModal unbound, so the closeTimeout
feature fired with `this` pointing at window and threw a TypeError.
Same defect in luma and breeze variants.
Closes #51
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> d4fe2b -
test: cover ajax notice message suppression (issue #49)
Adds phpunit setup (mirrors module-breeze-theme-editor) and wires
bin/test unit.
Refs #49
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 67257d -
test: cover section reload once-guard (issue #50)
Refs #50
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> ceb693 -
fix: infinite section reload loop on website/store mismatch
Minicart and floating cart views reloaded cart sections whenever the
cart section website_id/storeId diverged from window.checkout. When
the quote really belongs to another website/store (same-domain
multi-store), reloading can never fix the mismatch, and since the
Breeze view re-creates on every contentUpdated, the check re-fired
after each reload — an endless cart/ajaxpro-cart request stream.
Reload at most once per page load and guard undefined website_id in
the floating cart (undefined !== websiteId used to trigger it too).
Closes #50
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 84dcbd -
fix: notice messages silently dropped on every ajax request
isMessageToIgnore() compared strpos() result with 1 instead of false,
so it returned true for nearly any message and addNoticeMessage()
discarded all ajax notices — not only the two "choose options"
messages it was meant to suppress.
Closes #49
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 79940e
-
-
head
-
1.7.35
-
Version 1.7.35 aa8693
-
-
2.0.1
-
Version 2.0.1 7f5108
-
-
1.2.1
-
1.5.55
-
head
-
Remove accidentally committed vendor dir and composer.lock
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 914bff
-
-
1.0.13
-
3.1.0
-
Version 3.1.0 be03b6
-
-
3.1.0
-
1.18.0
-
Version 1.18.0 9ee8c1
-