Skip to content

Comments

feat(channels): Slack audio file upload handling#564

Merged
bug-ops merged 3 commits intomainfrom
feat/audio-input-3
Feb 18, 2026
Merged

feat(channels): Slack audio file upload handling#564
bug-ops merged 3 commits intomainfrom
feat/audio-input-3

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 18, 2026

Summary

  • Detect audio files in Slack message events (files array with file_share subtype)
  • Download via url_private_download with Bearer bot token authentication
  • Host validation: only .slack.com URLs receive the Bearer token
  • 25MB size limit on downloaded files
  • Graceful degradation: download failures logged and skipped
  • 5 new unit tests for file parsing, MIME filtering, edge cases

Test plan

  • cargo +nightly fmt --check pass
  • cargo clippy --workspace -- -D warnings pass
  • cargo nextest run --workspace --lib --bins — 1783 passed, 9 skipped

Closes #525
Relates to #520

Detect audio files in Slack message events, download via url_private_download
with Bearer token auth, and deliver as Attachment on ChannelMessage.

Includes host validation (.slack.com only) and 25MB size limit on downloads.
Download failures are logged and gracefully skipped.

Closes #525
@github-actions github-actions bot added documentation Improvements or additions to documentation channels User interface channels rust enhancement New feature or request size/M labels Feb 18, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 18, 2026 22:38
@bug-ops bug-ops merged commit c686b3a into main Feb 18, 2026
21 checks passed
@bug-ops bug-ops deleted the feat/audio-input-3 branch February 18, 2026 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channels User interface channels documentation Improvements or additions to documentation enhancement New feature or request rust size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

audio: Slack audio file upload handling

1 participant