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:
@@ -240,14 +240,15 @@ struct DatabaseServiceFolderTests {
|
||||
#expect(second.sortOrder == 1)
|
||||
}
|
||||
|
||||
@Test("listFolders returns folders ordered by sortOrder")
|
||||
@Test("listFolders returns folders sorted alphabetically, case-insensitive, regardless of creation order")
|
||||
func listFoldersOrdered() throws {
|
||||
let db = DatabaseService.makeInMemory()
|
||||
_ = try db.createFolder(name: "Work")
|
||||
_ = try db.createFolder(name: "apple")
|
||||
_ = try db.createFolder(name: "Personal")
|
||||
|
||||
let folders = try db.listFolders()
|
||||
#expect(folders.map(\.name) == ["Work", "Personal"])
|
||||
#expect(folders.map(\.name) == ["apple", "Personal", "Work"])
|
||||
}
|
||||
|
||||
@Test("renameFolder updates the stored name")
|
||||
|
||||
Reference in New Issue
Block a user