fix: model name inconsistencies
This commit is contained in:
@@ -406,7 +406,7 @@ Future<void> regenerateMessage(
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(assistantMessage);
|
||||
@@ -477,7 +477,7 @@ Future<void> regenerateMessage(
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(assistantMessage);
|
||||
@@ -547,6 +547,7 @@ Future<void> _sendMessageInternal(
|
||||
role: 'user',
|
||||
content: message,
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.id,
|
||||
attachmentIds: attachments,
|
||||
);
|
||||
|
||||
@@ -649,7 +650,7 @@ Future<void> _sendMessageInternal(
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(assistantMessage);
|
||||
@@ -883,7 +884,7 @@ Future<void> _sendMessageInternal(
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(imageOnlyAssistant);
|
||||
@@ -1063,7 +1064,7 @@ Future<void> _sendMessageInternal(
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(assistantMessage);
|
||||
@@ -2378,7 +2379,7 @@ final regenerateLastMessageProvider = Provider<Future<void> Function()>((ref) {
|
||||
role: 'assistant',
|
||||
content: '',
|
||||
timestamp: DateTime.now(),
|
||||
model: selectedModel.name,
|
||||
model: selectedModel.id,
|
||||
isStreaming: true,
|
||||
);
|
||||
ref.read(chatMessagesProvider.notifier).addMessage(placeholder);
|
||||
|
||||
@@ -688,6 +688,29 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
|
||||
final isSelected = _selectedMessageIds.contains(message.id);
|
||||
|
||||
// Resolve a friendly model display name for message headers
|
||||
String? displayModelName;
|
||||
final rawModel = message.model;
|
||||
if (rawModel != null && rawModel.isNotEmpty) {
|
||||
final modelsAsync = ref.watch(modelsProvider);
|
||||
if (modelsAsync.hasValue) {
|
||||
final models = modelsAsync.value!;
|
||||
try {
|
||||
// Prefer exact ID match; fall back to exact name match
|
||||
final match = models.firstWhere(
|
||||
(m) => m.id == rawModel || m.name == rawModel,
|
||||
);
|
||||
displayModelName = match.name;
|
||||
} catch (_) {
|
||||
// As a fallback, format the raw value to be more readable
|
||||
displayModelName = _formatModelDisplayName(rawModel);
|
||||
}
|
||||
} else {
|
||||
// Models not loaded yet; format raw value for readability
|
||||
displayModelName = _formatModelDisplayName(rawModel);
|
||||
}
|
||||
}
|
||||
|
||||
// Wrap message in selection container if in selection mode
|
||||
Widget messageWidget;
|
||||
|
||||
@@ -698,7 +721,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
message: message,
|
||||
isUser: isUser,
|
||||
isStreaming: isStreaming,
|
||||
modelName: message.model,
|
||||
modelName: displayModelName,
|
||||
onCopy: () => _copyMessage(message.content),
|
||||
onEdit: () => _editMessage(message),
|
||||
onRegenerate: () => _regenerateMessage(message),
|
||||
@@ -710,7 +733,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
key: ValueKey('assistant-${message.id}'),
|
||||
message: message,
|
||||
isStreaming: isStreaming,
|
||||
modelName: message.model,
|
||||
modelName: displayModelName,
|
||||
onCopy: () => _copyMessage(message.content),
|
||||
onRegenerate: () => _regenerateMessage(message),
|
||||
onLike: () => _likeMessage(message),
|
||||
|
||||
Reference in New Issue
Block a user