You've already forked matrix-js-sdk
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:
19
src/sync.js
19
src/sync.js
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user