fix(discord): ignore wildcard key in unresolved audit channels#32528
fix(discord): ignore wildcard key in unresolved audit channels#32528bmendonca3 wants to merge 1 commit intoopenclaw:mainfrom
Conversation
|
🤖 We're reviewing this PR with Aisle We're running a security check on the changes in this PR now. This usually takes a few minutes. ⌛ Progress:
Latest run failed. Keeping previous successful results. Trace ID: Last updated on: 2026-03-03T04:25:31Z |
Greptile SummaryThis PR fixes a false-positive Key changes:
Confidence Score: 5/5
Last reviewed commit: fdb121d |
|
Superseded by #33125 (includes the Discord wildcard audit fix). Please use that PR instead. |
Summary
openclaw doctor/channels status --probereportsunresolvedChannels=1for valid Discord guild channel wildcard config (channels.discord.guilds.<id>.channels."*").*wildcard key from unresolved-channel counting, and a regression test covers wildcard-only guild config.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
openclaw doctorandopenclaw channels status --probeno longer count Discord channel wildcard keys (*) as unresolved channel IDs.Security Impact (required)
No)No)No)No)No)Yes, explain risk + mitigation: N/ARepro + Verification
Environment
{ "channels": { "discord": { "guilds": { "1478116902202114240": { "channels": { "*": { "allow": true } } } } } } }Steps
channels.discord.guilds.<guildId>.channels."*").collectDiscordAuditChannelIds) via doctor/status flows.Expected
unresolvedChannels.Actual
*was treated as unresolved/non-numeric and incrementedunresolvedChannelsby 1.Evidence
Human Verification (required)
What you personally verified (not just CI), and how:
pnpm vitest run src/discord/audit.test.tspasses, including new wildcard regression case.channelIds=[]andunresolvedChannels=0.Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
src/discord/audit.ts,src/discord/audit.test.ts.Risks and Mitigations
*; all other non-numeric keys remain unresolved and existing test coverage is retained.