Skip to content

v3.1.0 — Markdown, Resilience, Stop & Attachments

Latest

Choose a tag to compare

@tomeraitz tomeraitz released this 26 Jun 10:31
· 4 commits to main since this release

This release makes the Slack bridge dramatically more capable and resilient: richer message rendering, survival across restarts, the ability to stop runs mid-flight, and two-way file attachments.

✨ What's new

📊 Markdown rendering in Slack (#25)

Agent replies and questions now render as real Markdown in Slack using Slack's native markdown block — tables, headings, and code render properly instead of as raw text.

  • Structure-aware chunking for long messages: code fences are closed at a chunk boundary and reopened with the original language tag on the next message.
  • Tables re-emit their header + separator row on every continuation chunk, so each piece renders as a complete table.
  • Plain-text fallback preserved for push-notification previews.

♻️ Restart resilience (#26)

The bridge now survives a daemon restart or crash:

  • Threads resume their real Claude session instead of falling back to replaying thread history.
  • Interrupted runs post a "bridge restarted" notice so you're never left wondering.
  • Orphaned subprocesses from before the restart are cleaned up on boot.

🛑 Stop a running agent via reaction (#27)

React with 🛑 to the message that started a run to stop it. The bridge kills the run (and everything it spawned), posts ⏹️ Stopped., and drops the partial reply.

Action required — add bot scopes reactions:read, reactions:write and subscribe to the reaction_added event, then reinstall the Slack app.

📎 File attachments in both directions (#28)

  • Inbound: upload images/docs in Slack for the agent to see.
  • Outbound: the agent sends files back by writing @@attach <path> on its own line.

Action required — add bot scopes files:read, files:write, then reinstall the Slack app.

⚠️ Upgrade notes

Features #27 and #28 require new Slack app scopes/events and a reinstall of the Slack app:

Feature Bot scopes Events
Stop reaction (#27) reactions:read, reactions:write reaction_added
File attachments (#28) files:read, files:write

📦 Full changelog

  • feat: render Slack messages as Markdown; chunk-safe tables and code blocks (#25)
  • feat: restart resilience — persist sessions, resume, crash recovery (#26)
  • feat: stop a running agent via a stop-sign reaction (#27)
  • feat: file attachments in both directions (#28)

🙏 Thank you

A huge thank you to @FishTheOriginal, who authored all four features in this release (#25, #26, #27, #28). This entire version is the result of his work — thank you for these excellent contributions to the project! 🎉

Full Changelog: v3.0.0...v3.1.0