From 7a677cff5f630a08eaf6a353499b445f05721c0b Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Fri, 7 Nov 2025 17:25:05 +0200
Subject: [PATCH 01/17] feat(print): allow custom CSS (closes #7608)
---
apps/client/src/print.tsx | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/apps/client/src/print.tsx b/apps/client/src/print.tsx
index 3dbdf1de0..88100c4cb 100644
--- a/apps/client/src/print.tsx
+++ b/apps/client/src/print.tsx
@@ -70,6 +70,9 @@ function SingleNoteRenderer({ note, onReady }: RendererProps) {
});
})
);
+
+ // Check custom CSS.
+ await loadCustomCss(note);
}
load().then(() => requestAnimationFrame(onReady))
@@ -102,4 +105,17 @@ function Error404({ noteId }: { noteId: string }) {
)
}
+async function loadCustomCss(note: FNote) {
+ const printCssNotes = await note.getRelationTargets("printCss");
+
+ for (const printCssNote of printCssNotes) {
+ if (!printCssNote || (printCssNote.type !== "code" && printCssNote.mime !== "text/css")) continue;
+
+ const linkEl = document.createElement("link");
+ linkEl.href = `/api/notes/${printCssNote.noteId}/download`;
+ linkEl.rel = "stylesheet";
+ document.head.appendChild(linkEl);
+ }
+}
+
main();
From cedd1c47890cec7eaed0f2f72715ca3ee6fef265 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Fri, 7 Nov 2025 17:25:14 +0200
Subject: [PATCH 02/17] docs(user): document custom print CSS
---
.../Custom app-wide CSS.html | 92 +++++++++----------
.../Concepts/Printing and exporting to PDF.md | 26 +++++-
.../Developer Guide/Documentation.md | 2 +-
.../Theme development/Custom app-wide CSS.md | 20 ++--
4 files changed, 78 insertions(+), 62 deletions(-)
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
index f7d9fd394..190a542f0 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
@@ -1,61 +1,61 @@
It is possible to provide a CSS file to be used regardless of the theme
set by the user.
-
-
-
-
-
-
-
-
-
-
-
-
- Start by creating a new note and changing the note type to CSS
-
-
-
-
-
- In the ribbon, press the “Owned Attributes” section and type #appCss.
-
-
-
-
-
- Type the desired CSS.
-
- Generally it's a good idea to append !important for the styles
- that are being changed, in order to prevent other
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start by creating a new note and changing the note type to CSS
+
+
+
+
+
+ In the ribbon, press the “Owned Attributes” section and type #appCss.
+
+
+
+
+
+ Type the desired CSS.
+
+ Generally it's a good idea to append !important for the styles
+ that are being changed, in order to prevent other
+
+
+
+
Seeing the changes
Adding a new app CSS note or modifying an existing one does not
immediately apply changes. To see the changes, press Ctrl+Shift+R to refresh
the page first.
Sample use cases
Customizing the printing stylesheet
-When printing a document or exporting as PDF, it is possible to adjust
- the style by creating a CSS note that uses the @media selector.
-For example, to change the font of the document from the one defined by
- the theme or the user to a serif one:
@media print {
- body {
- --main-font-family: serif !important;
- --detail-font-family: var(--main-font-family) !important;
- }
-}
+
+ Since v0.99.2, it's no longer possible to use #appCss to customize
+ the printing CSS, since the printing is now done in an isolated environment.
+ However, it's still possible to customize the CSS via ~printCss;
+ see Printing and exporting to PDF for
+ more information.
+
Per-workspace styles
When using Workspaces ,
it can be helpful to create a visual distinction between notes in different
workspaces.
To do so:
- In the note with #workspace, add an inheritable attribute #cssClass(inheritable) with
+ In the note with #workspace, add an inheritable attribute #cssClass(inheritable) with
a value that uniquely identifies the workspace (say my-workspace).
- Anywhere in the note structure, create a CSS note with #appCss.
+ Anywhere in the note structure, create a CSS note with #appCss.
Change the color of the icons in the Note Tree .fancytree-node.my-workspace.fancytree-custom-icon {
color: #ff0000;
@@ -71,8 +71,8 @@
width="641" height="630">
- Insert an image in any note and take the URL of the image.
- Use the following CSS, adjusting the background-image and width and height to
+ Insert an image in any note and take the URL of the image.
+ Use the following CSS, adjusting the background-image and width and height to
the desired values.
.note-split.my-workspace .scrolling-container:after {
position: fixed;
@@ -92,5 +92,5 @@
Some parts of the application can't be styled directly via custom CSS
because they are rendered in an isolated mode (shadow DOM), more specifically:
\ No newline at end of file
diff --git a/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md b/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
index ad057206b..4db40a295 100644
--- a/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
+++ b/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
@@ -15,4 +15,28 @@ Syntax highlighting for code blocks is supported as well:
* It works by injecting a Highlight.js stylesheet into the print.
* The theme used is hard-coded (the _Visual Studio Light theme_, at the time of writing) in order not to have a dark background in print.
-* Syntax highlighting is handled by the content renderer.
\ No newline at end of file
+* Syntax highlighting is handled by the content renderer.
+
+## Customizing the print CSS
+
+As an advanced use case, it's possible to customize the CSS used for printing such as adjusting the fonts, sizes or margins. Note that Custom app-wide CSS will not work for printing.
+
+To do so:
+
+* Create a CSS [code note](#root/pOsGYCXsbNQG/KSZ04uQ2D1St/6f9hih2hXXZk).
+* On the note being printed, apply the `~printCss` relation to point to the newly created CSS code note.
+* To apply the CSS to multiple notes, consider using [inheritable attributes](#root/pOsGYCXsbNQG/tC7s2alapj8V/zEY4DaJG4YT5/bwZpz2ajCEwO) or Templates .
+
+For example, to change the font of the document from the one defined by the theme or the user to a serif one:
+
+```
+body {
+ --main-font-family: serif !important;
+ --detail-font-family: var(--main-font-family) !important;
+}
+```
+
+To remark:
+
+* Multiple CSS notes can be add by using multiple `~printCss` relations.
+* If migrating from a previous version where Custom app-wide CSS , there's no need for `@media print {` since the style-sheet is used only for printing.
\ No newline at end of file
diff --git a/docs/Developer Guide/Developer Guide/Documentation.md b/docs/Developer Guide/Developer Guide/Documentation.md
index f5956d744..ec29800a5 100644
--- a/docs/Developer Guide/Developer Guide/Documentation.md
+++ b/docs/Developer Guide/Developer Guide/Documentation.md
@@ -1,5 +1,5 @@
# Documentation
-There are multiple types of documentation for Trilium:
+There are multiple types of documentation for Trilium:
* The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing F1 .
* The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers.
diff --git a/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md b/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
index 5f63a4579..62e5b4c63 100644
--- a/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
+++ b/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
@@ -5,7 +5,7 @@ It is possible to provide a CSS file to be used regardless of the theme set by t
| --- | --- |
|  | Start by creating a new note and changing the note type to CSS |
|  | In the ribbon, press the “Owned Attributes” section and type `#appCss`. |
-|  | Type the desired CSS. Generally it's a good idea to append `!important` for the styles that are being changed, in order to prevent other |
+|  | Type the desired CSS. Generally it's a good idea to append `!important` for the styles that are being changed, in order to prevent other |
## Seeing the changes
@@ -15,18 +15,10 @@ Adding a new _app CSS note_ or modifying an existing one does not immediately ap
### Customizing the printing stylesheet
-When printing a document or exporting as PDF, it is possible to adjust the style by creating a CSS note that uses the `@media` selector.
-
-For example, to change the font of the document from the one defined by the theme or the user to a serif one:
-
-```
-@media print {
- body {
- --main-font-family: serif !important;
- --detail-font-family: var(--main-font-family) !important;
- }
-}
-```
+> [!TIP]
+> Since v0.99.2, it's no longer possible to use `#appCss` to customize the printing CSS, since the printing is now done in an isolated environment.
+>
+> However, it's still possible to customize the CSS via `~printCss`; see Printing and exporting to PDF for more information.
### Per-workspace styles
@@ -84,4 +76,4 @@ To change the color of the note title and the icon (above the content):
Some parts of the application can't be styled directly via custom CSS because they are rendered in an isolated mode (shadow DOM), more specifically:
-* The slides in a Presentation View .
\ No newline at end of file
+* The slides in a Presentation .
\ No newline at end of file
From e4cd946ea854dcb6ad46a5f8c628ceea15223fab Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Fri, 7 Nov 2025 17:31:50 +0200
Subject: [PATCH 03/17] docs(user): fix wrong page for documentation
---
.../Notes/Printing & Exporting as PDF.html | 56 ++++++++++++++-----
.../Custom app-wide CSS.html | 2 +-
.../Concepts/Printing and exporting to PDF.md | 26 +--------
docs/User Guide/!!!meta.json | 21 +++++++
.../Notes/Printing & Exporting as PDF.md | 27 ++++++++-
.../Theme development/Custom app-wide CSS.md | 2 +-
6 files changed, 93 insertions(+), 41 deletions(-)
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.html
index bf04b3afc..dbb508461 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.html
@@ -4,7 +4,6 @@
Screenshot of the note contextual menu indicating the “Export as PDF”
option.
-
Printing
This feature allows printing of notes. It works on both the desktop client,
but also on the web.
@@ -60,9 +59,9 @@ class="admonition note">
orientation, size. However, there are a few Attributes to adjust some of the settings:
- To print in landscape mode instead of portrait (useful for big diagrams
+ To print in landscape mode instead of portrait (useful for big diagrams
or slides), add #printLandscape.
- By default, the resulting PDF will be in Letter format. It is possible
+ By default, the resulting PDF will be in Letter format. It is possible
to adjust it to another page size via the #printPageSize attribute,
with one of the following values: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.
@@ -76,9 +75,9 @@ class="admonition note">
href="#root/_help_4TIF1oA4VQRO">Options and assigning a key combination
for:
- Print Active Note
+ Print Active Note
- Export Active Note as PDF
+ Export Active Note as PDF
Constraints & limitations
@@ -86,27 +85,58 @@ class="admonition note">
supported when printing, in which case the Print and Export as PDF options
will be disabled.
- For Code notes:
+ For Code notes:
- Line numbers are not printed.
- Syntax highlighting is enabled, however a default theme (Visual Studio)
+ Line numbers are not printed.
+ Syntax highlighting is enabled, however a default theme (Visual Studio)
is enforced.
- For Collections :
+ For Collections :
- Only Presentation View is
+ Only Presentation is
currently supported.
- We plan to add support for all the collection types at some point.
+ We plan to add support for all the collection types at some point.
- Using Custom app-wide CSS for
+ Using Custom app-wide CSS for
printing is not longer supported, due to a more stable but isolated mechanism.
- We plan to introduce a new mechanism specifically for a print CSS.
+ We plan to introduce a new mechanism specifically for a print CSS.
+ Customizing the print CSS
+ As an advanced use case, it's possible to customize the CSS used for printing
+ such as adjusting the fonts, sizes or margins. Note that Custom app-wide CSS will
+ not work for printing.
+ To do so:
+
+ Create a CSS code note .
+ On the note being printed, apply the ~printCss relation to
+ point to the newly created CSS code note.
+ To apply the CSS to multiple notes, consider using inheritable attributes or
+ Templates .
+
+ For example, to change the font of the document from the one defined by
+ the theme or the user to a serif one:
body {
+ --main-font-family: serif !important;
+ --detail-font-family: var(--main-font-family) !important;
+}
+ To remark:
+
+ Multiple CSS notes can be add by using multiple ~printCss relations.
+ If the note pointing to the printCss doesn't have the right
+ note type or mime type, it will be ignored.
+ If migrating from a previous version where Custom app-wide CSS ,
+ there's no need for @media print { since the style-sheet is
+ used only for printing.
+
Under the hood
Both printing and exporting as PDF use the same mechanism: a note is rendered
individually in a separate webpage that is then sent to the browser or
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
index 190a542f0..acdfa774d 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Theme development/Custom app-wide CSS.html
@@ -43,7 +43,7 @@
Since v0.99.2, it's no longer possible to use #appCss to customize
the printing CSS, since the printing is now done in an isolated environment.
However, it's still possible to customize the CSS via ~printCss;
- see Printing and exporting to PDF for
+ see Printing & Exporting as PDF for
more information.
Per-workspace styles
diff --git a/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md b/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
index 4db40a295..ad057206b 100644
--- a/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
+++ b/docs/Developer Guide/Developer Guide/Concepts/Printing and exporting to PDF.md
@@ -15,28 +15,4 @@ Syntax highlighting for code blocks is supported as well:
* It works by injecting a Highlight.js stylesheet into the print.
* The theme used is hard-coded (the _Visual Studio Light theme_, at the time of writing) in order not to have a dark background in print.
-* Syntax highlighting is handled by the content renderer.
-
-## Customizing the print CSS
-
-As an advanced use case, it's possible to customize the CSS used for printing such as adjusting the fonts, sizes or margins. Note that Custom app-wide CSS will not work for printing.
-
-To do so:
-
-* Create a CSS [code note](#root/pOsGYCXsbNQG/KSZ04uQ2D1St/6f9hih2hXXZk).
-* On the note being printed, apply the `~printCss` relation to point to the newly created CSS code note.
-* To apply the CSS to multiple notes, consider using [inheritable attributes](#root/pOsGYCXsbNQG/tC7s2alapj8V/zEY4DaJG4YT5/bwZpz2ajCEwO) or Templates .
-
-For example, to change the font of the document from the one defined by the theme or the user to a serif one:
-
-```
-body {
- --main-font-family: serif !important;
- --detail-font-family: var(--main-font-family) !important;
-}
-```
-
-To remark:
-
-* Multiple CSS notes can be add by using multiple `~printCss` relations.
-* If migrating from a previous version where Custom app-wide CSS , there's no need for `@media print {` since the style-sheet is used only for printing.
\ No newline at end of file
+* Syntax highlighting is handled by the content renderer.
\ No newline at end of file
diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json
index 057df9c87..27f4866db 100644
--- a/docs/User Guide/!!!meta.json
+++ b/docs/User Guide/!!!meta.json
@@ -4078,6 +4078,20 @@
"value": "printing-and-pdf-export",
"isInheritable": false,
"position": 110
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "bwZpz2ajCEwO",
+ "isInheritable": false,
+ "position": 120
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "KC1HB96bqqHX",
+ "isInheritable": false,
+ "position": 130
}
],
"format": "markdown",
@@ -11006,6 +11020,13 @@
"value": "bx bxs-file-css",
"isInheritable": false,
"position": 50
+ },
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "NRnIZmSMc5sj",
+ "isInheritable": false,
+ "position": 60
}
],
"format": "markdown",
diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.md
index 27d5326d6..21fbe12e6 100644
--- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.md
+++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF.md
@@ -64,11 +64,36 @@ Not all Note Types
* Line numbers are not printed.
* Syntax highlighting is enabled, however a default theme (Visual Studio) is enforced.
* For Collections :
- * Only Presentation View is currently supported.
+ * Only Presentation is currently supported.
* We plan to add support for all the collection types at some point.
* Using Custom app-wide CSS for printing is not longer supported, due to a more stable but isolated mechanism.
* We plan to introduce a new mechanism specifically for a print CSS.
+## Customizing the print CSS
+
+As an advanced use case, it's possible to customize the CSS used for printing such as adjusting the fonts, sizes or margins. Note that Custom app-wide CSS will not work for printing.
+
+To do so:
+
+* Create a CSS [code note](../../Note%20Types/Code.md).
+* On the note being printed, apply the `~printCss` relation to point to the newly created CSS code note.
+* To apply the CSS to multiple notes, consider using [inheritable attributes](../../Advanced%20Usage/Attributes/Attribute%20Inheritance.md) or Templates .
+
+For example, to change the font of the document from the one defined by the theme or the user to a serif one:
+
+```
+body {
+ --main-font-family: serif !important;
+ --detail-font-family: var(--main-font-family) !important;
+}
+```
+
+To remark:
+
+* Multiple CSS notes can be add by using multiple `~printCss` relations.
+* If the note pointing to the `printCss` doesn't have the right note type or mime type, it will be ignored.
+* If migrating from a previous version where Custom app-wide CSS , there's no need for `@media print {` since the style-sheet is used only for printing.
+
## Under the hood
Both printing and exporting as PDF use the same mechanism: a note is rendered individually in a separate webpage that is then sent to the browser or the Electron application either for printing or exporting as PDF.
diff --git a/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md b/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
index 62e5b4c63..05ae225da 100644
--- a/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
+++ b/docs/User Guide/User Guide/Theme development/Custom app-wide CSS.md
@@ -18,7 +18,7 @@ Adding a new _app CSS note_ or modifying an existing one does not immediately ap
> [!TIP]
> Since v0.99.2, it's no longer possible to use `#appCss` to customize the printing CSS, since the printing is now done in an isolated environment.
>
-> However, it's still possible to customize the CSS via `~printCss`; see Printing and exporting to PDF for more information.
+> However, it's still possible to customize the CSS via `~printCss`; see Printing & Exporting as PDF for more information.
### Per-workspace styles
From 71d7403690e4306f644b84f36ad72b0d983cad2e Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Fri, 7 Nov 2025 17:48:37 +0200
Subject: [PATCH 04/17] feat(print): support CSS for collections too
---
apps/client/src/print.tsx | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/print.tsx b/apps/client/src/print.tsx
index 88100c4cb..a29b73830 100644
--- a/apps/client/src/print.tsx
+++ b/apps/client/src/print.tsx
@@ -92,7 +92,10 @@ function CollectionRenderer({ note, onReady }: RendererProps) {
ntxId="print"
highlightedTokens={null}
media="print"
- onReady={onReady}
+ onReady={async () => {
+ await loadCustomCss(note);
+ onReady();
+ }}
/>;
}
@@ -107,6 +110,7 @@ function Error404({ noteId }: { noteId: string }) {
async function loadCustomCss(note: FNote) {
const printCssNotes = await note.getRelationTargets("printCss");
+ let loadPromises: JQueryPromise[] = [];
for (const printCssNote of printCssNotes) {
if (!printCssNote || (printCssNote.type !== "code" && printCssNote.mime !== "text/css")) continue;
@@ -114,8 +118,15 @@ async function loadCustomCss(note: FNote) {
const linkEl = document.createElement("link");
linkEl.href = `/api/notes/${printCssNote.noteId}/download`;
linkEl.rel = "stylesheet";
+
+ const promise = $.Deferred();
+ loadPromises.push(promise.promise());
+ linkEl.onload = () => promise.resolve();
+
document.head.appendChild(linkEl);
}
+
+ await Promise.allSettled(loadPromises);
}
main();
From 44b34d1ea01a73e30261e034308c20843e35b057 Mon Sep 17 00:00:00 2001
From: contributor
Date: Fri, 7 Nov 2025 19:55:38 +0200
Subject: [PATCH 05/17] send global shortcut to current window, not the first
one
---
apps/server/src/services/window.ts | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts
index 459ebdf59..cb047dba4 100644
--- a/apps/server/src/services/window.ts
+++ b/apps/server/src/services/window.ts
@@ -337,14 +337,15 @@ async function registerGlobalShortcuts() {
const result = globalShortcut.register(
translatedShortcut,
cls.wrap(() => {
- if (!mainWindow) {
+ const targetWindow = getLastFocusedWindow() || mainWindow;
+ if (!targetWindow) {
return;
}
// window may be hidden / not in focus
- mainWindow.focus();
+ targetWindow.focus();
- mainWindow.webContents.send("globalShortcut", action.actionName);
+ targetWindow.webContents.send("globalShortcut", action.actionName);
})
);
From a29597a4bf59a3e729aacfac63d9e2efed34d7c8 Mon Sep 17 00:00:00 2001
From: contributor
Date: Fri, 7 Nov 2025 20:20:03 +0200
Subject: [PATCH 06/17] add safety check to ensure electron window is not
destroyed
---
apps/server/src/services/window.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts
index cb047dba4..844c54a28 100644
--- a/apps/server/src/services/window.ts
+++ b/apps/server/src/services/window.ts
@@ -338,7 +338,7 @@ async function registerGlobalShortcuts() {
translatedShortcut,
cls.wrap(() => {
const targetWindow = getLastFocusedWindow() || mainWindow;
- if (!targetWindow) {
+ if (!targetWindow || targetWindow.isDestroyed()) {
return;
}
From 9a5f2f8d3b177153e6f56e4d5c711f53709848f1 Mon Sep 17 00:00:00 2001
From: contributor
Date: Fri, 7 Nov 2025 21:08:50 +0200
Subject: [PATCH 07/17] make global shortcut work with windows in system tray
---
apps/server/src/services/window.ts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts
index 844c54a28..9eed23536 100644
--- a/apps/server/src/services/window.ts
+++ b/apps/server/src/services/window.ts
@@ -343,6 +343,10 @@ async function registerGlobalShortcuts() {
}
// window may be hidden / not in focus
+ if (targetWindow.isMinimized()) {
+ targetWindow.restore();
+ }
+ targetWindow.show();
targetWindow.focus();
targetWindow.webContents.send("globalShortcut", action.actionName);
From f629f564cd9fdaf1a60cd5c36d0df00f6bee9875 Mon Sep 17 00:00:00 2001
From: contributor
Date: Fri, 7 Nov 2025 21:15:35 +0200
Subject: [PATCH 08/17] add reusable showAndFocusWindow function
---
apps/server/src/services/window.ts | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts
index 9eed23536..3f0813219 100644
--- a/apps/server/src/services/window.ts
+++ b/apps/server/src/services/window.ts
@@ -343,11 +343,7 @@ async function registerGlobalShortcuts() {
}
// window may be hidden / not in focus
- if (targetWindow.isMinimized()) {
- targetWindow.restore();
- }
- targetWindow.show();
- targetWindow.focus();
+ showAndFocusWindow(targetWindow);
targetWindow.webContents.send("globalShortcut", action.actionName);
})
@@ -363,6 +359,17 @@ async function registerGlobalShortcuts() {
}
}
+function showAndFocusWindow(window: BrowserWindow) {
+ if (!window) return;
+
+ if (window.isMinimized()) {
+ window.restore();
+ }
+
+ window.show();
+ window.focus();
+}
+
function getMainWindow() {
return mainWindow;
}
From 7f6be13a181d781ba0ccd1b79c2c3871f8078a1e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 01:37:08 +0000
Subject: [PATCH 09/17] chore(deps): update dependency vite to v7.2.2
---
apps/server/package.json | 2 +-
apps/website/package.json | 2 +-
package.json | 2 +-
pnpm-lock.yaml | 114 ++++++++++++++++++--------------------
4 files changed, 56 insertions(+), 64 deletions(-)
diff --git a/apps/server/package.json b/apps/server/package.json
index fb479813a..761f90f59 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -126,7 +126,7 @@
"tmp": "0.2.5",
"turndown": "7.2.2",
"unescape": "1.0.1",
- "vite": "7.2.1",
+ "vite": "7.2.2",
"ws": "8.18.3",
"xml2js": "0.6.2",
"yauzl": "3.2.0"
diff --git a/apps/website/package.json b/apps/website/package.json
index 703f8773a..aff44ddae 100644
--- a/apps/website/package.json
+++ b/apps/website/package.json
@@ -22,7 +22,7 @@
"eslint-config-preact": "2.0.0",
"typescript": "5.9.3",
"user-agent-data-types": "0.4.2",
- "vite": "7.2.1"
+ "vite": "7.2.2"
},
"eslintConfig": {
"extends": "preact"
diff --git a/package.json b/package.json
index 10fe5fbf0..10407a7f9 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,7 @@
"typescript": "~5.9.0",
"typescript-eslint": "8.46.3",
"upath": "2.0.1",
- "vite": "7.2.1",
+ "vite": "7.2.2",
"vite-plugin-dts": "~4.5.0",
"vitest": "3.2.4"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a93b37fe7..65d4cb239 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -102,7 +102,7 @@ importers:
version: 0.18.0
rollup-plugin-webpack-stats:
specifier: 2.1.7
- version: 2.1.7(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.1.7(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
tslib:
specifier: 2.8.1
version: 2.8.1
@@ -119,11 +119,11 @@ importers:
specifier: 2.0.1
version: 2.0.1
vite:
- specifier: 7.2.1
- version: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ specifier: 7.2.2
+ version: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vite-plugin-dts:
specifier: ~4.5.0
- version: 4.5.4(@types/node@24.10.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 4.5.4(@types/node@24.10.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -307,7 +307,7 @@ importers:
version: 5.0.0
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
'@types/bootstrap':
specifier: 5.2.10
version: 5.2.10
@@ -340,7 +340,7 @@ importers:
version: 0.7.2
vite-plugin-static-copy:
specifier: 3.1.4
- version: 3.1.4(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 3.1.4(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
apps/db-compare:
dependencies:
@@ -503,7 +503,7 @@ importers:
version: 2.1.3(electron@38.5.0)
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
'@triliumnext/commons':
specifier: workspace:*
version: link:../../packages/commons
@@ -781,8 +781,8 @@ importers:
specifier: 1.0.1
version: 1.0.1
vite:
- specifier: 7.2.1
- version: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ specifier: 7.2.2
+ version: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
ws:
specifier: 8.18.3
version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -822,7 +822,7 @@ importers:
devDependencies:
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
eslint:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
@@ -836,8 +836,8 @@ importers:
specifier: 0.4.2
version: 0.4.2
vite:
- specifier: 7.2.1
- version: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ specifier: 7.2.2
+ version: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
packages/ckeditor5:
dependencies:
@@ -889,7 +889,7 @@ importers:
version: 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 3.2.4
- version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: 3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -922,7 +922,7 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -949,7 +949,7 @@ importers:
version: 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 3.2.4
- version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: 3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -982,7 +982,7 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -1009,7 +1009,7 @@ importers:
version: 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 3.2.4
- version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: 3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -1042,7 +1042,7 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -1076,7 +1076,7 @@ importers:
version: 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 3.2.4
- version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: 3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -1109,7 +1109,7 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -1143,7 +1143,7 @@ importers:
version: 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 3.2.4
- version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: 3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -1176,7 +1176,7 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -14139,8 +14139,8 @@ packages:
peerDependencies:
vite: 5.x || 6.x || 7.x
- vite@7.2.1:
- resolution: {integrity: sha512-qTl3VF7BvOupTR85Zc561sPEgxyUSNSvTQ9fit7DEMP7yPgvvIGm5Zfa1dOM+kOwWGNviK9uFM9ra77+OjK7lQ==}
+ vite@7.2.2:
+ resolution: {integrity: sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -15772,8 +15772,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-editor-multi-root@47.2.0':
dependencies:
@@ -15796,8 +15794,6 @@ snapshots:
'@ckeditor/ckeditor5-table': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-emoji@47.2.0':
dependencies:
@@ -15980,8 +15976,6 @@ snapshots:
'@ckeditor/ckeditor5-widget': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-icons@47.2.0': {}
@@ -16281,8 +16275,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -18646,18 +18638,18 @@ snapshots:
'@popperjs/core@2.11.8': {}
- '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.0
'@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0)
- '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
'@rollup/pluginutils': 4.2.1
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0)
debug: 4.4.1
picocolors: 1.1.1
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- vite-prerender-plugin: 0.5.11(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite-prerender-plugin: 0.5.11(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
transitivePeerDependencies:
- preact
- supports-color
@@ -18670,7 +18662,7 @@ snapshots:
'@prefresh/utils@1.2.1': {}
- '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.0
'@prefresh/babel-plugin': 0.5.2
@@ -18678,7 +18670,7 @@ snapshots:
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
preact: 10.27.2
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -20714,11 +20706,11 @@ snapshots:
- bufferutil
- utf-8-validate
- '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
+ '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
dependencies:
'@testing-library/dom': 10.4.0
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0)
- '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
'@vitest/utils': 3.2.4
magic-string: 0.30.18
sirv: 3.0.1
@@ -20767,7 +20759,7 @@ snapshots:
tinyrainbow: 2.0.0
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.10)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
optionalDependencies:
- '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
transitivePeerDependencies:
- supports-color
@@ -20779,14 +20771,14 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.18
optionalDependencies:
msw: 2.7.5(@types/node@24.10.0)(typescript@5.9.3)
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -29228,11 +29220,11 @@ snapshots:
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29
optional: true
- rollup-plugin-stats@1.5.2(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ rollup-plugin-stats@1.5.2(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
optionalDependencies:
rolldown: 1.0.0-beta.29
rollup: 4.52.0
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
rollup-plugin-styles@4.0.0(rollup@4.40.0):
dependencies:
@@ -29261,13 +29253,13 @@ snapshots:
'@rollup/pluginutils': 5.1.4(rollup@4.40.0)
rollup: 4.40.0
- rollup-plugin-webpack-stats@2.1.7(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ rollup-plugin-webpack-stats@2.1.7(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
- rollup-plugin-stats: 1.5.2(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ rollup-plugin-stats: 1.5.2(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
optionalDependencies:
rolldown: 1.0.0-beta.29
rollup: 4.52.0
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
rollup@4.40.0:
dependencies:
@@ -31269,7 +31261,7 @@ snapshots:
debug: 4.4.3(supports-color@6.0.0)
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -31284,7 +31276,7 @@ snapshots:
- tsx
- yaml
- vite-plugin-dts@4.5.4(@types/node@24.10.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-dts@4.5.4(@types/node@24.10.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
'@microsoft/api-extractor': 7.52.8(@types/node@24.10.0)
'@rollup/pluginutils': 5.1.4(rollup@4.52.0)
@@ -31297,27 +31289,27 @@ snapshots:
magic-string: 0.30.17
typescript: 5.9.3
optionalDependencies:
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
- vite-plugin-static-copy@3.1.4(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-static-copy@3.1.4(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
chokidar: 3.6.0
p-map: 7.0.3
picocolors: 1.1.1
tinyglobby: 0.2.15
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
svgo: 3.3.2
typescript: 5.9.3
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- vite-prerender-plugin@0.5.11(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-prerender-plugin@0.5.11(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
kolorist: 1.8.0
magic-string: 0.30.18
@@ -31325,9 +31317,9 @@ snapshots:
simple-code-frame: 1.3.0
source-map: 0.7.6
stack-trace: 1.0.0-pre2
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
+ vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3)
@@ -31351,7 +31343,7 @@ snapshots:
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -31369,13 +31361,13 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
vite-node: 3.2.4(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
'@types/node': 24.10.0
- '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.0)(typescript@5.9.3))(playwright@1.56.1)(utf-8-validate@6.0.5)(vite@7.2.2(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 3.2.4(vitest@3.2.4)
happy-dom: 20.0.10
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
From d75279316a6634e764fda43db2a654e5fc9bfdb4 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 01:37:54 +0000
Subject: [PATCH 10/17] fix(deps): update dependency i18next to v25.6.1
---
apps/client/package.json | 2 +-
apps/server/package.json | 2 +-
apps/website/package.json | 2 +-
pnpm-lock.yaml | 30 +++++++++++++-----------------
4 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/apps/client/package.json b/apps/client/package.json
index d2ca22049..8cde2f7ca 100644
--- a/apps/client/package.json
+++ b/apps/client/package.json
@@ -43,7 +43,7 @@
"draggabilly": "3.0.0",
"force-graph": "1.51.0",
"globals": "16.5.0",
- "i18next": "25.6.0",
+ "i18next": "25.6.1",
"i18next-http-backend": "3.0.2",
"jquery": "3.7.1",
"jquery.fancytree": "2.38.5",
diff --git a/apps/server/package.json b/apps/server/package.json
index fb479813a..fb8f441ea 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -97,7 +97,7 @@
"html2plaintext": "2.1.4",
"http-proxy-agent": "7.0.2",
"https-proxy-agent": "7.0.6",
- "i18next": "25.6.0",
+ "i18next": "25.6.1",
"i18next-fs-backend": "2.6.0",
"image-type": "6.0.0",
"ini": "6.0.0",
diff --git a/apps/website/package.json b/apps/website/package.json
index 703f8773a..c9553790e 100644
--- a/apps/website/package.json
+++ b/apps/website/package.json
@@ -9,7 +9,7 @@
"preview": "pnpm build && vite preview"
},
"dependencies": {
- "i18next": "25.6.0",
+ "i18next": "25.6.1",
"i18next-http-backend": "3.0.2",
"preact": "10.27.2",
"preact-iso": "2.11.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a93b37fe7..a826c274d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -239,8 +239,8 @@ importers:
specifier: 16.5.0
version: 16.5.0
i18next:
- specifier: 25.6.0
- version: 25.6.0(typescript@5.9.3)
+ specifier: 25.6.1
+ version: 25.6.1(typescript@5.9.3)
i18next-http-backend:
specifier: 3.0.2
version: 3.0.2(encoding@0.1.13)
@@ -288,7 +288,7 @@ importers:
version: 10.27.2
react-i18next:
specifier: 16.2.4
- version: 16.2.4(i18next@25.6.0(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
+ version: 16.2.4(i18next@25.6.1(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
reveal.js:
specifier: 5.2.1
version: 5.2.1
@@ -694,8 +694,8 @@ importers:
specifier: 7.0.6
version: 7.0.6
i18next:
- specifier: 25.6.0
- version: 25.6.0(typescript@5.9.3)
+ specifier: 25.6.1
+ version: 25.6.1(typescript@5.9.3)
i18next-fs-backend:
specifier: 2.6.0
version: 2.6.0
@@ -802,8 +802,8 @@ importers:
apps/website:
dependencies:
i18next:
- specifier: 25.6.0
- version: 25.6.0(typescript@5.9.3)
+ specifier: 25.6.1
+ version: 25.6.1(typescript@5.9.3)
i18next-http-backend:
specifier: 3.0.2
version: 3.0.2(encoding@0.1.13)
@@ -818,7 +818,7 @@ importers:
version: 6.6.3(preact@10.27.2)
react-i18next:
specifier: 16.2.4
- version: 16.2.4(i18next@25.6.0(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
+ version: 16.2.4(i18next@25.6.1(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
devDependencies:
'@preact/preset-vite':
specifier: 2.10.2
@@ -8860,8 +8860,8 @@ packages:
i18next-http-backend@3.0.2:
resolution: {integrity: sha512-PdlvPnvIp4E1sYi46Ik4tBYh/v/NbYfFFgTjkwFl0is8A18s7/bx9aXqsrOax9WUbeNS6mD2oix7Z0yGGf6m5g==}
- i18next@25.6.0:
- resolution: {integrity: sha512-tTn8fLrwBYtnclpL5aPXK/tAYBLWVvoHM1zdfXoRNLcI+RvtMsoZRV98ePlaW3khHYKuNh/Q65W/+NVFUeIwVw==}
+ i18next@25.6.1:
+ resolution: {integrity: sha512-yUWvdXtalZztmKrKw3yz/AvSP3yKyqIkVPx/wyvoYy9lkLmwzItLxp0iHZLG5hfVQ539Jor4XLO+U+NHIXg7pw==}
peerDependencies:
typescript: ^5
peerDependenciesMeta:
@@ -15579,8 +15579,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-watchdog': 47.2.0
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
@@ -16281,8 +16279,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -25144,7 +25140,7 @@ snapshots:
transitivePeerDependencies:
- encoding
- i18next@25.6.0(typescript@5.9.3):
+ i18next@25.6.1(typescript@5.9.3):
dependencies:
'@babel/runtime': 7.28.4
optionalDependencies:
@@ -28801,11 +28797,11 @@ snapshots:
react: 19.2.0
scheduler: 0.27.0
- react-i18next@16.2.4(i18next@25.6.0(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3):
+ react-i18next@16.2.4(i18next@25.6.1(typescript@5.9.3))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3):
dependencies:
'@babel/runtime': 7.28.4
html-parse-stringify: 3.0.1
- i18next: 25.6.0(typescript@5.9.3)
+ i18next: 25.6.1(typescript@5.9.3)
react: 19.2.0
use-sync-external-store: 1.6.0(react@19.2.0)
optionalDependencies:
From d95eb9f5d3189fb8fddcc535f7bbd3a8b7cb14d1 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 01:38:37 +0000
Subject: [PATCH 11/17] fix(deps): update dependency marked to v16.4.2
---
apps/client/package.json | 2 +-
apps/server/package.json | 2 +-
pnpm-lock.yaml | 20 ++++++++------------
3 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/apps/client/package.json b/apps/client/package.json
index d2ca22049..3cc198904 100644
--- a/apps/client/package.json
+++ b/apps/client/package.json
@@ -53,7 +53,7 @@
"leaflet": "1.9.4",
"leaflet-gpx": "2.2.0",
"mark.js": "8.11.1",
- "marked": "16.4.1",
+ "marked": "16.4.2",
"mermaid": "11.12.1",
"mind-elixir": "5.3.5",
"normalize.css": "8.0.1",
diff --git a/apps/server/package.json b/apps/server/package.json
index fb479813a..57c9a4d2e 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -105,7 +105,7 @@
"is-svg": "6.1.0",
"jimp": "1.6.0",
"js-yaml": "4.1.0",
- "marked": "16.4.1",
+ "marked": "16.4.2",
"mime-types": "3.0.1",
"multer": "2.0.2",
"normalize-strings": "1.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a93b37fe7..b72a63c6c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -269,8 +269,8 @@ importers:
specifier: 8.11.1
version: 8.11.1
marked:
- specifier: 16.4.1
- version: 16.4.1
+ specifier: 16.4.2
+ version: 16.4.2
mermaid:
specifier: 11.12.1
version: 11.12.1
@@ -718,8 +718,8 @@ importers:
specifier: 4.1.0
version: 4.1.0
marked:
- specifier: 16.4.1
- version: 16.4.1
+ specifier: 16.4.2
+ version: 16.4.2
mime-types:
specifier: 3.0.1
version: 3.0.1
@@ -9954,8 +9954,8 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
- marked@16.4.1:
- resolution: {integrity: sha512-ntROs7RaN3EvWfy3EZi14H4YxmT6A5YvywfhO+0pm+cH/dnSQRmdAmoFIc3B9aiwTehyk7pESH4ofyBY+V5hZg==}
+ marked@16.4.2:
+ resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==}
engines: {node: '>= 20'}
hasBin: true
@@ -15579,8 +15579,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-watchdog': 47.2.0
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
@@ -16281,8 +16279,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -26338,7 +26334,7 @@ snapshots:
markdown-table@3.0.4: {}
- marked@16.4.1: {}
+ marked@16.4.2: {}
marked@4.3.0: {}
@@ -26537,7 +26533,7 @@ snapshots:
katex: 0.16.25
khroma: 2.1.0
lodash-es: 4.17.21
- marked: 16.4.1
+ marked: 16.4.2
roughjs: 4.6.6
stylis: 4.3.6
ts-dedent: 2.2.0
From bbe96c3967e3fa5125b235a80b09c19168fc252d Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 01:39:17 +0000
Subject: [PATCH 12/17] chore(deps): update dependency electron to v38.6.0
---
apps/desktop/package.json | 2 +-
apps/edit-docs/package.json | 2 +-
apps/server/package.json | 2 +-
pnpm-lock.yaml | 36 ++++++++++++++++++------------------
4 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index 5cf38b041..92da43cbb 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -35,7 +35,7 @@
"@triliumnext/commons": "workspace:*",
"@triliumnext/server": "workspace:*",
"copy-webpack-plugin": "13.0.1",
- "electron": "38.5.0",
+ "electron": "38.6.0",
"@electron-forge/cli": "7.10.2",
"@electron-forge/maker-deb": "7.10.2",
"@electron-forge/maker-dmg": "7.10.2",
diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json
index 958a54f3d..948ff104c 100644
--- a/apps/edit-docs/package.json
+++ b/apps/edit-docs/package.json
@@ -12,7 +12,7 @@
"@triliumnext/desktop": "workspace:*",
"@types/fs-extra": "11.0.4",
"copy-webpack-plugin": "13.0.1",
- "electron": "38.5.0",
+ "electron": "38.6.0",
"fs-extra": "11.3.2"
},
"scripts": {
diff --git a/apps/server/package.json b/apps/server/package.json
index fb479813a..c5b7a7a83 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -81,7 +81,7 @@
"debounce": "3.0.0",
"debug": "4.4.3",
"ejs": "3.1.10",
- "electron": "38.5.0",
+ "electron": "38.6.0",
"electron-debug": "4.1.0",
"electron-window-state": "5.0.3",
"escape-html": "1.0.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a93b37fe7..912a49708 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -361,7 +361,7 @@ importers:
dependencies:
'@electron/remote':
specifier: 2.1.3
- version: 2.1.3(electron@38.5.0)
+ version: 2.1.3(electron@38.6.0)
better-sqlite3:
specifier: 12.4.1
version: 12.4.1
@@ -418,8 +418,8 @@ importers:
specifier: 13.0.1
version: 13.0.1(webpack@5.101.3(esbuild@0.25.12))
electron:
- specifier: 38.5.0
- version: 38.5.0
+ specifier: 38.6.0
+ version: 38.6.0
prebuild-install:
specifier: 7.1.3
version: 7.1.3
@@ -474,8 +474,8 @@ importers:
specifier: 13.0.1
version: 13.0.1(webpack@5.101.3(esbuild@0.25.12))
electron:
- specifier: 38.5.0
- version: 38.5.0
+ specifier: 38.6.0
+ version: 38.6.0
fs-extra:
specifier: 11.3.2
version: 11.3.2
@@ -500,7 +500,7 @@ importers:
version: 7.1.1
'@electron/remote':
specifier: 2.1.3
- version: 2.1.3(electron@38.5.0)
+ version: 2.1.3(electron@38.6.0)
'@preact/preset-vite':
specifier: 2.10.2
version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.1(@types/node@24.10.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
@@ -646,8 +646,8 @@ importers:
specifier: 3.1.10
version: 3.1.10
electron:
- specifier: 38.5.0
- version: 38.5.0
+ specifier: 38.6.0
+ version: 38.6.0
electron-debug:
specifier: 4.1.0
version: 4.1.0
@@ -7619,8 +7619,8 @@ packages:
resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==}
engines: {node: '>=8.0.0'}
- electron@38.5.0:
- resolution: {integrity: sha512-dbC7V+eZweerYMJfxQldzHOg37a1VdNMCKxrJxlkp3cA30gOXtXSg4ZYs07L5+QwI19WOy1uyvtEUgbw1RRsCQ==}
+ electron@38.6.0:
+ resolution: {integrity: sha512-68OFNxJlrEStA+t8k5atzf4frJddvRR1N1oalr49Ll8YZ0+0nEsDhw4UNhTCoZKTjSYcxFF/4rt+sco+OlnB3g==}
engines: {node: '>= 12.20.55'}
hasBin: true
@@ -15369,6 +15369,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-upload': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-ai@47.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)':
dependencies:
@@ -15515,6 +15517,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-code-block@47.2.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)':
dependencies:
@@ -15579,8 +15583,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-watchdog': 47.2.0
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
@@ -16281,8 +16283,6 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -17127,9 +17127,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@electron/remote@2.1.3(electron@38.5.0)':
+ '@electron/remote@2.1.3(electron@38.6.0)':
dependencies:
- electron: 38.5.0
+ electron: 38.6.0
'@electron/universal@2.0.2':
dependencies:
@@ -23351,10 +23351,10 @@ snapshots:
- supports-color
optional: true
- electron@38.5.0:
+ electron@38.6.0:
dependencies:
'@electron/get': 2.0.3
- '@types/node': 22.18.12
+ '@types/node': 22.18.13
extract-zip: 2.0.1
transitivePeerDependencies:
- supports-color
From 2e59d9d7bc282b2fff2aae27dcc896836e248e30 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 01:39:22 +0000
Subject: [PATCH 13/17] chore(deps): update dependency rcedit to v5
---
_regroup/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_regroup/package.json b/_regroup/package.json
index ce0e70d45..56a419e99 100644
--- a/_regroup/package.json
+++ b/_regroup/package.json
@@ -46,7 +46,7 @@
"esm": "3.2.25",
"jsdoc": "4.0.5",
"lorem-ipsum": "2.0.8",
- "rcedit": "4.0.1",
+ "rcedit": "5.0.0",
"rimraf": "6.1.0",
"tslib": "2.8.1"
},
From 0e95610d4e2f2113ac0494b45a528abcb842bc8a Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sat, 8 Nov 2025 11:14:59 +0200
Subject: [PATCH 14/17] fix(server): attachments not copied for templates
(closes #7612)
---
apps/server/src/services/notes.ts | 21 ++++++++++++++++++++-
packages/commons/src/lib/rows.ts | 2 +-
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/apps/server/src/services/notes.ts b/apps/server/src/services/notes.ts
index 3ecf98e0a..4e8869414 100644
--- a/apps/server/src/services/notes.ts
+++ b/apps/server/src/services/notes.ts
@@ -97,6 +97,23 @@ function copyChildAttributes(parentNote: BNote, childNote: BNote) {
}
}
+function copyAttachments(origNote: BNote, newNote: BNote) {
+ for (const attachment of origNote.getAttachments()) {
+ if (attachment.role === "image") {
+ // Handled separately, see `checkImageAttachments`.
+ continue;
+ }
+
+ const newAttachment = new BAttachment({
+ ...attachment,
+ attachmentId: undefined,
+ ownerId: newNote.noteId
+ });
+
+ newAttachment.save();
+ }
+}
+
function getNewNoteTitle(parentNote: BNote) {
let title = t("notes.new-note");
@@ -225,11 +242,13 @@ function createNewNote(params: NoteParams): {
asyncPostProcessContent(note, params.content);
if (params.templateNoteId) {
- if (!becca.getNote(params.templateNoteId)) {
+ const templateNote = becca.getNote(params.templateNoteId);
+ if (!templateNote) {
throw new Error(`Template note '${params.templateNoteId}' does not exist.`);
}
note.addRelation("template", params.templateNoteId);
+ copyAttachments(templateNote, note);
// no special handling for ~inherit since it doesn't matter if it's assigned with the note creation or later
}
diff --git a/packages/commons/src/lib/rows.ts b/packages/commons/src/lib/rows.ts
index 9bb9d11d5..5710cf84f 100644
--- a/packages/commons/src/lib/rows.ts
+++ b/packages/commons/src/lib/rows.ts
@@ -12,7 +12,7 @@ export interface AttachmentRow {
isProtected?: boolean;
dateModified?: string;
utcDateModified?: string;
- utcDateScheduledForErasureSince?: string;
+ utcDateScheduledForErasureSince?: string | null;
isDeleted?: boolean;
deleteId?: string;
contentLength?: number;
From 53805e9c491dcdd4e8b70565fae96efe62be9206 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sat, 8 Nov 2025 11:27:18 +0200
Subject: [PATCH 15/17] fix(server/notes): images not saved on duplication
(fixes #7471)
---
apps/server/src/services/notes.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/server/src/services/notes.ts b/apps/server/src/services/notes.ts
index 4e8869414..3de73bc21 100644
--- a/apps/server/src/services/notes.ts
+++ b/apps/server/src/services/notes.ts
@@ -239,8 +239,6 @@ function createNewNote(params: NoteParams): {
}
}
- asyncPostProcessContent(note, params.content);
-
if (params.templateNoteId) {
const templateNote = becca.getNote(params.templateNoteId);
if (!templateNote) {
@@ -1037,6 +1035,8 @@ function duplicateSubtreeInner(origNote: BNote, origBranch: BBranch | null | und
}
}
+ asyncPostProcessContent(newNote, content);
+
return newNote;
}
From b0bd60b9a4040702b258cce220f19585042645db Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sat, 8 Nov 2025 18:01:58 +0200
Subject: [PATCH 16/17] feat(collections/calendar): use formatting locale
---
apps/client/src/widgets/collections/calendar/index.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.tsx b/apps/client/src/widgets/collections/calendar/index.tsx
index c1b288e27..ec1e9e23b 100644
--- a/apps/client/src/widgets/collections/calendar/index.tsx
+++ b/apps/client/src/widgets/collections/calendar/index.tsx
@@ -197,11 +197,11 @@ function usePlugins(isEditable: boolean, isCalendarRoot: boolean) {
}
function useLocale() {
- const [ locale ] = useTriliumOption("locale");
+ const [ formattingLocale ] = useTriliumOption("formattingLocale");
const [ calendarLocale, setCalendarLocale ] = useState();
useEffect(() => {
- const correspondingLocale = LOCALE_MAPPINGS[locale];
+ const correspondingLocale = LOCALE_MAPPINGS[formattingLocale];
if (correspondingLocale) {
correspondingLocale().then((locale) => setCalendarLocale(locale.default));
} else {
From 3463cb83a05f248267db6ca79a3dc8b3fc03a7e7 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sat, 8 Nov 2025 20:17:56 +0200
Subject: [PATCH 17/17] fix(collections/board): cloned notes appearing twice
(closes #6786)
---
.../widgets/collections/board/data.spec.ts | 32 +++++++++++++++++++
.../src/widgets/collections/board/data.ts | 10 +++---
2 files changed, 38 insertions(+), 4 deletions(-)
create mode 100644 apps/client/src/widgets/collections/board/data.spec.ts
diff --git a/apps/client/src/widgets/collections/board/data.spec.ts b/apps/client/src/widgets/collections/board/data.spec.ts
new file mode 100644
index 000000000..357aea616
--- /dev/null
+++ b/apps/client/src/widgets/collections/board/data.spec.ts
@@ -0,0 +1,32 @@
+import { it, describe, expect } from "vitest";
+import { buildNote } from "../../../test/easy-froca";
+import { getBoardData } from "./data";
+import FBranch from "../../../entities/fbranch";
+import froca from "../../../services/froca";
+
+describe("Board data", () => {
+ it("deduplicates cloned notes", async () => {
+ const parentNote = buildNote({
+ title: "Board",
+ "#collection": "",
+ "#viewType": "board",
+ children: [
+ { id: "note1", title: "First note", "#status": "To Do" },
+ { id: "note2", title: "Second note", "#status": "In progress" },
+ { id: "note3", title: "Third note", "#status": "Done" }
+ ]
+ });
+ const branch = new FBranch(froca, {
+ branchId: "note1_note2",
+ notePosition: 10,
+ fromSearchNote: false,
+ noteId: "note2",
+ parentNoteId: "note1"
+ });
+ froca.branches["note1_note2"] = branch;
+ froca.getNoteFromCache("note1").addChild("note2", "note1_note2", false);
+ const data = await getBoardData(parentNote, "status", {}, false);
+ const noteIds = Array.from(data.byColumn.values()).flat().map(item => item.note.noteId);
+ expect(noteIds.length).toBe(3);
+ });
+});
diff --git a/apps/client/src/widgets/collections/board/data.ts b/apps/client/src/widgets/collections/board/data.ts
index db315564a..f283e2dc7 100644
--- a/apps/client/src/widgets/collections/board/data.ts
+++ b/apps/client/src/widgets/collections/board/data.ts
@@ -11,7 +11,7 @@ export async function getBoardData(parentNote: FNote, groupByColumn: string, per
const byColumn: ColumnMap = new Map();
// First, scan all notes to find what columns actually exist
- await recursiveGroupBy(parentNote.getChildBranches(), byColumn, groupByColumn, includeArchived);
+ await recursiveGroupBy(parentNote.getChildBranches(), byColumn, groupByColumn, includeArchived, new Set());
// Get all columns that exist in the notes
const columnsFromNotes = [...byColumn.keys()];
@@ -61,26 +61,28 @@ export async function getBoardData(parentNote: FNote, groupByColumn: string, per
};
}
-async function recursiveGroupBy(branches: FBranch[], byColumn: ColumnMap, groupByColumn: string, includeArchived: boolean) {
+async function recursiveGroupBy(branches: FBranch[], byColumn: ColumnMap, groupByColumn: string, includeArchived: boolean, seenNoteIds: Set) {
for (const branch of branches) {
const note = await branch.getNote();
if (!note || (!includeArchived && note.isArchived)) continue;
if (note.type !== "search" && note.hasChildren()) {
- await recursiveGroupBy(note.getChildBranches(), byColumn, groupByColumn, includeArchived);
+ await recursiveGroupBy(note.getChildBranches(), byColumn, groupByColumn, includeArchived, seenNoteIds);
}
const group = note.getLabelValue(groupByColumn);
- if (!group) {
+ if (!group || seenNoteIds.has(note.noteId)) {
continue;
}
if (!byColumn.has(group)) {
byColumn.set(group, []);
}
+
byColumn.get(group)!.push({
branch,
note
});
+ seenNoteIds.add(note.noteId);
}
}