You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-15 23:00:36 +02:00
All: getting encryption service and UI to work
This commit is contained in:
@ -2,7 +2,9 @@ const BaseItem = require('lib/models/BaseItem.js');
|
||||
const Folder = require('lib/models/Folder.js');
|
||||
const Note = require('lib/models/Note.js');
|
||||
const Resource = require('lib/models/Resource.js');
|
||||
const MasterKey = require('lib/models/MasterKey.js');
|
||||
const BaseModel = require('lib/BaseModel.js');
|
||||
const DecryptionWorker = require('lib/services/DecryptionWorker');
|
||||
const { sprintf } = require('sprintf-js');
|
||||
const { time } = require('lib/time-utils.js');
|
||||
const { Logger } = require('lib/logger.js');
|
||||
@ -52,6 +54,14 @@ class Synchronizer {
|
||||
return this.logger_;
|
||||
}
|
||||
|
||||
setEncryptionService(v) {
|
||||
this.encryptionService_ = v;
|
||||
}
|
||||
|
||||
encryptionService(v) {
|
||||
return this.encryptionService_;
|
||||
}
|
||||
|
||||
static reportToLines(report) {
|
||||
let lines = [];
|
||||
if (report.createLocal) lines.push(_('Created local items: %d.', report.createLocal));
|
||||
@ -169,6 +179,8 @@ class Synchronizer {
|
||||
|
||||
this.cancelling_ = false;
|
||||
|
||||
const masterKeysBefore = await MasterKey.count();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// First, find all the items that have been changed since the
|
||||
// last sync and apply the changes to remote.
|
||||
@ -567,6 +579,22 @@ class Synchronizer {
|
||||
this.cancelling_ = false;
|
||||
}
|
||||
|
||||
const masterKeysAfter = await MasterKey.count();
|
||||
|
||||
if (!masterKeysBefore && masterKeysAfter) {
|
||||
this.logger().info('One master key was downloaded and none was previously available: automatically enabling encryption');
|
||||
const mk = await MasterKey.latest();
|
||||
if (mk) {
|
||||
this.logger().info('Using master key: ', mk);
|
||||
await this.encryptionService().initializeEncryption(mk);
|
||||
await this.encryptionService().loadMasterKeysFromSettings();
|
||||
}
|
||||
}
|
||||
|
||||
if (masterKeysAfter) {
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
}
|
||||
|
||||
this.progressReport_.completedTime = time.unixMs();
|
||||
|
||||
this.logSyncOperation('finished', null, null, 'Synchronisation finished [' + synchronizationId + ']');
|
||||
|
Reference in New Issue
Block a user