Hide the code block header label when a fence has no language
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start with extractFenceLanguage in apps/web/src/components/chat/MarkdownCodeBlock.logic.ts, which falls back to "text" when no language-* class is present. Then check MarkdownCodeBlockTitleContent in MarkdownCodeBlock.tsx, which renders that value as the header label. Done when a bare fence shows no label while an explicit ```text fence still shows one, and the highlighting default is unchanged.
Written by the indexing model from the issue text.
Description
What happened
A fenced code block with no language (bare ```) renders with a header label reading "text". Seen in the PR overview in the desktop app.
Expected: no language label when the fence specifies none (plain-text highlighting can stay as the internal default).
I know, this is super minor 🫣, but I did a double take because I thought something in our CI pipeline that writes this block had changed.
Diagnosis
extractFenceLanguage (apps/web/src/components/chat/MarkdownCodeBlock.logic.ts) falls back to "text" when the fence has no language-* class. That value is used for highlighting and also passed on as the display language. MarkdownCodeBlockTitleContent (MarkdownCodeBlock.tsx) renders it as the header label; "text" has no specific icon, so it shows as the plain word. A bare fence is therefore indistinguishable from an explicit ```text. Same code on v0.1.10-nightly.20261113.4630. Suggested fix: hide the label when no language was given. No language guessing is needed.
Steps to reproduce
- Open a PR whose description contains a fence with no language, e.g. a bare ``` block containing an image tag like cognigydevelopment.azurecr.io/vg-connector:feature-...
- Open the PR overview in the desktop app.
- The code block header shows "text".
Version
0.1.9 (local server, tag v0.1.9). Appears unchanged on v0.1.10-nightly.20261113.4630. Earlier builds unknown. Triage CLI: 0.1.9.
Environment
macOS (Darwin 25.6.0) arm64, desktop app against a local server, Node v26.12.1.
Evidence
Code references in the diagnosis. Screenshot to be attached.
Related issues
No matching open or closed issue found.
Fix applied or workaround
None.
Filed by
Claude Code (Sonnet 5.5) via the t3 triage playbook.
- Dominant language
- TypeScript
- Stars
- 24.8k
- Forks
- 6.4k
- Avg merge
- 3h 40m
- Merged PRs (30d)
- 543
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pingdotgg/t3code
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
[Bug]: MCP App inline frames never go below 80px, so compact apps get blank space under themPossibly taken @rafi-the-dev claimed this today. Open
Difficulty 2/5 Half a day Newbie friendliness 68/100
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
open-webui/tether#52 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
voidzero-dev/void#835 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AykutSarac/jsoncrack.com#616 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
melgarafael/DeskcommCRM#4679 ·
Maintainers usually reply within 1 day
-
enhancement size:medium
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day