Skip to content

feat(channels): add the flag-gated spaces layout (3/4) - #3814

Merged
trunk-io[bot] merged 8 commits into
mainfrom
posthog-code/channels-stack-3-spaces-ui
Jul 28, 2026
Merged

feat(channels): add the flag-gated spaces layout (3/4)#3814
trunk-io[bot] merged 8 commits into
mainfrom
posthog-code/channels-stack-3-spaces-ui

Conversation

@puemos

@puemos puemos commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Problem

Tasks and canvases need a shared channel home with navigation that stays scoped to the active channel.

Why

Switching channels through a popover buried the channel list behind a click and gave it nowhere to grow. The list is the main way around the space, so it gets a pane of its own.

Changes

  • Add the complete channel sidebar, navigation, creation controls, and starred-channel shortcuts.
  • The sidebar is a master/detail slider: a searchable channel list (#me, starred, then the rest) that slides aside when you open a channel, and a channel pane headed by a row that slides back. Browsing the list doesn't leave the channel you're in.
  • Integrate the spaces chrome, settings visibility, sizing, error fallback, and analytics.
  • Activate the experience behind code-spaces-layout plus project-bluebird.
  • Keep the existing Thread panel in this intermediate state.

This is PR 3 of the stack, based on #3813. Flag off remains the existing experience; flag on becomes Spaces with the legacy Thread panel.

How did you test this?

  • pnpm --filter @posthog/core test -- src/command-center/grid.test.ts
  • Focused UI suites covering flag transitions, shortcuts, the sidebar slider, channel search, sidebar behavior, settings, and glyphs
  • pnpm --filter @posthog/ui test (249 files, 2184 tests) and pnpm --filter @posthog/ui typecheck

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Created with PostHog Code

@github-actions

github-actions Bot commented Jul 25, 2026

Copy link
Copy Markdown

React Doctor found 3 issues in 3 files · 3 warnings.

3 warnings

src/features/canvas/components/ChannelItemRow.tsx

src/features/canvas/components/ChannelNav.tsx

src/features/sidebar/components/ProjectSwitcher.tsx

Reviewed by React Doctor for commit f9fdbf8.

puemos commented Jul 25, 2026

Copy link
Copy Markdown
Contributor Author

@puemos
puemos force-pushed the posthog-code/channels-stack-2-scope-foundations branch from e917958 to ffc8505 Compare July 25, 2026 15:09
@puemos
puemos force-pushed the posthog-code/channels-stack-3-spaces-ui branch 2 times, most recently from 7098f03 to 54ec82c Compare July 26, 2026 11:14
@puemos
puemos marked this pull request as ready for review July 27, 2026 07:07
@puemos puemos added the reviewhog ($$$) Reviews pull requests before humans do label Jul 27, 2026 — with Graphite App
@puemos
puemos requested a review from k11kirky July 27, 2026 07:08
@puemos puemos self-assigned this Jul 27, 2026
@puemos puemos changed the title feat(channels): add the flag-gated spaces layout feat(channels): add the flag-gated spaces layout (3/4) Jul 27, 2026
@posthog

posthog Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Visual changes approved by @puemos — baseline updated in 8a9e6f2.

View this run in PostHog

12 new, 12 removed.

@puemos
puemos force-pushed the posthog-code/channels-stack-2-scope-foundations branch from f60bbca to 1496330 Compare July 27, 2026 18:45
@puemos
puemos force-pushed the posthog-code/channels-stack-3-spaces-ui branch from 8a9e6f2 to 8bda314 Compare July 27, 2026 18:45

puemos commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

@puemos
puemos changed the base branch from posthog-code/channels-stack-2-scope-foundations to graphite-base/3814 July 28, 2026 08:55
@puemos
puemos changed the base branch from graphite-base/3814 to main July 28, 2026 09:53
@trunk-io

trunk-io Bot commented Jul 28, 2026

Copy link
Copy Markdown

😎 Merged directly without going through the merge queue, as the queue was empty and the PR was up to date with the target branch - details.

puemos and others added 7 commits July 28, 2026 12:00
Activate the complete channel-scoped sidebar, switcher, navigation, shortcuts, and shell chrome behind the spaces flag. The existing Thread panel remains in place until the next stack PR.

Generated-By: PostHog Code
Task-Id: 6190e713-9b80-43d9-a05c-5e3b1ecdf297
Replaces the channel switcher popover with a master/detail sidebar. The list
pane (searchable, #me pinned, then starred, then the rest) slides aside when
you open a channel; the channel pane is headed by a row that slides back.

Which pane shows is view state (`channelPaneStore`), separate from the scoped
channel: going back to the list browses without leaving the channel. Both
panes stay mounted, the offscreen one inert.

Generated-By: PostHog Code
Task-Id: 1932f1b0-a072-4de2-a21d-6455e6c445ee
- Drop the back row's border; it's a sidebar row, not a control on top of one.
- One FAB on both panes: with a channel it creates a task or canvas inside it,
  and either way it can create a channel.
- Tighten the gap between the global nav and the pane below it.
- Move Archived out of the sidebar and into the account menu, beside Settings.
- Gate the list's search and ⌘1-9 hints on the layout flag, so the alpha's
  channel tree is untouched.

Generated-By: PostHog Code
Task-Id: 1932f1b0-a072-4de2-a21d-6455e6c445ee
The channel sidebar's recent/pinned rows showed no sign that a task was still
working — run status only appeared as a badge in the hover preview card, so a
running task looked identical to a finished one while scanning the list.

Sweep a highlight band across the row's icon instead of swapping in a spinner.
Keeping the glyph means a running task still reads as a task and a running
canvas as a canvas, so the list stays scannable by kind while it moves.

The animation masks rather than recolours, so unlike the neighbouring ph-pulse
it repaints nothing per frame. Reduced motion holds a dimmed glyph rather than
dropping the signal, and the existing ph-window-blurred rule parks it when the
window loses focus.

Generated-By: PostHog Code
Task-Id: 1ee0ef0c-17af-4e55-b0ae-b036cd38eafc
Use Spaces terminology throughout the flag-gated layout while preserving the legacy Channels copy and all internal channel contracts.

Generated-By: PostHog Code
Task-Id: 346a07ca-892e-4431-90aa-16be9aa4cbdc
12 updated, 12 removed
Run: 80273ad3-5999-4857-888c-48ea24ff260f

Co-authored-by: puemos <13174025+puemos@users.noreply.github.com>
@puemos
puemos force-pushed the posthog-code/channels-stack-3-spaces-ui branch from 8bda314 to 21c9bce Compare July 28, 2026 10:01
Generated-By: PostHog Code
Task-Id: b9fb9b49-0778-4590-9c67-6227f6775a72
@trunk-io
trunk-io Bot merged commit 542eee4 into main Jul 28, 2026
34 checks passed
@trunk-io
trunk-io Bot deleted the posthog-code/channels-stack-3-spaces-ui branch July 28, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewhog ($$$) Reviews pull requests before humans do

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants