mirror of
https://github.com/zadam/trilium.git
synced 2025-11-01 02:45:54 +01:00
Compare commits
2 Commits
v0.53.0-be
...
v0.52.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7db262559 | ||
|
|
3faae63b84 |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"version": "0.52.1-beta",
|
"version": "0.52.3",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"version": "0.52.1-beta",
|
"version": "0.52.3",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "trilium",
|
"name": "trilium",
|
||||||
"productName": "Trilium Notes",
|
"productName": "Trilium Notes",
|
||||||
"description": "Trilium Notes",
|
"description": "Trilium Notes",
|
||||||
"version": "0.52.3",
|
"version": "0.52.4",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"main": "electron.js",
|
"main": "electron.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -15,7 +15,9 @@ function exportBranch(req, res) {
|
|||||||
const message = `Cannot export branch ${branchId} since it does not exist.`;
|
const message = `Cannot export branch ${branchId} since it does not exist.`;
|
||||||
log.error(message);
|
log.error(message);
|
||||||
|
|
||||||
res.status(500).send(message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send(message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +43,9 @@ function exportBranch(req, res) {
|
|||||||
|
|
||||||
log.error(message + e.stack);
|
log.error(message + e.stack);
|
||||||
|
|
||||||
res.status(500).send(message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,9 @@ function downloadNoteFile(noteId, res, contentDisposition = true) {
|
|||||||
const note = becca.getNote(noteId);
|
const note = becca.getNote(noteId);
|
||||||
|
|
||||||
if (!note) {
|
if (!note) {
|
||||||
return res.status(404).send(`Note ${noteId} doesn't exist.`);
|
return res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(404)
|
||||||
|
.send(`Note ${noteId} doesn't exist.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (note.isProtected && !protectedSessionService.isProtectedSessionAvailable()) {
|
if (note.isProtected && !protectedSessionService.isProtectedSessionAvailable()) {
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ function returnImage(req, res) {
|
|||||||
res.set("Cache-Control", "no-cache, no-store, must-revalidate");
|
res.set("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||||
res.send(svg);
|
res.send(svg);
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
res.status(500).send("there was an error parsing excalidraw to svg");
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send("there was an error parsing excalidraw to svg");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
res.set('Content-Type', image.mime);
|
res.set('Content-Type', image.mime);
|
||||||
|
|||||||
@@ -65,11 +65,15 @@ function downloadNoteRevision(req, res) {
|
|||||||
const noteRevision = becca.getNoteRevision(req.params.noteRevisionId);
|
const noteRevision = becca.getNoteRevision(req.params.noteRevisionId);
|
||||||
|
|
||||||
if (noteRevision.noteId !== req.params.noteId) {
|
if (noteRevision.noteId !== req.params.noteId) {
|
||||||
return res.status(400).send(`Note revision ${req.params.noteRevisionId} does not belong to note ${req.params.noteId}`);
|
return res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(400)
|
||||||
|
.send(`Note revision ${req.params.noteRevisionId} does not belong to note ${req.params.noteId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (noteRevision.isProtected && !protectedSessionService.isProtectedSessionAvailable()) {
|
if (noteRevision.isProtected && !protectedSessionService.isProtectedSessionAvailable()) {
|
||||||
return res.status(401).send("Protected session not available");
|
return res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(401)
|
||||||
|
.send("Protected session not available");
|
||||||
}
|
}
|
||||||
|
|
||||||
const filename = getRevisionFilename(noteRevision);
|
const filename = getRevisionFilename(noteRevision);
|
||||||
|
|||||||
@@ -49,7 +49,9 @@ function handleRequest(req, res) {
|
|||||||
catch (e) {
|
catch (e) {
|
||||||
log.error(`Custom handler ${note.noteId} failed with ${e.message}`);
|
log.error(`Custom handler ${note.noteId} failed with ${e.message}`);
|
||||||
|
|
||||||
res.status(500).send(e.message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send(e.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attr.name === 'customResourceProvider') {
|
else if (attr.name === 'customResourceProvider') {
|
||||||
@@ -65,7 +67,9 @@ function handleRequest(req, res) {
|
|||||||
const message = `No handler matched for custom ${path} request.`;
|
const message = `No handler matched for custom ${path} request.`;
|
||||||
|
|
||||||
log.info(message);
|
log.info(message);
|
||||||
res.status(404).send(message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(404)
|
||||||
|
.send(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function register(router) {
|
function register(router) {
|
||||||
|
|||||||
@@ -120,6 +120,10 @@ function apiResultHandler(req, res, result) {
|
|||||||
|
|
||||||
function send(res, statusCode, response) {
|
function send(res, statusCode, response) {
|
||||||
if (typeof response === 'string') {
|
if (typeof response === 'string') {
|
||||||
|
if (statusCode >= 400) {
|
||||||
|
res.setHeader("Content-Type", "text/plain");
|
||||||
|
}
|
||||||
|
|
||||||
res.status(statusCode).send(response);
|
res.status(statusCode).send(response);
|
||||||
|
|
||||||
return response.length;
|
return response.length;
|
||||||
@@ -167,7 +171,9 @@ function route(method, path, middleware, routeHandler, resultHandler, transactio
|
|||||||
.catch(e => {
|
.catch(e => {
|
||||||
log.error(`${method} ${path} threw exception: ` + e.stack);
|
log.error(`${method} ${path} threw exception: ` + e.stack);
|
||||||
|
|
||||||
res.status(500).send(e.message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send(e.message);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -180,7 +186,9 @@ function route(method, path, middleware, routeHandler, resultHandler, transactio
|
|||||||
catch (e) {
|
catch (e) {
|
||||||
log.error(`${method} ${path} threw exception: ` + e.stack);
|
log.error(`${method} ${path} threw exception: ` + e.stack);
|
||||||
|
|
||||||
res.status(500).send(e.message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(500)
|
||||||
|
.send(e.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,17 +88,23 @@ function checkEtapiToken(req, res, next) {
|
|||||||
function reject(req, res, message) {
|
function reject(req, res, message) {
|
||||||
log.info(`${req.method} ${req.path} rejected with 401 ${message}`);
|
log.info(`${req.method} ${req.path} rejected with 401 ${message}`);
|
||||||
|
|
||||||
res.status(401).send(message);
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(401)
|
||||||
|
.send(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkCredentials(req, res, next) {
|
function checkCredentials(req, res, next) {
|
||||||
if (!sqlInit.isDbInitialized()) {
|
if (!sqlInit.isDbInitialized()) {
|
||||||
res.status(400).send('Database is not initialized yet.');
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(400)
|
||||||
|
.send('Database is not initialized yet.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!passwordService.isPasswordSet()) {
|
if (!passwordService.isPasswordSet()) {
|
||||||
res.status(400).send('Password has not been set yet. Please set a password and repeat the action');
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(400)
|
||||||
|
.send('Password has not been set yet. Please set a password and repeat the action');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +115,9 @@ function checkCredentials(req, res, next) {
|
|||||||
// username is ignored
|
// username is ignored
|
||||||
|
|
||||||
if (!passwordEncryptionService.verifyPassword(password)) {
|
if (!passwordEncryptionService.verifyPassword(password)) {
|
||||||
res.status(401).send('Incorrect password');
|
res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(401)
|
||||||
|
.send('Incorrect password');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
next();
|
next();
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
module.exports = { buildDate:"2022-06-13T23:41:52+02:00", buildRevision: "f0ab1fb5a1c45bf15eae46a72b46ebf132eee531" };
|
module.exports = { buildDate:"2022-07-01T00:11:53+02:00", buildRevision: "3faae63b849a1fabc31b823bb7af3a84d32256a7" };
|
||||||
|
|||||||
@@ -39,9 +39,9 @@ function register(router) {
|
|||||||
addNoIndexHeader(note, res);
|
addNoIndexHeader(note, res);
|
||||||
|
|
||||||
if (note.hasLabel('shareRaw') || ['image', 'file'].includes(note.type)) {
|
if (note.hasLabel('shareRaw') || ['image', 'file'].includes(note.type)) {
|
||||||
res.setHeader('Content-Type', note.mime);
|
res.setHeader('Content-Type', note.mime)
|
||||||
|
.send(note.getContent());
|
||||||
|
|
||||||
res.send(note.getContent());
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,7 +83,9 @@ function register(router) {
|
|||||||
const note = shaca.getNote(noteId);
|
const note = shaca.getNote(noteId);
|
||||||
|
|
||||||
if (!note) {
|
if (!note) {
|
||||||
return res.status(404).send(`Note '${noteId}' not found`);
|
return res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(404)
|
||||||
|
.send(`Note '${noteId}' not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
addNoIndexHeader(note, res);
|
addNoIndexHeader(note, res);
|
||||||
@@ -98,7 +100,9 @@ function register(router) {
|
|||||||
const note = shaca.getNote(noteId);
|
const note = shaca.getNote(noteId);
|
||||||
|
|
||||||
if (!note) {
|
if (!note) {
|
||||||
return res.status(404).send(`Note '${noteId}' not found`);
|
return res.setHeader("Content-Type", "text/plain")
|
||||||
|
.status(404)
|
||||||
|
.send(`Note '${noteId}' not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
addNoIndexHeader(note, res);
|
addNoIndexHeader(note, res);
|
||||||
@@ -122,10 +126,14 @@ function register(router) {
|
|||||||
const image = shaca.getNote(req.params.noteId);
|
const image = shaca.getNote(req.params.noteId);
|
||||||
|
|
||||||
if (!image) {
|
if (!image) {
|
||||||
return res.status(404).send(`Note '${req.params.noteId}' not found`);
|
return res.setHeader('Content-Type', 'text/plain')
|
||||||
|
.status(404)
|
||||||
|
.send(`Note '${req.params.noteId}' not found`);
|
||||||
}
|
}
|
||||||
else if (!["image", "canvas"].includes(image.type)) {
|
else if (!["image", "canvas"].includes(image.type)) {
|
||||||
return res.status(400).send("Requested note is not a shareable image");
|
return res.setHeader('Content-Type', 'text/plain')
|
||||||
|
.status(400)
|
||||||
|
.send("Requested note is not a shareable image");
|
||||||
} else if (image.type === "canvas") {
|
} else if (image.type === "canvas") {
|
||||||
/**
|
/**
|
||||||
* special "image" type. the canvas is actually type application/json
|
* special "image" type. the canvas is actually type application/json
|
||||||
@@ -141,7 +149,9 @@ function register(router) {
|
|||||||
res.set("Cache-Control", "no-cache, no-store, must-revalidate");
|
res.set("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||||
res.send(svg);
|
res.send(svg);
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
res.status(500).send("there was an error parsing excalidraw to svg");
|
res.setHeader('Content-Type', 'text/plain')
|
||||||
|
.status(500)
|
||||||
|
.send("there was an error parsing excalidraw to svg");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// normal image
|
// normal image
|
||||||
@@ -159,7 +169,9 @@ function register(router) {
|
|||||||
const note = shaca.getNote(noteId);
|
const note = shaca.getNote(noteId);
|
||||||
|
|
||||||
if (!note) {
|
if (!note) {
|
||||||
return res.status(404).send(`Note '${noteId}' not found`);
|
return res.setHeader('Content-Type', 'text/plain')
|
||||||
|
.status(404)
|
||||||
|
.send(`Note '${noteId}' not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
addNoIndexHeader(note, res);
|
addNoIndexHeader(note, res);
|
||||||
|
|||||||
Reference in New Issue
Block a user