fix(web): restore dropdown id compatibility safely#1962
Conversation
- Purpose: restore the Connect dropdown compatibility fix after it was reverted for breaking VM and Docker dropdowns in legacy WebGUI pages.\n- Before: the original compatibility patch was reverted entirely, so plugin selectors like ZFS Master could break the Connect dropdown again.\n- Problem: the first implementation rewrote every dropdown-* id on the page, which also changed legacy WebGUI context-menu ids that VM and Docker pages still query directly.\n- Now: the compatibility hook is reintroduced, but it only rewrites Reka-generated reka-dropdown-* ids and leaves legacy WebGUI dropdown ids untouched.\n- How: mountUnifiedApp re-enables the observer, dropdownIdCompatibility scopes its selector and replacement logic to the Reka prefix, and mount-engine coverage now verifies both the Reka rewrite path and preserved legacy dropdown-vm-* behavior.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughThis PR introduces a dropdown ID compatibility layer that sanitizes legacy Reka-style dropdown IDs during application mount, replacing conflicting Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1962 +/- ##
==========================================
+ Coverage 51.91% 51.94% +0.02%
==========================================
Files 1029 1030 +1
Lines 71069 71137 +68
Branches 7912 7934 +22
==========================================
+ Hits 36895 36949 +54
- Misses 34051 34065 +14
Partials 123 123 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This plugin has been deployed to Cloudflare R2 and is available for testing. |
Summary
mainreka-dropdown-*ids so legacy WebGUI VM and Docker context menus keep their exactdropdown-*idsRoot cause
The original compatibility observer rewrote any
dropdown-*id or related ARIA reference in the page. That fixed the Connect dropdown collision with plugins like ZFS Master, but it also renamed legacy Dynamix context-menu ids that VM and Docker pages still look up directly, which broke those dropdowns.Testing
pnpm exec vitest --run __test__/components/Wrapper/mount-engine.test.tsSummary by CodeRabbit
Bug Fixes
Tests