Conversation
aae2e09 to
7a3efea
Compare
… flow Replace the separate cell-resolution code path for Seer Slack events with organization filtering in the standard routing flow. Instead of directly resolving to a cell in _maybe_get_response_from_event_request, the new _filter_organizations_for_seer_event method narrows the organization list so normal cell routing handles it. Also reuse the validated slack_request from get_integration_from_request instead of re-initializing it in multiple places, add RpcOrganization support to feature handler type hints, and rename is_seer_explorer_request to is_seer_agent_request. Refs ISWF-2467 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adjust SlackRequestParserTest to match the refactored routing flow: call get_integration_from_request() before get_organizations_from_integration so self.slack_request is populated. Move signing secret mock to setUp via addCleanup and consolidate SlackRequestParserSeerEventRoutingTest into the main test class. Add tests for SlackEventRequest properties: is_seer_agent_request, is_assistant_thread_event, and the assistant-thread-aware channel_id, user_id, and thread_ts accessors. Refs ISWF-2467 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add SlackEventRequestSeerResolutionTest covering all exit paths: identity not linked, no org integrations, org not found, org inactive, no Seer access, user not a member, and successful resolution. Uses RequestFactory with SlackDMEndpoint().initialize_request() to exercise the real DRF request and validation code paths rather than mocking request internals. Refs ISWF-2467 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move _validate_data() before _log_request() in validate() so that invalid request data raises SlackRequestError(400) instead of crashing in _log_request when it accesses self.request.data. Also switch logging_data to read from self.data (the validated copy) rather than self.request.data directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This comment was marked as outdated.
This comment was marked as outdated.
resolve_seer_organization is invoked in both the control-silo parser (for cell routing) and the region-silo endpoint (for request handling). Sending the link prompt as a side effect of resolution caused unlinked users to receive two ephemeral link prompts per request. Move the send_identity_link_prompt call out of resolve_seer_organization and into the region-silo webhook endpoint, so it fires exactly once when the halt reason is IDENTITY_NOT_LINKED.
…est" This reverts commit e628eb8.
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f8f9f23. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This is set up to allow us to properly route for integrations sharing installations across cells.