Skip to content

Make page-contributed sidebars resizable - #1587

Open
kazemek21 wants to merge 2 commits into
block:mainfrom
kazemek21:kylez_NEXUS-3762_page-sidebar-resize
Open

kazemek21 wants to merge 2 commits into
block:mainfrom
kazemek21:kylez_NEXUS-3762_page-sidebar-resize

Conversation

@kazemek21

@kazemek21 kazemek21 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

TL;DR

Page-contributed sidebars were fixed-width while the conversation sidebar could be resized. This reuses the same host resize track and saved width so page sidebars stay adjustable across destinations.

Why

The page slot did not mount the resize control, leaving plugin-provided sidebars unable to match the conversation sidebar's width behavior.

What

  • Wraps page-contributed sidebars and their unavailable fallback in the existing ResizableSidebar.
  • Shares the per-community width across Messages and plugin pages, including the existing drag, keyboard, reset, and clamp behavior.

How

AppShell reuses the existing sidebar component; the page layout role fills its host-resized track. No second resize preference is added. A workspace switch cancels the old drag without remounting the sidebar content.

Browser coverage

The browser journey checks pointer dragging and the resulting host-track width, which jsdom cannot verify. The app test covers saved width across a Messages/page switch and the unavailable fallback. No browser cases were removed. The browser journey failed before the fix because the resize separator was absent, then passed in Chromium and WebKit. The Todos journey passed on both main and the earlier candidate. A component regression reproduced a drag crossing workspaces, then passed after cancellation preserved both saved widths and the mounted draft.

Risk

The app shell reuses existing persistence and resize bounds. The shared handle now restores drag previews during layout cleanup so an old gesture cannot overwrite another workspace's width.

Testing

No manual testing. The captures below show the fixture page sidebar before and after resizing.

Before

before

After

after

Bigger picture

This builds on #1565, which added plugin-contributed sidebar sections. Related work remains separate: #1444 changes linked-chat sidebar placement, #1556 adds download feedback, and #1620 adds team review UI. This PR only makes page sidebars use the shared resize track.

Generated with Codex (gpt-6.1-sol) on behalf of kylez

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-3762_page-sidebar-resize branch 2 times, most recently from be3b297 to 8a067bb Compare October 26, 2026 06:03
@kazemek21
kazemek21 marked this pull request as ready for review October 26, 2026 06:35
@kazemek21
kazemek21 requested a review from a team as a code owner October 26, 2026 06:35

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 No changes requested. Star Lord’s automated source review via Wes’s account, integrating independent Rocket, Mantis and Groot reviews, found no actionable defects in the shared page-sidebar resize track, persistence, fallback or focus paths.

Reviewed head 8a067bbdd8d3f318c9fd10cda670a82691c2be92 against base c40dfdf4c81aabe759f3a4329c3e77f854746a59, including the description and both screenshots. Source-only: no local tests or app execution; the CI snapshot showed CI required successful and Windows skipped, while live layout, accessibility and native acceptance remain unverified.

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-3762_page-sidebar-resize branch from 8a067bb to bc3fa6b Compare October 30, 2026 05:15

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 No changes requested. Star Lord’s automated source review via Wes’s account, integrating independent Rocket, Mantis and Groot reviews, found no new actionable defects in this rebased sidebar-resize change.

The authored resize changes match the previously reviewed patch. We checked their current integration with AppShell, PrimarySidebar, contribution fallback/retry, relay scope, shared width persistence and sidebar-view writes. The public description and both screenshots were inspected.

Reviewed head bc3fa6bc6dd7eb1e06d03901e99d53fa6b023061 against base 8fdb02df62398c0fa4c8769507444f22df86a2c7. Source-only: no tests or app execution, and CI status was not assessed in this cycle. Live layout, keyboard/screen-reader behavior, focus after error/retry, cross-window storage and native acceptance remain unverified.

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-3762_page-sidebar-resize branch from bc3fa6b to 743661f Compare October 30, 2026 05:57

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Star Lord’s automated source review via Wes’s account: no new actionable findings in this rebase follow-up.

Reviewed head 743661f55ba383aa3e7b5fb1b120a7dc51a5c5c5 against base 561265d0d469597627fde7cc5a06801e0c82baf4. The sidebar patch is unchanged from previously reviewed head bc3fa6bc6dd7eb1e06d03901e99d53fa6b023061; the endpoint delta contains only the base’s three profile-action files. Checked the current resize/persistence owners, page/fallback composition, drawer and recovery boundaries, and profile-to-Settings workspace retention. Independent systems/lifecycle, correctness/security, and product/accessibility lanes completed; the PR description and both images were also inspected.

Source-only: no tests or application execution performed. One hosted-check snapshot showed CI required successful and Windows validation skipped. Native rendering, live focus/assistive technology, performance and human acceptance remain unverified. This comment is not approval or merge authorization.

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-3762_page-sidebar-resize branch from 743661f to a838b1d Compare October 30, 2026 10:30

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Star Lord’s automated source review via Wes’s account: no new actionable findings in this rebase follow-up.

Reviewed head a838b1d6bb8fd8e478e70be7f7a74ea6cc98d16e against base 36a283b2386473130430890faa3b06c6e45d4a6b. The authored sidebar patch is unchanged from previously reviewed head 743661f55ba383aa3e7b5fb1b120a7dc51a5c5c5. Independent Rocket, Mantis and Groot lanes and my integration pass checked the current shared width/persistence owners, scope changes, drag cleanup, contributed-sidebar fallback, drawer and navigation recovery boundaries. The description, commit and both attached screenshots were inspected.

Source-only: no tests or application execution; CI was not assessed in this cycle. Live layout, keyboard/screen-reader focus, cross-window storage, native behavior, performance and human acceptance remain unverified. This COMMENT review is not approval or merge authorization.

Use the shared sidebar width and resize handle for page contributions and the unavailable fallback.

Agent attribution: Codex (gpt-6-luna) on behalf of kylez

Co-authored-by: Codex (gpt-6-luna) <codex@openai.com>
Signed-off-by: Kyle Zemek <kylez@squareup.com>
@kazemek21
kazemek21 force-pushed the kylez_NEXUS-3762_page-sidebar-resize branch from a838b1d to b42ee16 Compare October 30, 2026 20:31
Keep mounted sidebar content while replacing its scoped resize handle. Restore drag previews before a replacement width commits.

Co-authored-by: Codex (gpt-6.1-sol) <codex@openai.com>
Signed-off-by: Kyle Zemek <kylez@squareup.com>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Star Lord’s automated source review via Wes’s account: no new actionable findings in this sidebar-resize follow-up.

Reviewed head dc4246f122f256ed9f9803497c455f05e648cc9e against base 4e122dde85de331f7a1a59e06b5f9db42e28f8e1. Independent Rocket, Mantis and Groot lanes completed; I reconciled their reports against the pinned source. Checked the new workspace-scoped handle replacement and layout cleanup, shared panel-split caller, width persistence, page-sidebar fallback and current creation-menu integration. The public description, both screenshots and commits were inspected.

Source-only: no tests or application execution; CI was not assessed in this cycle. Live rendering, keyboard/screen-reader focus, cross-window behavior, performance and native/human acceptance remain unverified. This COMMENT review is not approval or merge authorization.

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.

2 participants