Skip to content

Restore submenus split across responsive navigation variants - #898

Merged
chubes4 merged 2 commits into
trunkfrom
fix/carajane-responsive-submenu
Aug 20, 2026
Merged

Restore submenus split across responsive navigation variants#898
chubes4 merged 2 commits into
trunkfrom
fix/carajane-responsive-submenu

Conversation

@chubes4

@chubes4 chubes4 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • reconcile duplicate responsive menu items when the visible variant is shallow and another variant owns the submenu tree
  • recognize list-backed submenu wrappers structurally instead of requiring submenu or dropdown naming tokens
  • emit one canonical core/navigation tree with native core/navigation-submenu children

Root cause

Responsive source sites can split navigation semantics across variants. The visible desktop menu on https://www.carajane.ca carries the top-level Portfolio item, while a duplicate responsive item with the same stable identity owns the Love, Newborn, Family, and Boudoir submenu. Blocks Engine selected the shallow visible variant and did not recognize the richer menu-wrap > ul structure as a submenu. Static Site Importer then correctly persisted that incomplete canonical markup.

Evidence

  • Before: Portfolio persisted as a core/navigation-link with no URL and no children.
  • After: Portfolio persists as core/navigation-submenu with four working local routes.
  • Live WordPress 7.0.4 editor verification: zero invalid blocks across all 8 imported pages (712 blocks).
  • Closed-page visual comparison against the unpatched import: 0 mismatched mobile pixels; 1.05% desktop mismatch localized to the now-functional submenu control. Full-page dimensions remain identical.
  • Development package provenance: Static Site Importer f04c7de7ffb0, Blocks Engine dd78832d48e6.

The broader wrapper-heavy authoring model is separate and remains tracked by #868.

Testing

  • composer test (278 parity fixtures plus canonical, unit, and packaging contracts)
  • direct transform of the captured Cara Jane homepage: 1 navigation, 1 submenu, 8 child links, block validity pass
  • Studio PR 3952 artifact re-import using current Static Site Importer main and this branch
  • browser verification of submenu hover and all four destinations
  • browser editor verification across all imported pages

AI assistance

  • Model/tool: OpenAI GPT-5.6 Sol via OpenCode
  • Used for: Root-cause analysis, implementation, regression coverage, package construction, live Studio import verification, browser interaction checks, and visual comparison.
  • Chris Huber reviewed and remains responsible for the change.

@chubes4
chubes4 merged commit 040f3f7 into trunk Aug 20, 2026
4 checks passed
@chubes4
chubes4 deleted the fix/carajane-responsive-submenu branch August 20, 2026 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant