block / block/buzz

Preview shared file attachments without leaving the app

Open
#5,675 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.