# fix\(mobile\): thread links in chat render as chips · PR \#22237 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/22237)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: closed

Source repository: Unavailable fork

Source branch: fix/mobile-assistant-link-chips

Target branch: main

Head commit: ad7e4fb78cbde18558d673069bfd41117388d89e

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/22237)

[Commits](https://git.cafe/pingdotgg/t3code/pull/22237/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/22237/diffs?format=markdown)

## Description

---

> [!NOTE]
> 🤖 **Claude Opus 5.5 on behalf of Oliver**

> [!IMPORTANT]
> **Stacked PR 1 of 4.** Review and merge in this order:
>
> 1. **#22237: Thread links in chat render as chips ← this PR**
> 2. #22243: Thread chips show the thread's project icon
> 3. #22481: Projects without a favicon show a monogram, like desktop
> 4. #22585: Chat and composer chips stay readable in light mode
>
> This PR is based directly on `main`, so its diff is only its own changes.
>
> When a PR earlier in the stack merges, I rebase the ones after it onto `main`.

## Problem

In mobile chat, a thread in a user message's context records renders as a chip, but the same thread written as a `t3-thread://` link is a plain blue link. Agents write these links all the time, so assistant replies looked unlike the user messages above them. Desktop already renders thread links as thread chips.

## Fix

Mobile chat markdown (assistant and user text) now renders `t3-thread://` links as the thread chip, using the same presentation table and pill path #22169 uses for context chips. No new styling: the chip is the teal thread chip with the MessagesSquare glyph, and the label stays the link's own text, which mobile already swaps for the live thread title.

Tapping still opens the thread, and long-press still shows the same menu. Every other link is unchanged, including GitHub pull request URLs, which keep their blue link with a GitHub mark.

## Evidence

The thread-link rows of the "Chip fixture" thread: user bubble on top, assistant reply below. iOS dark and light on the first row, Android dark and light on the second.

### Before

![Before: "Rename Math Helper to Sum" is plain text in the user bubble and a plain blue link in the reply, on iOS and Android](https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/36eb085df874c2b0/prA-before-thread-rows.png)

### After

![After: "Rename Math Helper to Sum" is a teal thread chip in both the user bubble and the reply, on iOS and Android](https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/91c3818888b66ff0/prA-after-thread-rows.png)

## Validation

- `vp test run` for `apps/mobile/src/lib/enrichedLinkPresentation.test.ts` and the React Compiler coverage test, `tsc --noEmit` for `apps/mobile`, lint on the changed files.

Made with Claude Opus 5.5 via Claude Code in T3 Code.



