fix blobIds - they shouldn't contain + and / characters

This commit is contained in:
zadam
2023-07-28 15:55:26 +02:00
parent bd22863bb7
commit 72122d0f95
4 changed files with 26 additions and 8 deletions
+2 -2
View File
@@ -4,8 +4,8 @@ const build = require('./build');
const packageJson = require('../../package');
const {TRILIUM_DATA_DIR} = require('./data_dir');
const APP_DB_VERSION = 223;
const SYNC_VERSION = 30;
const APP_DB_VERSION = 224;
const SYNC_VERSION = 31;
const CLIPPER_PROTOCOL_VERSION = "1.0";
module.exports = {
+3 -4
View File
@@ -56,10 +56,9 @@ async function sync() {
catch (e) {
proxyToggle = !proxyToggle;
if (e.message &&
(e.message.includes('ECONNREFUSED') ||
e.message.includes('ERR_') || // node network errors
e.message.includes('Bad Gateway'))) {
if (e.message?.includes('ECONNREFUSED') ||
e.message?.includes('ERR_') || // node network errors
e.message?.includes('Bad Gateway')) {
ws.syncFailed();
+7 -2
View File
@@ -28,8 +28,13 @@ function hashedBlobId(content) {
// sha512 is faster than sha256
const base64Hash = crypto.createHash('sha512').update(content).digest('base64');
// 20 characters of base64 gives us 120 bit of entropy which is plenty enough
return base64Hash.substr(0, 20);
// we don't want such + and / in the IDs
const kindaBase62Hash = base64Hash
.replace('+', 'X')
.replace('/', 'Y');
// 20 characters of base62 gives us ~120 bit of entropy which is plenty enough
return kindaBase62Hash.substr(0, 20);
}
function toBase64(plainText) {