fix(slack): treat HTTP mode accounts as configured [AI-assisted]#30571
Conversation
Greptile SummaryThis PR fixes a critical bug where Slack HTTP/webhook mode was silently skipped because configuration checks required Key Changes:
Issue Found:
Confidence Score: 4/5
Last reviewed commit: 8368fbd |
Additional Comments (1)
Consider applying the same mode-aware logic here or importing Prompt To Fix With AIThis is a comment left during a code review.
Path: src/channels/plugins/onboarding/slack.ts
Line: 220
Comment:
Onboarding status still uses old logic - should also be mode-aware
`slackOnboardingAdapter.getStatus` still checks `botToken && appToken`, so HTTP mode accounts will show as "needs tokens" in onboarding even though they're properly configured and working.
Consider applying the same mode-aware logic here or importing `isSlackAccountConfigured` from the channel plugin.
How can I resolve this? If you propose a fix, please make it concise. |
8368fbd to
010b19c
Compare
🔒 Aisle Security Analysis✅ We scanned this PR and did not find any security vulnerabilities. Aisle supplements but does not replace security review. Analyzed PR: #30571 at commit |
|
PR #30571 - fix(slack): treat HTTP mode accounts as configured [AI-assisted] (#30571) Merged via squash.
Thanks @liuxiaopai-ai! |
…nclaw#30571) thanks @liuxiaopai-ai Cherry-pick of upstream 4da4cc9.
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com> (cherry picked from commit 4da4cc9) # Conflicts: # CHANGELOG.md
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…nclaw#30571) thanks @liuxiaopai-ai Cherry-pick of upstream 4da4cc9.
…nclaw#30571) thanks @liuxiaopai-ai Verified: - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
Summary
Describe the problem and fix in 2–5 bullets:
appTokenfor all modes.botToken + signingSecret, so valid webhook setups were marked unconfigured and never started.socketrequiresappToken;httprequiressigningSecret) and reused this logic in runtime snapshots.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
mode: "http"now show as configured whenbotTokenandsigningSecretare present, even withoutappToken.Security Impact (required)
No)No)No)No)No)Yes, explain risk + mitigation:Repro + Verification
Environment
channels.slack.mode=http,botToken=xoxb-*,signingSecret=*Steps
mode: "http",botToken, andsigningSecret, withoutappToken.isConfiguredandbuildAccountSnapshot().configured.Expected
Actual
false) becauseappTokenwas always required.true) for HTTP mode; socket mode still requiresappToken.Evidence
Attach at least one:
Failing test/log before + passing after
Trace/log snippets
Screenshot/recording
Perf numbers (if relevant)
Added tests in
extensions/slack/src/channel.test.ts:botToken + signingSecret) is configured.appTokenremains unconfigured.Local verification:
pnpm oxfmt --check extensions/slack/src/channel.ts extensions/slack/src/channel.test.ts CHANGELOG.mdpnpm oxlint --type-aware extensions/slack/src/channel.ts extensions/slack/src/channel.test.tspnpm vitest extensions/slack/src/channel.test.tspnpm vitest src/config/slack-http-config.test.tsHuman Verification (required)
What you personally verified (not just CI), and how:
appTokenwhensigningSecretis present.appToken.botTokenstill reports unconfigured.signingSecretrequirements still pass.Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
extensions/slack/src/channel.tsappToken.Risks and Mitigations
List only real risks for this PR. Add/remove entries as needed. If none, write
None.AI-assisted: yes (implemented and validated locally with human review).