Skip to content

v2.85.0

Latest

Choose a tag to compare

@vilenarios vilenarios released this 03 Jul 03:39
e870664

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)