Revert "fix(streaming): refactor to not force session id"

This reverts commit 8cc7a23477.
This commit is contained in:
cogwheel0
2025-11-06 20:09:18 +05:30
parent 3e1128c32c
commit 5727c055a2
2 changed files with 28 additions and 21 deletions

View File

@@ -1170,7 +1170,9 @@ class ApiService {
data, data,
debugLabel: 'parse_file_search', debugLabel: 'parse_file_search',
); );
return normalized.map(FileInfo.fromJson).toList(growable: false); return normalized
.map(FileInfo.fromJson)
.toList(growable: false);
} }
return const []; return const [];
} }
@@ -1184,7 +1186,9 @@ class ApiService {
data, data,
debugLabel: 'parse_file_all', debugLabel: 'parse_file_all',
); );
return normalized.map(FileInfo.fromJson).toList(growable: false); return normalized
.map(FileInfo.fromJson)
.toList(growable: false);
} }
return const []; return const [];
} }
@@ -1595,7 +1599,10 @@ class ApiService {
if (data is Map<String, dynamic>) { if (data is Map<String, dynamic>) {
final voices = data['voices']; final voices = data['voices'];
if (voices is List) { if (voices is List) {
return _normalizeList(voices, debugLabel: 'parse_voice_list'); return _normalizeList(
voices,
debugLabel: 'parse_voice_list',
);
} }
} }
if (data is List) { if (data is List) {
@@ -1788,7 +1795,10 @@ class ApiService {
final response = await _dio.get('/api/v1/images/models'); final response = await _dio.get('/api/v1/images/models');
final data = response.data; final data = response.data;
if (data is List) { if (data is List) {
return _normalizeList(data, debugLabel: 'parse_image_models'); return _normalizeList(
data,
debugLabel: 'parse_image_models',
);
} }
return []; return [];
} }
@@ -2486,7 +2496,7 @@ class ApiService {
({ ({
Stream<String> stream, Stream<String> stream,
String messageId, String messageId,
String? sessionId, String sessionId,
String? socketSessionId, String? socketSessionId,
bool isBackgroundFlow, bool isBackgroundFlow,
}) })
@@ -2512,9 +2522,10 @@ class ApiService {
(responseMessageId != null && responseMessageId.isNotEmpty) (responseMessageId != null && responseMessageId.isNotEmpty)
? responseMessageId ? responseMessageId
: const Uuid().v4(); : const Uuid().v4();
final bool hasSocketBinding = final sessionId =
sessionIdOverride != null && sessionIdOverride.isNotEmpty; (sessionIdOverride != null && sessionIdOverride.isNotEmpty)
final String? sessionId = hasSocketBinding ? sessionIdOverride : null; ? sessionIdOverride
: const Uuid().v4().substring(0, 20);
// NOTE: Previously used to branch for Gemini-specific handling; not needed now. // NOTE: Previously used to branch for Gemini-specific handling; not needed now.
@@ -2665,20 +2676,14 @@ class ApiService {
); );
// Attach identifiers to trigger background task processing on the server // Attach identifiers to trigger background task processing on the server
if (sessionId != null) { data['session_id'] = sessionId;
data['session_id'] = sessionId;
}
data['id'] = messageId; data['id'] = messageId;
if (conversationId != null) { if (conversationId != null) {
data['chat_id'] = conversationId; data['chat_id'] = conversationId;
} }
final bool includeBackgroundTasks = // Attach background_tasks if provided
backgroundTasks != null && if (backgroundTasks != null && backgroundTasks.isNotEmpty) {
backgroundTasks.isNotEmpty &&
sessionId != null;
if (includeBackgroundTasks) {
data['background_tasks'] = backgroundTasks; data['background_tasks'] = backgroundTasks;
} }
@@ -2802,7 +2807,7 @@ class ApiService {
messageId: messageId, messageId: messageId,
sessionId: sessionId, sessionId: sessionId,
socketSessionId: socketSessionId, socketSessionId: socketSessionId,
isBackgroundFlow: includeBackgroundTasks, isBackgroundFlow: true,
); );
} }
@@ -3208,7 +3213,10 @@ class ApiService {
final data = response.data; final data = response.data;
if (data is List) { if (data is List) {
return _normalizeList(data, debugLabel: 'parse_message_search'); return _normalizeList(
data,
debugLabel: 'parse_message_search',
);
} }
if (data is Map<String, dynamic>) { if (data is Map<String, dynamic>) {
final list = (data['items'] ?? data['results'] ?? data['messages']); final list = (data['items'] ?? data['results'] ?? data['messages']);

View File

@@ -135,7 +135,7 @@ ActiveSocketStream attachUnifiedChunkedStreaming({
required String assistantMessageId, required String assistantMessageId,
required String modelId, required String modelId,
required Map<String, dynamic> modelItem, required Map<String, dynamic> modelItem,
required String? sessionId, required String sessionId,
required String? activeConversationId, required String? activeConversationId,
required ApiService api, required ApiService api,
required SocketService? socketService, required SocketService? socketService,
@@ -238,7 +238,6 @@ ActiveSocketStream attachUnifiedChunkedStreaming({
'conversationId': activeConversationId, 'conversationId': activeConversationId,
'messageId': assistantMessageId, 'messageId': assistantMessageId,
'modelId': modelId, 'modelId': modelId,
if (sessionId != null) 'sessionId': sessionId,
}, },
); );
api.registerPersistentStreamForMessage(assistantMessageId, streamId); api.registerPersistentStreamForMessage(assistantMessageId, streamId);