Recent Activities

This page shows what are we working on.

swissup / module-core

6 hours ago success
  • head
    • Better actions dropdown f44d35

    • Explain why the installer re-run passes --no-download

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 8d0f80

    • Update Readme 4bd0de

    • Offer to remove duplicate access keys in auth:check

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> ad254b

    • Rework auth:show and auth:check output

      auth:show prints plain Username/Password lines, auth:check adds
      Username column and moves provider into its own column.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 390313

    • Key components by package name instead of module code

      A metapackage and the module it requires share one module code, since
      convertPackageNameToModuleName strips the "module-" prefix. Both
      collapsed into a single item, and the metapackage - which sorts first
      in the feed - won every field. The remote loader worked around that by
      dropping metapackages altogether.

      Key the items by package name, which is unique, and let the consumers
      that list components hide the metapackages instead.

      This fixes latest_version for the packages whose metapackage lags
      behind the module: Swissup_BreezeAi reported 1.2.0 instead of 1.8.8,
      so no update was ever offered for it.

      The synthetic swissup/subscription entry is dropped as well - it
      collided with swissup/module-subscription the same way, and the only
      field it contributed that anything still reads is a homepage link.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> f21245

    • swissup:auth:check command 5feae9

    • Fix outdated urls in comments c57ea4

    • Remove swissup_core_module table, model and collection

      The table stored nothing but the identity key used by the deprecated
      subscription-checker module, and keeping db_schema.xml forced a
      setup:upgrade run. Dropped the model, resource model, collection and the
      Module\{Installer,LicenseValidator,MessageLogger} classes that only
      served it, along with setup_version.

      swissup:module now reads dependencies from PackageInfo directly and no
      longer prints the identity key.

      Core replaces swissup/module-subscription-checker in composer.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 04c1c0

    • WIP d6dc01

    • Cleanup terminal composer output keeping installation info 9015f9

    • Fixed failing ci.swissuplabs tests cc0b30

    • Use psr/log dependency f375c1

    • Update deps 975f93

    • WIP dc009f

    • Keep installer classes in Installer folder 2db105

    • Ready for psr/log 9e58a3

    • Use constructor property promotion in installer classes

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 662344

    • Require and then install in one shot 8d3822

    • Installer command c09401

    • Copy Marketplace Installer engine 42c579

    • WIP d6d017

    • Allow passing package names to swissup:package:update

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 553041

    • WIP 9ffeb4

    • Repo => Channel to match old command 1e3a63

    • Use `swissup.extra` params as primary source 69fcf1

    • Update command descriptions 48a007

    • Remove useless comment e857e3

    • Array offset cannot be null e4017c

    • Add swissup:update command

      - Update swissup/* packages only; -w also updates their 3rd party dependencies
      - Move ensureRepositoryEnabled into PackageAbstractCommand to share with update
      - Drop disabled modules check: setup:upgrade runs with --safe-mode=1 anyway

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 3c3f3b

    • WIP 434bf2

    • WIP a8a711

    • Remove unused code 599915

    • Installer => ModuleManager 0f7da5

    • Drop outdated code (Magento < 2.3.3) e5542c

    • Remove outdated code 7c5b9a

    • Open links in new tab 81a541

    • "How to update" added to the grid 4fdc59

    • Add latest version to the grid 21367b

    • Move outdated modules to the top of the grid be87e7

    • Add outdated badge to the Swissup menu aae4b5

  • 1.13.1
    • Version 1.13.1 5b7b24

    • Fixed invisible update instructions when Mollie Payments is installed 72aab6

swissup / module-pagespeed

7 hours ago success
  • 1.19.2
    • Version 1.19.2 90e18b

    • fix(webp): resolve webp variant for uppercase image extensions (#120) (#121)

      UrlResolver lowercased the extension before building the webp
      candidate filename, but generated webp files preserve the original
      extension case (HandGuard.JPG.webp). The lookup for
      HandGuard.jpg.webp never matched, so the webp version was silently
      skipped for images with uppercase extensions.

      Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> 5640a2

    • fix(webp): resolve webp variant for uppercase image extensions (#120)

      UrlResolver lowercased the extension before building the webp
      candidate filename, but generated webp files preserve the original
      extension case (HandGuard.JPG.webp). The lookup for
      HandGuard.jpg.webp never matched, so the webp version was silently
      skipped for images with uppercase extensions.

      Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> a58d1f

  • 1.19.1
    • Version 1.19.1

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 2e1f10

    • fix(lazyload): never lazy-load the LCP image (#119)

      The lazy-load optimizer skipped only two hardcoded Luma class names
      (gallery-placeholder__image, product-image-photo), so on Argento/Breeze
      storefronts it added loading="lazy" to the product page main image -
      the LCP element. The image kept the theme's fetchpriority="high" while
      also being lazy, which delays the LCP request and fails Lighthouse's
      "Largest Contentful Paint image was lazily loaded" audit.

      Skip any image the page already marks as fetchpriority="high". That is
      a theme-agnostic LCP hint, so it also covers themes we do not know
      about. Add main-image to the class ignore list as a fallback for themes
      that mark the LCP element without setting fetchpriority.

      Found on minisport (Argento/Breeze): enabling the optimizer pipeline
      added loading="lazy" to the LCP product image and dropped the audit to
      a failure.

      Co-authored-by: Claude Opus 5 <noreply@anthropic.com> 221998

    • fix(lazyload): never lazy-load the LCP image

      The lazy-load optimizer skipped only two hardcoded Luma class names
      (gallery-placeholder__image, product-image-photo), so on Argento/Breeze
      storefronts it added loading="lazy" to the product page main image -
      the LCP element. The image kept the theme's fetchpriority="high" while
      also being lazy, which delays the LCP request and fails Lighthouse's
      "Largest Contentful Paint image was lazily loaded" audit.

      Skip any image the page already marks as fetchpriority="high". That is
      a theme-agnostic LCP hint, so it also covers themes we do not know
      about. Add main-image to the class ignore list as a fallback for themes
      that mark the LCP element without setting fetchpriority.

      Found on minisport (Argento/Breeze): enabling the optimizer pipeline
      added loading="lazy" to the LCP product image and dropped the audit to
      a failure.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> e975df

breezefront / module-breeze-ai

7 hours ago success
  • head
    • perf(content-builder): drop superseded page documents from the chat history (#163)

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 5064be

  • 1.8.8
    • chore(release): 1.8.8 6f0b6a

    • fix(content-builder): gate the per-field AI button and its context on prose, not type="text" (#161) (#162)

      * fix(content-builder): stop sending type="text" plumbing values (api_key included) to the AI provider as context (#161)

      * fix(content-builder): stop offering the per-field AI button on plumbing props like css_class, api_key, coordinates (#161)

      * fix(content-builder): don't let aiGenerate="true" grant non-text-shaped props (#161)

      applyValue() writes the generated result via input/textarea .val() — an
      aiGenerate="true" override was reachable for any prop type, so a future
      select/color/number prop marked eligible would get a button whose click
      silently fails to write back. 832fef

    • fix(content-builder): don't let aiGenerate="true" grant non-text-shaped props (#161)

      applyValue() writes the generated result via input/textarea .val() — an
      aiGenerate="true" override was reachable for any prop type, so a future
      select/color/number prop marked eligible would get a button whose click
      silently fails to write back. 85ebdf

    • fix(content-builder): stop offering the per-field AI button on plumbing props like css_class, api_key, coordinates (#161) 2af5ba

    • fix(content-builder): stop sending type="text" plumbing values (api_key included) to the AI provider as context (#161) e350bc

swissup / theme-stigefabrikken-breeze

11 hours ago error

swissup / module-subscription-checker

12 hours ago success
  • 1.2.4
    • Version 1.2.4 08992e

    • Update readme 2c4823

    • Deprecate module, drop dependency on removed core Module model

      Swissup\Core\Model\Module and its table are gone. Replaced it with a
      local dummy that stores and validates nothing, so the license screens
      keep working instead of fataling. Activation now points at
      bin/magento swissup:channel:enable.

      Marked the package abandoned in favour of swissup/module-core.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 15adcd

    • Move class from core to the consumer code eb76e7

breezefront / theme-frontend-breeze-enterprise-eir

2 days ago success
  • head
    • Product page. Add grid area for price information and implement gallery layout for improved product display. 76b0b3

    • Product page. Add focus ring styling for checkboxes in related products block to enhance accessibility. ab2227

    • Product page. Refactor related products layout for improved responsiveness and styling consistency. 5aa789

    • Product page. Update quantity button icons to use mask images for better scalability and styling. 9576ee

    • Product page. Related products block. 7ed6de

    • Product page. Implement review popup for full review text display and enhance accessibility. d38885

    • Product page. Add toggle for "Write Your Own Review" form and adjust styles for review list 9973d8

    • Product page. Revies list is done. Revie form next. 5bf007

    • Theme Editor: added Listing, Animations, and Advanced sections a4451d

    • Theme Editor: added Colors section 390891

    • Product page. Reviews in progress... e13b99

    • Theme Editor: added Layout, Typography, Overlay Header, Border Radius, Color and Font Palettes ff5e62

    • Productpage. Review in progress... 7059e9

    • Productpage. Review in progress. 669824

    • BCB featured product component. 0651cf

    • Add styles for featured product details, SKU, and price row in BCB d65f2d

    • BCB accordion styles at product info main. 1a262b

    • Installer. Add accordion for products. 466a5b

    • Add padding to swatch options in product add form for improved layout f10f77

    • Product main info ... in progress bf5c3f

    • Enhance product quantity input with increment/decrement buttons and update styles for better usability 72192e

    • Update product page medium image dimensions to 590x590 012c72

    • Fix minicart styles: set empty counter opacity to 0 79fcd1

    • Increased h2 bottom margin dff6ea

    • Product page action buttons. d008f0

    • Updated footer content links and section titles for improved clarity and user experience 241039

    • BCB homepage: fixed wrong image name b1a4f4

    • Rating stars styles in product listing f17a0f

    • BCB homepage: updated full width banner and sections spacings 2076c7

    • Fixed sort order of product details inside grid listing 9ad360

    • BCB homepage: updated Videos and full width banner sections 072733

    • Product page title font-size. d0987c

    • Footer. Minor fix for ring reval animation. Restore missing divider in footer. (#3) 54cdc4

    • Footer ring reveal animation added (#3) 4a8be8

    • BCB homepage: added animated badges to top banners grid 197e37

    • BCB homepage: added rotation animation for Full Width Banner 1420f9

    • BCB homepage: top banner updated a53bd5

    • Update favicon color 5ea666

    • Update favicon 18d8dc

    • Slightly update footer background. 5fcbfc

    • Footer content update. Add contact block (#3) dea42e

    • Fixed missing minicart overlay on first open (#2) 54feaa

    • BCB homepage: updated Browse categories block dbfa89

    • Breadcrumbs 196469

    • Done with search (#2) d8e0f3

    • Enhance minisearch functionality with slideout behavior and styling adjustments without Ajaxsearch (#2) 8c4a9d

    • Minisearch styles when ajaxsearch disabled... in progress (#2) 259fac

    • Remove unused styles from viewcart action and update empty subtitle styles in minicart (#2) dba7a5

    • Minicart complete (#2) 56efd2

    • Search on desktop (#2) 9c587e

    • BCB homepage: added videos section 7ee864

    • Minicart inprogress (only buttons to adjust)... (#2) c1be91

    • Minicart update in progress.... c3d18b

    • Minicart update in progress... (#2) 55e7b9

    • INstaller. Create dummy CMS block header_panel_info to allow user add custom content (#2) f70d58

    • Adjust minicart counter (#2) 03e843

    • BCB homepage: Added brand logos section b905f1

    • BCB homepage: Added testimonials section 2ab2cf

    • Update newsletter styles: adjust input border and add consent positioning (#2) 02d37d

    • Header. Update search behaviou and look of the result dropown. 993432

    • BCB homepage: Added FAQ a0bfde

    • Add focused search styles. d80f88

    • BCB homepage: added new sections 875068

    • BCB homepage: added ECI and full-width banner d40cfa

    • Top navigation added. 8fa9a3

    • Remove color from menu links dec081

    • Clone currency and store switchers in header slideout menu for improved functionality de36e3

    • Enhance header and newsletter styles for improved layout and responsiveness in header slideout menu. b63dd0

    • Installer. Update header slideout menu styles. 825795

    • Update footer top content HTML to enhance newsletter section styling.
      Don't set font familiy for header in Page Builder ba0b81

    • BCB homepage WIP b228af

    • Basic navpro slideout styles 75ac0e

    • Refactor header slideout menu and newsletter styles for improved layout and consistency 3b42ff

    • Header slideout menu... d4f174

    • Listing styles for the list mode and old price update. cbff61

    • Update README.md to clarify usage of `with-bottom-divider` CSS class and provide detailed instructions 1b9ea5

    • Pagination and make with-bottom-divider general. 37ea17

    • Added list banner 5 config; updated installer, moved it to json a43985

    • Add new layout configuration and remove easybanner references; update footer content and styles 87165b

    • Refactor easybanner configuration and installer for product listing banners 8b1d0d

    • Installer. Listing grid banner added. 914c01

    • Add swatches variables and layout styles d59581

    • Update positioning for filter title and content in layered navigation 8cbd21

    • Add image dimensions for product listings and related widgets in view.xml 6985cd

    • layout and styles for category view, product toolbar, shop by button 08fd27

    • Add layered navigation styles and update imports 944ff1

    • Keep working on prodcut listing and category page. 411088

    • Keep working on product listing toolbar. ebcfac

    • Working on product listing and toolbar look. 1ab39d

    • Add Cooper* font 132906

    • Add listing item styles and variables e725b5

swissup / module-firecheckout-integrations

3 days ago success

breezefront / module-breeze-content-builder

3 days ago success
  • 1.2.3
    • chore(release): 1.2.3

      Ships the bcb:fieldRowReady extension point (a9234aa) and its corrected
      contract docs (#46), neither of which is in any released tag — 1.2.2
      predates both. breeze-ai 1.8.6 subscribes to that event for its
      per-field AI button, so on every released BCB the button is dead.

      Patch release: comments and an event emit, no API break, and breeze-ai
      declares no composer constraint on this package. 18c02c

    • Merge pull request #48 from breezefront/docs/46-field-row-caveats

      docs(property-panel): clarify bcb:fieldRowReady scope and caveats (#46) f12bb4

    • docs(property-panel): clarify bcb:fieldRowReady scope and caveats (#46)

      The header comment read as a blanket claim ("a field row" fires the
      event) when only rows built by _renderSingleProp actually emit it. The
      editable Label row and grouped props (e.g. spacing) are built inline in
      _renderForm and emit nothing, and a prop with type="hidden" or a
      contextOnly miss returns before a row exists at all.

      Also document that $row is not in the visible panel when the event fires
      (_renderForm appends the form last, and a section's rows sit in a still
      detached <details>), so subscribers must not read layout; that $row may
      already be hidden by an unmatched depends clause; and that renderer is
      the shared module for prop.type, to be read and never mutated.

      Comments only — no behaviour change.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> c77b7c

    • docs(property-panel): clarify bcb:fieldRowReady scope and caveats (#46)

      Code review found the header comment read as a blanket claim ("a field
      row" fires the event) when only ordinary ungrouped props built by
      _renderSingleProp actually emit it — the label row and grouped props
      (e.g. spacing) don't. Also note $row isn't attached to the live panel
      yet at fire time (no layout reads), and that renderer is a shared
      singleton per prop.type that subscribers must not mutate.

      Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> a68c9f

    • Emit bcb:fieldRowReady extension point for field rows a9234a

    • feat(property-panel): emit bcb:fieldRowReady extension point for field rows (#46)

      After a field row is built, appended to the form, and bound on change,
      property-panel.js now fires 'bcb:fieldRowReady' on $(document) with
      { prop, component, $row, $field, renderer }. A third-party module can
      subscribe and append a control to $row without patching this file or
      reaching into the DOM, and without touching $field's value collection
      or change binding.

      Also documents the field-renderer contract (render/getValue) as public
      in the file header, since the extension point relies on it.

      No new AMD registry and no wrapper around $field — the two walls
      described in the issue stay as they are; this only adds the missing
      hook point. d841c3

    • feat(FeaturedProduct): introduce less variables 9d348a

    • refactor(FeaturedProductRenderer): replace image URL and alt text with pre-rendered HTML 623392

    • Fixed FAQ items readability on light theme, closes #44 091320

    • Fixed avoid using self-closing tag with non-void html element 9a3123

    • Added hide on pages checkbox list prop type ccf9e8

    • Updated dependent fields logic 278125

    • feat(accordion): enable product attribute as body source for FAQ items b26684

    • feat(accordion): add support for per-item icons in FAQ items b7607f

    • Correct page cleanup when BCB is closed a40061

    • Merge pull request #38 from breezefront/feat/108-newsletter-and-missing-components

      feat(components): inline newsletter layout (#108) 57dafb

    • fix(components): newsletter heading follows an inherited text colour (#108)

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> c56d7d

    • fix(a11y): real heading elements and decorative icons (#41)

      Newsletter rendered its section heading as <div class="...__heading h2">:
      invisible to assistive technology and absent from the document outline,
      even though it is the heading of a page band. It now emits a real h1-h6
      element chosen by a new heading_type prop (default h2), matching what
      text_block already does. Same fix for the featured_product name, which
      was also a styled div.

      Breeze styles the tag and the class off a single selector list -
      `h2, .h2 { ... }` in theme-frontend-breeze-blank/web/css/base/
      _typography.less - so under a Breeze theme, dropping the class for the
      tag is visually neutral. Under a non-Breeze theme .h2 is not styled at
      all, so those headings were rendering as plain body text and now pick up
      the theme's own h2 size: a fix rather than a regression, but not a no-op.
      Either way it changes the markup of existing pages, which is why this is
      split out of #38.

      text_block borrowed the heading text for its icon alt and wrapped inline
      SVG in a plain div, so a screen reader announced the heading twice, or
      three times when the SVG carried its own <title>. The icon is decorative
      in every design that uses it: alt="" on the image branch, aria-hidden on
      the SVG wrapper. A case that needs a real name should get an explicit
      icon_alt prop rather than reusing the heading.

      The admin H1 guard only fired on banner's headline_type, so raising a
      text_block - and now a newsletter - to H1 skipped the warning. It now
      watches heading_type too; _countH1 already counted both.

      Also corrects the selector these three comments cite: the rule is
      `h1, .h1` in the Breeze theme, not `:where(h1), .h1` in the module.

      product_grid was checked and already emits a real h2. Accordion item
      titles remain divs wrapping an <a> trigger; the heading+button pattern
      there is a larger change and stays open.

      Refs #41 53edaa

    • fix(components): collage layout for flat-colour CTA, decorative icon a11y (#108)

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 6e2743

    • feat(components): inline newsletter layout (#108)

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 85ed20

    • Changes for header/footer page: publish spinner, layout picker with images 25b2ae

  • 1.2.2
    • Version 1.2.2 214d13

    • Fixed ignored text color when heading used in content c92d33

swissup / module-ajaxlayerednavigation

3 days ago success
  • 1.6.10
    • Version 1.6.10 5b55b3

    • Merge pull request #110 from swissup/fix/issue-109-aggregation-bucket-size

      fix(category filter): request all term buckets from the search engine (#109) 0c2c7c

    • fix(category filter): resize only the category aggregation (#109)

      Lifting the bucket limit for every faceted field at once lets the buckets
      of all the high cardinality attributes add up beyond the cluster's
      search.max_buckets - 10000 on Elasticsearch 7.0-7.10 - and the engine
      answers that with too_many_buckets_exception, so the whole listing errors
      out instead of one facet losing its tail.

      Resize the fields named in the new fieldNames argument, which holds just
      category_ids by default. An empty list restores the previous behavior of
      resizing every term aggregation.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 8a902c

    • test: use the DataProvider attribute, not the annotation (#109)

      PHPUnit 12 no longer reads data providers from annotations, which is what
      the rest of Test/Unit was migrated away from in #107.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 552c4e

    • fix(category filter): request all term buckets from the search engine (#109)

      Magento hardcodes the Elasticsearch/OpenSearch terms aggregation size to
      500, so the engine returns only the 500 most popular values of a faceted
      field and silently drops the rest. On a catalog whose result set spans
      more categories than that, the category filter loses the child categories
      with the lowest product counts, while the header menu keeps showing them.

      The existing fallback to Category::getProductCount() cannot cover for it:
      addCountToCategories() runs against a search collection whose SQL select
      only carries the ids of the current page, so the count comes back as 0 and
      the option is skipped altogether.

      Raise the term bucket size with a plugin on the aggregation query builder.
      The size is a DI argument, so it can be tuned per project.

      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> 233e61

  • 1.6.9

swissup / firecheckout

3 days ago success