hermes-agent/website/docs/user-guide/messaging
Zainan Victor Zhou 778fd1898e fix(slack): surface attachment access diagnostics
Translate Slack attachment failures into actionable user-facing notices
instead of generic download errors. When a scope/auth/permission issue
breaks attachment processing, the user sees:

  [Slack attachment notice]
  - Slack attachment access failed for photo.jpg. Missing scope:
    files:read. Update the Slack app scopes/settings and reinstall
    the app to the workspace.

Two helpers do the translation:

  _describe_slack_api_error — handles SlackApiError responses
    (missing_scope, invalid_auth, file_not_found, access_denied, etc.)

  _describe_slack_download_failure — handles httpx.HTTPStatusError
    (401/403/404) and Slack-returns-HTML-sign-in fallbacks

Wired into three existing call sites:
 - the Slack Connect files.info path (PR #11111) so scope errors
   surface instead of being logged as generic "files.info failed"
 - the image, audio, and document download paths so 401/403 and
   HTML-body responses translate into actionable notices

Adjustment from original PR: dropped _probe_slack_file_access_issue,
the proactive pre-download files.info probe. It added one extra
Slack API call per attachment even on healthy ones, and overlapped
with the existing files.info call from PR #11111. The post-failure
translation path covers the same user-facing diagnostic value
without the per-message tax.

Also documents files:read scope more prominently in the Slack setup
guide and troubleshooting table.

Contributed back from https://github.com/xinbenlv/zn-hermes-agent.

Closes #7015.
Co-authored-by: xinbenlv <zzn+pa@zzn.im>
2026-04-26 12:47:43 -07:00
..
_category_.json feat: add documentation website (Docusaurus) 2026-03-05 05:24:55 -08:00
bluebubbles.md fix(bluebubbles): auto-register webhook with BlueBubbles server on connect 2026-04-10 03:21:45 -07:00
dingtalk.md docs: backfill coverage for recently-merged features (#11942) 2026-04-17 21:22:11 -07:00
discord.md fix(gateway/discord): add safe startup slash sync policy 2026-04-23 15:11:56 -07:00
email.md docs: comprehensive docs audit — fix 12 stale/missing items across 10 pages (#3618) 2026-03-28 15:26:35 -07:00
feishu.md docs(feishu): tighten processing reactions section 2026-04-20 02:04:57 -07:00
homeassistant.md docs: fix 40+ discrepancies between documentation and codebase (#5818) 2026-04-07 10:17:44 -07:00
index.md feat(onboarding): contextual first-touch hints for /busy and /verbose (#16046) 2026-04-26 06:06:27 -07:00
matrix.md docs: correctness audit — fix wrong values, add missing coverage (#11972) 2026-04-18 01:45:48 -07:00
mattermost.md feat: extend channel_prompts to Telegram, Slack, and Mattermost 2026-04-15 16:31:28 -07:00
open-webui.md docs: correctness audit — fix wrong values, add missing coverage (#11972) 2026-04-18 01:45:48 -07:00
qqbot.md docs: correctness audit — fix wrong values, add missing coverage (#11972) 2026-04-18 01:45:48 -07:00
signal.md docs: comprehensive docs audit — cover 13 features from last week's PRs (#5815) 2026-04-07 10:21:03 -07:00
slack.md fix(slack): surface attachment access diagnostics 2026-04-26 12:47:43 -07:00
sms.md update docks with changes made 2026-04-11 14:05:38 -07:00
telegram.md fix(telegram): actionable error for DM topics when Topics mode not enabled (#13162) 2026-04-20 12:29:22 -07:00
webhooks.md docs: embed tutorial videos on webhooks + auxiliary models pages (#15809) 2026-04-25 16:44:53 -07:00
wecom-callback.md docs: comprehensive update for recent merged PRs (#9019) 2026-04-13 10:50:59 -07:00
wecom.md docs(wecom): document QR scan-to-create setup flow 2026-04-22 05:15:32 -07:00
weixin.md fix(packaging): include qrcode in messaging extra 2026-04-17 06:50:36 -07:00
whatsapp.md docs: comprehensive update for recent merged PRs (#9019) 2026-04-13 10:50:59 -07:00