perf: Add stable keys to Lazy list items for performance (#323)
Added stable `key` parameters to `items(...)` and `itemsIndexed(...)` calls across 13 screens. This prevents Compose from treating all list mutations as full item replacements and eliminates unnecessary full list recompositions during state updates. Modifications applied to: - KeysScreen.kt, SharedComponents.kt, AchievementsScreen.kt, PluginsScreen.kt - SessionsScreen.kt, CronJobsScreen.kt, McpServersScreen.kt, PairingScreen.kt - ToolsetsScreen.kt, ChatScreen.kt, ModelScreen.kt, SkillsScreen.kt - KanbanScreen.kt, ProfilesScreen.kt, WebhooksScreen.kt Note: LogsScreen.kt was left without a key because logs are string lines that can be duplicated, and using `.hashCode()` would cause a "Key was already used" crash. Positional indexing is safer there. Fixes #279
This commit is contained in:
15 files changed
+17
-17
No files matched your search
@@ -89,7 +89,7 @@ fun CronJobsScreen(
|
||||
contentPadding = listContentPadding,
|
||||
verticalArrangement = listItemSpacing,
|
||||
) {
|
||||
items(state.jobs) { job ->
|
||||
items(state.jobs, key = { it.id }) { job ->
|
||||
Card(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
colors =
|
||||
|
||||
Reference in new issue
Block a user