Skip to content

Keep V2 mobile headers in a single row - #1753

Merged
Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-single-row-mobile-headers
Oct 11, 2026
Merged

Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-single-row-mobile-headers

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Summary

  • Fix mobile headers where help, directory and refresh actions wrapped below the title and wasted vertical space. Titles/subtitles now ellipsize alongside nonshrinking navigation and 44px action targets.
  • Keep one or two visible actions as direct icons. Only more than two actions use a first-action-plus-caret arrangement with a bounded anchored overlay. Desktop labels and behavior remain unchanged.
  • Convert chat conversation actions to an overlay without increasing header height; preserve handlers, permission gates, disabled/loading states and independent tour dialog hosts. Fix focus for automatically requested tours with hidden launchers.

Linked issue

N/A. No issue requested. Follow-up to merged PR #1750.

Release Notes & Latest Features

  • New Feature
  • Bug Fix
  • UI Enhancement
  • Breaking Change
  • Internal only

Is this visible to end users?

  • Yes
  • No

Is this admin-facing (Admin Settings, governance, deployment, config)?

  • Yes
  • No

Should this become a Latest Feature card?

  • Yes
  • No
  • Already added

Screenshot needed for the card?

  • Yes
  • No
  • Attached

Release notes remain unchanged pending separate user approval.

Version bump

  • application/single_app/config.py VERSION third segment bumped, or not needed because this is docs-only
  • deployers/version.txt bumped, or not needed because deployers/ was not changed

Application version: 0.261.324 -> 0.261.325. No deployer changes.

Testing / validation

  • npm --prefix .\application\v2_ui run build -- --outDir ..\..\ui_tests\artifacts\orchestration-plan-editor - passed.
  • npm --prefix .\application\v2_ui run build - passed; existing Vite large-bundle warning remains.
  • With PYTHONPATH set to ui_tests\fixtures, ui_tests and functional_tests: python -m pytest .\ui_tests\test_v2_mobile_headers.py .\ui_tests\test_v2_mobile_navigation.py .\ui_tests\test_v2_mobile_chat_layout.py .\ui_tests\test_v2_mobile_workspace_documents.py .\ui_tests\test_v2_review_center.py -q --maxfail=3 - 93 passed.
  • python -m pytest .\functional_tests\test_v2_mobile_layout.py .\functional_tests\test_v2_user_settings_tutorials_latest_features.py .\functional_tests\test_v2_workspace_sections.py .\functional_tests\test_v2_terms_and_approvals.py .\functional_tests\test_v2_admin_review_pages.py .\functional_tests\test_v2_settings_and_workspace_tags.py -q --disable-warnings - 42 passed.
  • python -O -m pytest .\functional_tests\test_v2_mobile_layout.py .\functional_tests\test_v2_user_settings_tutorials_latest_features.py -q --disable-warnings - 11 passed.
  • python .\functional_tests\test_docs_app_surface_coverage.py - 7/7 passed, generated inventory current.
  • python .\functional_tests\test_docs_site_quality.py - 6/6 passed.
  • Added-line validation using scripts.check_xss_sinks.inspect_file on the actual diff and full new files - 19 application files, zero findings.
  • git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check - passed.
  • Reviewed phone/desktop screenshots. Browser coverage includes 320/360/393/430/767/768/1280px, both themes, enlarged text, conditional actions, loading/status, keyboard dismissal/focus return and functional tour/directory/refresh/drawer actions. Uses synthetic HTTP boundaries, not live Azure resources. Real iPhone Safari remains a manual device check.

Documentation

  • Release notes updated, or not needed
  • Feature documentation updated, or not needed
  • Fix documentation updated, or not needed

Updated the V2 mobile guide, React V2 feature documentation, mobile layout fix documentation and chat controls reference. Release notes were intentionally not changed without approval.

Security checklist

  • New Flask routes include @swagger_route(security=get_auth_security())
  • Settings sent to non-admin frontends use sanitize_settings_for_user()
  • Browser JavaScript is served from local SimpleChat static assets only; no CDN-hosted JS
  • No secrets, keys, connection strings, or local-only artifacts are included

No new Flask routes or settings response changes. No new dependencies, mobile routes or authorization changes.

Render up to two header actions as direct icons and anchor larger action menus without expanding the header. Preserve desktop labels, permissions, and tour state; cover responsive behavior and update docs for version 0.261.325.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@paullizer
Paul Lizer (paullizer) merged commit 814b36c into microsoft:paullizer-react-v2-ui Oct 11, 2026
12 checks passed
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