From a7ee55122652405fce5e528da3a72a3d6327fa64 Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Mon, 12 May 2025 23:24:57 +0100 Subject: [PATCH] fix: threading issues --- .../ui/textarea/lookup/group/FilesGroupItem.kt | 15 ++++++++++----- .../ui/textarea/lookup/group/FoldersGroupItem.kt | 12 +++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FilesGroupItem.kt b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FilesGroupItem.kt index 822334ec..74fac726 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FilesGroupItem.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FilesGroupItem.kt @@ -18,6 +18,8 @@ import ee.carlrobert.codegpt.ui.textarea.lookup.LookupActionItem import ee.carlrobert.codegpt.ui.textarea.lookup.LookupUtil import ee.carlrobert.codegpt.ui.textarea.lookup.action.files.FileActionItem import ee.carlrobert.codegpt.ui.textarea.lookup.action.files.IncludeOpenFilesActionItem +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext class FilesGroupItem( private val project: Project, @@ -28,13 +30,16 @@ class FilesGroupItem( override val icon = AllIcons.FileTypes.Any_type override suspend fun updateLookupList(lookup: LookupImpl, searchText: String) { - project.service().iterateContent { - if (!it.isDirectory && !containsTag(it)) { - runInEdt { - LookupUtil.addLookupItem(lookup, FileActionItem(project, it)) + withContext(Dispatchers.Default) { + project.service().iterateContent { + if (!it.isDirectory && !containsTag(it)) { + val actionItem = FileActionItem(project, it) + runInEdt { + LookupUtil.addLookupItem(lookup, actionItem) + } } + true } - true } } diff --git a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FoldersGroupItem.kt b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FoldersGroupItem.kt index cbd902c9..79622e5e 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FoldersGroupItem.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/lookup/group/FoldersGroupItem.kt @@ -25,13 +25,15 @@ class FoldersGroupItem( override val icon = AllIcons.Nodes.Folder override suspend fun updateLookupList(lookup: LookupImpl, searchText: String) { - project.service().iterateContent { - if (it.isDirectory && !it.name.startsWith(".") && !tagManager.containsTag(it)) { - runInEdt { - LookupUtil.addLookupItem(lookup, FolderActionItem(project, it)) + withContext(Dispatchers.Default) { + project.service().iterateContent { + if (it.isDirectory && !it.name.startsWith(".") && !tagManager.containsTag(it)) { + runInEdt { + LookupUtil.addLookupItem(lookup, FolderActionItem(project, it)) + } } + true } - true } }