custom widget launchers should not be initialized in safe mode

This commit is contained in:
zadam 2022-12-24 13:57:42 +01:00
parent b13ea72152
commit 4c51588270
4 changed files with 20 additions and 17 deletions

View File

@ -37,6 +37,10 @@ export default class LauncherWidget extends BasicWidget {
const launcherType = note.getLabelValue("launcherType"); const launcherType = note.getLabelValue("launcherType");
if (glob.TRILIUM_SAFE_MODE && launcherType === 'customWidget') {
return false;
}
if (launcherType === 'command') { if (launcherType === 'command') {
this.innerWidget = this.initCommandLauncherWidget(note) this.innerWidget = this.initCommandLauncherWidget(note)
.class("launcher-button"); .class("launcher-button");

View File

@ -27,22 +27,19 @@ export default class LauncherContainer extends FlexContainer {
return; return;
} }
await Promise.allSettled( for (const launcherNote of await visibleLaunchersRoot.getChildNotes()) {
(await visibleLaunchersRoot.getChildNotes()) try {
.map(async launcherNote => { const launcherWidget = new LauncherWidget();
try { const success = await launcherWidget.initLauncher(launcherNote);
const launcherWidget = new LauncherWidget();
const success = await launcherWidget.initLauncher(launcherNote);
if (success) { if (success) {
this.child(launcherWidget); this.child(launcherWidget);
} }
} }
catch (e) { catch (e) {
console.error(e); console.error(e);
} }
}) }
);
this.$widget.empty(); this.$widget.empty();
this.renderChildren(); this.renderChildren();

View File

@ -35,7 +35,8 @@
extraHoistedNoteId: '<%= extraHoistedNoteId %>', extraHoistedNoteId: '<%= extraHoistedNoteId %>',
isProtectedSessionAvailable: <%= isProtectedSessionAvailable %>, isProtectedSessionAvailable: <%= isProtectedSessionAvailable %>,
triliumVersion: "<%= triliumVersion %>", triliumVersion: "<%= triliumVersion %>",
assetPath: "<%= assetPath %>" assetPath: "<%= assetPath %>",
TRILIUM_SAFE_MODE: <%= !!process.env.TRILIUM_SAFE_MODE %>
}; };
</script> </script>

View File

@ -117,7 +117,8 @@
appCssNoteIds: <%- JSON.stringify(appCssNoteIds) %>, appCssNoteIds: <%- JSON.stringify(appCssNoteIds) %>,
isProtectedSessionAvailable: <%= isProtectedSessionAvailable %>, isProtectedSessionAvailable: <%= isProtectedSessionAvailable %>,
assetPath: "<%= assetPath %>", assetPath: "<%= assetPath %>",
isMainWindow: true isMainWindow: true,
TRILIUM_SAFE_MODE: <%= !!process.env.TRILIUM_SAFE_MODE %>
}; };
</script> </script>