Repository navigation
Reduce Supabase egress with incremental Duel sync and lazy proofs - #66
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
7 tasks
Keep incremental synchronization, lazy proofs and isolated caching while retaining the merged view and history performance changes. Remove tests for the superseded full-history loader and verify metadata-only proofs preserve badge unlocks. Record the Supabase MCP migration and live RLS, proof and data-preservation checks. Typecheck, lint, 164 tests, PostgreSQL checks, production build and browser flows pass.
This branch was successfully deployed
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.
Summary
Closes #65. Check-ins and cheers previously reloaded complete Duel history, including embedded photos. This change synchronizes revisions and changed metadata, loads proofs when viewed, caches history per project/account/Duel, pauses inactive polling with backoff, and batches week-scoped wearable updates. Existing data and proofs remain in place.
Reconciled with main after PR #64. Its view/history improvements remain; metadata proof counts also preserve the optimized badge calculation. Tests for the superseded full-history pagination loader are replaced by delta/SQL/browser coverage.
Evidence
supabase/egress.sqlthrough Supabase MCP on 2026-10-14 as migration20261014175421_reduce_duel_egress_incremental_sync. All 118 live Check-ins and 10 proof-bearing records retain their complete pre-migration digest. Authenticated metadata retains all history without photo bytes; original proofs resolve and unchanged deltas are 48 bytes. Outsiders receive no metadata/sync heads, anonymous RPC execution is denied, RLS/realtime are enabled, and security-advisor findings are unchanged.3ed5fdb.Merge Danger
Door: two-way. Reverting the client keeps original tables and proofs usable. The additive migration is already applied; it neither deletes nor rewrites existing progress or photos. No billing changes.
Blast Radius: synchronization. History reads, proof loading, caching, polling and Check-in patches change. Initial metadata retains full history for lifetime scores and streaks; backup exports resolve original proofs. PR #62 remains open and also touches store/profile integration.
Hosted multi-session load and interactive production flows remain unverified. Vercel MCP returns a team-scope 403 and the deployed app is behind Vercel Authentication; local production browser and live database checks are available above.