From 19634f364ec3ffffc0dd058cc344b9a589da3268 Mon Sep 17 00:00:00 2001 From: Hiep Le <69354317+hieptl@users.noreply.github.com> Date: Wed, 22 Oct 2025 13:12:32 +0700 Subject: [PATCH] fix(backend): repository pill does not display the selected repository when a conversation is initiated via slack (#11225) --- enterprise/integrations/slack/slack_view.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/enterprise/integrations/slack/slack_view.py b/enterprise/integrations/slack/slack_view.py index fdaed07971..65984a1c1d 100644 --- a/enterprise/integrations/slack/slack_view.py +++ b/enterprise/integrations/slack/slack_view.py @@ -14,6 +14,7 @@ from openhands.core.logger import openhands_logger as logger from openhands.core.schema.agent import AgentState from openhands.events.action import MessageAction from openhands.events.serialization.event import event_to_dict +from openhands.integrations.provider import ProviderHandler from openhands.server.services.conversation_service import ( create_new_conversation, setup_init_conversation_settings, @@ -188,19 +189,27 @@ class SlackNewConversationView(SlackViewInterface): user_secrets = await self.saas_user_auth.get_user_secrets() user_instructions, conversation_instructions = self._get_instructions(jinja) + # Determine git provider from repository + git_provider = None + if self.selected_repo and provider_tokens: + provider_handler = ProviderHandler(provider_tokens) + repository = await provider_handler.verify_repo_provider(self.selected_repo) + git_provider = repository.git_provider + agent_loop_info = await create_new_conversation( user_id=self.slack_to_openhands_user.keycloak_user_id, git_provider_tokens=provider_tokens, selected_repository=self.selected_repo, selected_branch=None, initial_user_msg=user_instructions, - conversation_instructions=conversation_instructions - if conversation_instructions - else None, + conversation_instructions=( + conversation_instructions if conversation_instructions else None + ), image_urls=None, replay_json=None, conversation_trigger=ConversationTrigger.SLACK, custom_secrets=user_secrets.custom_secrets if user_secrets else None, + git_provider=git_provider, ) self.conversation_id = agent_loop_info.conversation_id