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]
