You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-09-16 08:56:40 +02:00
Don't deal with files outside of root during OneDrive sync
This commit is contained in:
@@ -307,7 +307,7 @@ class Application {
|
|||||||
|
|
||||||
let CommandClass = null;
|
let CommandClass = null;
|
||||||
try {
|
try {
|
||||||
CommandClass = require('./command-' + name + '.js');
|
CommandClass = require(__dirname + '/command-' + name + '.js');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let e = new Error('No such command: ' + name);
|
let e = new Error('No such command: ' + name);
|
||||||
e.type = 'notFound';
|
e.type = 'notFound';
|
||||||
|
@@ -260,9 +260,6 @@ msgstr ""
|
|||||||
msgid "Starting synchronisation..."
|
msgid "Starting synchronisation..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Done."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Cancelling... Please wait."
|
msgid "Cancelling... Please wait."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@@ -289,9 +289,6 @@ msgstr "Impossible d'initialiser la synchronisation."
|
|||||||
msgid "Starting synchronisation..."
|
msgid "Starting synchronisation..."
|
||||||
msgstr "Commencement de la synchronisation..."
|
msgstr "Commencement de la synchronisation..."
|
||||||
|
|
||||||
msgid "Done."
|
|
||||||
msgstr "Terminé."
|
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Cancelling... Please wait."
|
msgid "Cancelling... Please wait."
|
||||||
msgstr "Annulation..."
|
msgstr "Annulation..."
|
||||||
@@ -621,6 +618,9 @@ msgstr ""
|
|||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Bienvenue"
|
msgstr "Bienvenue"
|
||||||
|
|
||||||
|
#~ msgid "Done."
|
||||||
|
#~ msgstr "Terminé."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "Please open this URL in your browser to authenticate the application:"
|
#~ "Please open this URL in your browser to authenticate the application:"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
@@ -260,9 +260,6 @@ msgstr ""
|
|||||||
msgid "Starting synchronisation..."
|
msgid "Starting synchronisation..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Done."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Cancelling... Please wait."
|
msgid "Cancelling... Please wait."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
"url": "https://github.com/laurent22/joplin"
|
"url": "https://github.com/laurent22/joplin"
|
||||||
},
|
},
|
||||||
"url": "git://github.com/laurent22/joplin.git",
|
"url": "git://github.com/laurent22/joplin.git",
|
||||||
"version": "0.9.2",
|
"version": "0.9.5",
|
||||||
"bin": {
|
"bin": {
|
||||||
"joplin": "./main.js"
|
"joplin": "./main.js"
|
||||||
},
|
},
|
||||||
@@ -38,7 +38,8 @@
|
|||||||
"string-to-stream": "^1.1.0",
|
"string-to-stream": "^1.1.0",
|
||||||
"tcp-port-used": "^0.1.2",
|
"tcp-port-used": "^0.1.2",
|
||||||
"uuid": "^3.0.1",
|
"uuid": "^3.0.1",
|
||||||
"yargs-parser": "^7.0.0"
|
"yargs-parser": "^7.0.0",
|
||||||
|
"word-wrap": "^1.2.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-changed": "^7.0.0",
|
"babel-changed": "^7.0.0",
|
||||||
@@ -50,8 +51,7 @@
|
|||||||
"babel-preset-es2015": "^6.1.4",
|
"babel-preset-es2015": "^6.1.4",
|
||||||
"babel-preset-react": "^6.24.1",
|
"babel-preset-react": "^6.24.1",
|
||||||
"gettext-parser": "^1.2.2",
|
"gettext-parser": "^1.2.2",
|
||||||
"jasmine": "^2.6.0",
|
"jasmine": "^2.6.0"
|
||||||
"word-wrap": "^1.2.3"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"babelbuild": "babel app -d build",
|
"babelbuild": "babel app -d build",
|
||||||
|
@@ -1 +1 @@
|
|||||||
f38a6c5d97ddbb027b0d6e28d14545c8
|
26731ba0d38727c6c362b6d042517888
|
@@ -2,6 +2,6 @@
|
|||||||
set -e
|
set -e
|
||||||
CLIENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
CLIENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
bash $CLIENT_DIR/build.sh && NODE_PATH="$CLIENT_DIR/build/" node build/main.js --profile ~/Temp/TestNotes2 --stack-trace-enabled --log-level debug --env dev "$@"
|
#bash $CLIENT_DIR/build.sh && NODE_PATH="$CLIENT_DIR/build/" node build/main.js --profile ~/Temp/TestNotes2 --stack-trace-enabled --log-level debug --env dev "$@"
|
||||||
#bash $CLIENT_DIR/build.sh && NODE_PATH="$CLIENT_DIR/build/" node build/main.js --profile ~/Temp/TestNotes import-enex --fuzzy-matching /home/laurent/Desktop/afaire.enex afaire
|
|
||||||
#bash $CLIENT_DIR/build.sh && NODE_PATH="$CLIENT_DIR/build/" node build/main.js --profile ~/Temp/TestNotes import-enex --fuzzy-matching /home/laurent/Desktop/Laurent.enex laurent
|
bash $CLIENT_DIR/build.sh && NODE_PATH="$CLIENT_DIR/build/" node build/main.js --stack-trace-enabled --log-level debug "$@"
|
||||||
|
@@ -90,8 +90,8 @@ android {
|
|||||||
applicationId "net.cozic.joplin"
|
applicationId "net.cozic.joplin"
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 22
|
targetSdkVersion 22
|
||||||
versionCode 41
|
versionCode 43
|
||||||
versionName "0.9.28"
|
versionName "0.9.30"
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters "armeabi-v7a", "x86"
|
abiFilters "armeabi-v7a", "x86"
|
||||||
}
|
}
|
||||||
|
@@ -7,6 +7,7 @@ class FileApiDriverOneDrive {
|
|||||||
|
|
||||||
constructor(api) {
|
constructor(api) {
|
||||||
this.api_ = api;
|
this.api_ = api;
|
||||||
|
this.pathCache_ = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
api() {
|
api() {
|
||||||
@@ -19,7 +20,7 @@ class FileApiDriverOneDrive {
|
|||||||
|
|
||||||
itemFilter_() {
|
itemFilter_() {
|
||||||
return {
|
return {
|
||||||
select: 'name,file,folder,fileSystemInfo',
|
select: 'name,file,folder,fileSystemInfo,parentReference',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,6 +174,13 @@ class FileApiDriverOneDrive {
|
|||||||
throw new Error('Not implemented');
|
throw new Error('Not implemented');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async pathDetails_(path) {
|
||||||
|
if (this.pathCache_[path]) return this.pathCache_[path];
|
||||||
|
let output = await this.api_.execJson('GET', path);
|
||||||
|
this.pathCache_[path] = output;
|
||||||
|
return this.pathCache_[path];
|
||||||
|
}
|
||||||
|
|
||||||
async delta(path, options = null) {
|
async delta(path, options = null) {
|
||||||
let output = {
|
let output = {
|
||||||
hasMore: false,
|
hasMore: false,
|
||||||
@@ -180,6 +188,9 @@ class FileApiDriverOneDrive {
|
|||||||
items: [],
|
items: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let pathDetails = await this.pathDetails_(path);
|
||||||
|
const pathId = pathDetails.id;
|
||||||
|
|
||||||
let context = options ? options.context : null;
|
let context = options ? options.context : null;
|
||||||
let url = context ? context.nextLink : null;
|
let url = context ? context.nextLink : null;
|
||||||
let query = null;
|
let query = null;
|
||||||
@@ -191,7 +202,23 @@ class FileApiDriverOneDrive {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let response = await this.api_.execJson('GET', url, query);
|
let response = await this.api_.execJson('GET', url, query);
|
||||||
let items = this.makeItems_(response.value);
|
let items = [];
|
||||||
|
|
||||||
|
// The delta API might return things that happen in subdirectories of the root and we don't want to
|
||||||
|
// deal with these since all the files we're interested in are at the root (The .resource dir
|
||||||
|
// is special since it's managed directly by the clients and resources never change - only the
|
||||||
|
// associated .md file at the root is synced). So in the loop below we check that the parent is
|
||||||
|
// indeed the root, otherwise the item is skipped.
|
||||||
|
// (Not sure but it's possible the delta API also returns events for files that are copied outside
|
||||||
|
// of the app directory and later deleted or modified. We also don't want to deal with
|
||||||
|
// these files during sync).
|
||||||
|
|
||||||
|
for (let i = 0; i < response.value.length; i++) {
|
||||||
|
const v = response.value[i];
|
||||||
|
if (v.parentReference.id !== pathId) continue;
|
||||||
|
items.push(this.makeItem_(v));
|
||||||
|
}
|
||||||
|
|
||||||
output.items = output.items.concat(items);
|
output.items = output.items.concat(items);
|
||||||
|
|
||||||
let nextLink = null;
|
let nextLink = null;
|
||||||
|
Reference in New Issue
Block a user