Merge remote-tracking branch 'origin/main' into feature/vibrancy

This commit is contained in:
Elian Doran
2026-01-30 18:45:30 +02:00
50 changed files with 1381 additions and 837 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -0,0 +1,309 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 256 256"
style="enable-background:new 0 0 256 256;"
xml:space="preserve"
sodipodi:docname="icon-installer-purple.svg"
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs34" /><sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="3.5449219"
inkscape:cx="96.61708"
inkscape:cy="167.70468"
inkscape:window-width="1536"
inkscape:window-height="1494"
inkscape:window-x="5312"
inkscape:window-y="379"
inkscape:window-maximized="0"
inkscape:current-layer="g20" />
<style
type="text/css"
id="style1">
.st0{fill:#686768;}
.st1{fill:#808080;}
.st2{fill:url(#SVGID_1_);}
.st3{fill:url(#SVGID_2_);}
.st4{fill:url(#SVGID_3_);}
.st5{fill:#D9D9D9;}
.st6{fill:url(#SVGID_4_);}
.st7{opacity:0.47;}
.st8{fill:#5B5A5A;}
.st9{fill:#95C980;}
.st10{fill:#72B755;}
.st11{fill:#4FA52B;}
.st12{fill:#EE8C89;}
.st13{fill:#E96562;}
.st14{fill:#E33F3B;}
.st15{fill:#EFB075;}
.st16{fill:#E99547;}
.st17{fill:#E47B19;}
.st18{opacity:0.38;fill:url(#SVGID_5_);enable-background:new ;}
</style>
<g
id="Layer_1_2_">
<g
id="Layer_1_1_">
</g>
</g>
<g
id="Layer_2_1_">
<polygon
class="st0"
points="69.5,48.6 69.3,93.1 4,95.2 3.3,93.7 29.6,53.4 "
id="polygon1" />
<path
class="st1"
d="M69.5,47l-0.2,46.1c0,0-66.3,1-66,0.6l26.1-41.8L69.5,47z"
id="path1" />
<linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="69.458"
y1="120.0202"
x2="219.2576"
y2="120.0202"
gradientTransform="matrix(1 0 0 1 0 8)">
<stop
offset="0"
style="stop-color:#E3E3E3"
id="stop1" />
<stop
offset="1"
style="stop-color:#F4F4F4"
id="stop2" />
</linearGradient>
<polygon
class="st2"
points="69.5,47 218.9,55.6 219.3,202.6 69.9,209.1 "
id="polygon2" />
<linearGradient
id="SVGID_2_"
gradientUnits="userSpaceOnUse"
x1="29.2408"
y1="120.0202"
x2="69.8681"
y2="120.0202"
gradientTransform="matrix(1 0 0 1 0 8)">
<stop
offset="0"
style="stop-color:#D9D9D9"
id="stop3" />
<stop
offset="1"
style="stop-color:#D4D4D4"
id="stop4" />
</linearGradient>
<polygon
class="st3"
points="29.2,51.8 69.5,47 69.8,209.1 29.2,204.4 "
id="polygon4" />
<linearGradient
id="SVGID_3_"
gradientUnits="userSpaceOnUse"
x1="151.9309"
y1="42.7213"
x2="142.8473"
y2="-43.5726"
gradientTransform="matrix(0.9941 1.431752e-03 1.431754e-03 1.1143 -3.0394 44.4335)">
<stop
offset="0"
style="stop-color:#B3B3B3"
id="stop5" />
<stop
offset="0.4752"
style="stop-color:#B5B5B5"
id="stop6" />
<stop
offset="0.6464"
style="stop-color:#BCBCBC"
id="stop7" />
<stop
offset="0.7685"
style="stop-color:#C7C7C7"
id="stop8" />
<stop
offset="0.8671"
style="stop-color:#D8D8D8"
id="stop9" />
<stop
offset="0.9506"
style="stop-color:#EEEEEE"
id="stop10" />
<stop
offset="1"
style="stop-color:#FFFFFF"
id="stop11" />
</linearGradient>
<polygon
class="st4"
points="219.3,98.5 97.4,93.2 69.5,47.3 218.9,55.6 "
id="polygon11" />
<polygon
class="st1"
points="102,85.3 251.2,93 252.8,91.1 72.2,48.9 69.5,47 "
id="polygon12" />
<polygon
class="st5"
points="252.8,91.1 128,84.6 102,82.9 69.8,47.3 219.1,55.6 233.6,71.4 252.3,90.6 252.3,90.6 "
id="polygon13" />
<radialGradient
id="SVGID_4_"
cx="445.2994"
cy="-436.338"
r="4.0179"
gradientTransform="matrix(0.5088 -4.329579e-03 0.1464 14.7395 -92.0455 6569.5317)"
gradientUnits="userSpaceOnUse">
<stop
offset="0"
style="stop-color:#FFFFFF"
id="stop13" />
<stop
offset="6.758273e-02"
style="stop-color:#FFFFFF;stop-opacity:0.9324"
id="stop14" />
<stop
offset="1"
style="stop-color:#FFFFFF;stop-opacity:0"
id="stop15" />
</radialGradient>
<path
class="st6"
d="M72.2,152.5c0.2,26.2,0.9,42.4,0.1,42.4c-0.9,0-1.5-6.3-2.5-32.3c-1.1-26.1-1.4-85-0.5-85.1 C70.1,77.2,71.9,126.4,72.2,152.5z"
id="path15" />
<g
class="st7"
id="g17">
<path
class="st8"
d="M29.1,203.9l20.4,2.1c3.3,0.4,6.9,0.6,10.2,1.1l10.2,1.2h-0.1l74.7-3.2l37.4-1.7l9.3-0.4 c3.1-0.1,6.3-0.2,9.3-0.4l18.7-0.5l-18.7,1.2c-3.1,0.2-6.3,0.4-9.3,0.5l-9.3,0.4l-37.4,1.7l-74.5,3.2l0,0l0,0L59.7,208 c-3.3-0.4-6.8-0.9-10.2-1.4L29.1,203.9z"
id="path16" />
<path
class="st1"
d="M28.6,203.9c3.3,0.2,6.8,0.4,10.3,0.6s7.1,0.5,10.6,0.9l10.2,1.1l10.2,1.2l-0.1,1.1h-0.1v-1.1l74.8-3.1 l37.4-1.6l18.7-0.7l18.7-0.5v0.6l-18.7,1.1l-9.3,0.5l-9.3,0.4l-37.4,1.6l-74.7,3.1l0,0l0,0l-10.2-1.2l-10.2-1.4L29,203.8 L28.6,203.9z M30.3,204.1l19.2,2.5l10.2,1.4l10.2,1.2l0,0l74.7-3.3l37.4-1.7l9.3-0.4l9.3-0.5l18.7-1.2v0.6l-18.7,0.5l-18.7,0.7 l-37.4,1.7l-74.7,3.3v-1.1h0.1l-0.1,1.1l-10.2-1.2l-10.2-1.1c-3.3-0.4-6.5-0.6-9.7-1.1C36.6,205,33.5,204.5,30.3,204.1z"
id="path17" />
</g>
<g
id="g28">
<g
id="g27">
<g
id="g20">
<path
class="st9"
d="M181.4,136.4c-8.7,6.8-23.5,8.1-33.8,5.5c2.6-2.3,3.8-3.4,6.3-5.8c2.5-2.2,3.6-3.2,6-5.4 c8.4-7.4,12.5-10.8,20.7-17.7c-8.5,6.4-12.9,9.6-21.6,16.4c-2.5,2-3.7,2.8-6.1,4.8c-2.6,2-3.8,3.1-6.4,5 c-0.5-9.5,1.1-22.1,10.3-28.9c0.7-0.6,1.7-1.1,2.6-1.7c1.2-0.6,2.5-1.4,3.9-1.8c11.4-4.4,24.8-7.5,37.3-5.9 c0.7,6.5-4.9,18.9-11.8,28.2c-1,1.2-1.8,2.5-2.8,3.6C184.2,133.9,182.7,135.3,181.4,136.4z"
id="path18"
style="fill:#ab60e3;fill-opacity:1" />
<path
class="st10"
d="M185.6,132.4c-9.2,6-22.6,5.8-31.7,3.7c2.5-2.2,3.6-3.2,6-5.4c8.4-7.4,12.5-10.8,20.7-17.7 c-8.5,6.4-12.9,9.6-21.6,16.4c-2.5,2-3.7,2.8-6.1,4.8c-0.5-7.9,0.4-18.4,6.5-25.5c1.2-0.6,2.5-1.4,3.9-1.8 c11.4-4.6,24.8-7.5,37.3-5.9c0.7,6.5-4.9,18.9-11.8,28.2C187.5,130.1,186.5,131.3,185.6,132.4z"
id="path19"
style="fill:#8038b8;fill-opacity:1" />
<path
class="st11"
d="M188.5,128.9c-8.9,4.2-20.5,3.8-28.5,1.8c8.4-7.4,12.5-10.8,20.7-17.7c-8.5,6.4-12.9,9.6-21.6,16.4 c-0.5-6.8,0-15.7,4.3-22.6c11.4-4.4,24.8-7.5,37.3-5.9C201.2,107.4,195.5,119.9,188.5,128.9z"
id="path20"
style="fill:#560a8f;fill-opacity:1" />
</g>
<g
id="g23">
<path
class="st12"
d="M140.4,169.2c-3.6-8.9,0.5-19.6,4.7-26c1.1,2.5,1.6,3.7,2.7,6c1.1,2.3,1.6,3.4,2.6,5.7 c3.7,7.9,5.5,11.8,9.3,19.2c-3.1-7.6-4.7-11.6-7.9-19.7c-0.9-2.2-1.4-3.3-2.2-5.5c-1-2.3-1.5-3.6-2.3-6 c7.4,2.2,16.8,6.6,20.3,15c0.2,0.7,0.5,1.5,0.7,2.2c0.2,1,0.5,2.1,0.6,3.2c1.5,9.6-0.9,23-4.4,28c-5.5-0.9-14.5-7.7-20-15.1 c-0.7-1-1.5-2-2.1-3C141.7,171.9,141,170.6,140.4,169.2z"
id="path21"
style="fill:#bb9dd2;fill-opacity:1" />
<path
class="st13"
d="M142.5,173.3c-2.3-8.4,1.5-18.1,5.4-24c1.1,2.3,1.6,3.4,2.6,5.7c3.7,7.9,5.5,11.8,9.3,19.2 c-3.1-7.6-4.7-11.6-7.9-19.7c-0.9-2.2-1.4-3.3-2.2-5.5c6.3,1.7,14.4,5.2,18.7,11.3c0.2,1,0.5,2.1,0.6,3.2 c1.5,9.6-0.9,23-4.4,27.9c-5.5-0.9-14.5-7.7-20-15.1C143.9,175.2,143.3,174.3,142.5,173.3z"
id="path22"
style="fill:#9a6cbc;fill-opacity:1" />
<path
class="st14"
d="M144.6,176.2c-1.1-7.5,2.5-16,5.9-21.3c3.7,7.9,5.5,11.8,9.3,19.2c-3.1-7.6-4.7-11.6-7.9-19.7 c5.5,1.4,12.5,4.1,17.2,8.9c1.5,9.6-0.9,23-4.4,27.9C159,190.4,150.1,183.6,144.6,176.2z"
id="path23"
style="fill:#783ba5;fill-opacity:1" />
</g>
<g
id="g26">
<path
class="st15"
d="M125.9,116.6c10.5,4.3,16.5,15.4,18.8,23.4c-3-1-4.3-1.4-7.3-2.3c-2.8-0.9-4.2-1.4-6.9-2.2 c-9.7-3.2-14.5-4.9-23.9-8.2c9.1,3.8,13.7,5.8,23.1,9.6c2.6,1.1,3.9,1.6,6.5,2.7c2.7,1.1,4.1,1.6,6.9,2.7 c-7.4,4.2-18.4,8.4-28.3,4.6c-0.7-0.2-1.7-0.7-2.6-1.2c-1-0.6-2.2-1.2-3.3-2.1c-8.5-6-17.6-16.7-20.9-26.8 c4.9-3.4,17.6-4.2,28.3-2.3c1.5,0.2,2.8,0.5,4.3,0.9C122.7,115.4,124.3,115.8,125.9,116.6z"
id="path24"
style="fill:#ab60e3;fill-opacity:1" />
<path
class="st16"
d="M120.7,114.9c9.1,4.8,14.5,15,16.7,22.6c-2.8-0.9-4.2-1.4-6.9-2.2c-9.7-3.2-14.5-4.9-23.9-8.2 c9.1,3.8,13.7,5.8,23,9.6c2.6,1.1,3.9,1.6,6.5,2.7c-6.1,3.6-15.4,7.4-23.9,6c-1-0.6-2.2-1.2-3.3-2.1c-8.5-6-17.6-16.7-20.9-26.8 c4.9-3.4,17.6-4.2,28.3-2.3C118,114.2,119.4,114.4,120.7,114.9z"
id="path25"
style="fill:#8038b8;fill-opacity:1" />
<path
class="st17"
d="M116.6,113.9c7.5,5.3,12.1,14.4,14,21.3c-9.7-3.2-14.5-4.9-23.9-8.2c9.1,3.8,13.7,5.8,23.1,9.6 c-5.4,3.2-13,6.6-20.7,6.5c-8.5-6-17.6-16.7-20.9-26.8C93.2,112.8,105.7,112,116.6,113.9z"
id="path26"
style="fill:#6f2796;fill-opacity:1" />
</g>
</g>
</g>
<linearGradient
id="SVGID_5_"
gradientUnits="userSpaceOnUse"
x1="241.7537"
y1="104.2354"
x2="160.0455"
y2="55.1756"
gradientTransform="matrix(1 0 0 -1 0 256)">
<stop
offset="0.1721"
style="stop-color:#C7C7C7"
id="stop28" />
<stop
offset="0.3798"
style="stop-color:#D8D8D8"
id="stop29" />
<stop
offset="0.6814"
style="stop-color:#DADADA"
id="stop30" />
<stop
offset="0.7898"
style="stop-color:#E1E1E1"
id="stop31" />
<stop
offset="0.867"
style="stop-color:#ECECEC"
id="stop32" />
<stop
offset="0.8745"
style="stop-color:#EEEEEE"
id="stop33" />
<stop
offset="1"
style="stop-color:#FFFFFF"
id="stop34" />
</linearGradient>
<path
class="st18"
d="M219.1,128.3c-1,0.4-3.3,15.7-3.7,19.2c-0.7,5.8-3.9,28.7-11.1,41.2c-7.3,12.8-15.7,13.7-16.4,14.6l31.1-0.9 C219.1,179.1,219.1,151.5,219.1,128.3L219.1,128.3z"
id="path34" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -65,7 +65,7 @@
"toggle-image-properties": "Bildattribute umschalten",
"toggle-owned-attributes": "Eigene Attribute umschalten",
"toggle-inherited-attributes": "Vererbte Attribute umschalten",
"toggle-promoted-attributes": "Beworbene Attribute umschalten",
"toggle-promoted-attributes": "Hervorgehobene Attribute umschalten",
"toggle-link-map": "Link-Karte umschalten",
"toggle-note-info": "Notizinformationen umschalten",
"toggle-note-paths": "Notizpfade umschalten",
@@ -391,7 +391,7 @@
"toggle-ribbon-tab-image-properties": "Registerkarte Bilder-Eigenschaften umschalten",
"toggle-ribbon-tab-owned-attributes": "Registerkarte Besitzerattribute umschalten",
"toggle-ribbon-tab-inherited-attributes": "Registerkarte geerbte Attribute umschalten",
"toggle-ribbon-tab-promoted-attributes": "Registerkarte verliehene Attribute umschalten",
"toggle-ribbon-tab-promoted-attributes": "Registerkarte hervorgehobene Attribute umschalten",
"toggle-ribbon-tab-note-map": "Registerkarte Notizkarte umschalten",
"toggle-ribbon-tab-note-info": "Registerkarte Notiz-Info umschalten",
"toggle-ribbon-tab-note-paths": "Registerkarte Notiz-Pfad umschalten",

View File

@@ -293,7 +293,7 @@
"migration": {
"old_version": "La migración directa desde tu versión actual no está soportada. Por favor actualice a v0.60.4 primero y solo después a esta versión.",
"error_message": "Error durante la migración a la versión {{version}}: {{stack}}",
"wrong_db_version": "La versión de la DB {{version}} es más nueva que la versión de la DB actual {{targetVersion}}, lo que significa que fue creada por una versión más reciente e incompatible de Trilium. Actualice a la última versión de Trilium para resolver este problema."
"wrong_db_version": "La versión de la base de datos {{version}} es más nueva de lo que la aplicación espera {{targetVersion}}, lo que significa que fue creada por una versión más reciente e incompatible de Trilium. Actualice a la última versión de Trilium para resolver este problema."
},
"modals": {
"error_title": "Error"

View File

@@ -47,10 +47,10 @@ async function register(app: express.Application) {
vite.middlewares(req, res, next);
});
app.get(`/`, [ rootLimiter, auth.checkAuth, csrfMiddleware ], (req, res, next) => {
req.url = `/${assetUrlFragment}/src/index.html`;
req.url = `/${assetUrlFragment}/index.html`;
vite.middlewares(req, res, next);
});
app.get(`/index.ts`, [ rootLimiter ], (req, res, next) => {
app.get(`/src/index.ts`, [ rootLimiter ], (req, res, next) => {
req.url = `/${assetUrlFragment}/src/index.ts`;
vite.middlewares(req, res, next);
});
@@ -66,7 +66,7 @@ async function register(app: express.Application) {
// broken when closing the browser and coming back in to the page.
// The page is restored from cache, but the API call fail.
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
res.sendFile(path.join(publicDir, "src", "index.html"));
res.sendFile(path.join(publicDir, "index.html"));
});
app.use("/assets", persistentCacheStatic(path.join(publicDir, "assets")));
app.use(`/src`, persistentCacheStatic(path.join(publicDir, "src")));

View File

@@ -4,6 +4,7 @@ import { t } from "i18next";
import path from "path";
import url from "url";
import app_info from "./app_info.js";
import cls from "./cls.js";
import keyboardActionsService from "./keyboard_actions.js";
import log from "./log.js";
@@ -291,6 +292,9 @@ function getIcon() {
if (process.env.NODE_ENV === "development") {
return path.join(__dirname, "../../../desktop/electron-forge/app-icon/png/256x256-dev.png");
}
if (app_info.appVersion.includes("test")) {
return path.join(RESOURCE_DIR, "../public/assets/icon-dev.png");
}
return path.join(RESOURCE_DIR, "../public/assets/icon.png");
}