mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-21 09:38:01 +02:00
Desktop: Fixes #4919: Make sure sync startup operations are cleared after startup
This commit is contained in:
parent
4ea21e0c32
commit
4b26893b21
@ -1351,6 +1351,9 @@ packages/lib/services/synchronizer/migrations/2.js.map
|
|||||||
packages/lib/services/synchronizer/tools.d.ts
|
packages/lib/services/synchronizer/tools.d.ts
|
||||||
packages/lib/services/synchronizer/tools.js
|
packages/lib/services/synchronizer/tools.js
|
||||||
packages/lib/services/synchronizer/tools.js.map
|
packages/lib/services/synchronizer/tools.js.map
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.d.ts
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js.map
|
||||||
packages/lib/services/synchronizer/utils/types.d.ts
|
packages/lib/services/synchronizer/utils/types.d.ts
|
||||||
packages/lib/services/synchronizer/utils/types.js
|
packages/lib/services/synchronizer/utils/types.js
|
||||||
packages/lib/services/synchronizer/utils/types.js.map
|
packages/lib/services/synchronizer/utils/types.js.map
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1338,6 +1338,9 @@ packages/lib/services/synchronizer/migrations/2.js.map
|
|||||||
packages/lib/services/synchronizer/tools.d.ts
|
packages/lib/services/synchronizer/tools.d.ts
|
||||||
packages/lib/services/synchronizer/tools.js
|
packages/lib/services/synchronizer/tools.js
|
||||||
packages/lib/services/synchronizer/tools.js.map
|
packages/lib/services/synchronizer/tools.js.map
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.d.ts
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js
|
||||||
|
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js.map
|
||||||
packages/lib/services/synchronizer/utils/types.d.ts
|
packages/lib/services/synchronizer/utils/types.d.ts
|
||||||
packages/lib/services/synchronizer/utils/types.js
|
packages/lib/services/synchronizer/utils/types.js
|
||||||
packages/lib/services/synchronizer/utils/types.js.map
|
packages/lib/services/synchronizer/utils/types.js.map
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import Setting, { SyncStartupOperation } from './models/Setting';
|
import Setting from './models/Setting';
|
||||||
import Logger, { TargetType, LoggerWrapper } from './Logger';
|
import Logger, { TargetType, LoggerWrapper } from './Logger';
|
||||||
import shim from './shim';
|
import shim from './shim';
|
||||||
import BaseService from './services/BaseService';
|
import BaseService from './services/BaseService';
|
||||||
@ -44,7 +44,7 @@ import ResourceService from './services/ResourceService';
|
|||||||
import DecryptionWorker from './services/DecryptionWorker';
|
import DecryptionWorker from './services/DecryptionWorker';
|
||||||
const { loadKeychainServiceAndSettings } = require('./services/SettingUtils');
|
const { loadKeychainServiceAndSettings } = require('./services/SettingUtils');
|
||||||
import MigrationService from './services/MigrationService';
|
import MigrationService from './services/MigrationService';
|
||||||
import { clearLocalDataForRedownload, clearLocalSyncStateForReupload } from './services/synchronizer/tools';
|
import handleSyncStartupOperation from './services/synchronizer/utils/handleSyncStartupOperation';
|
||||||
const { toSystemSlashes } = require('./path-utils');
|
const { toSystemSlashes } = require('./path-utils');
|
||||||
const { setAutoFreeze } = require('immer');
|
const { setAutoFreeze } = require('immer');
|
||||||
|
|
||||||
@ -651,18 +651,6 @@ export default class BaseApplication {
|
|||||||
return toSystemSlashes(output, 'linux');
|
return toSystemSlashes(output, 'linux');
|
||||||
}
|
}
|
||||||
|
|
||||||
private async handleSyncToolActions() {
|
|
||||||
if (Setting.value('sync.startupOperation') === SyncStartupOperation.ClearLocalSyncState) {
|
|
||||||
await clearLocalSyncStateForReupload(reg.db());
|
|
||||||
} else if (Setting.value('sync.startupOperation') === SyncStartupOperation.ClearLocalData) {
|
|
||||||
await clearLocalDataForRedownload(reg.db());
|
|
||||||
} else if (Setting.value('sync.startupOperation') === SyncStartupOperation.None) {
|
|
||||||
// Nothing
|
|
||||||
} else {
|
|
||||||
throw new Error(`Invalid sync.startupOperation value: ${Setting.value('sync.startupOperation')}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async start(argv: string[]): Promise<any> {
|
async start(argv: string[]): Promise<any> {
|
||||||
const startFlags = await this.handleStartFlags_(argv);
|
const startFlags = await this.handleStartFlags_(argv);
|
||||||
|
|
||||||
@ -753,7 +741,7 @@ export default class BaseApplication {
|
|||||||
BaseModel.setDb(this.database_);
|
BaseModel.setDb(this.database_);
|
||||||
|
|
||||||
await loadKeychainServiceAndSettings(KeychainServiceDriver);
|
await loadKeychainServiceAndSettings(KeychainServiceDriver);
|
||||||
await this.handleSyncToolActions();
|
await handleSyncStartupOperation();
|
||||||
|
|
||||||
appLogger.info(`Client ID: ${Setting.value('clientId')}`);
|
appLogger.info(`Client ID: ${Setting.value('clientId')}`);
|
||||||
|
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
import Setting, { SyncStartupOperation } from '../../../models/Setting';
|
||||||
|
import { clearLocalDataForRedownload, clearLocalSyncStateForReupload } from '../tools';
|
||||||
|
import { reg } from '../../../registry';
|
||||||
|
import Logger from '../../../Logger';
|
||||||
|
|
||||||
|
const logger = Logger.create('handleSyncStartupOperation');
|
||||||
|
|
||||||
|
export default async function() {
|
||||||
|
logger.info('Processing operation:', Setting.value('sync.startupOperation'));
|
||||||
|
|
||||||
|
if (Setting.value('sync.startupOperation') === SyncStartupOperation.ClearLocalSyncState) {
|
||||||
|
|
||||||
|
await clearLocalSyncStateForReupload(reg.db());
|
||||||
|
Setting.setValue('sync.startupOperation', SyncStartupOperation.None);
|
||||||
|
|
||||||
|
} else if (Setting.value('sync.startupOperation') === SyncStartupOperation.ClearLocalData) {
|
||||||
|
|
||||||
|
await clearLocalDataForRedownload(reg.db());
|
||||||
|
Setting.setValue('sync.startupOperation', SyncStartupOperation.None);
|
||||||
|
|
||||||
|
} else if (Setting.value('sync.startupOperation') === SyncStartupOperation.None) {
|
||||||
|
// Nothing
|
||||||
|
} else {
|
||||||
|
throw new Error(`Invalid sync.startupOperation value: ${Setting.value('sync.startupOperation')}`);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user