fix mentions

pull/255/head
zadam 2023-06-29 12:19:01 +07:00
parent b7c37fdf58
commit 788841d256
7 changed files with 23 additions and 26 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -247,7 +247,7 @@ class AbstractBeccaEntity {
throw new Error(`Cannot find content for ${this.constructor.primaryKeyName} '${this[this.constructor.primaryKeyName]}', blobId '${this.blobId}'`);
}
return blobService.processContent(row.content);
return blobService.processContent(row.content, this.isProtected, this.hasStringContent());
}
/**

@ -1580,22 +1580,24 @@ class BNote extends AbstractBeccaEntity {
dateCreated: dateUtils.localNowDateTime()
}, true);
revision.save(); // to generate revisionId which is then used to save attachments
revision.save(); // to generate revisionId, which is then used to save attachments
for (const noteAttachment of this.getAttachments()) {
if (noteAttachment.utcDateScheduledForErasureSince) {
continue;
}
if (this.type === 'text') {
for (const noteAttachment of this.getAttachments()) {
if (noteAttachment.utcDateScheduledForErasureSince) {
continue;
}
const revisionAttachment = noteAttachment.copy();
revisionAttachment.parentId = revision.revisionId;
revisionAttachment.setContent(noteAttachment.getContent(), { forceSave: true });
const revisionAttachment = noteAttachment.copy();
revisionAttachment.parentId = revision.revisionId;
revisionAttachment.setContent(noteAttachment.getContent(), {forceSave: true});
// content is rewritten to point to the revision attachments
noteContent = noteContent.replaceAll(`attachments/${noteAttachment.attachmentId}`, `attachments/${revisionAttachment.attachmentId}`);
}
// content is rewritten to point to the revision attachments
noteContent = noteContent.replaceAll(`attachments/${noteAttachment.attachmentId}`, `attachments/${revisionAttachment.attachmentId}`);
}
revision.setContent(noteContent, { forceSave: true });
revision.setContent(noteContent, {forceSave: true});
}
return revision;
});

@ -4,6 +4,7 @@ import server from "./server.js";
import libraryLoader from "./library_loader.js";
import ws from "./ws.js";
import froca from "./froca.js";
import linkService from "./link.js";
function setupGlobs() {
window.glob.PROFILING_LOG = false;
@ -13,6 +14,8 @@ function setupGlobs() {
window.glob.getComponentByEl = el => appContext.getComponentByEl(el);
window.glob.getHeaders = server.getHeaders;
window.glob.getReferenceLinkTitle = href => linkService.getReferenceLinkTitle(href);
window.glob.getReferenceLinkTitleSync = href => linkService.getReferenceLinkTitleSync(href);
// required for ESLint plugin and CKEditor
window.glob.getActiveContextNote = () => appContext.tabManager.getActiveContextNote();

@ -454,8 +454,8 @@ export default class AttributeEditorWidget extends NoteContextAwareWidget {
return clickIndex;
}
async loadReferenceLinkTitle($el) {
const {noteId} = linkService.parseNavigationStateFromUrl($el.find("a").attr("href"));
async loadReferenceLinkTitle($el, href) {
const {noteId} = linkService.parseNavigationStateFromUrl(href);
const note = await froca.getNote(noteId, true);
const title = note ? note.title : '[missing]';
@ -468,7 +468,7 @@ export default class AttributeEditorWidget extends NoteContextAwareWidget {
}
async renderOwnedAttributes(ownedAttributes, saved) {
// attrs are not resorted if position changes after initial load
// attrs are not resorted if position changes after the initial load
ownedAttributes.sort((a, b) => a.position < b.position ? -1 : 1);
let htmlAttrs = (await attributeRenderer.renderAttributes(ownedAttributes, true)).html();

@ -101,14 +101,6 @@ export default class AbstractTextTypeWidget extends TypeWidget {
await linkService.loadReferenceLinkTitle($el, href);
}
async getReferenceLinkTitle(href) {
return await linkService.getReferenceLinkTitle(href);
}
getReferenceLinkTitleSync(href) {
return linkService.getReferenceLinkTitleSync(href);
}
refreshIncludedNote($container, noteId) {
if ($container) {
$container.find(`section[data-note-id="${noteId}"]`).each((_, el) => {