Recent Activities

This page shows what are we working on.

swissup / theme-frontend-argentobreeze-stripes

1 hour ago success

breezefront / module-breeze-theme-editor

1 hour ago success
  • head
    • feat(highlight): add per-field icon to highlight elements affected by a CSS var

      Each settings field with a CSS variable now gets a small icon; clicking it
      marks the live-preview elements that variable actually affects (scanned
      from the theme's real compiled CSS via a new css-var-usage-index utility,
      since most fields write to a :root-scoped var with no declared selector).
      Replaces the earlier global toolbar toggle + hover model, which required
      arming highlight mode then hovering fields one at a time.

      Behavior: 1 matched element marks it and scrolls it into view if
      off-screen; 2-5 mark all with no scroll (ambiguous target); more than 5
      show a count message instead of marking, to avoid clutter on broad vars. b31c7b

  • 1.0.10
    • Version 1.0.10

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 27b827

    • fix(phpcs): move test stub classes to their own files

      Magento2 coding standard requires one class per file (PSR-1). The
      AuthSessionStub, BackendSessionStub and ThemeStub classes added
      alongside their test cases in 4478961 tripped the sniff. Move each
      into a Stub/ subdirectory next to the test that uses it, matching the
      existing Test/Unit/Model/Provider/Stub/ArrayObjectStub.php convention.

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> a14e73

    • test(unit): migrate removed PHPUnit 10-12 APIs, keep 9.6 compatible

      PHPUnit 12 run had 156 errors; the suite now passes 833/833 on
      PHPUnit 9.6, 10.5 and 12 from a single codebase.

      - Replace addMethods() (removed in v12, 27 calls / 24 files):
      * GraphQL context mocks use Magento\GraphQl\Model\Query\ContextInterface,
      which declares getUserId()/getUserType() and extends the base
      resolver ContextInterface
      * ThemeResolverTest: stdClass mock replaced with a ThemeStub class
      * Auth/Backend session mocks: magic __call methods (getUser, setData,
      unsetData) declared on abstract stubs extending the real session
      - Drop MockBuilder calls removed in v12 (disableArgumentCloning,
      disallowMockingUnknownTypes, disableAutoReturnValueGeneration)
      - Add #[DataProvider]/#[Test] attributes next to the doc-comment
      annotations: v12 reads only attributes, the CI's 9.6.5 phar reads
      only annotations; 10/11 dedupe, so nothing runs twice
      - Make resolverClassProvider() and its helpers static (hard error in v12)
      - Replace isType('string') (removed in v13) with callback('is_string')

      Closes #24

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 447896

    • fix(status): treat cached empty status map as a cache miss

      If the status map was loaded while breeze_theme_editor_status was
      empty (mid-deploy, reimported dump), the serialized empty array was
      cached for 24h and every request kept failing with
      'Status "DRAFT" not found' even after the rows appeared. Skip caching
      an empty map and ignore a cached empty value so recovery only needs
      the table rows, not a cache flush.

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> ac77a2

breezefront / module-breeze-content-builder

1 hour ago success
  • head
    • Added Column Divider prop for the Columns component 0ac3e9

    • Allow using html in Text component inline svg (BreezeStripes fix) 14baf5

  • 1.0.4
    • Version 1.0.4 dab817

    • Fixed missing css class in Featured Product component a87e23

    • Pass current page_id for widgets like AskIt, closes #29 7b5bae

    • Fixed installer to use next content version instead of hard-coded v1 853c63

swissup / module-seo-urls

1 day ago success

breezefront / theme-frontend-breeze-enterprise-apollo

1 day ago success

swissup / module-pagespeed

