Skip to content

Conversation

@kanghun1121
Copy link
Member

#️⃣ 연관된 이슈

ex) <#1377914257735421952>, <#1377914203255607316>

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

  • 챗봇 전송 취소 기능 구현

챗봇 전송 취소 작업을 구현했습니다. ChatGPT의 전송 취소를 참고했습니다!


전송 작업을 외부에서 끊을 수 있도록 하기 위해서 Task 객체에 담았습니다.

private var streamTask: Task<Void, Error>?

streamTask = Task { // SSE 스트림 메세지 전송 작업
    for try await content in stream {
        await MainActor.run {
            if let index = messages.lastIndex(where: { !$0.isUser }) {
                let message = messages[index]
                messages[index] = ChatMessage(content: message.content + content, isUser: false)
            }
        }
    }
}

전송 취소 메소드는 다음과 같습니다.

@MainActor
private func cancelStream() {
    chatBotClient.continuation?.finish(throwing: NetworkError.taskCancelled)
    streamTask?.cancel()
    streamTask = nil
}

스크린샷 (선택)

KakaoTalk_Video_2025-10-12-21-58-10.mp4

💬 리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

  • 어색하거나 개선할 점이 있다면 말씀 부탁드립니다🙂

@kanghun1121 kanghun1121 requested a review from a team October 12, 2025 12:59
@kanghun1121 kanghun1121 self-assigned this Oct 12, 2025
@kanghun1121 kanghun1121 added the Feature 기능 관련 작업 label Oct 12, 2025
@kanghun1121 kanghun1121 linked an issue Oct 12, 2025 that may be closed by this pull request
Copy link
Collaborator

@leekangho0 leekangho0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

멋있네요 챗봇 기능이 점점 화려해지는 것 같습니다

@kanghun1121 kanghun1121 merged commit 62c0158 into dev Oct 13, 2025
1 check failed
@kanghun1121 kanghun1121 deleted the feat/chatbot-dh branch October 13, 2025 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature 기능 관련 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

챗봇 전송 취소 구현

3 participants