* fix(#425): log screen doesn't auto-scroll on initial load Replace animateScrollToItem(filteredLogs.size) with scrollToItem(Int.MAX_VALUE). animateScrollToItem requires the LazyColumn to have completed layout before it can calculate animation targets — on initial load the list hasn't laid out yet, so the scroll silently fails. scrollToItem is instant and clamps Int.MAX_VALUE to the last item, working reliably even on first composition. * feat(#425): add auto-refresh polling for live log updates LogsViewModel: add @Volatile loadInProgress guard to prevent concurrent loads, and startAutoRefresh()/stopAutoRefresh() that polls GET /api/logs every 5 seconds via viewModelScope coroutine. LogsScreen: wire up DisposableEffect(Unit) to start polling when the screen is composed and stop when disposed — so polling only runs while the user is viewing the log screen. Combined with scrollToItem(Int.MAX_VALUE) from previous commit, logs now both auto-refresh AND auto-scroll to the latest entry. * fix(#425): add missing viewModelScope import for CI build LogsViewModel used viewModelScope directly in startAutoRefresh() but never imported it — the original code only used it indirectly via safeLaunchLoad which has its own import in ViewModelExt.kt. --------- Co-authored-by: M57 <hy4ri@users.noreply.github.com>