1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-28 05:03:59 +03:00

Explicitly guard store usage during sync startup

This adds explicit `try` blocks in the spots where we interact with the store
during sync startup. This shouldn't be necessary as the store should already be
catching this and degrading as of
https://github.com/matrix-org/matrix-js-sdk/pull/884, but that doesn't seem to
have been enough for the affected user in
https://github.com/vector-im/riot-web/issues/7769, as they are seeing sync just
stop when storing without any further detail.
This commit is contained in:
J. Ryan Stinnett
2019-04-09 15:06:54 +01:00
parent 420b4d119d
commit b0c3d0d2e3

View File

@@ -499,9 +499,16 @@ SyncApi.prototype.sync = function() {
const supported = await client.doesServerSupportLazyLoading();
if (supported) {
debuglog("Creating and storing lazy load sync filter...");
this.opts.filter = await client.createFilter(
Filter.LAZY_LOADING_SYNC_FILTER,
);
try {
this.opts.filter = await client.createFilter(
Filter.LAZY_LOADING_SYNC_FILTER,
);
} catch (err) {
console.error(
"Creating and storing lazy load sync filter failed",
err,
);
}
debuglog("Created and stored lazy load sync filter");
} else {
debuglog("LL: lazy loading requested but not supported " +
@@ -528,7 +535,11 @@ SyncApi.prototype.sync = function() {
this.opts.crypto.enableLazyLoading();
}
debuglog("Storing client options...");
await this.client._storeClientOptions();
try {
await this.client._storeClientOptions();
} catch (err) {
console.error("Storing client options failed", err);
}
debuglog("Stored client options");
getFilter(); // Now get the filter and start syncing