Sort folders alphabetically; let users pick the merge model directly
Folders now list alphabetically (case-insensitive) everywhere they're shown — sidebar, advanced conversation list, and the "Move to Folder" menu — rather than creation order. listFolders() does the sort at the DB layer; in-memory folder arrays are re-sorted after local create/rename so newly added or renamed folders don't fall out of order until the next reload. Combine Conversations' AI-Assisted Merge no longer silently assumes settings.defaultModel — added a model picker (reusing ModelSelectorView, defaulting to the current default model/provider) so users can pick which model performs the merge per-combine. ConversationMergeService.merge takes optional mergeModelId/mergeProvider overrides.
This commit is contained in:
@@ -357,6 +357,7 @@ struct SidebarView: View {
|
||||
do {
|
||||
let folder = try DatabaseService.shared.createFolder(name: name)
|
||||
folders.append(folder)
|
||||
sortFolders()
|
||||
if let conversation = conversation {
|
||||
moveConversation(conversation, toFolder: folder.id)
|
||||
}
|
||||
@@ -366,6 +367,10 @@ struct SidebarView: View {
|
||||
#endif
|
||||
}
|
||||
|
||||
private func sortFolders() {
|
||||
folders.sort { $0.name.localizedCaseInsensitiveCompare($1.name) == .orderedAscending }
|
||||
}
|
||||
|
||||
private func renameFolderPrompt(_ folder: Folder) {
|
||||
#if os(macOS)
|
||||
let alert = NSAlert()
|
||||
@@ -385,6 +390,7 @@ struct SidebarView: View {
|
||||
if let i = folders.firstIndex(where: { $0.id == folder.id }) {
|
||||
folders[i].name = newName
|
||||
}
|
||||
sortFolders()
|
||||
} catch {
|
||||
Log.db.error("Failed to rename folder: \(error.localizedDescription)")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user