[Bug]: Relative file links with non-ASCII paths don't open
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start in packages/client-runtime/src/markdownLinks.ts and inspect parseMarkdownFileLink, then reproduce the issue with a bare relative path containing non-ASCII characters. Done when clicking that link opens the local file without requiring a ./ prefix; check for relevant existing tests in the client runtime.
Written by the indexing model from the issue text.
Description
I was studying for a midterm while abroad and asked chat for a past exam. It linked a real file:
Summer 2026/.../pastexam/線性代數/2025_midterm_exam1_易志偉_1222.pdf
Clicking it didn't open the PDF.
Steps
- In chat, use a bare relative link whose path contains non-ASCII characters, with no
./prefix. - Click it.
Expected
The local file opens.
Actual
parseMarkdownFileLink only accepts bare relative paths matching [A-Za-z0-9._-] (packages/client-runtime/src/markdownLinks.ts on main @ 1604ccc). The Chinese characters fail that check, so the link is treated as a web link. Percent-encoding doesn't help, because the path is decoded before the check.
Workaround
Prefix the path with ./.
macOS, T3 Code.
- Dominant language
- TypeScript
- Stars
- 24.8k
- Forks
- 6.4k
- Avg merge
- 8h 34m
- Merged PRs (30d)
- 243
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
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pingdotgg/t3code#16859 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pingdotgg/t3code#16822 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pingdotgg/t3code#16821 · 1 comment ·
Maintainers usually reply within 1 day
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
pingdotgg/t3code#16810 · 2 comments ·
Maintainers usually reply within 1 day
-
[Bug]: Antigravity turns fail on NixOS: embedded Python can't verify TLS (empty CA store) -> 502Openbug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
pingdotgg/t3code#16742 · 1 comment ·
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Small-tailqwq/dsh-deep-whale#187 ·
Maintainers usually reply within 1 day
-
Tela Marca manda conferir o campo "Razão social", que em Portugal se chama "Denominação social"Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melgarafael/DeskcommCRM#2503 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
0x80/isolate-package#218 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
area/web interface
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mastodon/mastodon#40924 · 1 comment ·
Maintainers usually reply within 1 day