Skip to content

feat: add --no-unfurl to message sends - #133

Open
jeiea wants to merge 1 commit into
stablyai:mainfrom
jeiea:feat/no-unfurl
Open

feat: add --no-unfurl to message sends#133
jeiea wants to merge 1 commit into
stablyai:mainfrom
jeiea:feat/no-unfurl

Conversation

@jeiea

@jeiea jeiea commented Jul 30, 2026

Copy link
Copy Markdown

Background 📝

  • Slack expands text and media links by default, while agent-slack had no per-message preview control.
  • Slack's unfurling contract requires both unfurl_links and unfurl_media to be disabled to suppress previews.

Changes 🛠️

  • Add --no-unfurl to immediate and scheduled message send calls.
  • Carry --no-unfurl through message compose and safe-mode redirects.
  • Reject --no-unfurl with file attachments because Slack's upload API accepts no unfurl fields.
  • Document the option in CLI help, README, and the bundled agent skill.

Comments 🤔

  • Slack-native drafts and message edits remain unchanged because they do not expose the same send-time unfurl controls.

Test method 🔍

  • mise x bun@1.3.9 -- bun test test/message-send.test.ts test/safe-mode.test.ts test/help-contracts.test.ts - 74 tests passed
  • mise x bun@1.3.9 -- bun test - 351 tests passed

[Background]
Slack unfurls text and media links by default, while the CLI exposed no per-message preview control.
https://docs.slack.dev/messaging/unfurling-links-in-messages/

Native Slack drafts and message edits do not expose the same send-time controls. File uploads reject the flag because their API accepts no unfurl fields.

[Verification]
- [x] `mise x bun@1.3.9 -- bun test test/message-send.test.ts test/safe-mode.test.ts test/help-contracts.test.ts` - 74 tests passed
- [x] `mise x bun@1.3.9 -- bun test` - 351 tests passed
- [x] `mise x bun@1.3.9 -- bun run typecheck` - passed

AI-assistant: Claude Fable 5, GPT-5.6-sol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant