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

   The semantic view and layer dialogs now explain empty and unavailable 
choices and provide a next step. Users who can create layers can open layer 
setup directly from an empty view picker; other users see guidance to contact 
an administrator.
   
   ### SUMMARY
   
   Distinguish loading, empty results and request failures, with an explicit 
retry. Display the selected provider's existing description during setup, and 
return to a refreshed view picker after layer creation or cancellation. Ignore 
late responses from closed dialogs.
   
   Add optional `SEMANTIC_LAYER_DOCUMENTATION_URL` configuration for a setup 
guide in both dialogs. It defaults to `None`; invalid URLs and URLs containing 
credentials stay hidden. The main documentation menu is unchanged. This uses 
existing provider metadata and permissions.
   
   Provider descriptions use a runtime `t(description)` lookup with 
source-language fallback. Dynamic provider text is not automatically extracted 
into the host translation catalog; this does not add a new metadata field.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   Before: empty selectors offer no setup guidance. After: the empty view 
picker explains the next step, and the layer picker shows provider setup 
information or a distinct loading/error/empty state.
   
   Screenshots and a real-browser accessibility walkthrough are still pending. 
This is a draft with placeholder copy pending product review.
   
   ### TESTING INSTRUCTIONS
   
   - 172 tests pass across both semantic modal suites and DatasetList 
behavior/permission suites. New behavior was tested red-first, including 
late-response and cancellation regressions.
   - 23 bootstrap tests pass; source-resolved full TypeScript and changed-file 
hooks pass.
   - Full Python unit suite: 30,504 passed, 56 skipped, 5 xfailed; two known 
Mac ARM `longdouble` failures in untouched dataframe/numeric-contract tests. No 
other failures.
   - Translation-template drift passes; OpenAPI generation produces no change.
   
   Manual checks with `SEMANTIC_LAYERS` enabled:
   
   1. With no accessible layers, open New → Semantic View. A layer writer can 
choose “Create semantic layer”; a user without layer-write permission sees 
administrator guidance.
   2. Cancel layer setup, then repeat and create a layer. Each return opens a 
fresh view picker without selecting or saving a view automatically.
   3. Exercise empty, delayed, failed and populated type responses. Select two 
providers and confirm their descriptions change. Close during a pending 
request, reopen, and confirm the late response cannot replace the new dialog.
   4. Set `SEMANTIC_LAYER_DOCUMENTATION_URL` to an absolute HTTP(S) setup-guide 
URL. Confirm it remains available during loading and opens in a new tab. Unset 
it and confirm the link is hidden.
   5. Check keyboard focus, Escape, and screen-reader announcements in a real 
browser before marking ready.
   
   Copy is placeholder pending product review; no production documentation URL 
is supplied or activated.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [x] Required feature flags: `SEMANTIC_LAYERS` (existing)
   - [x] Changes UI
   - [ ] Includes DB Migration
   - [x] Introduces new feature or API: optional setup-guide configuration; no 
new API endpoint
   - [ ] 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