Skip to content

v0.20.1

Choose a tag to compare

@dmitrizagidulin dmitrizagidulin released this 05 Sep 17:43
· 13 commits to main since this release

Fixed

  • A transient failure of a collection-description read (a dropped connection, a
    5xx) is no longer taken for "no encryption descriptor".
    WasRemoteStore.readCollectionEncryption answers undefined only for a
    not-found response or a description with no encryption member; any other
    failure is thrown, wrapped with the collection id. A login fails its connected
    activation on it (falling back to local with the anonymous replica intact
    for a retry), a hot restore opens that collection fail-closed and still lands
    connected, the sync bootstrap skips the collection for the session with a
    warning, and the unknown-epoch refresh warns and leaves the cipher as it was.
  • A transient failure of a collection's /meta read is no longer taken for "no
    metadata". WasRemoteStore.readCollectionMeta answers undefined only for a
    not-found response or a backend without metadata support (501); any other
    failure is thrown, wrapped with the collection id, and the sync bootstrap's
    blinded-index schema install warns and skips that collection.
  • Neither read retries on its own: the HTTP client underneath already retries
    transient status codes and network errors, so a second retry layer only
    multiplied the attempts and the delay before a failure surfaced.
  • A session that loses the attach-time storage-context claim (two providers
    booting at once, or a keyed remount overlapping the old provider's teardown)
    now closes the replica it opened before failing, instead of leaving an open
    RxDB database behind.
  • StorageContext.detachStore now releases the active storage-context pointer
    when that context holds it, so every teardown (destroy(), logout,
    clear-data, the connected activation's fallback to local) releases it.
    Previously nothing did, and after a provider unmount the facades kept
    resolving the retired context; they now throw until the next boot claims a
    live one.
  • A connected activation that fails and whose fallback to local also fails now
    surfaces the activation's own error; the fallback's is warned about.