Skip to content

Commit

Permalink
bug fix: changing and regenerating variations should update the ui
Browse files Browse the repository at this point in the history
  • Loading branch information
mrdjohnson committed Nov 6, 2024
1 parent 383caa7 commit f2eb631
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
1 change: 1 addition & 0 deletions src/components/message/ChatBoxMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ export const ChatBoxMessage = observer(
if (!message.showVariations) {
return (
<MessageOrEditedMessage
key={message.selectedVariation.id}
message={message}
{...props}
messageVariant={message.selectedVariation}
Expand Down
4 changes: 2 additions & 2 deletions src/containers/ChatBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ const ChatBox = observer(() => {
{chat.messages.length > 0 ? (
chat.messages.map(message => (
<ChatBoxMessage
key={message.id}
key={message.selectedVariation.id}
message={message}
disableRegeneration={isGettingData}
disableEditing={isEditingMessage}
shouldDimMessage={isEditingMessage}
shouldScrollIntoView={message.id === lightboxMessageId}
shouldScrollIntoView={message.selectedVariation.id === lightboxMessageId}
variationIdToEdit={variationIdToEdit}
/>
))
Expand Down
12 changes: 6 additions & 6 deletions src/core/chat/ChatViewModel.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { makeAutoObservable } from 'mobx'
import { isObservable, makeAutoObservable } from 'mobx'
import _ from 'lodash'

import EntityCache from '~/utils/EntityCache'
Expand Down Expand Up @@ -28,11 +28,11 @@ export class ChatViewModel {
}

async fetchMessages() {
messageTable
.findByIds(this.source.messageIds)
.then(loadedMessages =>
loadedMessages.forEach(message => this.messageViewModelCache.put(message)),
)
messageTable.findByIds(this.source.messageIds).then(loadedMessages =>
loadedMessages.forEach(message => {
return this.messageViewModelCache.put(message, false)
}),
)
}

get id() {
Expand Down
13 changes: 6 additions & 7 deletions src/core/message/MessageViewModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ export class MessageViewModel {
}

async setVariation(variation?: MessageViewModel) {
return messageTable.put({ ...this.source, selectedVariationId: variation?.id })
return await messageTable.put({ ...this.source, selectedVariationId: variation?.id })
}

async removeVariation(variation: MessageViewModel) {
Expand All @@ -127,14 +127,13 @@ export class MessageViewModel {
async addVariation(variation: MessageModel) {
const variationIds = this.source.variationIds.concat(variation.id)

// add variation
await messageTable.put(variation)
// add variation to cache
const viewModel = this.variationViewModelCache.put(variation)

// update message with variation id
await messageTable.put({ ...this.source, selectedVariationId: variation.id, variationIds })

// add variation to cache
return this.variationViewModelCache.put(variation)
return viewModel
}

async addImages(imageDatums?: string[]) {
Expand All @@ -156,11 +155,11 @@ export class MessageViewModel {
}

async selectPreviousVariation() {
return this.update({ selectedVariationId: this.selectedVariationHandler.previousVariation?.id })
return await this.setVariation(this.selectedVariationHandler.previousVariation)
}

async selectNextVariation() {
console.log('selecting next variation: ', this.selectedVariationHandler.nextVariation?.id)
return this.update({ selectedVariationId: this.selectedVariationHandler.nextVariation?.id })
return await this.setVariation(this.selectedVariationHandler.nextVariation)
}
}

0 comments on commit f2eb631

Please sign in to comment.