Fix iOS chat scroll pinning
This commit is contained in:
@@ -107,6 +107,7 @@ final class SybilViewModel {
|
||||
var isLoadingCollections = false
|
||||
var isLoadingSelection = false
|
||||
var isCreatingSearchChat = false
|
||||
var chatBottomPinRequestID = 0
|
||||
var errorMessage: String?
|
||||
|
||||
var composer = ""
|
||||
@@ -1699,6 +1700,10 @@ final class SybilViewModel {
|
||||
isLoadingSelection = false
|
||||
}
|
||||
|
||||
private func requestChatBottomPin() {
|
||||
chatBottomPinRequestID += 1
|
||||
}
|
||||
|
||||
private func startSelectionRefreshTask() -> Task<Void, Never> {
|
||||
isLoadingSelection = true
|
||||
let task = Task { [weak self] in
|
||||
@@ -1752,6 +1757,7 @@ final class SybilViewModel {
|
||||
}
|
||||
selectedChat = chat
|
||||
selectedSearch = nil
|
||||
requestChatBottomPin()
|
||||
|
||||
if let provider = chat.lastUsedProvider,
|
||||
let model = chat.lastUsedModel,
|
||||
@@ -1824,6 +1830,7 @@ final class SybilViewModel {
|
||||
} else {
|
||||
pendingDraftChatState = PendingChatState(chatID: nil, messages: optimisticMessages)
|
||||
}
|
||||
requestChatBottomPin()
|
||||
|
||||
if chatID == nil {
|
||||
let created = try await client.createChat(title: nil)
|
||||
@@ -1871,6 +1878,7 @@ final class SybilViewModel {
|
||||
if let draftPending = pendingDraftChatState {
|
||||
pendingDraftChatState = nil
|
||||
pendingChatStates[chatID] = PendingChatState(chatID: chatID, messages: draftPending.messages)
|
||||
requestChatBottomPin()
|
||||
} else if pendingChatStates[chatID] == nil {
|
||||
pendingChatStates[chatID] = PendingChatState(chatID: chatID, messages: optimisticMessages)
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user