Recent Activities

This page shows what are we working on.

swissup / module-pro-labels

1 hour ago success
  • head
    • Implement locking mechanism in buildIndexes method to prevent duplicate index rows (close #49) cb44f9

  • 1.10.1
    • Version 1.10.1 c44745

    • Add null check for associated products in getCheapestFromGrouped method 9156db

swissup / module-css-shake

6 hours ago success

breezefront / module-breeze-ai

6 hours ago success
  • head
    • feat(search): a curated attribute and category vocabulary (#191)

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

    • feat(providers): structured output on ProviderInterface (#187) (#193)

      * feat(providers): structured output on ProviderInterface (#187)

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

      * fix(providers): address review on the structured-output gate (#187)

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

      * feat(providers): check the structured answer against its schema on every row (#187)

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

      ---------

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

    • feat(providers): check the structured answer against its schema on every row (#187)

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

    • fix(providers): address review on the structured-output gate (#187)

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

    • feat(providers): structured output on ProviderInterface (#187)

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

  • 1.8.20
    • Version 1.8.20 75fd82

    • fix(content-builder): "Same As Build Model" runs the plan on the build's model (#185) (#186)

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

    • fix(content-builder): "Same As Build Model" runs the plan on the build's model (#185)

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

    • feat(content-builder): the opening gate and the closing turn in the editor chat panel (#180) (#184)

      * fix(content-builder): send the editor chat panel's requests past Content Builder's form-key prefilter (#182)

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

      * fix(content-builder): require jQuery in chat-core so the panel's first reply renders (#182)

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

      * feat(content-builder): the opening gate and the closing turn in the editor chat panel (#180)

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

      ---------

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> d34675

    • fix(content-builder): the editor chat panel's Send and Plan never completed in a real browser (#182) (#183)

      * fix(content-builder): send the editor chat panel's requests past Content Builder's form-key prefilter (#182)

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

      * fix(content-builder): require jQuery in chat-core so the panel's first reply renders (#182)

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

      ---------

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> 9bb689

    • feat(content-builder): the opening gate and the closing turn in the editor chat panel (#180)

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> c715e5

    • fix(content-builder): require jQuery in chat-core so the panel's first reply renders (#182)

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> d2af7c

    • fix(content-builder): send the editor chat panel's requests past Content Builder's form-key prefilter (#182)

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> 3683d8

swissup / module-pagespeed

6 hours ago success
  • head
    • refactor: move Advanced JS Bundling to swissup/module-advanced-js-bundling

      Config keys and the bundle path are unchanged; the new package is required.

      Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> b964d6

  • 1.20.0
    • Version 1.20.0 04d9f8

    • feat(webp): debug report for CSS background images with a WebP sibling (#128) (#132)

      * feat(webp): debug report for CSS background images with a WebP sibling (#128)

      In debug mode (PAGESPEED_DEBUG) log to the browser console every
      jpg/jpeg/png url() in inline style attributes and <style> blocks that
      has a WebP file next to it, with the resolved WebP URL and a
      ready-to-paste image-set() snippet. Report only, nothing is rewritten.

      Fixes #128

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

      * fix(webp): CSS background report review fixes (#128)

      - Resolve WebP without the query string: UrlResolver takes the
      extension from the full URL, so "bg.jpg?v=2" never resolved. The
      suffix is put back on the reported WebP URL.
      - Match image-set() quote-aware, so a parenthesis inside a quoted URL
      no longer breaks the "already in image-set()" skip.
      - Strip CSS comments before extracting url().

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

      ---------

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> 951b11

    • fix(webp): CSS background report review fixes (#128)

      - Resolve WebP without the query string: UrlResolver takes the
      extension from the full URL, so "bg.jpg?v=2" never resolved. The
      suffix is put back on the reported WebP URL.
      - Match image-set() quote-aware, so a parenthesis inside a quoted URL
      no longer breaks the "already in image-set()" skip.
      - Strip CSS comments before extracting url().

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> e2ade8

    • feat(webp): debug report for CSS background images with a WebP sibling (#128)

      In debug mode (PAGESPEED_DEBUG) log to the browser console every
      jpg/jpeg/png url() in inline style attributes and <style> blocks that
      has a WebP file next to it, with the resolved WebP URL and a
      ready-to-paste image-set() snippet. Report only, nothing is rewritten.

      Fixes #128

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> 66ee62

    • fix(webp): keep srcset descriptors and sizes on <source> (#130) (#131)

      * fix(webp): keep srcset descriptors and sizes on <source> (#130)

      The picture tag got one <source> per src/srcset, built from bare URLs:
      w/x descriptors and sizes were lost, and the src-based <source> came
      first, so browsers always loaded the smallest WebP.

      Emit a single <source>, from srcset when present (URLs replaced in
      place with strtr, descriptors kept), from src otherwise, and copy sizes
      from the <img>. Skip the <source> when any srcset candidate has no WebP
      variant instead of dropping the candidate.

      Fixes #130

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

      * fix(webp): skip <source> when srcset parser misses a candidate (#130)

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

      ---------

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> 6f288d

    • fix(webp): skip <source> when srcset parser misses a candidate (#130)

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> 16991b

    • fix(webp): keep srcset descriptors and sizes on <source> (#130)

      The picture tag got one <source> per src/srcset, built from bare URLs:
      w/x descriptors and sizes were lost, and the src-based <source> came
      first, so browsers always loaded the smallest WebP.

      Emit a single <source>, from srcset when present (URLs replaced in
      place with strtr, descriptors kept), from src otherwise, and copy sizes
      from the <img>. Skip the <source> when any srcset candidate has no WebP
      variant instead of dropping the candidate.

      Fixes #130

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> 5005e9

    • feat(webp): separate "Replace WebP in inline JS" option (#126) (#129)

      * feat(webp): separate "Replace WebP in inline JS" option (#126)

      New config pagespeed/image/optimize_webp_js_replace (default 1) lets the
      inline JS WebP rewrite be turned off on its own; isReplaceWebPInJs() now
      reads it.

      With "Add picture tag" on and the JS rewrite off, <img> inside <picture>
      keeps the original jpg/png src/srcset and WebP goes only into
      <source type="image/webp">, giving browsers without WebP (Safari/iOS < 14)
      a real fallback. Defaults keep the current markup: <img> still carries the
      WebP URL that Breeze gallery matches against the rewritten gallery JSON.

      Fixes #126

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

      * refactor(webp): resolve WebP variants once per img in keep-original mode (#126)

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

      * fix(webp): keep inline JS replace on without picture tag (#126)

      Without the picture tag <img> always gets the WebP URL, so turning off
      the inline JS rewrite left the Breeze gallery JSON on jpg/png and the
      gallery lost the image. The option now only takes effect together with
      "Add picture tag" and is hidden in admin otherwise.

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

      ---------

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> 65e702

    • fix(webp): keep inline JS replace on without picture tag (#126)

      Without the picture tag <img> always gets the WebP URL, so turning off
      the inline JS rewrite left the Breeze gallery JSON on jpg/png and the
      gallery lost the image. The option now only takes effect together with
      "Add picture tag" and is hidden in admin otherwise.

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> e20abd

    • fix(lazyload): stop choosing offset by User-Agent (#125) (#127)

      getOffset() picked lazyload_mobile_offset or lazyload_offset from the
      request User-Agent, but the optimizer runs before FPC/Varnish store the
      page. The first visitor after a purge chose the offset for every device:
      a phone warming the cache lazy-loaded desktop above-the-fold images,
      while desktop cache warmers made the mobile offset dead.

      The offset now always comes from lazyload_offset. The mobile offset
      config path, constant and getter stay for BC and are marked deprecated;
      the admin field says it has no effect.

      Fixes #125

      Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> 1a6b60

    • refactor(webp): resolve WebP variants once per img in keep-original mode (#126)

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> a5c8db

    • feat(webp): separate "Replace WebP in inline JS" option (#126)

      New config pagespeed/image/optimize_webp_js_replace (default 1) lets the
      inline JS WebP rewrite be turned off on its own; isReplaceWebPInJs() now
      reads it.

      With "Add picture tag" on and the JS rewrite off, <img> inside <picture>
      keeps the original jpg/png src/srcset and WebP goes only into
      <source type="image/webp">, giving browsers without WebP (Safari/iOS < 14)
      a real fallback. Defaults keep the current markup: <img> still carries the
      WebP URL that Breeze gallery matches against the rewritten gallery JSON.

      Fixes #126

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

    • fix(lazyload): stop choosing offset by User-Agent (#125)

      getOffset() picked lazyload_mobile_offset or lazyload_offset from the
      request User-Agent, but the optimizer runs before FPC/Varnish store the
      page. The first visitor after a purge chose the offset for every device:
      a phone warming the cache lazy-loaded desktop above-the-fold images,
      while desktop cache warmers made the mobile offset dead.

      The offset now always comes from lazyload_offset. The mobile offset
      config path, constant and getter stay for BC and are marked deprecated;
      the admin field says it has no effect.

      Fixes #125

      Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> f96d9b

breezefront / theme-frontend-breeze-enterprise-eir

9 hours ago success
  • head
    • Improved out-of-stock and bundle products styles 56e102

    • Added Sold Together styles 4ad53f

    • Sticky media and info blocks on product page on desktop e6754a

    • Improved filter dropdown styles 61da32

    • Move ECI after description 4bf01c

    • Few minor changes to shop by dropdown 22fc09

    • Enhance header slideout menu. Adjust top offset. 75cdb2

    • Related product block. Fix issue incorrectly placed button when critical CSS enabled. 63d63b

    • Added testimonials and FAQ blocks to the product page e95221

    • Remove listing banners except for the first one 0b5f7c

    • Added ECI config, layout, and styles 9823dd

    • Updated styles and scripts to work with Qty Switcher module 59ad66

    • Minicart. Update slideout positioning and add scroll tracking for dropdown dialogs 96fbb9

    • Update header panel styles for pagebuilder slider. 4967ce

    • Refactor header panel: remove EasySlide integration, add header panel info block, and update styles for header panel slider 662724

    • Remove EasySlide configuration and related HTML content ea5c76

    • Add noEscape directive to continue shopping button URL ac4b9c

    • Update listing gap variable to use defined spacing 41f0ca

    • Add CSS class to main title in checkout cart layout dc41f6

    • Shopping cart page is done. c1d6d0

    • Shopping cart page in progress 8ca297

    • Shopping cart page 9fa558

    • Enhance quantity input styling and functionality. Apply border-radius to buttons and ensure step attribute is valid. 1bcebb

    • Add padding variable for navigation link caret. aa8d04

    • Quantity wrapper component. f57c8d

    • Product page. Adjustments for related products layout. aa27ee

    • Product page. Add new layout container. Place BCB marquee content there. a2fe52

    • Product page. Enhance gallery configuration and update layout variables for improved styling and responsiveness. b89117

    • 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

breezefront / module-breeze

9 hours ago success
  • head
    • Fixed incorrect magnifier image when using expanded gallery fc2f6b

    • Prevent auth popup form submit when recaptcha is not ready yet
      Closes #101 740ada

    • Fixed incorrectly marked lazyload when main image is not the first one d5cd6b

    • Do not add dom duplicates to $.registry 84beb6

  • 2.32.0
    • Version 2.32.0 62d26e

    • Remove unused `lazyAsync` function 98e9d8

    • Gallery: Fixes slider fallback for mobile devices for `expanded` option eb5ff6

    • Center dots when using expanded layout (on mobile) 88f78f

    • Gallery: Restore proper tabindex in destructor 19bb81

    • Gallery: Use slider fallback for mobile devices for `expanded` option 7847d1

    • Improved slider destructor to cleanup listeners and markup dd8400

    • Remove unused code 6292c3

    • Do not close accordion when multipleCollapsible is used b1b4a7

    • LazyAsync 9e0a37

    • Removed redundant 'contentUpdated' dead1b

    • Faster DOM traversal after contentUpdated event 9c2d61

    • Simplify quotedScope from prev commit 37a7b7

    • Improve scope binding match logic
      minicart_content should not match x_minicart_content;
      minicart.content should not match minicart_content 5e9bca

    • Speculation rules: fixed not working exclude rules c78263

    • Added missing destructor to pagebuilderCarousel 81d228

    • Do not close dropdownDialog when dragging the slider inside eed793

    • Do not include requirejs-config if it's empty b4fbfe

    • Defer requirejs-config as all other scripts are deferred too 861179

    • Preload image from category-view block if main image is not found de4258

swissup / module-navigationpro

12 hours ago success
  • head
    • Move styles to non-critical. Remove search styles. Cleanup grid. e50a2b

    • Do not build the tree in prepareLayout 52e1ba

  • 1.19.3
    • Version 1.19.3 421267

    • Do not use `is_active` from remote entity when creating new item
      Since we have new option `use_remote_include_in_menu`, use it instead
      of syncing `is_active` on item creation. 7c215a

    • Fixed not working ribbon for vertical menu 8fdb50

    • LESS 5.3.0 compatibility 922d05

swissup / easytabs

14 hours ago success

swissup / module-easytabs

14 hours ago success

swissup / module-suggestpage

3 days ago success
  • 1.2.15
    • Version 1.2.15 e866a1

    • fix(suggestpage): keep the block's image styles off the listing thumbnails (#4) (#5)

      * fix: keep SuggestPage image styles off the listing thumbnails (#4)

      image_with_borders.phtml renders every product image with a
      `product-image-container-<productId>` class and emits a global `<style>`
      sizing that class. After add to cart the SuggestPage block is injected into
      the page the shopper is already on, and it shows the very product that page
      is likely to list. Equal specificity, later in the document: the block's
      rules won and the listing thumbnail took the SuggestPage image size - a
      300px tile collapsed to the 165px of the cart thumbnail.

      Swissup\Suggestpage\Block\Cart now renders through
      ProductImageStyles::isolate(), which renames the per-product class
      (`suggestpage-` prefix) in both the markup and the generated selectors. The
      block keeps sizing its own images - including the cross-sell ones - and
      stops sizing anybody else's, whichever order the two end up in. The
      `product-image-container` base class that themes style is untouched.

      Swissup_Ajaxpro got the same treatment for its product popup in #61, but
      only in CustomerData/Product.php; the SuggestPage markup travels in the
      `ajaxpro-cart` section instead, which is why that commit left this case
      open.

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

      * fix(suggestpage): leave markup another module has isolated alone (#4 review)

      The lookbehind only guarded this class's own prefix, so markup that
      Swissup_Ajaxpro had already isolated - its sections render this block - came
      back out prefixed a second time, as `ajaxpro-suggestpage-...`. It now skips any
      prefix in front of the class, which keeps the method idempotent and matches
      what ajaxpro 1.7.43 does on its side.

      Also: return the markup unchanged if preg_replace() ever fails, instead of
      rendering an empty block, and cover the block wiring itself - that _toHtml()
      hands the template output to the isolator - which only the model was covering.

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

      * docs(tests): say where the phpunit bootstrap path resolves from (#4 review)

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

      ---------

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

    • docs(tests): say where the phpunit bootstrap path resolves from (#4 review)

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

    • fix(suggestpage): leave markup another module has isolated alone (#4 review)

      The lookbehind only guarded this class's own prefix, so markup that
      Swissup_Ajaxpro had already isolated - its sections render this block - came
      back out prefixed a second time, as `ajaxpro-suggestpage-...`. It now skips any
      prefix in front of the class, which keeps the method idempotent and matches
      what ajaxpro 1.7.43 does on its side.

      Also: return the markup unchanged if preg_replace() ever fails, instead of
      rendering an empty block, and cover the block wiring itself - that _toHtml()
      hands the template output to the isolator - which only the model was covering.

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

    • fix: keep SuggestPage image styles off the listing thumbnails (#4)

      image_with_borders.phtml renders every product image with a
      `product-image-container-<productId>` class and emits a global `<style>`
      sizing that class. After add to cart the SuggestPage block is injected into
      the page the shopper is already on, and it shows the very product that page
      is likely to list. Equal specificity, later in the document: the block's
      rules won and the listing thumbnail took the SuggestPage image size - a
      300px tile collapsed to the 165px of the cart thumbnail.

      Swissup\Suggestpage\Block\Cart now renders through
      ProductImageStyles::isolate(), which renames the per-product class
      (`suggestpage-` prefix) in both the markup and the generated selectors. The
      block keeps sizing its own images - including the cross-sell ones - and
      stops sizing anybody else's, whichever order the two end up in. The
      `product-image-container` base class that themes style is untouched.

      Swissup_Ajaxpro got the same treatment for its product popup in #61, but
      only in CustomerData/Product.php; the SuggestPage markup travels in the
      `ajaxpro-cart` section instead, which is why that commit left this case
      open.

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