Repository navigation
Add V2 Support menu with Latest Features and Send Feedback pages - #1705
Merged
Paul Lizer (paullizer) merged 3 commits intoOct 8, 2026
Merged
Paul Lizer (paullizer) merged 3 commits into
Paul Lizer (paullizer) merged 3 commits into
Conversation
Admins configure the Support menu in Admin Settings, but V2 users only had a Latest Features link that bounced them to the classic page, and no Send Feedback at all. - Add GET /api/v2/support/latest-features behind the classic page's gates, returning only the announcements admins shared - Add navigation.send_feedback to the V2 bootstrap payload; the recipient address is not sent to the browser - Replace LatestFeaturesLink with a collapsible SupportMenu rail group that shares sidebarMenuState.support with the classic sidebar - Add V2 Latest Features and Send Feedback pages; catalogue shortcuts open the matching V2 page when one exists - Add functional, TypeScript logic and Playwright UI tests, feature docs and user guides - Bump version to 0.261.294 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The base moved to 0.261.295, so the version and the feature's test and documentation references move from 0.261.294 to 0.261.296. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 8, 2026
75e1718
into
paullizer-react-v2-ui
11 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/v2/support/latest-features) lists only the announcements admins shared./v2/support/send-feedback) is one form with a Bug Report / Feature Request choice./api/support/send_feedback_emailand opens the same email draft as the classic page.Notes for reviewers
GET /api/v2/support/latest-featureson thebackend_v2blueprint.swagger_route,login_required,user_requiredandenabled_required("enable_support_menu").build_user_latest_features_payloadreuses the admin payload's serializer, so both apply the same URL rules._latest_feature_endpoint_urlmoved to module scope and is shared by the admin and user routes.navigation.send_feedback.availablerequires an app role, the menu, the destination, and a recipient containing@. The recipient address is not sent; the browser only learns it from the submission reply, as on the classic page.lib/latestFeatureShortcuts.ts.safeLatestFeatureHref.LatestFeaturesLink.tsxis replaced bySupportMenu.tsx.sidebarMenuStateholding onlysupport. The server merges top-level keys only, so that would wipe the user's other menu states.NavExtras.tsxhas the same gap from before this PR; it is not changed here.Screenshots
Synthetic data from the Playwright fixture.
Linked issue
N/A (no tracking issue for this change)
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedThe version is now
0.261.296. The base moved to0.261.295while this was in progress, so the branch merges the base and renumbers this feature's version references from0.261.294to0.261.296.config.pywas the only merge conflict.Testing / validation
All commands below were re-run after merging the base and renumbering, on head
ba419cb04.npm --prefix .\application\v2_ui run build(tsc -b && vite build): passedpython -m pytest -q -p no:warnings functional_tests\test_v2_support_menu.py functional_tests\test_v2_bootstrap_branding_and_navigation.py functional_tests\test_v2_user_settings_tutorials_latest_features.py functional_tests\test_v2_admin_latest_features_api.py functional_tests\test_v2_admin_help_logic.py functional_tests\test_v2_admin_help_parity.py functional_tests\test_v2_admin_help_settings_normalization.py functional_tests\test_support_menu_user_feature.py functional_tests\test_support_menu_blueprint_endpoints.py functional_tests\test_support_app_title_personalization.py functional_tests\test_latest_features_action_links.py functional_tests\test_latest_feature_action_targets.py functional_tests\test_latest_features_release_group_integrity.py functional_tests\test_latest_features_nav_hide_preference.py: 73 passed. This includes the 27 TypeScript checks intest_v2_support_menu_logic.ts.python -m pytest -q -p no:warnings functional_tests\test_v2_sidebar_primary_nav_stays_in_v2.py functional_tests\test_v2_sidebar_account_menu.py functional_tests\test_v2_sidebar_conversation_scroll.py functional_tests\test_v2_settings_tabs.py functional_tests\test_v2_user_settings_layout.py functional_tests\test_v2_api_payload_shapes.py functional_tests\test_v2_ui_local_assets.py functional_tests\test_xss_guardrails_checker.py functional_tests\test_docs_app_surface_coverage.py functional_tests\test_docs_site_quality.py: 68 passedpython -m pytest -q functional_tests\route_tests\test_route_blueprint_policy_inventory.py functional_tests\route_tests\test_route_unauthenticated_policy_contract.py functional_tests\route_tests\test_route_policy_test_coverage.py: 22 passedpython -m pytest -q -p no:warnings ui_tests\test_v2_support_menu.py ui_tests\test_v2_admin_help_settings.py: 19 passed. These use local Chromium against the built SPA, with the API stubbed. They cover:python scripts\check_broken_access_control.py --full-file application/single_app/route_backend_v2.py application/single_app/functions_support_latest_features.py: passedgit -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check origin/paullizer-react-v2-ui HEAD: cleantest_menu_state_is_not_saved_when_preferences_failed_to_loadfail.ui_tests\test_v2_sidebar_conversation_scroll.py::test_the_phone_drawer_holds_search_under_new_chatis flaky on the original base commit. It failed 2 of 4 runs on a clean worktree of49a52bb5c.functional_tests\test_logging_tag_standardization.pyfails on the base because of non-standard tags in unrelated files. The new[SUPPORT_LATEST_FEATURES]tag is documented indocs/reference/logging-tags.md.functional_tests\test_docs_link_integrity.pyreports broken links in unrelated docs.Documentation
0.261.296in this PR.docs/explanation/features/V2_SUPPORT_MENU.md(new) andV2_USER_SETTINGS_REDESIGN.mddocs/guides/browse-latest-features.md(new) andsend-feedback.mddocs/admin/help.mdSecurity checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user(). No settings values are sent: the new endpoint returns release copy and links, and the bootstrap entry carries onlyavailable,urlandmenu_name.