mikebridge opened a new pull request, #45523: URL: https://github.com/apache/superset/pull/45523
### SUMMARY **What users saw.** Owners who could open Recently Archived sometimes had no entry for it in Settings. Without a menu entry, they had to find a direct link again when they wanted to recover something later. **Why, in plain terms.** The page and the menu use different rules. Reading an archived item can be allowed even when the user cannot see the Manage section or its Recently Archived entry. **What this changes.** Users who can open the page get a Recently Archived entry under Settings → User when it is missing from the existing Settings menu. Users who already have it under Manage keep that entry without a duplicate. Page and object permissions remain unchanged. ### IMPLEMENTATION DETAILS The page and a new boolean in the existing navbar bootstrap payload share the same admission predicate: the archive feature is enabled, the viewer is authenticated, and the viewer can read charts, dashboards or datasets. The Settings dropdown uses that boolean and checks the stable server menu-item name before adding its fallback. The link respects the configured application root. No FAB menu permissions, role definitions, security-manager overrides, or endpoints change. Existing direct links remain available. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Before: readers without the Manage menu or archive menu entry had no persistent Settings link. After: those readers get the link in the User section; readers with the existing entry keep it under Manage. Automated DOM tests cover presence and duplicate prevention; no browser screenshots captured. ### TESTING INSTRUCTIONS 1. Enable `SOFT_DELETE`. As an authenticated user who can read at least one archived type but lacks Manage or Recently Archived menu access, open Settings and verify one Recently Archived link under User. 2. As a user with both menu permissions, verify the existing Manage entry remains and there is no User duplicate. Repeat with translated labels. 3. Verify no fallback is shown with the feature disabled, with no readable archived type, or for anonymous users. 4. Repeat under an application URL prefix and verify the fallback opens the archive page. 5. Verify the page retains its flag-off 404, anonymous login redirect, and 403 for users without read permission. Recover/purge and object access retain their existing checks. Validation: 74 focused backend tests and 81 frontend tests (plus two snapshots) pass. Changed-file hooks include MyPy and frontend type checking. The existing translation catalog matches a fresh extraction. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [x] Required feature flags: `SOFT_DELETE` - [x] Changes UI - [ ] Includes DB Migration - [ ] Introduces new feature or API - [ ] Removes existing feature or API Reuses the existing Recently Archived translation string. Documentation describes both menu placements. -- 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]
