fix(bot): stop lying in Discord: failed summaries, deep links, and the unused privileged intent (phase 1 of v4.3.0) #517
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/phase1-bot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #372, closes #391, closes #394. Phase 1 of the v4.3.0 build order (#514), shipping early as v4.2.3. Three commits, one per issue, on one branch because they share
cogs/notifications.py._handle_session_summarisedbranches onextra["error"]before it readssummary. A failure gets its own red "Summary Failed" embed naming the session, saying the recording was kept, and pointing at the retry on the session page; no feedback reactions and notranscript_feedbackmapping, so a stray 👍 cannot attach a vote to a summary that does not exist. The raw error is logged, never posted. The backend's failure payload carried nothing but the error, so both failure call sites now send title, confirmed time and campaign name; the bot falls back title → campaign + date → date → "your latest session", never "Untitled Session".session_url_for/session_url_extrainbot_pubsub.py, splatted into all twelve session-scoped enqueue sites (forsession_summarisedinside_notify_bot_summarised, so success, failure and the queue timeout all carry it). WhenAPP_URLis unset the field is omitted rather than half-built. On the bot, one_add_quest_board_linkhelper is called by all thirteen templates; the summary footer's linkless "Full transcript available on Quest Board" becomes a real link. Both routes confirmed to exist in the frontend.intents.message_contentremoved (noon_message, no prefix commands anywhere).PrivilegedIntentsRequiredis caught alongsideLoginFailurein a new testable_run_discord_bot: the gateway client stops with one log line naming the exact portal toggle while/healthkeeps serving, rather than a process exit that Compose'sunless-stoppedwould restart into the same wall of tracebacks. Four docs corrected, including.env.example, which had the two intents backwards.Additive payload fields only;
BOT_CONTRACT_VERSIONunchanged,check_version_sync.pypasses. Bot suite 318 passed (+40), backend full suite 2340 passed / 13 skipped, ruff clean. Each commit verified in isolation so the series bisects. No migration.🤖 Generated with Claude Code