1 day ago success
  • head
    • fix(preload): default missing as attribute to style on existing links

      In-place update (1.18.1) stopped writing the "as" attribute that the
      old re-create path always set. rel="preload" without a valid "as"
      triggers browser warnings and may double-fetch the resource.

      - add regression test for the missing-as default
      - rename testProcessRemovesDuplicatePreloadLinks to match the
      keep-in-place semantics; drop stale comments

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 47d617

    • fix(preload): keep existing preload links in place to preserve CSS order

      AddLinkPreload removed every existing rel="preload" link and re-inserted
      it right after <title>, above the critical <style>. Deferred stylesheets
      (converted by DeferCss, with onload flipping them back to
      rel="stylesheet") ended up before critical CSS in the DOM, inverting the
      cascade: critical CSS overrode the full theme CSS after load.

      - Existing preload links keep their DOM position; per-type rel,
      fetchpriority (within limits) and crossorigin are updated in place
      - Only new preloader assets are inserted after <title>; href dedupe
      against existing links and the live-script prefetch guard are kept
      - Replace applyPreloadChanges() with updatePreloadLinkInPlace() +
      insertPreloadLinks()

      Tests: add regression tests for link position relative to critical
      <style>; suite OK (644 tests, 1944 assertions).

      Fixes #97

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 07ef75

    • fix: replace deprecated SplObjectStorage::contains() for PHP 8.5

      PHP 8.5 deprecates SplObjectStorage::contains(); with an error handler
      that escalates deprecations (e.g. Ignition) this kills page rendering
      inside the optimizer pipeline. Use offsetExists() — identical
      semantics, available since PHP 5.3.

      Fixes #96

      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> cee3e2

  • 1.18.0
    • Version 1.18.0 75bd79

    • test: add attribute metadata for PHPUnit 12 discovery

      PHPUnit 12 dropped doc-comment metadata: @dataProvider providers were
      not applied and @test snake_case methods were not discovered. Add
      #[DataProvider]/#[Test] attributes while keeping the annotations so
      the suite still runs on PHPUnit 9.6 (CI) and 10.5 (local), which
      ignore unknown attribute classes.

      Also accept the unused third data-set argument in testGetFilename —
      PHPUnit 12 warns when a provider passes more arguments than the test
      method accepts.

      Verified: PHPUnit 12.5.31 exit 0 (631 tests), PHPUnit 10.5.47 OK.

      Refs #92 5b20fe

    • feat!: remove Expire Header feature

      BREAKING CHANGE: Body\Expire optimizer, `pagespeed/expire/*` config
      and its admin section are removed.

      The feature set `Cache-Control: public, max-age=31536000` on document
      HTML for guest pages. Browsers and hosting-side proxies (invisible to
      the Varnish config check) cache such pages beyond any server-side
      flush, so merchants could not push content/price updates to returning
      visitors for up to a year. No PageSpeed/CWV benefit to offset that.
      Orphaned core_config_data rows are harmless.

      Closes #91 f659e6

    • chore: ignore phpunit cache and playwright artifacts be8bda

    • test: drop APIs removed in PHPUnit 12 from Test/Unit

      - replace getMockBuilder('stdClass')->addMethods() with createMock()
      of real classes (Store, Minify_HTML, HeaderInterface)
      - validate optimizers before logger init in Pipeline so expected
      InvalidArgumentException surfaces even without logger classes
      - register module-logger, module-image, mrclay/minify in tests
      bootstrap autoloader (absent from standalone test autoload)

      Refs #92 5393a1

    • fix(preload): prevent double download of scripts already in DOM

      DeferJs: remove addPreloadLinks() entirely — every external <script src>
      stayed live in the DOM while also getting a <link rel=prefetch> hint,
      causing the browser to fetch the file twice (confirmed: CookiePal,
      Elfsight, requirejs-config-breeze on mobile).

      - Remove Preload dependency, preload property, addPreloadLinks() method
      and all 4 call-sites from DeferJs
      - Remove script src collection in prepareElement()

      AddLinkPreload: add defensive liveScriptSrcs guard — skip any script
      href that already exists as a <script src> tag in the DOM, regardless
      of how it ended up in the Preload singleton.

      Tests: remove preloaderMock from DeferJsTest + DeferJsRegressionTest;
      add testScriptsAlreadyInDomAreNotPrefetched and
      testScriptsNotInDomCanGetPrefetchHint to AddLinkPreloadTest.

      Fixes #95 4b539f

    • fix(preload): per-type rel/fetchpriority; honor isEnabled config

      - Replace global priority counter with per-type counters
      - ALWAYS_PRELOAD_TYPES: font/style/image always rel=preload; scripts=prefetch
      - FETCHPRIORITY_LIMIT_BY_TYPE: null=unlimited (fonts), 2 styles, 1 image (LCP), 0 scripts
      - Fix isEnabled() hardcoded true -> config->isLinkPreloadEnabled()
      - Use array_key_exists to correctly handle null sentinel vs missing key (null??0 bug)
      - Add tests: image=preload, scripts=prefetch, per-type fetchpriority limits, isEnabled toggle

      Fixes #93 #94 84b155

    • feat: add dedicated cache type to isolate optimizer entries from block_html

      - Add Model/Cache/Type.php: new Magento cache type (swissup_pagespeed)
      - Add etc/cache.xml: register type with label/description
      - Update CacheManager: use Type::TYPE_IDENTIFIER instead of block_html,
      add Type::CACHE_TAG to entry tags for proper TagScope scoping

      Fixes Redis Default Cache pollution where 1.2M+ SWISSUP_PAGESPEED entries
      were mixed into the block_html cache type. Optimizer cache is now
      independently manageable in Stores > Cache Management. 9a552e

breezefront / breeze

1 day ago success

breezefront / module-breeze

1 day ago success

breezefront / theme-frontend-breeze-enterprise-blank

1 day ago success

breezefront / breeze-enterprise

1 day ago success