# Development Log Master Index

This is the master index of all development log entries. Each entry links to a detailed file with full context.

**For AI Assistants**: Read this file directly to find relevant entries, then read the linked entry files for full context.

**For Human Developers**: Browse this file or search entries under `dev/logs/entries/`.

## Entry Format

Each entry in this index contains:

- **Date & Title**: When and what was changed
- **Support Ticket**: Ticket ID (SUP-XXX) or N/A
- **Summary**: Brief description (1–2 sentences)
- **Files Changed**: List of modified files
- **Link**: Full details in individual entry file

## Entries

*Entries are listed newest first. Each entry links to a detailed file in `dev/logs/entries/`*

## 2026-04-06 - Gallery: no lightbox after variation when slider lightbox disabled (SUP-24198)

**Support Ticket**: SUP-24198  
**Summary**: Variable-product gallery sync no longer restores `href` on `.no-venobox` links; slider scripts strip `href` again after `found_variation` / `reset_data` so mobile does not open the full image when lightbox is off.

**Files Changed**:

- `includes/core/frontend-scripts.php` — `applyToAnchor` skips `no-venobox`
- `includes/modules/Gallery/Gallery.php` — deferred `removeAttr('href')` on variation reset; video-popup handler uses `e` not `event`
- `changelog.txt`
- `dev/logs/entries/2026-04-06-gallery-no-lightbox-after-variation.md`

**Details**: [View full entry](entries/2026-04-06-gallery-no-lightbox-after-variation.md)

## 2026-04-06 - Variable product gallery syncs variation image (SUP-24126)

**Support Ticket**: SUP-24126  
**Summary**: Frontend sync on variable product pages keeps the WooCommerce gallery (including `<picture>` sources and active slide) aligned with the selected variation image when the default markup left the visible image stale.

**Files Changed**:

- `includes/core/frontend-scripts.php` — `bodycommerce_print_variable_product_gallery_sync_script()`
- `changelog.txt`
- `dev/logs/entries/2026-04-06-variable-product-gallery-variation-image-sync-sup-24126.md`

**Details**: [View full entry](entries/2026-04-06-variable-product-gallery-variation-image-sync-sup-24126.md)

## 2026-04-03 - AJAX add to cart for bundle products (YITH and WC bundles) (SUP-24186)

**Support Ticket**: SUP-24186  
**Summary**: Bundle cart forms (YITH WooCommerce Product Bundles, WooCommerce Product Bundles) are submitted via serialized `form.cart` POST data so bundle fields and `product_id` reach `bodycommerce_ajax_add_to_cart_woo_single`; simple products gain `add-to-cart` / `data-product-id` fallbacks when `.product_id` is absent.

**Files Changed**:

- `js/add-to-cart-ajax.min.js` — `bundle_serialized` path, YITH/WC bundle detection, `product_id` sources
- `changelog.txt` — user-facing FIX
- `dev/logs/entries/2026-04-03-ajax-add-to-cart-bundle-products-sup-24186.md`
- `dev/logs/MASTER.md`

**Details**: [View full entry](entries/2026-04-03-ajax-add-to-cart-bundle-products-sup-24186.md)

## 2026-03-30 - Checkout respects Divi Builder layout when custom checkout off (SUP-23876)

**Support Ticket**: SUP-23876  
**Summary**: Gated BodyCommerce checkout `template_include` swap and related Woo hooks on an explicit “custom checkout layout enabled” check so PHP 8 does not treat disabled checkbox values as truthy when compared with `!= 0`. Restores normal Divi page width for builder-built checkout when the option is off.

**Files Changed**:

- `functions.php` — `bodycommerce_is_custom_checkout_layout_enabled()`
- `includes/core/template-overrides.php` — checkout master template only when enabled
- `includes/core/woo-checkout.php` — same gate; payment-right hook move only when enabled
- `changelog.txt`
- `dev/logs/entries/2026-03-30-checkout-divi-builder-layout-sup-23876.md`
- `divi-bodyshop-woocommerce.php` — plugin header description typo (BodyCommerce)

**Details**: [View full entry](entries/2026-03-30-checkout-divi-builder-layout-sup-23876.md)
