v2.85.0 Release
Sync Performance — Major Overhaul
Comprehensive optimization of the sync pipeline. Incremental syncs (no changes) reduced from 130 GraphQL calls / 376 seconds to 3 calls / <1 second.
GraphQL Optimization
- Drive activity probe: Partitions never-synced vs previously-synced drives to avoid poisoning the probe with minBlockHeight=0, which was causing all drives to resync every time (#2150)
- Unfiltered GQL strategy: Switched from 3 queries per drive (drive/folder/file entity types) to 1 query per drive — 48 → 16 calls on first sync
- UserDriveEntityTxs cache: Event-based cache prevents redundant calls across auth flow and sync (3 → 1 calls per session)
- PendingDriveEntities local DB pre-check: Only queries gateway when locally-tracked pending transactions exist (16 → 0-1 calls)
- Genesis block [0,0] range guard: Eliminates phantom GQL queries from snapshot gaps at block 0
- Entity data bytes cache: Password validation reuses cached data from drive discovery (9.7s → 0.3s)
- Drive signature cache: Immutable on-chain signatures cached permanently
Solana RPC & Gateway Fixes
- Stop Solana RPC retry spam: Cache empty gateway list on first failure instead of retrying 30+ times per sync
- Shared gateway cache: SnapshotValidationService and DataGatewayFallback share one cache
Sync Pipeline Fixes
- Zero-drives-to-sync early return with success
- updateUserDrives race condition fix (Future-based dedup)
- Snapshot prefetch minBlock: never-synced drives excluded from min calculation
- Cancellation check in probe loop
- Conditional balance refresh after no-op sync
- Infinite loop guard on snapshot pagination
Sync Modal UX Improvements (#2154)
- Show "Checking for changes..." during drive activity probe phase
- Include drive names in sync error messages
- "Retry Failed" button in error modal — retries only failed drives
- Elapsed time display shown after 5 seconds during longer syncs
Snapshot Creation Improvements (#2153, #2155)
- Snapshot creation progress reporting, caching, and retry
- Download UX fixes for snapshot creation flow
Transaction Status Fixes (PE-9126)
- Scope tx-status query per-tx by drive owner, not logged-in wallet (#2151)
- Raise tx-status timeouts above gateway upstream ceiling (#2152)
- Drop unscopable txs from confirmations instead of returning -1
UI Improvements
- Modernized share file and download all modals (#2149)