Skip to content

feat(channel): quill ThreadItem feed — day separators, smoother scroll#3265

Merged
adamleithp merged 6 commits into
mainfrom
ux/thread-item-fixes
Jul 8, 2026
Merged

feat(channel): quill ThreadItem feed — day separators, smoother scroll#3265
adamleithp merged 6 commits into
mainfrom
ux/thread-item-fixes

Conversation

@adamleithp

@adamleithp adamleithp commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Rebuilds the channel feed on quill's ThreadItem primitives, adds day grouping, and cuts scroll jank.

2026-07-08 13 34 51

Changes

  • ThreadItem feed — rows now use quill's ThreadItem (gutter avatar, header, body, hover action bar) instead of hand-rolled ChatMessage markup. Needs the @posthog/quill 0.3.0-beta.22 bump (included).
  • Day separators — a ChatMarker between days: "Today" / "Yesterday", then weekday + ordinal ("Monday 5th"), adding month/year further back.
  • Status badges — once a PR exists its state (Merged / PR ready / Draft / Closed) is the top-line badge; merged shows a purple badge + card tint; run environment moves to the meta row (· Local / · Cloud), dropping the redundant "Local" pill.
  • Scroll perf — memoized rows so task-list polls don't re-render the whole feed, off-screen reply-teaser polling gated behind an in-view observer, and contain-intrinsic-size tuned to the real ~13rem row height.
  • Minor — full-width composer, prompt-input focus ring, message-editor placeholder color (--muted-foreground).

Supersedes #3254 (same work; that branch was renamed).

adamleithp and others added 3 commits July 8, 2026 13:18
Rework the task card status row in the channel feed:

- Once a PR exists, its state (Merged / PR ready / Draft / Closed) is the
  sole top-line status, replacing the run badge — so a shipped task never
  reads "Ready + Merged" or a stale "In progress + PR ready".
- Merged PRs show a purple badge and lift the card to a purple border +
  tint, matching the sidebar's merge accent.
- Fall back to the neutral "PR ready" when a PR URL exists but its GitHub
  state hasn't resolved yet, so the badge and the "PR" link never disagree.
- "Ready" instead of "Completed" for finished runs — the work is ready to
  look at, not necessarily shipped.
- Drop the redundant "Local" pill; environment shows in the meta row
  ("· Local" / "· Cloud").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…roll

- Rebuild feed rows on quill's ThreadItem primitives (gutter avatar, header,
  body, hover action bar) instead of hand-rolled ChatMessage markup.
- Group rows by day with a ChatMarker separator: "Today" / "Yesterday", then a
  weekday + ordinal ("Monday 5th"), adding month/year further back.
- Cut scroll jank: memoize rows so task-list polls don't re-render the whole
  feed, gate each row's 15s reply-teaser poll behind an in-view observer, and
  tune contain-intrinsic-size to the real ~13rem row height.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@trunk-io

trunk-io Bot commented Jul 8, 2026

Copy link
Copy Markdown

😎 Merged manually by @adamleithp - details.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit 10c2d78.

@adamleithp adamleithp added Stamphog This will request an autostamp by stamphog on small changes trunk-merge-queue-submit Adding this label to a pull request enqueues it, and removing this label dequeues it labels Jul 8, 2026

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Gates denied this PR because it modifies dependency files (pnpm-lock.yaml and pnpm-workspace.yaml), which require human review. Dependency changes can introduce supply-chain risks and must not be auto-approved.

@stamphog stamphog Bot removed the Stamphog This will request an autostamp by stamphog on small changes label Jul 8, 2026
@greptile-apps

greptile-apps Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(channel): quill ThreadItem feed wit..." | Re-trigger Greptile

Comment thread packages/ui/src/features/canvas/components/ChannelFeedView.tsx Outdated
Comment thread packages/ui/src/features/canvas/components/ChannelFeedView.tsx
adamleithp and others added 2 commits July 8, 2026 13:39
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@adamleithp adamleithp enabled auto-merge (squash) July 8, 2026 12:51
@adamleithp adamleithp merged commit 170b4b3 into main Jul 8, 2026
26 checks passed
@adamleithp adamleithp deleted the ux/thread-item-fixes branch July 8, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

trunk-merge-queue-submit Adding this label to a pull request enqueues it, and removing this label dequeues it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants