Skip to content

Bring V2 User Settings to profile parity with an admin-style layout - #1691

Merged
Paul Lizer (paullizer) merged 9 commits into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-v2-user-settings-redesign
Oct 7, 2026
Merged

Paul Lizer (paullizer) merged 9 commits into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-v2-user-settings-redesign

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Why

V2 User Settings was missing several preferences available on the classic Profile page, and its linear layout made settings harder to find. This brings those controls into V2 and follows the Admin Settings design language without replacing the shared user settings API.

Changes

  • Add a collapsible, per-user section rail, full-width settings cards, grouped preferences, and an "On this page" index. Fix the Feedback filter unpack error and always list Violations, with an explanatory state when screening is disabled.
  • Add completion sounds, spoken-reply voice/speed/auto-play, microphone permission controls, and personal retention. Fix saving the organization-default retention choice.
  • Add a searchable fact memory workbench and Microsoft 365 sharing, connections, and workflow authorizations, using existing routes with CSRF protection and confirmation before revocations.
  • Add keyboard-accessible guided tours for Chat and Personal Workspace, with a shared tutorial master switch and granular per-tour visibility. Add a Latest Features rail shortcut that users can hide for the current release.
  • Update feature documentation, the profile preferences guide, regression tests, and release notes. Application version advances to 0.261.280.

Behavior and review notes

Classic and V2 share tutorial visibility and Latest Features hiding preferences. Per-tour choices apply to the V2 tours. Completion sounds observe replies finished in the current browser tab; unlike the classic interface, they do not poll for replies finished in other tabs. V2 keeps streaming enabled during spoken-reply auto-play. Microsoft 365 workflow sign-in uses the existing classic Profile return flow.

Validation

Passed:

  • npm run typecheck (in application/v2_ui).
  • npm run build (in application/v2_ui; existing chunk-size warning).
  • python -m py_compile application\single_app\route_backend_v2.py application\single_app\route_backend_users.py.
  • python functional_tests\test_v2_user_settings_tutorials_latest_features.py: 6/6 checks, including the Node runtime check.
  • python -m pytest -q -p no:warnings functional_tests\test_v2_settings_and_workspace_tags.py: 9 passed.
  • python -m pytest -q -p no:warnings functional_tests\test_v2_bootstrap_branding_and_navigation.py: 9 passed.
  • Targeted settings regression run: all checks passed after updating the writable-key parser for the existing shared Latest Features constant.
  • python scripts\build_docs_inventory.py: regenerated inventory; no surface changes.
  • python functional_tests\test_docs_app_surface_coverage.py: 7/7 checks.
  • python functional_tests\test_docs_site_quality.py: 6/6 checks.

The full V2 suite was also exercised with python -m pytest -q -p no:warnings (Get-ChildItem functional_tests\test_v2_*.py | % FullName). It is not green: the remaining failing files were rerun against a clean pre-change HEAD and the exact failure sets compared, with no new failures introduced. Baseline has 40 failures and 89 errors; one test varied between runs. Live Azure-backed/browser end-to-end validation was not performed.

Paul Lizer (paullizer) and others added 9 commits October 7, 2026 09:22
- Fix /feedback/my, /stats and /export 500 (filter helper returns three values)
- Rebuild User Settings with a collapsible rail (v2UserSettingsRailCollapsed),
  full-width cards and an On this page index fed by a card registry
- Group Preferences into Appearance, Chat, Notifications and alerts, Diagrams and charts
- Convert Stats, Feedback, Violations and workspace lists to settings cards
- Always list Violations; explain when content safety is off
- Bump version to 0.261.277; add tests and docs

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…etention

- Completion sound card (sound, volume, preview, mute) with a reply listener
- Spoken replies: live voice catalogue, speed, sample and auto-play through one shared reader
- Microphone permission status without prompting on load
- Personal retention card; personal retention route now accepts 'default'
- Voice and audio, Data and privacy preference groups
- Version 0.261.278, tests and docs

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adds a fact memory workbench and Microsoft 365 sharing, chat connection,
workflow connection and workflow authorization cards to V2 Preferences,
grouped under Memory and data and Connected accounts. Version 0.261.279.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Guided tour engine for Chat and Workspace with header launchers, per-tour
  visibility (tutorialVisibility) and the shared showTutorialButtons switch.
- Latest Features rail shortcut from a new bootstrap navigation entry, hideable
  per version via the shared latestFeaturesHiddenVersion setting.
- Preferences 'Help and guidance' group with Latest Features and Guided tours cards.
- Version 0.261.280; docs and functional tests updated.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve both dashboard and User Settings release notes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@paullizer
Paul Lizer (paullizer) merged commit f1c3dda into microsoft:paullizer-react-v2-ui Oct 7, 2026
11 checks passed
Paul Lizer (paullizer) added a commit to paullizer/simplechat that referenced this pull request Oct 7, 2026
Brings in V2 at f1c3dda (microsoft#1688, which kept VERSION 0.261.280, and
microsoft#1691, VERSION 0.261.281).

No textual conflicts. Both sides set config.py's VERSION to 0.261.281,
so git took it as the same change. The release notes merged with this
branch's (v0.261.281) section at the very top, above V2's first section,
(v0.261.280). microsoft#1691 added its entries to V2's existing sections, so V2's
file has no (v0.261.281) section of its own. The next commit renumbers
this branch to 0.261.282, because V2's VERSION is now 0.261.281.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer) added a commit to paullizer/simplechat that referenced this pull request Oct 7, 2026
V2 now uses 0.261.281 (microsoft#1691), so this branch's version moves above it.
Renumbers the same 20 lines in 15 files as the previous bump: config.py,
this branch's release-notes section, the documentation version notes and
the new tests' headers. The tests' version floor stays 0.261.253.

Refs microsoft#1549

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant