Download All, Lightbox-Navigation und ein MCP, der Attachments endlich sieht
Alle Anhänge als ZIP, Bild-Vorschau mit Thumbnail-Leiste und Swipe auf dem Handy, plus: der MCP findet Dateien jetzt wirklich. Build-in-public Update.

Vier Änderungen rund um Anhänge in einer Session: Download All, ein kompakter Upload-Bereich, eine neue Bild-Vorschau mit Thumbnail-Leiste und Swipe auf dem Handy -- plus ein Fix, damit der MCP überhaupt merkt, dass Attachments existieren. Klassischer Build-in-Public-Moment: ein Feature, drei spürbare Nebeneffekte.
Download All: ein ZIP für alle Anhänge
Wenn mehrere Anhänge an einem Ticket hängen -- Screenshots, ein PDF, ein Export-Log, eine CSV -- war die einzige Option bisher, jede Datei einzeln anzuklicken. Ab jetzt steht oben über der Anhangsliste ein Alle herunterladen-Button.
Was passiert im Hintergrund
- Die API streamt alle nicht gelöschten Anhänge aus dem Storage und packt sie in ein ZIP.
- Dateinamen werden dedupliziert: Zwei
logs.txtim selben Ticket werden zulogs.txtundlogs (1).txt. - Legacy-Anhänge ohne S3-Key werden übersprungen -- du siehst, wie viele Dateien im ZIP gelandet sind und wie viele ausgelassen wurden.
- Limit: 500 MB kumuliert pro ZIP. Darüber sagt die API freundlich ab, statt zu crashen.
- Der Endpunkt ist rate-limited (20 Bulk-Downloads pro Stunde), damit niemand versehentlich den Storage DoS-t.
Wann der Button auftaucht
Sobald mindestens zwei Anhänge im Ticket liegen. Bei einem einzigen Anhang lohnt der Umweg über ein ZIP nicht.
Upload, der Platz macht
Der alte Upload-Bereich hat immer eine große gestrichelte Zone oben auf dem Tab angezeigt -- auch wenn schon zwanzig Dateien im Ticket lagen. Jetzt verhält sich der Tab anpassungsfähiger:
- Leeres Ticket: volle Drop-Zone mit Icon, Text und Klick-Fläche wie bisher.
- Schon Anhänge da: die Zone schrumpft auf einen schlanken One-Liner über der Liste.
- Drag-Target ist die Liste selbst: ziehst du eine Datei irgendwo über die Anhangsliste, zeigt sich ein Overlay mit Hinweis -- loslassen reicht, der Upload startet.
Bild-Vorschau: Lightbox, die nicht springt
Die Bildvorschau hatte bisher ein Problem: Bilder haben ihre eigene natürliche Größe mitgebracht, die Lightbox ist mitgewachsen, und beim Wechsel zwischen Hoch- und Querformat ist die gesamte UI herumgesprungen.
Was jetzt anders ist
- Das Lightbox-Fenster ist auf 90vw × 90vh fixiert -- egal wie groß das Bild ist, die Umrandung bleibt an Ort und Stelle.
- Das Bild selbst skaliert via
object-containins verfügbare Feld. - Pfeil-Buttons links und rechts am Bild, dazu ← / → auf der Tastatur und Escape zum Schließen.
- Thumbnail-Leiste rechts (auf Mobile unten): ein Klick auf ein Miniaturbild springt direkt dorthin. Die aktive Vorschau ist mit einem farbigen Rahmen markiert.
Mobile: Swipe statt Pfeil-Hunt
Pfeile mit dem Daumen treffen war auf kleinen Screens mühsam. Auf Mobile:
- Die Thumbnails wandern unter das Bild und scrollen horizontal.
- Swipe nach links/rechts auf dem Bild blättert zum nächsten/vorigen Screenshot.
- Das Bild nutzt die volle Breite, weil die Thumbnail-Leiste nicht seitlich Platz wegfrisst.
MCP: Attachments sind jetzt sichtbar
Während wir den Download-All-Pfad gebaut haben, fiel beim Debuggen etwas auf: Der MCP konnte Anhänge laden (attachment://{attachmentId}), aber wusste nicht, dass sie existieren.
Konkret: Weder das tickets_get-Tool noch das ticket://{id}/timeline-Resource lieferten Attachment-IDs zurück. Die Timeline hatte nur Kommentare und PR-Events. Agenten, die per MCP arbeiten -- egal ob Claude Desktop, ein eigener Bot oder eine Spedy-Routine -- hatten also einen blinden Fleck für Dateien.
Was sich geändert hat
tickets_getliefert jetztattachmentCountund einattachments-Array mitid,uri,originalName,mimeType,size,uploadedByunduploadedAt. Dieuri(attachment://...) kann ein Agent direkt an das Resource weiterreichen.ticket://{id}/timelineenthält jetzt einattachment_uploaded-Event pro Datei, inline sortiert mit Kommentaren und User-Events. Wer fragt "Was ist hier in den letzten Tagen passiert?", sieht Uploads am richtigen Zeitpunkt.- Berechtigungen bleiben unverändert: Access-Check läuft weiter über den Board-Level, Soft-Deletes werden respektiert.
Wer einen Agenten auf Spedy loslässt ("Fass das Ticket zusammen und schau dir die angehängten Logs an"), braucht ab jetzt keinen Extra-Call mehr, um Attachments zu finden.
Build in Public: warum das alles zusammen?
Klassische Release-Notes trennen "Feature X" und "Bugfix Y" sauber. In der Praxis hängen die aber oft zusammen: Beim Bauen eines Features fällt auf, dass die Vorschau ein Layout-Bug hat. Beim Feedback-Durchgang kommt ein Mobile-Problem dazu. Beim Debuggen entdeckst du, dass der MCP auf einem anderen Layer dasselbe Problem hat.
Wir haben uns entschieden, das abzubilden -- ein Feature, plus das was wir unterwegs mitgenommen haben. Statt "Download All geshippt" und drei Wochen später "MCP-Fix geshippt" bekommst du das wie. Build in public heißt für uns: Keine polierte Inszenierung, sondern die Arbeit wie sie entsteht.
Nächste Schritte
- Download-Progress für Einzeldateien: Der Bulk-Download zeigt einen klaren Start-/Ende-Zustand. Für große Einzelanhänge fehlt aber noch ein Fortschrittsbalken.
- Preview für mehr Dateitypen: Aktuell werden Bilder direkt im Lightbox angezeigt. PDF- und Office-Previews sind auf der Liste.
- Pinch-Zoom in der Lightbox: Swipe und Thumbnails sind da, tiefer reinzoomen in hochauflösende Screenshots steht noch aus.
Häufige Fragen
Die wichtigsten Fragen rund um dieses Thema — kurz beantwortet.
Wo finde ich den Download-All-Button?
Gibt es ein Limit für die ZIP-Größe?
Wie navigiere ich zwischen Bildern in der Vorschau?
Was war der Bug beim MCP und Attachments?
attachment://{id} laden, aber weder tickets_get noch das Timeline-Resource lieferten IDs zurück. Agenten wussten also gar nicht, dass es Dateien gibt. Beide Endpunkte liefern die IDs jetzt mit.Was heißt 'build in public' bei Spedy?
Weiterlesen

Epic-Gruppierung, Massenaktionen im Backlog und Opus 4.7
Ordne Stories ihren Epics zu, arbeite im Backlog und im Issues Hub auf vielen Tickets gleichzeitig, und nutze Claude Opus 4.7 als neuen Default im Runner.
Kostentracking pro Job – und Benachrichtigungen, die endlich ankommen
Runner-Jobs zeigen jetzt Kosten in Echtzeit. Teams können Budgets setzen. Geheime Kommentare lösen jetzt korrekt Benachrichtigungen aus. Und MCP-Nutzer können endlich auf Team-Projekte zugreifen.

MCP für alle, Cache-Metriken & Job-Benachrichtigungen
MCP-Integration ist jetzt in allen Plänen verfügbar, Runner-Jobs zeigen Cache-Token-Metriken an, und Benachrichtigungen informieren dich über abgeschlossene, fehlgeschlagene oder wartende Jobs.