Skip to content
This repository was archived by the owner on Aug 6, 2026. It is now read-only.

trunk-merge/pr-3548/0c8fdf44-9d28-4677-8e38-5f952d5ebb68 - #3587

Closed
trunk-io[bot] wants to merge 15 commits into
mainfrom
trunk-merge/pr-3548/0c8fdf44-9d28-4677-8e38-5f952d5ebb68
Closed

trunk-merge/pr-3548/0c8fdf44-9d28-4677-8e38-5f952d5ebb68#3587
trunk-io[bot] wants to merge 15 commits into
mainfrom
trunk-merge/pr-3548/0c8fdf44-9d28-4677-8e38-5f952d5ebb68

Conversation

@trunk-io

@trunk-io trunk-io Bot commented Jul 20, 2026

Copy link
Copy Markdown
Trunk Merge Pull Request Banner

This pull request was created and is being managed by Trunk Merge.

This pull request is based on the main branch at SHA 4f0acfbd255288ee0ef06dd82ae7298d4f04b8d7.

See more details here.

When CI completes, this pull request will be closed automatically.

Pull Requests Being Tested

This pull request is testing the changes from pull request 3548.

Dependencies

This pull request depends on the changes from pull request 3582.

adboio and others added 15 commits July 17, 2026 13:40
Channel feed task rows rendered every message as "PostHog" with a robot
avatar and an "Agent" badge, then repeated the starter's name inline in the
body ("@name started a new task"). This made the feed hard to scan and
misattributed human-initiated tasks to the agent.

Channel-started tasks (origin_product === "user_created") now show the
starter as the sender: their initials in the avatar, their display name as
the author, no "Agent" badge, and a plain "started a new task" body. Tasks
from other origins (Slack, automations) keep the agent attribution so
genuine agent-authored messages remain distinguishable at a glance.

Mirrors the existing SystemFeedRow author-vs-agent pattern in the same file.

Generated-By: PostHog Code
Task-Id: 4b3b11b7-5066-448f-a721-fe8532ce15d1
Extract the pure presentational TaskFeedRow (avatar + attribution header +
body) out of FeedItem so it can be storied; the data-fetching TaskCard and
ReplyFooter stay in the FeedItem container and are passed in as children.

Adds ChannelFeedView.stories.tsx covering the attribution states so the
human-vs-agent sender rendering is easy to validate: human-started,
human-with-email-only (initials/name fallback), non-user origin (stays
agent-attributed), and user_created with no starter.

Generated-By: PostHog Code
Task-Id: 4b3b11b7-5066-448f-a721-fe8532ce15d1
The AgentOrigin story's task() call exceeded the line width; wrap it so
`biome check` (the CI quality gate, which runs the formatter) passes.

Generated-By: PostHog Code
Task-Id: 4b3b11b7-5066-448f-a721-fe8532ce15d1
Remove the doc comments I introduced on channelTaskStarter and TaskFeedRow,
and all comments in the new story file, keeping only the pre-existing
"Replying now lives" comment that predates this change.

Generated-By: PostHog Code
Task-Id: 4b3b11b7-5066-448f-a721-fe8532ce15d1
Instead of the generic "started a new task" body, feed rows now show a
two-line preview of the user's original prompt (task.description, run through
xmlToPlainText to resolve chip tags), matching how the optimistic pending row
already previews the prompt. Falls back to the prior text when a task has no
description.

Adds LongPrompt and NoPrompt stories to cover truncation and the fallback.

Generated-By: PostHog Code
Task-Id: 4b3b11b7-5066-448f-a721-fe8532ce15d1
Clicking a canvas/channel share link in a channel thread bounced out to the
browser (PostHog Cloud interstitial) which then deep-linked back into the app.
The thread feed renders server-emitted announcement messages whose content
embeds a portable https share link; those links were rendered as plain
external anchors with no in-app interception.

Add a client-side parser that recognizes our own share-link URLs
(/code/canvas/... and /code/channel/...) and navigates via the in-app router,
short-circuiting the browser round-trip. Wired into MentionText (thread +
channel surfaces) and MarkdownRenderer (agent chat). External links are
untouched.

Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
Move parseShareLink next to canvasShareUrl/channelShareUrl in posthogLinks.ts
so the /code/canvas and /code/channel path shapes live in one place (the
parser is the inverse of the builders). Derive the recognized-host set from
REGION_LABELS instead of a hardcoded region list. shareLinks.ts is now just
the navigation glue (navigateToShareTarget/handleShareLinkClick).

Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
12 updated
Run: 3d040bb6-1c65-415b-8860-4c73932ce6b8

Co-authored-by: adboio <23323033+adboio@users.noreply.github.com>
A Cmd/Ctrl/Shift/middle click on a share link is explicit intent to open it
elsewhere; don't hijack it for in-app navigation. handleShareLinkClick now
bails on modified clicks so the anchor's target="_blank" default runs.

Generated-By: PostHog Code
Task-Id: a3001315-524a-4902-b23c-5c6f5b010827
@github-actions

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit abc6e21.

@trunk-io trunk-io Bot closed this Jul 20, 2026
@trunk-io
trunk-io Bot deleted the trunk-merge/pr-3548/0c8fdf44-9d28-4677-8e38-5f952d5ebb68 branch July 20, 2026 15:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant