Skip to content

✨ feat(AsyncChatListener, DirectMessageCommand): convert runPreProces…#120

Merged
twisti-dev merged 1 commit into
version/26.1from
feat/async-pre-processor
Jun 8, 2026
Merged

✨ feat(AsyncChatListener, DirectMessageCommand): convert runPreProces…#120
twisti-dev merged 1 commit into
version/26.1from
feat/async-pre-processor

Conversation

@TheBjoRedCraft

Copy link
Copy Markdown
Member

…sors to suspend function for async processing

…sors to suspend function for async processing
Copilot AI review requested due to automatic review settings June 8, 2026 18:41
@TheBjoRedCraft TheBjoRedCraft self-assigned this Jun 8, 2026
@twisti-dev twisti-dev added this pull request to the merge queue Jun 8, 2026
Merged via the queue into version/26.1 with commit 55487e3 Jun 8, 2026
1 check passed
@twisti-dev twisti-dev deleted the feat/async-pre-processor branch June 8, 2026 18:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the chat pre-processing pipeline to support suspending (coroutine-based) pre-chat processing, enabling processors to perform asynchronous work where needed, and bumps the project version.

Changes:

  • Made runPreProcessors a suspend function and switched pre-processor invocation to processAsync.
  • Added processAsync as a new suspending API on PreChatProcessor (defaulting to process).
  • Removed committed IntelliJ .idea project files and bumped version to 4.5.1.

Reviewed changes

Copilot reviewed 4 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
surf-chat-paper/src/main/kotlin/dev/slne/surf/chat/paper/listener/AsyncChatListener.kt Runs pre-chat processors via the new suspending path (bridged with runBlocking) before setting cancel/renderer.
surf-chat-paper/src/main/kotlin/dev/slne/surf/chat/paper/command/direct/DirectMessageCommand.kt Updates direct message pre-processing to use the new suspending processor API.
surf-chat-api/src/main/kotlin/dev/slne/surf/chat/api/processor/PreChatProcessor.kt Introduces processAsync as a new suspending method on the public processor interface.
gradle.properties Version bump to 4.5.1.
.idea/inspectionProfiles/Project_Default.xml Removes IDE-specific project configuration from VCS.
.idea/copilot.data.migration.edit.xml Removes IDE-specific project configuration from VCS.
.idea/copilot.data.migration.ask2agent.xml Removes IDE-specific project configuration from VCS.
.idea/copilot.data.migration.ask.xml Removes IDE-specific project configuration from VCS.
.idea/copilot.data.migration.agent.xml Removes IDE-specific project configuration from VCS.
.idea/codeStyles/Project.xml Removes IDE-specific project configuration from VCS.
.idea/codeStyles/codeStyleConfig.xml Removes IDE-specific project configuration from VCS.
Files not reviewed (7)
  • .idea/codeStyles/Project.xml: Language not supported
  • .idea/codeStyles/codeStyleConfig.xml: Language not supported
  • .idea/copilot.data.migration.agent.xml: Language not supported
  • .idea/copilot.data.migration.ask.xml: Language not supported
  • .idea/copilot.data.migration.ask2agent.xml: Language not supported
  • .idea/copilot.data.migration.edit.xml: Language not supported
  • .idea/inspectionProfiles/Project_Default.xml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 8 to +9
fun process(context: MessageContext): MessageContext
suspend fun processAsync(context: MessageContext): MessageContext = process(context)
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.

3 participants