Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug] Inbox: relative .md links in attachments navigate to the server root instead of opening the document

Abierto
#2,230 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
markdown, typescript
Área
frontend, web-dev

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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'
    '![Sample image](assets/sample.png)\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')
  1. Start plannotator inbox --no-open.

  2. Use the Inbox MCP send_message tool with project_path set to this directory and attachments containing the absolute path to guide.md.

  3. Open that thread and click the guide.md attachment.

  4. Click Open linked document ([Open linked document](peer.md)). Both files already exist in the same directory.

  5. 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.
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
649
Merge medio
11 h 48 min
PR fusionados (30 d)
552

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de backnotprop/plannotator

Todos los issues de backnotprop/plannotator

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.