Skip to content

feat(tasks): add channel selector to new-task composer#3689

Draft
puemos wants to merge 1 commit into
mainfrom
posthog-code/channel-selector-new-task
Draft

feat(tasks): add channel selector to new-task composer#3689
puemos wants to merge 1 commit into
mainfrom
posthog-code/channel-selector-new-task

Conversation

@puemos

@puemos puemos commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Problem

When starting a new task, you could only target a repository. There was no way to pick a channel to work in from the main composer — channel tasks only existed on the separate per-channel screen.

Why: let people kick off a channel task (repo-less, owned by the channel's feed) straight from the new-task screen, the same way they pick a repo today.

Changes

  • New ChannelPicker pill sitting next to the repo picker, gated by the project-bluebird flag (mirrors the existing WorkspaceModeSelect pill).
  • Selecting a channel runs the task repo-less, attaches the channel's CONTEXT.md, and owns it in the channel's backend feed. The repo + branch pickers grey out (visible but disabled); No channel restores the normal repo flow.
  • The personal #me channel is omitted from the list (new tasks already default to it), and the picker is hidden on screens already bound to a fixed channel (the per-channel New task view is unaffected).

How did you test this?

  • pnpm --filter @posthog/ui typecheck — passes.
  • Biome lint/format on the changed files — clean.
  • New ChannelPicker.test.tsx (5 tests: label rendering, sentinel↔null mapping, emitted channel id, parent-filtered list) — passes via vitest run.
  • Did not manually drive the Electron app.

Automatic notifications

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

Created with PostHog Code

Adds a channel-picker pill next to the repo picker on the new-task
composer. Selecting a channel makes the task run repo-less (owned by the
channel's backend feed, with its CONTEXT.md attached) and greys out the
repo/branch pickers; "No channel" restores the normal repo flow. Gated by
the project-bluebird flag and hidden on screens already bound to a fixed
channel.

- New ChannelPicker presentational pill (mirrors WorkspaceModeSelect).
- TaskInput derives effective channel context/name/id + backend feed id
  from the picked channel, collapses worktree→local (repo-less), and
  disables the repo cluster.

Generated-By: PostHog Code
Task-Id: 33a1c8b2-6345-4dac-b733-b9e22c53e3d7
@trunk-io

trunk-io Bot commented Jul 22, 2026

Copy link
Copy Markdown

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

@github-actions

Copy link
Copy Markdown

React Doctor found 6 issues in 1 file · 1 error & 5 warnings.

Errors

5 warnings

src/features/task-detail/components/TaskInput.tsx

Reviewed by React Doctor for commit 553f63c.

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