Recent Activities
This page shows what are we working on.
-
3.1.2
-
3.1.1
-
head
-
Working on product listing and toolbar look. 1ab39d
-
Add Cooper* font 132906
-
Add listing item styles and variables e725b5
-
Product lisnting in progress - grey bg and border radius. 4e7c35
-
Add new variable files for colors, typography, header, footer, icons, navigation, popover, minisearch, and gradient ba122c
-
Refactor footer and newsletter styles for improved consistency and responsiveness d831e4
-
Footer top newsletter - some updates. 452ca5
-
Add footer top content block and styles for newsletter integration (WIP) 128131
-
Footer bottom. 8d58ea
-
Add footer content block and styles for enhanced footer layout 4d6b1b
-
Header. Hide menu on medium screens. Update search look on monile. e0146d
-
Installer. Add navigation slideout menu a89fd5
-
Add EasySlide functionality for header panel with custom slides and styles e55b0b
-
Add minisearch layout and styles to enhance search functionality 5c5aec
-
Update config.xml and LESS files for theme adjustments and styling improvements of search field 09f88d
-
Add Lexend font and related styles to the theme 0100e8
-
Create config.xml a78b04
-
Create installer.xml 073f18
-
Create view.xml baa3b6
-
Create theme.xml 440a18
-
Create registration.php 119b4f
-
Create README.md 2a5862
-
Create composer.json 16ec29
-
-
head
-
Limit upsell and related products to 6 items on the product page 94dd46
-
Added BLB installation: Testimonials widget on category pages 60339b
-
Testimonials and BCB slider styles bb8fa5
-
Fixed qty overlap with actions in minicart on small screens, see #16 96cd74
-
Enabled mobile slider layout for columns and grid 77cb58
-
Created separate mobile slider 8880b4
-
Sync products widget styles with product list. Closes #13 241874
-
-
3.1.2
-
head
-
Override product/list/items.phtml template to add limit support for the related products block 9beb2d
-
-
3.1.2
-
head
-
Added installer cfe73f
-
Disable Header/Footer feature 544da0
-
Fix Header logo publishing 71e7dd
-
Fixed header/footer publishing and preview 237ea4
-
Moved header/footer configuration to separate page b9b4cb
-
WIP: header/footer configs save, apply, and restore 127237
-
Added special Header and Footer items with their layout containers adbb7b
-
-
1.0.9
-
Version 1.0.9
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 195f5b -
test(translate): integration guard for custom option store scope
Runs the real BulkConsumer against the live DB with a stubbed Translate skill.
Fixture mirrors the client's data: a drop-down custom option with per-store-view
titles (source + target) and no default (store 0) row. Asserts translation lands
on the target store scope only — target gets the translated titles, default
scope stays absent, source store is unchanged. Fails on the old
emulation/ProductRepository::save() path, passes with the direct target-store
write.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 58a666 -
fix(translate): write custom option titles to target store scope only
Bulk custom-option translation round-tripped through ProductRepository::save()
under target-store emulation. Two problems:
1. Scope leak — Magento core Option::_saveValueTitles()/Value::_saveValueTitles()
loop over [DEFAULT_STORE_ID, storeId]. When an option has no default-scope
title row, the store-0 iteration inserts the current (translated) title into
store 0, and the default store view (which resolves titles via the store-0
fallback) then displays the translation. Emulation cannot prevent this — it
happens inside the same save().
2. Dropped writes — a product reloaded via getById() does not carry
canSaveCustomOptions=true, so in a queue-consumer context save() silently
ignores the option-title changes.
Write each translated option/value title directly into the target store's row
via insertOnDuplicate on catalog_product_option_title /
catalog_product_option_type_title. The unique (option_id, store_id) /
(option_type_id, store_id) keys make it a single-row upsert that never touches
store 0 and does not depend on the product save persisting options — the custom
option counterpart of the 1.0.7 category fix that replaced
CategoryRepository::save() with CategoryResource::saveAttribute().
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 86c13e
-
-
1.0.8
-
Version 1.0.8
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> c293f3 -
Merge pull request #38 from breezefront/fix/llms-txt-markdown-links
fix(llms-txt): emit Markdown links so Agentic Browsing audit passes a24f22 -
fix(llms-txt): emit Markdown links so Agentic Browsing audit passes
PageSpeed's Agentic Browsing "Agent Accessibility" audit failed with
"llms.txt does not follow recommendations - File does not appear to
contain any links." The generated llms.txt had a valid H1 and summary
but wrote every endpoint as plain text / inline code, so it contained
zero Markdown links.
Convert the GraphQL endpoint, schema introspection, and BreezeAI
content-generation endpoint lines into Markdown links. Add a regression
unit test asserting the output contains at least one [text](url) link.
Fixes #37
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 49206f
-
-
head
-
fix(scroll-reveal): guard optional BreezeThemeEditor lookup with module-enabled check
class_exists(BreezeThemeEditor::class) only reflects composer autoload
availability, not whether Swissup_BreezeThemeEditor is actually
enabled. When it's disabled, di.xml preferences aren't loaded, so
ObjectManager::get(BreezeThemeEditor::class) fatals trying to
instantiate the bare ValueRepositoryInterface it depends on
(fixes #100).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> e52077
-
-
2.31.3
-
Version 2.31.3 dc91f2
-
Merge pull request #99 from breezefront/fix/scope-binding-on-virtual-elements
Fix scope binding crash on virtual elements b5ca92 -
Use existing isVirtualElement() helper instead of nodeType check
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 47929a -
Fix scope binding crash on virtual elements
Commit af420909 added an already-mounted check to applyComponents()
that calls $(el).component(). When the scope binding is used on a
virtual element (<!-- ko scope: ... -->), el is a comment node and
cash's data() fails reading node.dataset, breaking the whole render
(e.g. Swissup_KnowledgeBase listing page).
Only run the check for element nodes; components are never mounted
on comment nodes anyway.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> e35ed2
-
-
head
-
Slider widget: added arrows/dots configuration 68ea17
-
-
1.0.7
-
1.0.6