feat: deterministic sync progress indicator + related housekeeping#160
Open
NateEaton wants to merge 2 commits into
Open
feat: deterministic sync progress indicator + related housekeeping#160NateEaton wants to merge 2 commits into
NateEaton wants to merge 2 commits into
Conversation
Bookmark list (initial sync): - Add BookmarkSyncProgress sealed interface (Idle / Running) to BookmarkRepository; emit Running(page, totalPages) after each page in performFullSync(), reset to Idle in finally block. - Fix BookmarkRepositoryImpl binding in AppModule: add @singleton so the Worker and ViewModel share the same instance and progress state is visible across both. - Expose syncFraction: StateFlow<Float?> from BookmarkListViewModel, mapped from syncProgress. - Replace pull-to-refresh spinner on initial load with a deterministic LinearProgressIndicator below the TopAppBar; PullToRefreshBox spinner is now only shown for user-initiated refreshes. - Auto-scroll list to top when initial sync completes via snapshotFlow on isInitialLoading → scrollToTopTrigger. Highlights (initial sync / pull-to-refresh): - Add indeterminate LinearProgressIndicator below TopAppBar for auto-syncs (guarded by isRefreshing && !isUserRefreshing && !isInitialLocalLoad). - Add isUserRefreshing tracking to HighlightsViewModel: set on retry(), reset via init observer when sync state leaves Running. Wire into HighlightsUiState and PullToRefreshBox so the circular spinner only shows for user-initiated pulls. - Remove inline CircularProgressIndicator from the empty-state body (replaced by top-bar LinearProgressIndicator). Logging: - Revert HttpLoggingInterceptor from BODY back to BASIC; full response bodies were excessive for large libraries and impacted app load time. Housekeeping: - Update CHANGELOG.md with entries for 0.11.0 through 0.13.0. - Update docs/WORKFLOW.md: add CHANGELOG.md update step to release prep. - Remove _notes/reader-top-bar-scroll-behavior-spec.md from git tracking (_notes/ is local-only per .gitignore). - Add docs/specs/deterministic-sync-progress-indicator-spec.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Intermittent C2 JIT crashes (Node::uncast SIGSEGV) were occurring on the verify job. Pin the Temurin patch version for deterministic builds and upload hs_err/replay/core files as artifacts on failure to enable diagnosis if the crash recurs. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bookmark list (initial sync):
Highlights (initial sync / pull-to-refresh):
Logging:
Housekeeping: