Overview
@crosery/dsh-viewer
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- Local file paths only; URLs are not accepted. - Video and audio duration/resolution are not in the card header — that needs `ffprobe`. The player shows them. - Where the plugin reads an attachment-only image itself (up to 0.1.5), the object URL lives until the plugin unloads, bounding held blobs by the distinct attachments displayed meanwhile. From 0.1.7 the chat's own loader owns them. - On a remote workspace with no `processPath`, non-image media have no channel and the card says so. - No transcoding: a codec the browser refuses (ProRes in a `.mov`) falls back to the `<video>` fallback text. - In the desktop app, "Open in a new tab" becomes **Preview in sidebar** (the harness's own preview, PDF.js for PDFs): the desktop window silently refuses new tabs for app URLs. Everything inside the card — images, players, PDF and document frames — renders the same as on the web. - The turn tail needs the list-shaped tail of 0.1.6+. On 0.1.2–0.1.5 a folded ("compact") completed turn keeps its cards inside the fold; switch the transcript view to `normal` there to keep them open. On 0.1.6 the `normal` view shows a card both in the turn and in its tail. - If the user expands a folded turn, its displayed files appear twice — in their tool rows and in the tail — as the harness's own delivered files do. - The tail recognizes a steered turn from the chat's own process anchor (its `turn-process` turn data). Should a future chat stop publishing that, a steered turn would show its cards twice — in its unfolded rows and in the tail — rather than lose them.
