Repository navigation
fix(wrapper): resolve MenuItem and MenuSubMenuItem on Spotify 1.3.3 - #4002
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: spicetify/cli/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
On Spotify 1.3.3, context menu and profile menu items that modules register were broken:
MenuSubMenuItemwas missing. The export that renders a submenu row now only switches between the v2 and legacy rows, and thesubMenuIconclass it was found by is gone. It is now found through the module that rendersdata-context-menu-submenu-header.MenuItemresolved to a waveform scrubber that also mentionshandleMouseEnterandonClick, so registered items rendered nothing. It now resolves to the menu item dispatcher (the export that forwardsforceV2LeadingIcon), and keeps the old match as a fallback.Testing
On Spotify 1.3.3.264 for macOS, applied with this branch:
scripts/platform-contract.tspasses with 58 of 59 paths present. Before the fix it failed onMenuSubMenuItem. The one absent path is optional:PlatformData.os_name.ContextMenu.SubMenuopens on hover and its child's click handler runs. Registered top-level items, both a probe item and existing modules' items, render and respond to clicks.Menu.Itemand aMenu.SubMenuchild render and their click handlers run.node --test "src/jsHelper/**/*.test.mts"passes (184 tests), andpnpm typecheckis clean.