feat: offline queue improvements (#240, #241, #242, #243) - #330
Open
Johnero542 wants to merge 1 commit into
Open
feat: offline queue improvements (#240, #241, #242, #243)#330Johnero542 wants to merge 1 commit into
Johnero542 wants to merge 1 commit into
Conversation
, ethos-protocol#242, ethos-protocol#243) ethos-protocol#241 — Extend offline queue to deposit/withdraw (Android + iOS) - Android: add DEPOSIT/WITHDRAW to PendingActionType enum; add DepositPayload/WithdrawPayload serializable data classes; bump Room DB version to 2; PendingActionSyncWorker drains all four action types; DepositViewModel/WithdrawViewModel queue offline instead of surfacing a plain error - iOS: new PendingActionStore generalises PendingCheckInStore for checkIn/deposit/withdraw; CheckInSyncTask drains all three types; APIClientProtocol/APIClient extended with deposit+withdraw; VaultStore queues deposit/withdraw offline with dedup semantics matching Android ethos-protocol#243 — Configurable TTL / staleness indicator (Android + iOS) - Android: OfflineCache gains maxAgeMs (default 24 h) and isCachedAtStale(); VaultUiState.cachedAt flows to OfflineBanner showing 'as of X ago' when serving cached data - iOS: OfflineCache.maxAge defaulted to 24 h in init; new OfflineCacheBanner view shown in VaultListView when offline or serving cached data ethos-protocol#242 — Cache hit/miss/stale telemetry (Android + iOS) - Android: CacheTelemetry object with AtomicLong counters wired into OfflineCache.load(); DebugScreen composable added; info button in vault list TopAppBar navigates to it - iOS: CacheTelemetry class added to OfflineSupport.swift; wired into OfflineCache.load(); SupportDebugView in Settings shows counters with Reset button ethos-protocol#240 — Manual Retry Now button (Android + iOS) - Android: PendingActionSyncWorker.scheduleImmediate() uses ExistingWorkPolicy.REPLACE for immediate no-backoff drain; VaultViewModel.retryNow() calls it; queued-actions banner with 'Retry Now' TextButton shown when queuedActionCount > 0 - iOS: CheckInSyncTask.retryNow() calls performSync() directly; VaultStore.retryNow() async exposed; 'Retry Now' button shown in VaultListView when queuedActionCount > 0 chore: update .gitignore (all three levels) - Exclude test snapshot images (Paparazzi / screenshot tests) - Exclude iOS __Snapshots__ / ReferenceImages directories - Remove 14 already-tracked snapshot PNGs from index - Add common secrets / credential file patterns
|
@Johnero542 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
#241 — Extend offline queue to deposit/withdraw (Android + iOS)
#243 — Configurable TTL / staleness indicator (Android + iOS)
#242 — Cache hit/miss/stale telemetry (Android + iOS)
#240 — Manual Retry Now button (Android + iOS)
chore: update .gitignore (all three levels)
Closes #240
Closes #241
Closes #242
Closes #243
Summary
Changes
Testing
Parity checklist
This PR does not add, change, or remove any user-facing feature on either
platform — no PARITY.md update needed.
— OR —
This PR adds/changes/removes a user-facing feature. I have updated PARITY.md:
Related issues