fix: regenerate image gen
This commit is contained in:
@@ -2313,7 +2313,7 @@ Future<void> cloneConversation(WidgetRef ref, String conversationId) async {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Regenerate last message
|
// Regenerate last message
|
||||||
final regenerateLastMessageProvider = Provider<void Function()>((ref) {
|
final regenerateLastMessageProvider = Provider<Future<void> Function()>((ref) {
|
||||||
return () async {
|
return () async {
|
||||||
final messages = ref.read(chatMessagesProvider);
|
final messages = ref.read(chatMessagesProvider);
|
||||||
if (messages.length < 2) return;
|
if (messages.length < 2) return;
|
||||||
|
|||||||
@@ -934,6 +934,16 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// If assistant message has generated images and it's the last message,
|
||||||
|
// use image-only regenerate flow instead of text SSE regeneration
|
||||||
|
if (message.role == 'assistant' &&
|
||||||
|
(message.files?.any((f) => f['type'] == 'image') == true) &&
|
||||||
|
messageIndex == messages.length - 1) {
|
||||||
|
final regenerateImages = ref.read(regenerateLastMessageProvider);
|
||||||
|
await regenerateImages();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Remove the assistant message we want to regenerate
|
// Remove the assistant message we want to regenerate
|
||||||
ref.read(chatMessagesProvider.notifier).removeLastMessage();
|
ref.read(chatMessagesProvider.notifier).removeLastMessage();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user