Repository navigation
V2: Scroll the chat rail as one panel and pop workflow alerts from the bell - #1643
Merged
Paul Lizer (paullizer) merged 3 commits intoOct 5, 2026
Conversation
…e bell On the chat page the rail kept its full height for the navigation and the link groups, and the conversation list scrolled in what was left: two rows in a 720px window with two external links. Everything between New chat and the footer now scrolls as one panel, as the classic sidebar does. Reading down the list carries the navigation out of view and holds Search chats (and the bulk bar) right under New chat. The collapsed strip and other pages are unchanged. - ConversationRail has no scroller of its own; its header is sticky and marked data-stuck while held (solid backing and edge only then). - Paging and the stuck marker observe the rail's region, so the 120px look-ahead now applies. - The section keeps the region's height while searching, so narrowing results cannot drag the search box out from under the cursor. - Keyboard focus on a row under the held search is moved clear of it (WCAG 2.4.11); mouse clicks are left alone. - The workflow alert notice now hangs from the bell instead of My Workspace, which the rail can scroll away: below the bell like its panel when expanded, beside it when collapsed or on a phone. Version 0.261.235. Fixes microsoft#1642. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Refs microsoft#1642. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Brings in microsoft#1636 (must-acknowledge workflow alerts, sounds, sizes and team delivery), which also used 0.261.235 and changed the alert notice this branch moves from My Workspace to the bell. - WorkflowAlertNotice.tsx: kept the bell anchor. microsoft#1636 gave an alert that needs acknowledgment room of its own below My Workspace in the full rail; that room is now WorkflowAlertRowSlot, a row under the rail's header whose notch is measured to point at the bell. It pushes New chat and the navigation down and sits outside the chat scroll region. The bell's overlay slot stands aside while it is in use; the flyout keeps microsoft#1636's step-aside behaviour. - Feature docs and the notifications guide describe the row instead of My Workspace; both sides' text is kept. - Renumbered this PR to 0.261.236: config.py, this PR's tests and docs, and its release-notes section, now above microsoft#1636's 0.261.235 entry. - Tests: the in-flow test also checks the row hangs from the bell, comes after the header controls and survives collapse/expand; the scrolled chat rail test covers a must-acknowledge alert; the functional test guards the row. Refs microsoft#1642. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 5, 2026
25470e7
into
microsoft:paullizer-react-v2-ui
9 of 10 checks passed
15 of 24 tasks
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 5, 2026
paullizer-react-v2-ui merged #1643 (V2 sidebar conversation scroll) and published v0.261.236, which this branch used for Phase 1. The integration branch's sections are kept exactly as published. This branch's ten sections shift up one, to v0.261.237 through v0.261.246, and config.py becomes 0.261.246. Every file only this branch changed is checked to equal its previous content with those versions shifted, every file only the integration branch changed is byte-identical to it, and the release notes are the integration branch's file plus this branch's ten sections. None of the integration branch's own text in this branch's files used the shifted versions. Only config.py and the release notes changed on both sides, and both conflicted on versions only. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
16 of 24 tasks
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 5, 2026
V2 moved to 25470e7 (VERSION 0.261.236) when #1643 merged: the V2 chat rail scrolls as one panel, and workflow alerts pop up from the bell. Conflicts: - config.py: keep this branch's 0.261.238, still above V2's 0.261.236. - release_notes.md: keep both sections, 0.261.238 above 0.261.236. #1643 shares no other file with this branch. Apart from config.py, the merged tree differs from ac9e524 only in #1643's 15 files, each identical to V2's. docs/_data/app_surface.yml is unchanged after re-running scripts/build_docs_inventory.py. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 5, 2026
PR #1643 took 0.261.236, so the settings fix moves to 0.261.237 and the Microsoft 365 orchestration fix to 0.261.238. This merge resolves the version and release notes conflicts; the next commit renumbers the rest. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 5, 2026
PR #1643 took 0.261.236 on paullizer-react-v2-ui. The settings document type fix is now 0.261.237, and the Microsoft 365 orchestration fix is 0.261.238, in code headers, tests and documentation. 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 6, 2026
Brings in V2 25470e7 (0.261.236, the V2 sidebar conversation scroll fix). Conflicts resolved: - config.py: keep 0.261.237. - ConversationRail.tsx: keep the WorkflowRunningTag import and mount with V2's widened FocusEvent/ReactNode/RefObject type import. - V2_WORKFLOW_ALERT_NOTICES.md: keep both since-version lines in order; V2's 60-test row with Open run wording; Open run provenance row. - test_v2_workflow_alert_notices.py: Version 0.261.237 with every history line from both sides. - release_notes.md: 0.261.237 section above V2's 0.261.236 section. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
15 of 24 tasks
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
On the V2 chat page the rail kept its full height for the navigation and the admin's link groups, and the conversation list scrolled in what was left: two rows in a 720px window with two external links. Classic has scrolled its whole sidebar as one panel since 0.250.002 (#1098).
ConversationRail:data-stuckattribute written straight to the DOM, so no re-render.:focus-visiblehandler, because Chromium ignoredscroll-marginhere andscroll-paddingthrew the list 516px whenever the search box took focus.WorkflowAlertRowSlot, a row under the rail header. Its notch is measured to point at the bell, it pushes New chat and the nav down, and it sits outside the scroll region. The flyout keeps V2 workflow alerts: require acknowledgment, repeating sound, size options and team delivery (0.261.235) #1636's step-aside. This PR is renumbered to 0.261.236, since V2 workflow alerts: require acknowledgment, repeating sound, size options and team delivery (0.261.235) #1636 took 0.261.235.Linked issue
Fixes #1642
Refs #1636 (must-acknowledge alerts, reconciled in the merge commit), #1553
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-only (0.261.235 -> 0.261.236)deployers/version.txtbumped, or not needed becausedeployers/was not changedTesting / validation
All run on the merged branch (after #1636), with the V2 bundle rebuilt:
npm --prefix application/v2_ui run typecheck: passedpython functional_tests/test_v2_sidebar_conversation_scroll.py: 8/8 passedpython -m pytest ui_tests/test_v2_workflow_alert_notices.py: 60 passed (includes V2 workflow alerts: require acknowledgment, repeating sound, size options and team delivery (0.261.235) #1636's must-acknowledge tests and the new bell/row geometry checks)python -m pytest ui_tests/test_v2_sidebar_conversation_scroll.py ui_tests/test_v2_notifications_bell.py ui_tests/test_v2_new_chat_reset.py ui_tests/test_v2_workflow_alerts.py: 90 passedpython -m pytest <file>, one file at a time: all passed fortest_v2_new_chat_scoping(6),test_v2_sidebar_account_menu(8),test_v2_conversation_multiselect(17),test_v2_notifications_bell(10),test_v2_brand_mark_home_link(4),test_v2_conversation_drawer(8),test_v2_conversation_export(15),test_v2_shared_conversations(14),test_v2_inline_image_proposal_resume(10),test_v2_settings_and_workspace_tags(9),test_v2_api_payload_shapes(6),test_v2_public_workspace_labels_pin(2),test_docs_site_quality(6),test_docs_app_surface_coverage(7),test_v2_alert_lab_excluded_from_build(4),test_workflow_alert_acknowledgment(53),test_workflow_alert_client_parity(100),test_workflow_alert_bounded_query(48),test_workflow_alert_error_redaction(25),test_workflow_alert_sounds_setting(6),test_workflow_alert_sound_parity(3),test_workflow_alert_sound_assets(2)AppShellwith production CSS (stubbed HTTP). The notch-to-bell offset measures under 1px in every placement.Pre-existing failures, identical on the base tip 5be1d84 (not touched by this PR)
This PR's only backend change is the
VERSIONstring. Each of these gives the same result when run against an extract of the base tip in this environment:test_v2_conversation_deep_link::test_incoming_link_is_captured_before_any_effect_runsandtest_v2_stats_parity::test_charts_use_the_shared_vendored_runtime: the asserted code isn't in the base'sChatPage.tsx/InlineChart.tsx, neither of which this PR changes.test_workflow_alert_notifications_import_cycle: the 2scheduler-runner-firstcold-import variants fail.test_workflow_priority_alerts: 2 fail.test_workflow_alert_since_hours_policy: 1 failure plus setup errors.test_workflow_alert_acknowledge_policyandtest_group_workflow_file_sync_client_parity: fixture setup errors.Documentation
v0.261.236section)REACT_V2_UI.md,V2_WORKFLOW_ALERT_NOTICES.md,WORKFLOW_ALERT_ACKNOWLEDGMENT.md,guides/manage-notifications.md,reference/chat-controls.md)fixes/V2_SIDEBAR_CONVERSATION_SCROLL_FIX.md)Security checklist
@swagger_route(security=get_auth_security())(no routes added)sanitize_settings_for_user()(no settings payloads changed)