Skip to content

fix(slack-gateway): render controlled install results#196

Merged
onutc merged 3 commits intomainfrom
docs-channel-install-result-surface
Apr 2, 2026
Merged

fix(slack-gateway): render controlled install results#196
onutc merged 3 commits intomainfrom
docs-channel-install-result-surface

Conversation

@onutc
Copy link
Copy Markdown
Member

@onutc onutc commented Apr 2, 2026

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

  • add a dedicated Slack install-result route and HTML result surface in the shared gateway
  • classify callback failures into typed install result codes, including external identity resolution failures
  • pass a request ID through install finalization and show it on the result page
  • keep the architecture aligned with the new Spritz design doc already in this PR

Test plan

  • go test ./... in integrations/slack-gateway

@onutc onutc changed the title docs: define channel install result surface fix(slack-gateway): render controlled install results Apr 2, 2026
@onutc
Copy link
Copy Markdown
Member Author

onutc commented Apr 2, 2026

Final validation for #196

Validated locally with:

  • go test ./... in integrations/slack-gateway -> passed

Follow-up review work:

  • Addressed the two install-result normalization gaps found in local codex review --base main
  • Added direct unit coverage for typed 5xx install codes and legacy unresolved owner-ref payloads

CI status:

  • All PR checks are green

Ready to merge.

@onutc onutc merged commit 9048fbd into main Apr 2, 2026
8 checks passed
@onutc onutc deleted the docs-channel-install-result-surface branch April 2, 2026 10:20
@gitrank-connector
Copy link
Copy Markdown

👍 GitRank PR Analysis

Score: 20 points

Metric Value
Component Other (1× multiplier)
Severity P2 - Medium (20 base pts)
Final Score 20 × 1 = 20

Eligibility Checks

Check Status
Issue/Bug Fix
Fix Implementation
PR Documented
Tests
Lines Within Limit

Impact Summary

The 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 Details

Component 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 🤖

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant