Preview shared file attachments without leaving the app
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Motivation**
Attachments are download-only. When a teammate — or an agent — shares a `README.md`, a script, a JSON payload or a log, reading it means saving it to disk and opening another application: you leave the conversation, lose the thread context, and accumulate copies in `~/Downloads` that go stale as soon as the sender regenerates them. This bites hardest in agent workflows, a core Buzz use case: an agent that produces a bundle of files posts three cards you cannot read in place, so reviewing its output costs three round trips through the Finder.
**Proposed solution**
Open viewable attachments in the existing right-side auxiliary pane, one tab per open file:
- Clicking a text-like attachment (markdown, source code, plain text) opens it in the panel. Non-viewable types (PDF, archives, binaries) keep downloading as they do today.
- Markdown renders; source code is syntax-highlighted. Both renderers already exist in the app.
- Reusing the auxiliary-pane shell that the thread and activity panels use means drag-to-resize, width persistence and single-slot behaviour come for free.
- Copy and download actions in the panel header.
- Identical in channels, DMs and threads, since they share that pane.
**Alternatives considered**
- *Rendering the file inline in the message.* A long file would dominate the timeline, and there is nowhere to put per-file actions or keep several files open at once.
- *A modal or lightbox.* Blocks the conversation, which defeats the point of reading a file while discussing it.
- *Opening in the OS default application*, as #5382 does for local workspace files via `buzz://file`. Complementary, not equivalent: it still sends you out of the app and does not apply to message attachments.
- *Reusing the Projects repository browser*, as #2952 does via `buzz://repo`. Different domain — it navigates to another screen for files tracked in git, not attachments posted in a conversation.
**Additional context**
Prior art: Codex and most IDEs use this shape — a resizable side panel with a tab strip.
Duplicate search: none found. The closest open PRs are #5382 and #2952 (both covered above); #810 and #830 added the download cards this builds on.
Contributor guide
Research direction
Start by tracing the existing auxiliary-pane shell used by the thread and activity panels, along with the attachment download cards and the existing Markdown and source-code renderers. Done means viewable attachments open in resizable, tabbed pane entries with copy and download actions, while non-viewable types retain their current download behavior across channels, DMs, and threads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100