mikebridge opened a new pull request, #44370:
URL: https://github.com/apache/superset/pull/44370

   ### SUMMARY
   When a semantic provider changes member identity encoding, saved 
display-title selections can silently identify a different member—even when an 
old title exactly equals a new ID. Add an optional selection-version contract 
and require explicit reset/reselection for mismatched saved selections before 
cache lookup or provider execution.
   
   Explore and native filters explain the reset, clear legacy selections, and 
preserve the explicit version through save/load. Dashboard filters and display 
controls carry their own datasource/version provenance. REST datasource queries 
and MCP discover and transport the version without upgrading old keys 
automatically. Providers that do not declare a version retain their behavior.
   
   This host/frontend/core companion is required by the SC-121267 Cube adapter. 
Deploy compatible host, frontend, core and provider together. Existing 
semantic-layer feature flags stay default-off; no database rewrite. Based on 
Apache master `4c77b0b924a9bd770110915eacd68f5619e8241d`. The proposed 
MetadataBar prerequisite proved unnecessary after restoring complete locked 
workspace dependencies; this PR contains no unrelated baseline repair.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   Component tests cover the explanation/reset and hide legacy query/Matrixify 
controls before reselection. No real-browser screenshots or save/reopen 
walkthrough captured; kept draft for that acceptance and live Cube verification.
   
   ### TESTING INSTRUCTIONS
   - 565 affected host tests passed: semantic layers, datasource query API, 
common tabular queries, MCP list_metrics/get_table.
   - 11 affected frontend suites passed: 127 passed, 1 pre-existing skipped 
sidebar-title test.
   - All referenced frontend package declarations compiled; all configured 
changed-file hooks passed, including MyPy and full frontend TypeScript. Manual 
pylint over all changed production Python: 10.00/10.
   - Two idle time-column regression cases fail on the prior implementation and 
pass after the fix.
   - 54 Cube adapter tests passed against this core source. OpenAPI regenerated 
with only the two optional wire-marker fields changed.
   
   Manually open an old title-keyed Cube chart, observe the explanation, start 
field selection, choose current metric/dimension IDs, save and reopen. Repeat 
for native filters and stale permalink/customization state, including a legacy 
title equal to a current member ID. Verify non-versioned semantic providers 
retain their behavior.
   
   ### ADDITIONAL INFORMATION
   - [x] Has associated issue: SC-121267
   - [x] Required feature flags: existing ENABLE_EXTENSIONS/SEMANTIC_LAYERS, 
default-off
   - [x] Changes UI
   - [ ] Includes DB Migration
   - [x] Introduces new feature or API: optional selection-version contract
   - [ ] Removes existing feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to