fix: restore Discord auto-threading with free-response channels - #33110
fix: restore Discord auto-threading with free-response channels#33110hdiesel323 wants to merge 1 commit into
Conversation
austinpickett
left a comment
There was a problem hiding this comment.
Request Changes
The core fix (removing or is_free_channel from skip_thread) is correct — the bug is still present on main and this is the right one-line change. However, this PR is over-scoped relative to the stated bug fix:
🔴 Scope creep / smuggled content:
thread_labels.py+thread_labels.json— a new thread-metadata registry (wtupdate/wtsignofflabels,[labels: ...]appended to thread names). This is a new feature, not a bug fix. Belongs in its own PR.vercel==0.5.7added topyproject.tomloptional deps — unexplained. Unrelated to Discord threading. Please remove.- No CI run on this branch.
Coordination note: This is the 8th+ attempt at this fix (related canonical PRs: #13958 [P1, open], #31852). Before merging, this should either consolidate into or supersede the canonical issue. I'd recommend: \n- Strip to just the 1-line fix in adapter.py + the updated test\n- Remove vercel dep + thread-labels feature (separate PR)\n- Then resolve against #13958/#31852 for deduplication
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the regression coverage and for identifying the configuration tension.
Problems
- The routing change at
plugins/platforms/discord/adapter.py:4558reverses main's intentional default: currentplugins/platforms/discord/adapter.py:6223, docs atwebsite/docs/user-guide/messaging/discord.md:377, and testtests/gateway/test_discord_free_response.py:658keep free-response channels inline. Commit232f5079fintroduced that behavior specifically to avoid creating a thread for every mention-free message. - The label registry only appends parsed bracket tokens to formatted chat names in this diff; it is unrelated to routing and should not be coupled to this policy change. The
vercelextra inpyproject.tomlis likewise unrelated.
Suggested changes
- Keep the current inline default and, if maintainers select this product direction, re-scope to an explicit documented
discord.*opt-in for threaded free-response channels, with coverage for both default and opt-in behavior. - Split the label-registry and dependency changes into separate, independently justified work.
Automated hermes-sweeper review.
| @@ -4552,7 +4558,7 @@ async def _handle_message(self, message: DiscordMessage) -> None: | |||
| if not is_thread and not isinstance(message.channel, discord.DMChannel): | |||
There was a problem hiding this comment.
This removes the intentional free-response inline guard. Current main retains the equivalent condition at plugins/platforms/discord/adapter.py:6223; commit 232f5079f and tests/gateway/test_discord_free_response.py:658 establish it as the documented default. Please preserve that default and add a separate explicit opt-in if threaded free-response channels are selected as a supported mode.
Summary
free_response_channelsfrom auto-thread creation sofree_response_channels: '*'no longer bypasses thread routing.Test Plan
pytest tests/→ 369 passed, 2 warningsLinear