@@ -301,6 +301,13 @@ fun LogViewerScreen(
304+ } else if (state.logs.isEmpty() && state.isLoading) {
306+ modifier = Modifier.fillMaxSize(),
307+ contentAlignment = Alignment.Center,
309+ CircularProgressIndicator()
304 } else if (state.logs.isEmpty() && !state.isLoading) {
311 } else if (state.logs.isEmpty() && !state.isLoading) {
305 val emptyMessage = when {
312 val emptyMessage = when {
306 state.isStreaming ->
313 state.isStreaming ->
@@ -365,9 +372,9 @@ fun LogViewerScreen(
366 itemsIndexed(
373 itemsIndexed(
367 state.logs,
374 state.logs,
368− key = { index, _ -> logKeys[index] },
375+ key = { index, _ -> logKeys.getOrElse(index) { "log_$index" } },
369 ) { index, logEntry ->
376 ) { index, logEntry ->
370− val key = logKeys[index]
377+ val key = logKeys.getOrElse(index) { "log_$index" }
371 LogEntryCard(
378 LogEntryCard(
372 logEntry = logEntry,
379 logEntry = logEntry,
373 isExpanded = expandedLogKey == key,
380 isExpanded = expandedLogKey == key,