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

   ### SUMMARY
   
   Fix [SC-121353](https://app.shortcut.com/preset/story/121353): dashboard 
datasets
   metadata resolves charts by datasource type, includes semantic views, and 
isolates
   provider discovery failures so a broken view does not hide table metadata.
   Semantic capability fields reach the dashboard store; message-only backend 
errors
   render instead of a loading indicator. Semantic payload UID is normalized 
only at
   the API serialization boundary to match the chart datasource key.
   
   Related: [SC-120295](https://app.shortcut.com/preset/story/120295),
   [superset-shell#5140](https://github.com/preset-io/superset-shell/pull/5140),
   [#44269](https://github.com/apache/superset/pull/44269),
   [#43848](https://github.com/apache/superset/pull/43848).
   
   Access policy unchanged: existing 
`raise_for_access(datasource=SemanticView)` is
   type-aware, including parent semantic-layer grants, with sc-119501 coverage 
in
   `tests/unit_tests/dashboards/semantic_view_access_test.py` and
   `tests/unit_tests/security/manager_test.py`. New serializer access tests mock
   `can_access_datasource`: they prove narrowing wiring, not the underlying 
gate.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   No browser capture. Before: semantic metadata omitted, message-only backend 
errors
   could remain a spinner. After: semantic metadata and capabilities reach the 
store;
   message-only errors render. Verified via backend and React unit tests, not 
live
   provider or embedded-browser acceptance.
   
   ### TESTING INSTRUCTIONS
   
   Automated: affected dashboards/semantic-layer/model/DAO suites (630 passed), 
Chart
   Jest (5 passed), source-resolved targeted tsc (exit 0). Controls reproduced 
provider
   exceptions, lost capability fields, incorrect UID boundary and actual enum 
TS2322.
   MyPy/other applicable hooks pass. The configured frontend type hook still 
lacks
   built workspace declarations; the source-resolved lane uses existing source 
paths,
   references dropped, without declaration copies. Exact-head CI must build 
packages.
   
   Manual follow-up: load a dashboard with both a table-backed and semantic 
chart.
   Confirm distinct metadata when ids match; simulate provider discovery 
failure and
   confirm table metadata remains. Confirm semantic charts do not offer 
unsupported
   drill-to-detail and show a message-only chart-data failure. Do not enable 
shared flags.
   
   ### ADDITIONAL INFORMATION
   
   - [x] Has associated issue: SC-121353
   - [ ] Required feature flags: no new flag; existing semantic-view setup 
required
   - [x] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   Known follow-ups, deliberately outside this endpoint fix:
   
   - Align `SemanticView.uid` (provider identity) with the host `id__type` 
convention
     across consumers. `exploreReducer.ts:293` has the same latent mismatch; 
changing
     model UID globally is a provider-contract change, not made here.
   - Embedded-guest/promiscuous chart-data membership gate 
(`security/manager.py:4960`)
     compares table-only `slc.datasource`; `Dashboard.datasources` is also 
table-only.
     This metadata fix does not resolve those chart-data/drill/thumbnail 
assumptions.
   - Chart export still uses `model.table`/table dataset UUIDs; semantic export 
is not
     introduced by this PR.
   - New import edge `models.dashboard → semantic_layers.models` (also used by 
API
     serializer): safe in the checked initialization graph because the 
datasource DAO
     already imports SemanticView; keep this edge in mind in future cycle 
refactors.
   
   Independent final-source re-check approved the published source tree; 
exact-head CI
   and maintainer review remain before merge.
   


-- 
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