fix(slack-gateway): render controlled install results#196
Conversation
|
Final validation for #196 Validated locally with:
Follow-up review work:
CI status:
Ready to merge. |
👍 GitRank PR AnalysisScore: 20 points
Eligibility Checks
Impact SummaryThe PR transforms the Slack OAuth callback flow from returning raw HTTP errors (502s) to a controlled install-result surface with typed error codes and user-friendly messaging. It adds request ID propagation for debugging, classifies backend failures into product-meaningful categories, and renders a dedicated HTML result page. This improves the install UX significantly by preventing infrastructure errors from reaching end users. Analysis DetailsComponent Classification: This PR affects the Slack gateway integration with changes spanning OAuth callback handling, install result rendering, and error classification. No single specialized component category applies, so OTHER is appropriate. Severity Justification: This is a P2 (Medium) functional improvement that fixes a UX gap where infrastructure errors were leaking to users instead of controlled product surfaces. While important for user experience and error handling, it does not represent a critical service outage or data loss scenario. Eligibility Notes: Issue: True - PR fixes a reported UX gap where expected failures leaked as raw error pages. Fix Implementation: True - code changes align with the documented design (install-result surface, typed error codes, request ID propagation). PR Linked: True - comprehensive description with TL;DR, summary, test plan, and design doc. Tests: True - adds 143 lines to gateway_test.go and new install_result_test.go with multiple test cases. Tests Required: True - this is a functional refactor of business logic (OAuth callback handling and error classification) that requires validation of the new controlled flow. Analyzed by GitRank 🤖 |
TL;DR
This turns the Slack OAuth callback into a controlled install-result flow. The gateway now redirects to an app-owned result surface with typed install outcomes instead of leaking expected failures as raw 502 pages.
Summary
Test plan
go test ./...inintegrations/slack-gateway