Make autoSync more robust for network errors

Catch uncaught error in autoSync that caused autoSync to stop syncing
This commit is contained in:
bc547 2024-03-23 10:05:28 +01:00 committed by GitHub
parent 24c64a5e24
commit c906af5bec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -184,13 +184,17 @@ export class ConfigSyncService {
private async autoSync () { private async autoSync () {
while (true) { while (true) {
if (this.isEnabled() && this.config.store.configSync.auto) { try {
const cfg = await this.getConfig(this.config.store.configSync.configID) if (this.isEnabled() && this.config.store.configSync.auto) {
if (new Date(cfg.modified_at) > this.lastRemoteChange) { const cfg = await this.getConfig(this.config.store.configSync.configID)
this.logger.info('Remote config changed, downloading') if (new Date(cfg.modified_at) > this.lastRemoteChange) {
this.download() this.logger.info('Remote config changed, downloading')
this.lastRemoteChange = new Date(cfg.modified_at) this.download()
this.lastRemoteChange = new Date(cfg.modified_at)
}
} }
} catch (error) {
this.logger.debug("Recovering from autoSync network error")
} }
await new Promise(resolve => setTimeout(resolve, 60000)) await new Promise(resolve => setTimeout(resolve, 60000))
} }