mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	avoid various HTTP server issues with slashes by putting notePath into the body with POST
This commit is contained in:
		@@ -331,7 +331,7 @@ function addRecentNote(branchId, notePath) {
 | 
			
		||||
    setTimeout(async () => {
 | 
			
		||||
        // we include the note into recent list only if the user stayed on the note at least 5 seconds
 | 
			
		||||
        if (notePath && notePath === getCurrentNotePath()) {
 | 
			
		||||
            await server.put('recent-notes/' + branchId + '/' + encodeURIComponent(notePath));
 | 
			
		||||
            await server.post('recent-notes', { branchId, notePath });
 | 
			
		||||
        }
 | 
			
		||||
    }, 1500);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,8 @@ const optionService = require('../../services/options');
 | 
			
		||||
const RecentNote = require('../../entities/recent_note');
 | 
			
		||||
 | 
			
		||||
async function addRecentNote(req) {
 | 
			
		||||
    const branchId = req.params.branchId;
 | 
			
		||||
    const notePath = req.params.notePath;
 | 
			
		||||
    const branchId = req.body.branchId;
 | 
			
		||||
    const notePath = req.body.notePath;
 | 
			
		||||
 | 
			
		||||
    await new RecentNote({
 | 
			
		||||
        branchId: branchId,
 | 
			
		||||
 
 | 
			
		||||
@@ -172,9 +172,7 @@ function register(app) {
 | 
			
		||||
 | 
			
		||||
    apiRoute(GET, '/api/event-log', eventLogRoute.getEventLog);
 | 
			
		||||
 | 
			
		||||
    // * at the end means this will match params containing slash as well
 | 
			
		||||
    // this is a problem with nginx (and possibly other proxies) which translate escaped slash back to the literal slash character
 | 
			
		||||
    apiRoute(PUT, '/api/recent-notes/:branchId/:notePath*', recentNotesRoute.addRecentNote);
 | 
			
		||||
    apiRoute(POST, '/api/recent-notes', recentNotesRoute.addRecentNote);
 | 
			
		||||
    apiRoute(GET, '/api/app-info', appInfoRoute.getAppInfo);
 | 
			
		||||
 | 
			
		||||
    route(GET, '/api/setup/status', [], setupApiRoute.getStatus, apiResultHandler);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user