Skip to content

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

Draft
puemos wants to merge 3 commits into
posthog-code/channels-stack-2-scope-foundationsfrom
posthog-code/channels-stack-3-spaces-ui
Draft

feat(channels): add the flag-gated spaces layout#3814
puemos wants to merge 3 commits into
posthog-code/channels-stack-2-scope-foundationsfrom
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 2 issues in 2 files · 2 warnings.

2 warnings

src/features/canvas/components/ChannelNav.tsx

src/features/sidebar/components/ProjectSwitcher.tsx

Reviewed by React Doctor for commit 1ec3e3f.

puemos commented Jul 25, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@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 from b5a9f27 to 7098f03 Compare July 25, 2026 15:10
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
@puemos
puemos force-pushed the posthog-code/channels-stack-3-spaces-ui branch from 7098f03 to 54ec82c Compare July 26, 2026 11:14
puemos added 2 commits July 26, 2026 14:25
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
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