mirror of
https://github.com/laurent22/joplin.git
synced 2025-03-26 21:12:59 +02:00
Desktop: Fixes #3510: Note links would be broken after saving a note in Rich Text editor
This commit is contained in:
parent
1cd86fd3ea
commit
8f8d11c9b3
@ -223,6 +223,7 @@ describe('models_Note', function() {
|
||||
const resourceDir = Setting.value('resourceDir');
|
||||
const r1 = await shim.createResourceFromPath(`${__dirname}/../tests/support/photo.jpg`);
|
||||
const r2 = await shim.createResourceFromPath(`${__dirname}/../tests/support/photo.jpg`);
|
||||
const note1 = await Note.save({ title: 'note1' });
|
||||
const t1 = r1.updated_time;
|
||||
const t2 = r2.updated_time;
|
||||
|
||||
@ -262,11 +263,14 @@ describe('models_Note', function() {
|
||||
for (const testCase of testCases) {
|
||||
const [useAbsolutePaths, input, expected] = testCase;
|
||||
const internalToExternal = await Note.replaceResourceInternalToExternalLinks(input, { useAbsolutePaths });
|
||||
expect(expected).toBe(internalToExternal);
|
||||
expect(internalToExternal).toBe(expected, 'replaceResourceInternalToExternalLinks failed');
|
||||
|
||||
const externalToInternal = await Note.replaceResourceExternalToInternalLinks(internalToExternal, { useAbsolutePaths });
|
||||
expect(externalToInternal).toBe(input);
|
||||
expect(externalToInternal).toBe(input, 'replaceResourceExternalToInternalLinks failed');
|
||||
}
|
||||
|
||||
const result = await Note.replaceResourceExternalToInternalLinks(`[](joplin://${note1.id})`);
|
||||
expect(result).toBe(`[](:/${note1.id})`, 'replaceResourceExternalToInternalLinks failed (note link)');
|
||||
}));
|
||||
|
||||
});
|
||||
|
@ -187,6 +187,9 @@ class Note extends BaseItem {
|
||||
return `:/${id}`;
|
||||
});
|
||||
}
|
||||
|
||||
// Handles joplin://af0edffa4a60496bba1b0ba06b8fb39a
|
||||
body = body.replace(/\(joplin:\/\/([a-zA-Z0-9]{32})\)/g, '(:/$1)');
|
||||
}
|
||||
|
||||
this.logger().debug('replaceResourceExternalToInternalLinks result', body);
|
||||
|
@ -1,9 +1,11 @@
|
||||
import produce, { Draft } from 'immer';
|
||||
import produce, { Draft, setAutoFreeze } from 'immer';
|
||||
|
||||
export const defaultState = {
|
||||
watchedResources: {},
|
||||
};
|
||||
|
||||
setAutoFreeze(false); // TODO: REMOVE ONCE PLUGIN BRANCH HAS BEEN MERGED!!
|
||||
|
||||
const reducer = produce((draft: Draft<any>, action:any) => {
|
||||
if (action.type.indexOf('RESOURCE_EDIT_WATCHER_') !== 0) return;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user