[Bug] Inbox: relative .md links in attachments navigate to the server root instead of opening the document
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- markdown, typescript
Research direction
Trace how the Inbox Markdown attachment viewer handles links, then compare it with standalone Annotate’s sibling document handling. Reproduce with the provided guide.md and peer.md fixture; check that clicking “Open linked document” opens the sibling within the allowed document scope and shows its heading in the viewer.
Written by the indexing model from the issue text.
Description
What happened?
A relative link to an existing sibling Markdown file is resolved against the Inbox web origin, not the attached document's directory. It leaves the thread URL without displaying the linked document. Standalone Annotate opens the same sibling document inline.
Reproduction
In an empty directory, run this Python fixture generator (all content is synthetic):
from pathlib import Path
import base64
Path('assets').mkdir(exist_ok=True)
Path('assets/sample.png').write_bytes(base64.b64decode('iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAIAAAAt/+nTAAAATklEQVR4nO3PUQkAIBTAwBfHYMY2jCH8OITBAtxm7fN1wwUNaEEDWtCAFjSgBQ1oQQNa0IAWNKAFDWhBA1rQgBY0oAUNaEEDWtCAFjx2AWvKQKaxk0G4AAAAAElFTkSuQmCC'))
Path('guide.md').write_text(
'# Attachment preview repro\n\n'
'[Jump to target](#target-section)\n\n'
'[Open linked document](peer.md)\n\n'
'\n\n'
+ ''.join(f'Public filler paragraph {i+1}. This is sample text to put the destination below the fold.\n\n' for i in range(65))
+ '## Target section\n\nTarget marker.\n'
)
Path('peer.md').write_text('# Linked document\n\nPublic sample destination.\n')
-
Start
plannotator inbox --no-open. -
Use the Inbox MCP
send_messagetool withproject_pathset to this directory andattachmentscontaining the absolute path toguide.md. -
Open that thread and click the
guide.mdattachment. -
Click Open linked document (
[Open linked document](peer.md)). Both files already exist in the same directory. -
Compare with
plannotator annotate guide.md(dismiss first-run announcements if shown).
Actual vs expected
| Surface | Result after clicking peer.md |
Linked document heading visible |
|---|---|---|
| Standalone Annotate | Opens the sibling document inline; URL path remains / |
Yes: “Linked document” |
| Inbox Markdown attachment | Browser navigates to origin-root /peer.md |
No |
Expected: resolve the sibling relative to guide.md, within the allowed document/project scope, and open it in the attachment/document viewer rather than treating it as a root-level web route. Merely rendering the browser's root-relative URL does not open the existing local document.
Environment
- Plannotator: official 0.28.32, Darwin ARM64 binary.
- OS: macOS 27.0.1, Apple silicon.
- Browser: fresh Chromium 155.0.8059.12, headless, 1400×900 viewport.
- Agent: standalone CLI/MCP reproduction; original workflow uses Pi.
- Surface: Inbox web UI → Markdown attachment preview.
- Isolated temporary HOME/data directory; no existing browser profile or private document needed.
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 649
- Avg merge
- 6h
- Merged PRs (30d)
- 514
Getting set up
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 backnotprop/plannotator
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
backnotprop/plannotator#2290 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
backnotprop/plannotator#2243 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
submit_plan with missing edits aborts with "Tool execution interrupted" instead of returning a recoverable errorPossibly taken @utpalsinghdev claimed this today. Openbug triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
backnotprop/plannotator#2227 ·
Maintainers usually reply within 1 day
-
Annotate documentation omits per-file version history and privacy controlsMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
backnotprop/plannotator#1086 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
backnotprop/plannotator#2295 ·
Maintainers usually reply within 1 day
All issues in backnotprop/plannotator
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
scaleway/ultraviolet#7089 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
tencent-connect/dsh-qqbot#81 ·
Maintainers usually reply within 1 day
-
[Bug]: Pen taps on sidebar rows start a drag and lose their clickPossibly taken @makhnatkin claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
clangd/vscode-clangd#1009 ·