Skip to content

Slack 送信を POST /feedback の応答パスから分離する(遅延ブロック解消・再送導線) #85

@kosako

Description

@kosako

概要

Slack 送信を POST /feedback の応答パス内で同期 await しており、Slack 遅延が feedback 投稿のレスポンスをブロックする。失敗時のリトライ・手動再送導線も無い。

詳細

  • 場所: server/receive.js:219-233
  • deliverToSlack を応答前に await(L221)。webhook(SLACK_TIMEOUT_MS 既定 5000ms)に加え、image upload モードでは getUploadURLExternal → upload → completeUploadExternal の 3 段(各 5000ms)が直列(L989-1020)。最悪で 1 投稿が ~20 秒ブロックされ得る。
  • failed 時はリトライが無く integrations.slack に記録されるだけ。GitHub は inbox から再実行できるのに対し、Slack には手動再送 UI が無い(非対称)。

修正方針

  • Slack 送信を応答パスから外し、insert・respond 後に非同期実行して結果を後追いで store.update(または失敗を queue に積み再送可能化)。
  • 同期通知を保つ場合は、upload を含む合計待ち時間に単一の予算上限を設け、超過時に早期 failed で応答する。

受け入れ条件

  • Slack 遅延が POST /feedback のレスポンスをブロックしない。
  • 失敗した Slack 通知を再送できる導線がある。

出典: 全体監査(2026-06-20)で検出し、独立検証で実在確定(Medium / confidence medium)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions