From d07c2d118fbfb841d297260c6827f61f941b6fec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 00:51:00 +0000 Subject: [PATCH 01/59] chore(deps): update dependency csrf-csrf to v4.0.3 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 6c05b43c7b..2a3acc7e6a 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -78,7 +78,7 @@ "cls-hooked": "4.2.2", "compression": "1.8.1", "cookie-parser": "1.4.7", - "csrf-csrf": "4.0.2", + "csrf-csrf": "4.0.3", "debounce": "3.0.0", "debug": "4.4.3", "ejs": "5.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c0aceac33..6be194217c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -698,8 +698,8 @@ importers: specifier: 1.4.7 version: 1.4.7 csrf-csrf: - specifier: 4.0.2 - version: 4.0.2 + specifier: 4.0.3 + version: 4.0.3 debounce: specifier: 3.0.0 version: 3.0.0 @@ -8778,8 +8778,8 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - csrf-csrf@4.0.2: - resolution: {integrity: sha512-jWI4uDjZn1EedVSa6WhiL6L6M5XmSemXLgCDGwrdPLtkCThSDDTj4ewokTTqrW8JZYcfJ3oY4LFCtXgQ2XAg5Q==} + csrf-csrf@4.0.3: + resolution: {integrity: sha512-DaygOzelL4Qo1pHwI9LPyZL+X2456/OzpT596kNeZGiTSqKVDOk/9PPJ+FjzZacjMUEusOHw3WJKe1RW4iUhrw==} css-color-keywords@1.0.0: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} @@ -17361,6 +17361,8 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@47.6.1(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17558,6 +17560,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-decoupled@47.6.1': dependencies: @@ -17576,6 +17580,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@47.6.1': dependencies: @@ -17623,6 +17629,8 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-engine': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-essentials@47.6.1': dependencies: @@ -17654,6 +17662,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@47.6.1': dependencies: @@ -17810,6 +17820,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@47.6.1': dependencies: @@ -17949,6 +17961,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@47.6.1': dependencies: @@ -18122,6 +18136,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@47.6.1': dependencies: @@ -26514,7 +26530,7 @@ snapshots: crypto-js@4.2.0: {} - csrf-csrf@4.0.2: + csrf-csrf@4.0.3: dependencies: http-errors: 2.0.1 From f7c92fa4b228cf63b65de6b51282794759479840 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 00:51:42 +0000 Subject: [PATCH 02/59] chore(deps): update dependency wxt to v0.20.19 --- apps/web-clipper/package.json | 2 +- pnpm-lock.yaml | 666 ++++------------------------------ 2 files changed, 64 insertions(+), 604 deletions(-) diff --git a/apps/web-clipper/package.json b/apps/web-clipper/package.json index c2bfac2790..904a8696de 100644 --- a/apps/web-clipper/package.json +++ b/apps/web-clipper/package.json @@ -16,7 +16,7 @@ "packageManager": "pnpm@10.32.1", "devDependencies": { "@wxt-dev/auto-icons": "1.1.1", - "wxt": "0.20.18" + "wxt": "0.20.19" }, "dependencies": { "cash-dom": "8.1.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c0aceac33..d13abc5ecb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -865,10 +865,10 @@ importers: devDependencies: '@wxt-dev/auto-icons': specifier: 1.1.1 - version: 1.1.1(wxt@0.20.18(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) + version: 1.1.1(wxt@0.20.19(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) wxt: - specifier: 0.20.18 - version: 0.20.18(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) + specifier: 0.20.19 + version: 0.20.19(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) apps/website: dependencies: @@ -2556,18 +2556,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.4': resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} engines: {node: '>=18'} @@ -2586,18 +2574,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.4': resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} engines: {node: '>=18'} @@ -2616,18 +2592,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.4': resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} engines: {node: '>=18'} @@ -2646,18 +2610,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.4': resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} engines: {node: '>=18'} @@ -2676,18 +2628,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.4': resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} engines: {node: '>=18'} @@ -2706,18 +2646,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.4': resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} engines: {node: '>=18'} @@ -2736,18 +2664,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.4': resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} engines: {node: '>=18'} @@ -2766,18 +2682,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} engines: {node: '>=18'} @@ -2796,18 +2700,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.4': resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} engines: {node: '>=18'} @@ -2826,18 +2718,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.4': resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} engines: {node: '>=18'} @@ -2856,18 +2736,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.4': resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} engines: {node: '>=18'} @@ -2886,18 +2754,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.4': resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} engines: {node: '>=18'} @@ -2916,18 +2772,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.4': resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} engines: {node: '>=18'} @@ -2946,18 +2790,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.4': resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} engines: {node: '>=18'} @@ -2976,18 +2808,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.4': resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} engines: {node: '>=18'} @@ -3006,18 +2826,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.4': resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} engines: {node: '>=18'} @@ -3036,18 +2844,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.4': resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} engines: {node: '>=18'} @@ -3066,18 +2862,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.4': resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} engines: {node: '>=18'} @@ -3096,18 +2880,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} engines: {node: '>=18'} @@ -3126,18 +2898,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.4': resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} engines: {node: '>=18'} @@ -3156,18 +2916,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} engines: {node: '>=18'} @@ -3186,18 +2934,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.4': resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} engines: {node: '>=18'} @@ -3216,18 +2952,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.4': resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} engines: {node: '>=18'} @@ -3246,18 +2970,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.4': resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} engines: {node: '>=18'} @@ -3276,18 +2988,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.4': resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} engines: {node: '>=18'} @@ -3306,18 +3006,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.4': resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} engines: {node: '>=18'} @@ -9636,16 +9324,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.4: resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} engines: {node: '>=18'} @@ -11199,6 +10877,10 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} @@ -12176,10 +11858,6 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.2.2: - resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} - engines: {node: 18 || 20 || >=22} - minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -12423,6 +12101,9 @@ packages: engines: {node: ^18 || >=20} hasBin: true + nanospinner@1.2.2: + resolution: {integrity: sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA==} + napi-build-utils@2.0.0: resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} @@ -12792,10 +12473,6 @@ packages: resolution: {integrity: sha512-53uuLsXHOAJl5zLrUrzY9/kE+uIFEx7iaH4g2BIJQK4LZjY4LpCCYZVKDWIkL+F01wAaCg93duQ1whnK/AmY1A==} engines: {node: '>=20'} - ora@9.3.0: - resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} - engines: {node: '>=20'} - os-shim@0.1.3: resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==} engines: {node: '>= 0.4.0'} @@ -14757,10 +14434,6 @@ packages: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} - stdin-discarder@0.3.1: - resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} - engines: {node: '>=18'} - stickyfill@1.1.1: resolution: {integrity: sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==} @@ -16217,11 +15890,11 @@ packages: resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} engines: {node: '>=20'} - wxt@0.20.18: - resolution: {integrity: sha512-BYnIAFkdJcC8BXzbh4PzmRhOQ5xKELEk45qntzqojW5X1+VGm0GsjaEKSCQnTP72/3jZMDH1pmlEdkY/fPXehg==} + wxt@0.20.19: + resolution: {integrity: sha512-LNQXDyStuenNSLLbSs3aXDscKB6g6NYUXppBu7uAmIUZNKLy04Hyg3EE9p9w683t0B+j2CBYciDmqglfwisNuA==} hasBin: true peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: eslint: optional: true @@ -17547,8 +17220,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@47.6.1': dependencies: @@ -17576,6 +17247,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@47.6.1': dependencies: @@ -17598,6 +17271,8 @@ snapshots: '@ckeditor/ckeditor5-table': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@47.6.1': dependencies: @@ -17654,6 +17329,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@47.6.1': dependencies: @@ -17779,6 +17456,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@47.6.1': {} @@ -17810,6 +17489,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@47.6.1': dependencies: @@ -17949,6 +17630,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@47.6.1': dependencies: @@ -18076,8 +17759,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@47.6.1': dependencies: @@ -18122,6 +17803,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@47.6.1': dependencies: @@ -18827,7 +18510,7 @@ snapshots: dependencies: commander: 5.1.0 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 3.1.5 '@electron/get@2.0.3': dependencies: @@ -18965,7 +18648,7 @@ snapshots: debug: 4.4.3(supports-color@8.1.1) dir-compare: 4.2.0 fs-extra: 11.3.4 - minimatch: 9.0.5 + minimatch: 9.0.9 plist: 3.1.0 transitivePeerDependencies: - supports-color @@ -19025,12 +18708,6 @@ snapshots: '@esbuild/aix-ppc64@0.27.0': optional: true - '@esbuild/aix-ppc64@0.27.2': - optional: true - - '@esbuild/aix-ppc64@0.27.3': - optional: true - '@esbuild/aix-ppc64@0.27.4': optional: true @@ -19040,12 +18717,6 @@ snapshots: '@esbuild/android-arm64@0.27.0': optional: true - '@esbuild/android-arm64@0.27.2': - optional: true - - '@esbuild/android-arm64@0.27.3': - optional: true - '@esbuild/android-arm64@0.27.4': optional: true @@ -19055,12 +18726,6 @@ snapshots: '@esbuild/android-arm@0.27.0': optional: true - '@esbuild/android-arm@0.27.2': - optional: true - - '@esbuild/android-arm@0.27.3': - optional: true - '@esbuild/android-arm@0.27.4': optional: true @@ -19070,12 +18735,6 @@ snapshots: '@esbuild/android-x64@0.27.0': optional: true - '@esbuild/android-x64@0.27.2': - optional: true - - '@esbuild/android-x64@0.27.3': - optional: true - '@esbuild/android-x64@0.27.4': optional: true @@ -19085,12 +18744,6 @@ snapshots: '@esbuild/darwin-arm64@0.27.0': optional: true - '@esbuild/darwin-arm64@0.27.2': - optional: true - - '@esbuild/darwin-arm64@0.27.3': - optional: true - '@esbuild/darwin-arm64@0.27.4': optional: true @@ -19100,12 +18753,6 @@ snapshots: '@esbuild/darwin-x64@0.27.0': optional: true - '@esbuild/darwin-x64@0.27.2': - optional: true - - '@esbuild/darwin-x64@0.27.3': - optional: true - '@esbuild/darwin-x64@0.27.4': optional: true @@ -19115,12 +18762,6 @@ snapshots: '@esbuild/freebsd-arm64@0.27.0': optional: true - '@esbuild/freebsd-arm64@0.27.2': - optional: true - - '@esbuild/freebsd-arm64@0.27.3': - optional: true - '@esbuild/freebsd-arm64@0.27.4': optional: true @@ -19130,12 +18771,6 @@ snapshots: '@esbuild/freebsd-x64@0.27.0': optional: true - '@esbuild/freebsd-x64@0.27.2': - optional: true - - '@esbuild/freebsd-x64@0.27.3': - optional: true - '@esbuild/freebsd-x64@0.27.4': optional: true @@ -19145,12 +18780,6 @@ snapshots: '@esbuild/linux-arm64@0.27.0': optional: true - '@esbuild/linux-arm64@0.27.2': - optional: true - - '@esbuild/linux-arm64@0.27.3': - optional: true - '@esbuild/linux-arm64@0.27.4': optional: true @@ -19160,12 +18789,6 @@ snapshots: '@esbuild/linux-arm@0.27.0': optional: true - '@esbuild/linux-arm@0.27.2': - optional: true - - '@esbuild/linux-arm@0.27.3': - optional: true - '@esbuild/linux-arm@0.27.4': optional: true @@ -19175,12 +18798,6 @@ snapshots: '@esbuild/linux-ia32@0.27.0': optional: true - '@esbuild/linux-ia32@0.27.2': - optional: true - - '@esbuild/linux-ia32@0.27.3': - optional: true - '@esbuild/linux-ia32@0.27.4': optional: true @@ -19190,12 +18807,6 @@ snapshots: '@esbuild/linux-loong64@0.27.0': optional: true - '@esbuild/linux-loong64@0.27.2': - optional: true - - '@esbuild/linux-loong64@0.27.3': - optional: true - '@esbuild/linux-loong64@0.27.4': optional: true @@ -19205,12 +18816,6 @@ snapshots: '@esbuild/linux-mips64el@0.27.0': optional: true - '@esbuild/linux-mips64el@0.27.2': - optional: true - - '@esbuild/linux-mips64el@0.27.3': - optional: true - '@esbuild/linux-mips64el@0.27.4': optional: true @@ -19220,12 +18825,6 @@ snapshots: '@esbuild/linux-ppc64@0.27.0': optional: true - '@esbuild/linux-ppc64@0.27.2': - optional: true - - '@esbuild/linux-ppc64@0.27.3': - optional: true - '@esbuild/linux-ppc64@0.27.4': optional: true @@ -19235,12 +18834,6 @@ snapshots: '@esbuild/linux-riscv64@0.27.0': optional: true - '@esbuild/linux-riscv64@0.27.2': - optional: true - - '@esbuild/linux-riscv64@0.27.3': - optional: true - '@esbuild/linux-riscv64@0.27.4': optional: true @@ -19250,12 +18843,6 @@ snapshots: '@esbuild/linux-s390x@0.27.0': optional: true - '@esbuild/linux-s390x@0.27.2': - optional: true - - '@esbuild/linux-s390x@0.27.3': - optional: true - '@esbuild/linux-s390x@0.27.4': optional: true @@ -19265,12 +18852,6 @@ snapshots: '@esbuild/linux-x64@0.27.0': optional: true - '@esbuild/linux-x64@0.27.2': - optional: true - - '@esbuild/linux-x64@0.27.3': - optional: true - '@esbuild/linux-x64@0.27.4': optional: true @@ -19280,12 +18861,6 @@ snapshots: '@esbuild/netbsd-arm64@0.27.0': optional: true - '@esbuild/netbsd-arm64@0.27.2': - optional: true - - '@esbuild/netbsd-arm64@0.27.3': - optional: true - '@esbuild/netbsd-arm64@0.27.4': optional: true @@ -19295,12 +18870,6 @@ snapshots: '@esbuild/netbsd-x64@0.27.0': optional: true - '@esbuild/netbsd-x64@0.27.2': - optional: true - - '@esbuild/netbsd-x64@0.27.3': - optional: true - '@esbuild/netbsd-x64@0.27.4': optional: true @@ -19310,12 +18879,6 @@ snapshots: '@esbuild/openbsd-arm64@0.27.0': optional: true - '@esbuild/openbsd-arm64@0.27.2': - optional: true - - '@esbuild/openbsd-arm64@0.27.3': - optional: true - '@esbuild/openbsd-arm64@0.27.4': optional: true @@ -19325,12 +18888,6 @@ snapshots: '@esbuild/openbsd-x64@0.27.0': optional: true - '@esbuild/openbsd-x64@0.27.2': - optional: true - - '@esbuild/openbsd-x64@0.27.3': - optional: true - '@esbuild/openbsd-x64@0.27.4': optional: true @@ -19340,12 +18897,6 @@ snapshots: '@esbuild/openharmony-arm64@0.27.0': optional: true - '@esbuild/openharmony-arm64@0.27.2': - optional: true - - '@esbuild/openharmony-arm64@0.27.3': - optional: true - '@esbuild/openharmony-arm64@0.27.4': optional: true @@ -19355,12 +18906,6 @@ snapshots: '@esbuild/sunos-x64@0.27.0': optional: true - '@esbuild/sunos-x64@0.27.2': - optional: true - - '@esbuild/sunos-x64@0.27.3': - optional: true - '@esbuild/sunos-x64@0.27.4': optional: true @@ -19370,12 +18915,6 @@ snapshots: '@esbuild/win32-arm64@0.27.0': optional: true - '@esbuild/win32-arm64@0.27.2': - optional: true - - '@esbuild/win32-arm64@0.27.3': - optional: true - '@esbuild/win32-arm64@0.27.4': optional: true @@ -19385,12 +18924,6 @@ snapshots: '@esbuild/win32-ia32@0.27.0': optional: true - '@esbuild/win32-ia32@0.27.2': - optional: true - - '@esbuild/win32-ia32@0.27.3': - optional: true - '@esbuild/win32-ia32@0.27.4': optional: true @@ -19400,12 +18933,6 @@ snapshots: '@esbuild/win32-x64@0.27.0': optional: true - '@esbuild/win32-x64@0.27.2': - optional: true - - '@esbuild/win32-x64@0.27.3': - optional: true - '@esbuild/win32-x64@0.27.4': optional: true @@ -20623,7 +20150,7 @@ snapshots: lru-cache: 11.2.4 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - semver: 7.7.3 + semver: 7.7.4 which: 6.0.1 '@npmcli/installed-package-contents@4.0.0': @@ -21620,7 +21147,7 @@ snapshots: https-proxy-agent: 7.0.6 js-levenshtein: 1.1.6 js-yaml: 4.1.1 - minimatch: 5.1.6 + minimatch: 5.1.9 pluralize: 8.0.0 yaml-ast-parser: 0.0.43 transitivePeerDependencies: @@ -23207,7 +22734,7 @@ snapshots: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 - minimatch: 9.0.5 + minimatch: 9.0.9 semver: 7.7.4 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 @@ -24918,7 +24445,7 @@ snapshots: '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.14 alien-signals: 0.4.14 - minimatch: 9.0.5 + minimatch: 9.0.9 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: @@ -25069,12 +24596,12 @@ snapshots: optionalDependencies: react: 19.2.4 - '@wxt-dev/auto-icons@1.1.1(wxt@0.20.18(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': + '@wxt-dev/auto-icons@1.1.1(wxt@0.20.19(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: defu: 6.1.4 fs-extra: 11.3.4 sharp: 0.34.5 - wxt: 0.20.18(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) + wxt: 0.20.19(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) '@wxt-dev/browser@0.1.37': dependencies: @@ -27193,7 +26720,7 @@ snapshots: dotignore@0.1.2: dependencies: - minimatch: 3.1.2 + minimatch: 3.1.5 dpdm@4.0.1: dependencies: @@ -27706,64 +27233,6 @@ snapshots: '@esbuild/win32-ia32': 0.27.0 '@esbuild/win32-x64': 0.27.0 - esbuild@0.27.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 - - esbuild@0.27.3: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 - esbuild@0.27.4: optionalDependencies: '@esbuild/aix-ppc64': 0.27.4 @@ -27896,7 +27365,7 @@ snapshots: estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 + minimatch: 3.1.5 object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 @@ -28694,7 +28163,7 @@ snapshots: glob@13.0.0: dependencies: - minimatch: 10.2.2 + minimatch: 10.2.4 minipass: 7.1.2 path-scurry: 2.0.0 @@ -28709,7 +28178,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 @@ -28718,7 +28187,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 @@ -29617,6 +29086,10 @@ snapshots: dependencies: is-inside-container: 1.0.0 + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + isarray@0.0.1: {} isarray@1.0.0: {} @@ -30905,10 +30378,6 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.2.2: - dependencies: - brace-expansion: 5.0.2 - minimatch@10.2.4: dependencies: brace-expansion: 5.0.2 @@ -31072,7 +30541,7 @@ snapshots: is-path-inside: 3.0.3 js-yaml: 4.1.1 log-symbols: 4.1.0 - minimatch: 9.0.5 + minimatch: 9.0.9 ms: 2.1.3 picocolors: 1.1.1 serialize-javascript: 6.0.2 @@ -31147,7 +30616,7 @@ snapshots: '@types/minimatch': 3.0.5 array-differ: 4.0.0 array-union: 3.0.1 - minimatch: 3.1.2 + minimatch: 3.1.5 multimath@2.0.0: dependencies: @@ -31189,6 +30658,10 @@ snapshots: nanoid@5.1.6: {} + nanospinner@1.2.2: + dependencies: + picocolors: 1.1.1 + napi-build-utils@2.0.0: {} natural-compare@1.4.0: {} @@ -31386,7 +30859,7 @@ snapshots: npm-install-checks: 8.0.0 npm-normalize-package-bin: 5.0.0 npm-package-arg: 13.0.0 - semver: 7.7.3 + semver: 7.7.4 npm-registry-fetch@19.0.0: dependencies: @@ -31639,17 +31112,6 @@ snapshots: stdin-discarder: 0.2.2 string-width: 8.1.1 - ora@9.3.0: - dependencies: - chalk: 5.6.2 - cli-cursor: 5.0.0 - cli-spinners: 3.2.0 - is-interactive: 2.0.0 - is-unicode-supported: 2.1.0 - log-symbols: 7.0.1 - stdin-discarder: 0.3.1 - string-width: 8.1.1 - os-shim@0.1.3: {} ot-json1@1.0.2: @@ -31807,7 +31269,7 @@ snapshots: parse-json@7.1.1: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 error-ex: 1.3.2 json-parse-even-better-errors: 3.0.2 lines-and-columns: 2.0.4 @@ -34032,8 +33494,6 @@ snapshots: stdin-discarder@0.2.2: {} - stdin-discarder@0.3.1: {} - stickyfill@1.1.1: {} stop-iteration-iterator@1.1.0: @@ -35251,10 +34711,10 @@ snapshots: vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.4 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - postcss: 8.5.6 + postcss: 8.5.8 rollup: 4.52.0 tinyglobby: 0.2.15 optionalDependencies: @@ -35790,10 +35250,10 @@ snapshots: wsl-utils@0.3.1: dependencies: - is-wsl: 3.1.0 + is-wsl: 3.1.1 powershell-utils: 0.1.0 - wxt@0.20.18(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): + wxt@0.20.19(@types/node@24.12.0)(eslint@10.0.3(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@1natsu/wait-element': 4.1.2 '@aklinker1/rollup-plugin-visualizer': 5.12.0(rollup@4.52.0) @@ -35811,39 +35271,39 @@ snapshots: defu: 6.1.4 dotenv: 17.3.1 dotenv-expand: 12.0.3 - esbuild: 0.27.3 - fast-glob: 3.3.3 + esbuild: 0.27.4 filesize: 11.0.13 - fs-extra: 11.3.4 get-port-please: 3.2.0 giget: 2.0.0 hookable: 6.0.1 import-meta-resolve: 4.2.0 - is-wsl: 3.1.0 + is-wsl: 3.1.1 json5: 2.2.3 jszip: 3.10.1 linkedom: 0.18.12 magicast: 0.5.2 - minimatch: 10.2.2 + minimatch: 10.2.4 nano-spawn: 2.0.0 + nanospinner: 1.2.2 normalize-path: 3.0.0 nypm: 0.6.5 ohash: 2.0.11 open: 11.0.0 - ora: 9.3.0 perfect-debounce: 2.1.0 picocolors: 1.1.1 prompts: 2.4.2 publish-browser-extension: 3.0.3 scule: 1.3.0 + tinyglobby: 0.2.15 unimport: 5.6.0 - vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) + vite: 8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) vite-node: 5.3.0(@types/node@24.12.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.32.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) web-ext-run: 0.2.4 optionalDependencies: eslint: 10.0.3(jiti@2.6.1) transitivePeerDependencies: - '@types/node' + - '@vitejs/devtools' - canvas - jiti - less From ccebe6a423c68724ce7343d044e2af03a6609e0f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 00:52:28 +0000 Subject: [PATCH 03/59] chore(deps): update dependency eslint-plugin-playwright to v2.10.0 --- package.json | 2 +- pnpm-lock.yaml | 30 +++++++++++++++++++----------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 6f8f34729a..b00d217ef4 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "eslint": "10.0.3", "eslint-config-preact": "2.0.0", "eslint-config-prettier": "10.1.8", - "eslint-plugin-playwright": "2.9.0", + "eslint-plugin-playwright": "2.10.0", "eslint-plugin-simple-import-sort": "12.1.1", "happy-dom": "20.8.4", "http-server": "14.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c0aceac33..e657fe2544 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,8 +105,8 @@ importers: specifier: 10.1.8 version: 10.1.8(eslint@10.0.3(jiti@2.6.1)) eslint-plugin-playwright: - specifier: 2.9.0 - version: 2.9.0(eslint@10.0.3(jiti@2.6.1)) + specifier: 2.10.0 + version: 2.10.0(eslint@10.0.3(jiti@2.6.1)) eslint-plugin-simple-import-sort: specifier: 12.1.1 version: 12.1.1(eslint@10.0.3(jiti@2.6.1)) @@ -9715,8 +9715,8 @@ packages: peerDependencies: eslint: '>=9.0.0' - eslint-plugin-playwright@2.9.0: - resolution: {integrity: sha512-k3xrG6YzrallWNFMoGUjMNeu3SFFKXN79KJQBD2PkM4PasJegqV2Up+mPY5od2UmPKQGT+MeIhCmWH8r5eYuQQ==} + eslint-plugin-playwright@2.10.0: + resolution: {integrity: sha512-PByRBp5LhCUd3pd2dxQ7vq6p9iJRPCYgIDakYYkCAPJUPUuKA8/NxyFZVLf0FYYc7s4c+85BqLk+f8LeO0g6aw==} engines: {node: '>=16.9.0'} peerDependencies: eslint: '>=8.40.0' @@ -17426,8 +17426,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 '@ckeditor/ckeditor5-watchdog': 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-dev-build-tools@55.0.0(@swc/helpers@0.5.17)(postcss@8.5.8)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -17547,8 +17545,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@47.6.1': dependencies: @@ -17576,6 +17572,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@47.6.1': dependencies: @@ -17598,6 +17596,8 @@ snapshots: '@ckeditor/ckeditor5-table': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@47.6.1': dependencies: @@ -17654,6 +17654,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@47.6.1': dependencies: @@ -17779,6 +17781,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@47.6.1': {} @@ -17810,6 +17814,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@47.6.1': dependencies: @@ -17949,6 +17955,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@47.6.1': dependencies: @@ -18076,8 +18084,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@47.6.1': dependencies: @@ -18122,6 +18128,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@47.6.1': dependencies: @@ -27875,7 +27883,7 @@ snapshots: eslint: 10.0.3(jiti@2.6.1) globals: 15.15.0 - eslint-plugin-playwright@2.9.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-playwright@2.10.0(eslint@10.0.3(jiti@2.6.1)): dependencies: eslint: 10.0.3(jiti@2.6.1) globals: 17.4.0 From 325e58259302699d2643aee57fa40fc8fe4cbed1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 00:53:10 +0000 Subject: [PATCH 04/59] chore(deps): update dependency lint-staged to v16.4.0 --- packages/ckeditor5-admonition/package.json | 2 +- packages/ckeditor5-footnotes/package.json | 2 +- .../ckeditor5-keyboard-marker/package.json | 2 +- packages/ckeditor5-math/package.json | 2 +- packages/ckeditor5-mermaid/package.json | 2 +- pnpm-lock.yaml | 54 ++++++++++++------- 6 files changed, 40 insertions(+), 24 deletions(-) diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index 36b9fab270..25c806f662 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -32,7 +32,7 @@ "eslint": "10.0.3", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.3.3", + "lint-staged": "16.4.0", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index 73dad36ede..eba1d124e3 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -33,7 +33,7 @@ "eslint": "10.0.3", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.3.3", + "lint-staged": "16.4.0", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index eec3d767bd..232fe7ca34 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.3", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.3.3", + "lint-staged": "16.4.0", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index 405729d857..8235fd76d5 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.3", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.3.3", + "lint-staged": "16.4.0", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index 34e3295ed1..991b046388 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.3", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.3.3", + "lint-staged": "16.4.0", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c0aceac33..a66c245f54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -983,8 +983,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.3.3 - version: 16.3.3 + specifier: 16.4.0 + version: 16.4.0 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1043,8 +1043,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.3.3 - version: 16.3.3 + specifier: 16.4.0 + version: 16.4.0 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1103,8 +1103,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.3.3 - version: 16.3.3 + specifier: 16.4.0 + version: 16.4.0 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1170,8 +1170,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.3.3 - version: 16.3.3 + specifier: 16.4.0 + version: 16.4.0 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1237,8 +1237,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.3.3 - version: 16.3.3 + specifier: 16.4.0 + version: 16.4.0 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -11656,8 +11656,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.3.3: - resolution: {integrity: sha512-RLq2koZ5fGWrx7tcqx2tSTMQj4lRkfNJaebO/li/uunhCJbtZqwTuwPHpgIimAHHi/2nZIiGrkCHDCOeR1onxA==} + lint-staged@16.4.0: + resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==} engines: {node: '>=20.17'} hasBin: true @@ -15166,6 +15166,10 @@ packages: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} + tinyexec@1.0.4: + resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + engines: {node: '>=18'} + tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -17547,8 +17551,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@47.6.1': dependencies: @@ -17576,6 +17578,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@47.6.1': dependencies: @@ -17598,6 +17602,8 @@ snapshots: '@ckeditor/ckeditor5-table': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@47.6.1': dependencies: @@ -17654,6 +17660,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@47.6.1': dependencies: @@ -17779,6 +17787,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@47.6.1': {} @@ -17810,6 +17820,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@47.6.1': dependencies: @@ -17949,6 +17961,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@47.6.1': dependencies: @@ -18076,8 +18090,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@47.6.1': dependencies: @@ -18122,6 +18134,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@47.6.1': dependencies: @@ -30110,13 +30124,13 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.3.3: + lint-staged@16.4.0: dependencies: commander: 14.0.3 listr2: 9.0.5 - micromatch: 4.0.8 + picomatch: 4.0.3 string-argv: 0.3.2 - tinyexec: 1.0.2 + tinyexec: 1.0.4 yaml: 2.8.2 listr2@7.0.2: @@ -34583,6 +34597,8 @@ snapshots: tinyexec@1.0.2: {} + tinyexec@1.0.4: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) From afe7a748e1019070ebdcb7bf340867d629842abd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2026 05:14:23 +0000 Subject: [PATCH 05/59] chore(deps): update softprops/action-gh-release action to v2.5.3 --- .github/workflows/nightly.yml | 4 ++-- .github/workflows/release.yml | 2 +- .github/workflows/web-clipper.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 57150e41a3..26392028f6 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -91,7 +91,7 @@ jobs: GPG_SIGNING_KEY: ${{ secrets.GPG_SIGN_KEY }} - name: Publish release - uses: softprops/action-gh-release@v2.5.0 + uses: softprops/action-gh-release@v2.5.3 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false @@ -132,7 +132,7 @@ jobs: arch: ${{ matrix.arch }} - name: Publish release - uses: softprops/action-gh-release@v2.5.0 + uses: softprops/action-gh-release@v2.5.3 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 14210f03a7..3ae687f617 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,7 +150,7 @@ jobs: path: upload - name: Publish stable release - uses: softprops/action-gh-release@v2.5.0 + uses: softprops/action-gh-release@v2.5.3 with: draft: false body_path: docs/Release Notes/Release Notes/${{ github.ref_name }}.md diff --git a/.github/workflows/web-clipper.yml b/.github/workflows/web-clipper.yml index 2e2644b04c..22920bf0af 100644 --- a/.github/workflows/web-clipper.yml +++ b/.github/workflows/web-clipper.yml @@ -58,7 +58,7 @@ jobs: compression-level: 0 - name: Release web clipper extension - uses: softprops/action-gh-release@v2.5.0 + uses: softprops/action-gh-release@v2.5.3 if: ${{ startsWith(github.ref, 'refs/tags/web-clipper-v') }} with: draft: false From 9c110e896e2091f3210377720b14328add372817 Mon Sep 17 00:00:00 2001 From: msnx0 Date: Sat, 14 Mar 2026 23:44:44 +0100 Subject: [PATCH 06/59] Translated using Weblate (Polish) Currently translated at 100.0% (1719 of 1719 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/pl/ --- .../src/translations/pl/translation.json | 51 ++++++++++++++++++- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/apps/client/src/translations/pl/translation.json b/apps/client/src/translations/pl/translation.json index 885408e3d1..f0d15f4b7a 100644 --- a/apps/client/src/translations/pl/translation.json +++ b/apps/client/src/translations/pl/translation.json @@ -29,7 +29,7 @@ "widget-render-error": { "title": "Nie udało się wyrenderować niestandardowego widżetu React" }, - "widget-missing-parent": "Niestandardowy widżet nie ma zdefiniowanej obowiązkowej właściwości „{{property}}”.\nJeśli skrypt ma działać bez interfejsu użytkownika (UI) wyłącz go: '#run=frontendStartup'.", + "widget-missing-parent": "Niestandardowy widżet nie ma zdefiniowanej obowiązkowej właściwości „{{property}}”.\n\nJeśli skrypt ma działać bez interfejsu użytkownika (UI) wyłącz go: '#run=frontendStartup'.", "open-script-note": "Otwórz notatkę ze skryptem", "scripting-error": "Błąd skryptu użytkownika: {{title}}" }, @@ -1487,7 +1487,7 @@ "custom_name_label": "Nazwa niestandardowej wyszukiwarki", "custom_name_placeholder": "Dostosuj nazwę wyszukiwarki", "custom_url_label": "URL niestandardowej wyszukiwarki powinien zawierać {keyword} jako symbol zastępczy dla wyszukiwanej frazy.", - "custom_url_placeholder": "Dostosuj URL wyszukiwarki", + "custom_url_placeholder": "Dostosuj url wyszukiwarki", "save_button": "Zapisz" }, "tray": { @@ -2198,5 +2198,52 @@ }, "setup_form": { "more_info": "Dowiedz się więcej" + }, + "media": { + "fullscreen": "Pełny ekran (F)", + "mute": "Wycisz (M)", + "unmute": "Wyłącz wyciszenie (M)", + "exit-fullscreen": "Wyłącz pełny ekran", + "loop": "Pętla", + "disable-loop": "Wyłącz pętle", + "rotate": "Obróć", + "picture-in-picture": "Obraz w obrazie", + "pause": "Zatrzymaj (Space)", + "back-10s": "Cofnij 10s (Lewa strzałka)", + "forward-30s": "Do przodu 30s", + "playback-speed": "Szybkość odtwarzania", + "exit-picture-in-picture": "Wyjdź z obrazu w obrazie", + "zoom-to-fit": "Powiększ aby wypełnić", + "unsupported-format": "Podgląd multimediów nie jest dostępny dla tego formatu pliku\n{{mime}}", + "play": "Odtwórz (Space)", + "zoom-reset": "Zresetuj powiększenie" + }, + "mermaid": { + "sample_architecture": "Architektura", + "sample_diagrams": "Przykład diagramu:", + "sample_flowchart": "Schemat blokowy", + "sample_class": "Klasa", + "sample_sequence": "Sekwencja", + "sample_timeline": "Oś czasu", + "sample_treemap": "Mapa drzewa", + "sample_xy": "XY", + "sample_venn": "Diagram Venna", + "sample_ishikawa": "Diagram Ishikawa", + "placeholder": "Wpisz treść swojego diagramu lub skorzystaj z jednego z przykładowych diagramów poniżej.", + "sample_entity_relationship": "Diagram związków Encji", + "sample_state": "Diagram stanów", + "sample_mindmap": "Mapa myśli", + "sample_block": "Diagram blokowy", + "sample_c4": "C4", + "sample_gantt": "Wykres Gantta", + "sample_git": "Git diagram", + "sample_kanban": "Kanban", + "sample_packet": "Diagram pakietów", + "sample_pie": "Wykres kołowy", + "sample_quadrant": "Diagram kwadrantowy", + "sample_radar": "Wykres radarowy", + "sample_requirement": "Diagram wymagań", + "sample_sankey": "Wykres Sankeya", + "sample_user_journey": "Mapa Podróży Użytkownika" } } From 71c23d33ff4efbdfc74d20f682243b5dfb9b339c Mon Sep 17 00:00:00 2001 From: green Date: Sat, 14 Mar 2026 14:01:17 +0100 Subject: [PATCH 07/59] Translated using Weblate (Japanese) Currently translated at 100.0% (1719 of 1719 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ja/ --- .../src/translations/ja/translation.json | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json index 0cfb0616e5..7a67a5d650 100644 --- a/apps/client/src/translations/ja/translation.json +++ b/apps/client/src/translations/ja/translation.json @@ -588,7 +588,7 @@ "note-map": "ノートマップ", "render-note": "レンダリングノート", "book": "コレクション", - "mermaid-diagram": "Mermaidダイアグラム", + "mermaid-diagram": "マーメイド図", "canvas": "キャンバス", "web-view": "Web ビュー", "mind-map": "マインドマップ", @@ -2187,5 +2187,33 @@ "unsupported-format": "このファイル形式ではメディアプレビューはご利用いただけません:\n{{mime}}", "zoom-to-fit": "ズームして全体を表示", "zoom-reset": "ズーム設定をリセット" + }, + "mermaid": { + "placeholder": "マーメイド図の内容を入力するか、以下のサンプル図のいずれかを使用してください。", + "sample_diagrams": "サンプル図:", + "sample_flowchart": "フローチャート", + "sample_class": "クラス図", + "sample_sequence": "シーケンス図", + "sample_entity_relationship": "ER 図", + "sample_state": "状態遷移図", + "sample_mindmap": "マインドマップ", + "sample_architecture": "アーキテクチャ図", + "sample_block": "ブロック図", + "sample_c4": "C4 図", + "sample_gantt": "ガントチャート", + "sample_git": "Git グラフ", + "sample_kanban": "カンバン", + "sample_packet": "パケット図", + "sample_pie": "円グラフ", + "sample_quadrant": "4象限図", + "sample_radar": "レーダーチャート", + "sample_requirement": "要件図", + "sample_sankey": "サンキー図", + "sample_timeline": "タイムライン", + "sample_treemap": "ツリーマップ", + "sample_user_journey": "ユーザージャーニー図", + "sample_xy": "XY チャート", + "sample_venn": "ベン図", + "sample_ishikawa": "石川図" } } From 892abe1d7026eb1d1167c437230ff009defeb31f Mon Sep 17 00:00:00 2001 From: green Date: Sat, 14 Mar 2026 13:57:55 +0100 Subject: [PATCH 08/59] Translated using Weblate (Japanese) Currently translated at 100.0% (158 of 158 strings) Translation: Trilium Notes/Website Translate-URL: https://hosted.weblate.org/projects/trilium/website/ja/ --- apps/website/src/translations/ja/translation.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/website/src/translations/ja/translation.json b/apps/website/src/translations/ja/translation.json index ca28a21f84..68289aabd2 100644 --- a/apps/website/src/translations/ja/translation.json +++ b/apps/website/src/translations/ja/translation.json @@ -47,8 +47,8 @@ "file_description": "PDF、画像、ビデオなどのマルチメディア ファイルをアプリケーション内にプレビュー表示で埋め込みます。", "canvas_title": "キャンバス", "canvas_description": "excalidraw.comと同じ技術を使って、無限のキャンバスに図形、画像、テキストを配置できます。図表、スケッチ、ビジュアルプランニングに最適です。", - "mermaid_title": "Mermaid ダイアグラム", - "mermaid_description": "Mermaid 構文を使用して、フローチャート、クラス図、シーケンス図、ガント チャートなどの図を作成します。", + "mermaid_title": "マーメイド図", + "mermaid_description": "マーメイド構文を使用して、フローチャート、クラス図、シーケンス図、ガント チャートなどの図を作成します。", "mindmap_title": "マインドマップ", "mindmap_description": "考えを視覚的に整理したり、ブレインストーミング セッションを行ったりします。", "others_list": "その他: <0>ノートマップ、<1>リレーションマップ、<2>保存された検索、<3>レンダリングノート、<4>web ビュー。", From 4c02773ddc5fe56d01108a07807453189ae86a17 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 14 Mar 2026 16:50:43 +0100 Subject: [PATCH 09/59] Translated using Weblate (German) Currently translated at 100.0% (1719 of 1719 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/de/ --- .../src/translations/de/translation.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index b940edc8e9..6c12c50f52 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -2183,5 +2183,52 @@ }, "setup_form": { "more_info": "Mehr erfahren" + }, + "media": { + "play": "Abspielen (Arbeitsbereich)", + "pause": "Pausieren (Arbeitsbereich)", + "back-10s": "10 s zurück (Linke Pfeiltaste)", + "forward-30s": "10 s vorwärts", + "mute": "Stumm (M)", + "unmute": "Stummschaltung aufheben (M)", + "playback-speed": "Wiedergabegeschwindigkeit", + "loop": "Schleife", + "disable-loop": "Schleife deaktivieren", + "rotate": "Rotieren", + "picture-in-picture": "Bild-in-Bild", + "exit-picture-in-picture": "Bild-in-Bild verlassen", + "fullscreen": "Vollbild (F)", + "exit-fullscreen": "Vollbild verlassen", + "unsupported-format": "Medienvorschau ist für dieses Format nicht verfügbar:\n{{mime}}", + "zoom-to-fit": "Zoomen um auszufüllen", + "zoom-reset": "Zoomen um auszufüllen zurücksetzen" + }, + "mermaid": { + "placeholder": "Geben den Inhalt des Mermaid-Diagramms ein oder verwenden eine der folgenden Beispieldiagramme.", + "sample_diagrams": "Beispieldiagramme:", + "sample_flowchart": "Flussdiagramm", + "sample_class": "Klasse", + "sample_sequence": "Abfolge", + "sample_entity_relationship": "Entität Beziehung", + "sample_state": "Zustandsübergangsdiagramm", + "sample_mindmap": "Mindmap", + "sample_architecture": "Architektur", + "sample_block": "Block", + "sample_c4": "C4", + "sample_gantt": "Gantt", + "sample_git": "GitGraph", + "sample_kanban": "Kanban", + "sample_packet": "Paket", + "sample_pie": "Kuchen", + "sample_quadrant": "Quadrant", + "sample_radar": "Rader", + "sample_requirement": "Anforderung", + "sample_sankey": "Sankey", + "sample_timeline": "Zeitstrahl", + "sample_treemap": "Kachel", + "sample_user_journey": "Benutzererfahrung", + "sample_xy": "XY", + "sample_venn": "Mengen", + "sample_ishikawa": "Ursache-Wirkung" } } From adc149aac85a5f418e4646b8b814df4cad9eeace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aindri=C3=BA=20Mac=20Giolla=20Eoin?= Date: Sat, 14 Mar 2026 11:33:14 +0100 Subject: [PATCH 10/59] Translated using Weblate (Irish) Currently translated at 100.0% (1719 of 1719 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ga/ --- .../src/translations/ga/translation.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/apps/client/src/translations/ga/translation.json b/apps/client/src/translations/ga/translation.json index 02a184591e..484125c3d4 100644 --- a/apps/client/src/translations/ga/translation.json +++ b/apps/client/src/translations/ga/translation.json @@ -2228,5 +2228,52 @@ }, "setup_form": { "more_info": "Foghlaim níos mó" + }, + "media": { + "play": "Seinn (Spás)", + "pause": "Sos (Spás)", + "back-10s": "10 soicind ar ais (eochair saighead chlé)", + "forward-30s": "Ar aghaidh 30s", + "mute": "Balbhaigh (M)", + "unmute": "Díbhalbhaigh (M)", + "playback-speed": "Luas athsheinm", + "loop": "Lúb", + "disable-loop": "Díchumasaigh an lúb", + "rotate": "Rothlaigh", + "picture-in-picture": "Pictiúr i bpictiúr", + "exit-picture-in-picture": "Scoir pictiúr-i-bpictiúr", + "fullscreen": "Lánscáileán (F)", + "exit-fullscreen": "Scoir lánscáileáin", + "unsupported-format": "Níl réamhamharc meán ar fáil don fhormáid comhaid seo:\n{{mime}}", + "zoom-to-fit": "Zúmáil chun líonadh", + "zoom-reset": "Athshocraigh súmáil chun líonadh" + }, + "mermaid": { + "placeholder": "Clóscríobh ábhar do léaráid Maighdean Mhara nó bain úsáid as ceann de na léaráidí samplacha thíos.", + "sample_diagrams": "Léaráidí samplacha:", + "sample_flowchart": "Cairt Sreabhadh", + "sample_class": "Rang", + "sample_sequence": "Seicheamh", + "sample_entity_relationship": "Gaol Eintitis", + "sample_state": "Stát", + "sample_mindmap": "Léarscáil intinne", + "sample_architecture": "Ailtireacht", + "sample_block": "Bloc", + "sample_c4": "C4", + "sample_gantt": "Gantt", + "sample_git": "Git", + "sample_kanban": "Kanban", + "sample_packet": "Paicéad", + "sample_pie": "Pióg", + "sample_quadrant": "Ceathrú", + "sample_radar": "Radar", + "sample_requirement": "Riachtanas", + "sample_sankey": "Sankey", + "sample_timeline": "Amlíne", + "sample_treemap": "Léarscáil Crann", + "sample_user_journey": "Turas Úsáideora", + "sample_xy": "XY", + "sample_venn": "Venn", + "sample_ishikawa": "Ishikawa" } } From 4e58002e13d47effef0a59610598a4ffeddcc12b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 16:07:18 +0200 Subject: [PATCH 11/59] Apply suggestions from code review Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- apps/client/src/translations/de/translation.json | 4 ++-- apps/client/src/translations/pl/translation.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 6c12c50f52..718e7dad23 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -2188,7 +2188,7 @@ "play": "Abspielen (Arbeitsbereich)", "pause": "Pausieren (Arbeitsbereich)", "back-10s": "10 s zurück (Linke Pfeiltaste)", - "forward-30s": "10 s vorwärts", + "forward-30s": "30 s vorwärts", "mute": "Stumm (M)", "unmute": "Stummschaltung aufheben (M)", "playback-speed": "Wiedergabegeschwindigkeit", @@ -2221,7 +2221,7 @@ "sample_packet": "Paket", "sample_pie": "Kuchen", "sample_quadrant": "Quadrant", - "sample_radar": "Rader", + "sample_radar": "Radar", "sample_requirement": "Anforderung", "sample_sankey": "Sankey", "sample_timeline": "Zeitstrahl", diff --git a/apps/client/src/translations/pl/translation.json b/apps/client/src/translations/pl/translation.json index f0d15f4b7a..d7a2cc7f18 100644 --- a/apps/client/src/translations/pl/translation.json +++ b/apps/client/src/translations/pl/translation.json @@ -2230,13 +2230,13 @@ "sample_venn": "Diagram Venna", "sample_ishikawa": "Diagram Ishikawa", "placeholder": "Wpisz treść swojego diagramu lub skorzystaj z jednego z przykładowych diagramów poniżej.", - "sample_entity_relationship": "Diagram związków Encji", + "sample_entity_relationship": "Diagram związków encji", "sample_state": "Diagram stanów", "sample_mindmap": "Mapa myśli", "sample_block": "Diagram blokowy", "sample_c4": "C4", "sample_gantt": "Wykres Gantta", - "sample_git": "Git diagram", + "sample_git": "Diagram Git", "sample_kanban": "Kanban", "sample_packet": "Diagram pakietów", "sample_pie": "Wykres kołowy", From e36d7121f19807209a88bb760c1a9404db46cd2c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 18:54:37 +0200 Subject: [PATCH 12/59] fix(desktop): broken due to CSRF failing --- apps/server/src/routes/csrf_protection.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/server/src/routes/csrf_protection.ts b/apps/server/src/routes/csrf_protection.ts index b7c5f8d5cb..17cba503a2 100644 --- a/apps/server/src/routes/csrf_protection.ts +++ b/apps/server/src/routes/csrf_protection.ts @@ -1,4 +1,5 @@ import { doubleCsrf } from "csrf-csrf"; + import sessionSecret from "../services/session_secret.js"; import { isElectron } from "../services/utils.js"; @@ -13,7 +14,11 @@ const doubleCsrfUtilities = doubleCsrf({ httpOnly: !isElectron // set to false for Electron, see https://github.com/TriliumNext/Trilium/pull/966 }, cookieName: CSRF_COOKIE_NAME, - getSessionIdentifier: (req) => req.session.id + // In Electron, API calls go through an IPC bypass (routes/electron.ts) that uses a + // FakeRequest with a static session ID, while the bootstrap request goes through real + // Express with a real session. This mismatch causes CSRF validation to always fail. + // Since Electron is a local single-user app, a constant identifier is acceptable here. + getSessionIdentifier: (req) => isElectron ? "electron" : req.session.id }); export const { generateCsrfToken, doubleCsrfProtection } = doubleCsrfUtilities; From 6701d09df5f06ec16042c2dd226c743f4c0dfaf6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 19:02:28 +0200 Subject: [PATCH 13/59] feat(client): refresh CSRF if request fails --- apps/client/src/services/server.ts | 79 ++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/apps/client/src/services/server.ts b/apps/client/src/services/server.ts index 627e28622a..bd9edce161 100644 --- a/apps/client/src/services/server.ts +++ b/apps/client/src/services/server.ts @@ -93,7 +93,7 @@ async function upload(url: string, fileToUpload: File, componentId?: string, met const formData = new FormData(); formData.append("upload", fileToUpload); - return await $.ajax({ + const doUpload = async () => $.ajax({ url: window.glob.baseApiUrl + url, headers: await getHeaders(componentId ? { "trilium-component-id": componentId @@ -104,6 +104,18 @@ async function upload(url: string, fileToUpload: File, componentId?: string, met contentType: false, // NEEDED, DON'T REMOVE THIS processData: false // NEEDED, DON'T REMOVE THIS }); + + try { + return await doUpload(); + } catch (e: unknown) { + // jQuery rejects with the jqXHR object + const jqXhr = e as JQuery.jqXHR; + if (jqXhr?.status && isCsrfError(jqXhr.status, jqXhr.responseText)) { + await refreshCsrfToken(); + return await doUpload(); + } + throw e; + } } let idCounter = 1; @@ -112,12 +124,55 @@ const idToRequestMap: Record = {}; let maxKnownEntityChangeId = 0; +let csrfRefreshInProgress: Promise | null = null; + +/** + * Re-fetches /bootstrap to obtain a fresh CSRF token. This is needed when the + * server session expires (e.g. mobile tab backgrounded for a long time) and the + * existing CSRF token is no longer valid. + * + * Coalesces concurrent calls so only one bootstrap request is in-flight at a time. + */ +async function refreshCsrfToken(): Promise { + if (csrfRefreshInProgress) { + return csrfRefreshInProgress; + } + + csrfRefreshInProgress = (async () => { + try { + const response = await fetch(`./bootstrap${window.location.search}`); + if (response.ok) { + const json = await response.json(); + glob.csrfToken = json.csrfToken; + } + } finally { + csrfRefreshInProgress = null; + } + })(); + + return csrfRefreshInProgress; +} + +function isCsrfError(status: number, responseText: string): boolean { + if (status !== 403) { + return false; + } + try { + const body = JSON.parse(responseText); + return body.message === "Invalid CSRF token"; + } catch { + return false; + } +} + interface CallOptions { data?: unknown; silentNotFound?: boolean; silentInternalServerError?: boolean; // If `true`, the value will be returned as a string instead of a JavaScript object if JSON, XMLDocument if XML, etc. raw?: boolean; + /** Used internally to prevent infinite retry loops on CSRF refresh. */ + csrfRetried?: boolean; } async function call(method: string, url: string, componentId?: string, options: CallOptions = {}) { @@ -167,7 +222,7 @@ function ajax(url: string, method: string, data: unknown, headers: Headers, opts type: method, headers, timeout: 60000, - success: (body, textStatus, jqXhr) => { + success: (body, _textStatus, jqXhr) => { const respHeaders: Headers = {}; jqXhr @@ -192,7 +247,25 @@ function ajax(url: string, method: string, data: unknown, headers: Headers, opts // don't report requests that are rejected by the browser, usually when the user is refreshing or going to a different page. rej("rejected by browser"); return; - } else if (opts.silentNotFound && jqXhr.status === 404) { + } + + // If the CSRF token is stale (e.g. session expired while tab was backgrounded), + // refresh it and retry the request once. + if (!opts.csrfRetried && isCsrfError(jqXhr.status, jqXhr.responseText)) { + try { + await refreshCsrfToken(); + // Rebuild headers so the fresh glob.csrfToken is picked up + const retryHeaders = await getHeaders({ "trilium-component-id": headers["trilium-component-id"] }); + const retryResult = await ajax(url, method, data, retryHeaders, { ...opts, csrfRetried: true }); + res(retryResult); + return; + } catch (retryErr) { + rej(retryErr); + return; + } + } + + if (opts.silentNotFound && jqXhr.status === 404) { // report nothing } else if (opts.silentInternalServerError && jqXhr.status === 500) { // report nothing From 495145e033d717b9ec39aa8763c0a66414093ee2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 19:33:06 +0200 Subject: [PATCH 14/59] chore(server): use random UUID for session ID --- apps/server/src/routes/csrf_protection.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/server/src/routes/csrf_protection.ts b/apps/server/src/routes/csrf_protection.ts index 17cba503a2..684d1ec81e 100644 --- a/apps/server/src/routes/csrf_protection.ts +++ b/apps/server/src/routes/csrf_protection.ts @@ -1,3 +1,4 @@ +import crypto from "crypto"; import { doubleCsrf } from "csrf-csrf"; import sessionSecret from "../services/session_secret.js"; @@ -5,6 +6,12 @@ import { isElectron } from "../services/utils.js"; export const CSRF_COOKIE_NAME = "trilium-csrf"; +// In Electron, API calls go through an IPC bypass (routes/electron.ts) that uses a +// FakeRequest with a static session ID, while the bootstrap request goes through real +// Express with a real session. This mismatch causes CSRF validation to always fail. +// We use a per-instance random identifier so each Electron process still gets unique tokens. +const electronSessionId = crypto.randomUUID(); + const doubleCsrfUtilities = doubleCsrf({ getSecret: () => sessionSecret, cookieOptions: { @@ -14,11 +21,7 @@ const doubleCsrfUtilities = doubleCsrf({ httpOnly: !isElectron // set to false for Electron, see https://github.com/TriliumNext/Trilium/pull/966 }, cookieName: CSRF_COOKIE_NAME, - // In Electron, API calls go through an IPC bypass (routes/electron.ts) that uses a - // FakeRequest with a static session ID, while the bootstrap request goes through real - // Express with a real session. This mismatch causes CSRF validation to always fail. - // Since Electron is a local single-user app, a constant identifier is acceptable here. - getSessionIdentifier: (req) => isElectron ? "electron" : req.session.id + getSessionIdentifier: (req) => isElectron ? electronSessionId : req.session.id }); export const { generateCsrfToken, doubleCsrfProtection } = doubleCsrfUtilities; From 53739ee8d425a6263a9b198a17b875dca83689f1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 19:33:21 +0200 Subject: [PATCH 15/59] e2e(server): address flaky test --- apps/server-e2e/src/layout/tab_bar.spec.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/server-e2e/src/layout/tab_bar.spec.ts b/apps/server-e2e/src/layout/tab_bar.spec.ts index c408114a0d..8ab1cf7c46 100644 --- a/apps/server-e2e/src/layout/tab_bar.spec.ts +++ b/apps/server-e2e/src/layout/tab_bar.spec.ts @@ -75,8 +75,10 @@ test("Tabs are restored in right order", async ({ page, context }) => { await expect(app.getActiveTab()).toContainText("Mermaid"); // Select the mid one. + const recentNotesSaved = page.waitForResponse((resp) => resp.url().includes("/api/recent-notes") && resp.ok()); await (await app.getTab(1)).click(); await expect(app.noteTreeActiveNote).toContainText("Text notes"); + await recentNotesSaved; // Refresh the page and check the order. await app.goto( { preserveTabs: true }); From 7a544482d17f5b470c3602fa3595abb565ddd61b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 15 Mar 2026 19:39:27 +0200 Subject: [PATCH 16/59] chore(server): request bootstrap with no cache --- apps/client/src/services/server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/services/server.ts b/apps/client/src/services/server.ts index bd9edce161..d9b776babc 100644 --- a/apps/client/src/services/server.ts +++ b/apps/client/src/services/server.ts @@ -140,7 +140,7 @@ async function refreshCsrfToken(): Promise { csrfRefreshInProgress = (async () => { try { - const response = await fetch(`./bootstrap${window.location.search}`); + const response = await fetch(`./bootstrap${window.location.search}`, { cache: "no-store" }); if (response.ok) { const json = await response.json(); glob.csrfToken = json.csrfToken; From a92d846b5799e812dcd6e9ad4c59ab254344ca98 Mon Sep 17 00:00:00 2001 From: contributor Date: Sun, 15 Mar 2026 18:27:16 +0200 Subject: [PATCH 17/59] pdf.js: add ability to comment selected text --- packages/pdfjs-viewer/src/custom.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/pdfjs-viewer/src/custom.ts b/packages/pdfjs-viewer/src/custom.ts index 5c2eaa892d..997b8d66f1 100644 --- a/packages/pdfjs-viewer/src/custom.ts +++ b/packages/pdfjs-viewer/src/custom.ts @@ -46,6 +46,7 @@ function configurePdfViewerOptions() { if (event.detail?.source === window && window.PDFViewerApplicationOptions) { window.PDFViewerApplicationOptions.set("disablePreferences", true); window.PDFViewerApplicationOptions.set("enableHighlightFloatingButton", true); + window.PDFViewerApplicationOptions.set("enableComment", true); } }; if (window.parent && window.parent !== window) { From 67f474d794e0ab23c20d35be637e9bd366fe272e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 00:10:12 +0000 Subject: [PATCH 18/59] chore(deps): update dependency @preact/preset-vite to v2.10.4 --- apps/website/package.json | 2 +- pnpm-lock.yaml | 59 +++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index c67ea7ec41..6f253cca17 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -17,7 +17,7 @@ "react-i18next": "16.5.8" }, "devDependencies": { - "@preact/preset-vite": "2.10.3", + "@preact/preset-vite": "2.10.4", "eslint": "10.0.3", "eslint-config-preact": "2.0.0", "typescript": "5.9.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac666b28e0..b76c8e980c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -892,8 +892,8 @@ importers: version: 16.5.8(i18next@25.8.18(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) devDependencies: '@preact/preset-vite': - specifier: 2.10.3 - version: 2.10.3(@babel/core@7.29.0)(preact@10.29.0)(rollup@4.52.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) + specifier: 2.10.4 + version: 2.10.4(@babel/core@7.29.0)(preact@10.29.0)(rollup@4.52.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) eslint: specifier: 10.0.3 version: 10.0.3(jiti@2.6.1) @@ -1761,10 +1761,6 @@ packages: resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} @@ -1857,10 +1853,6 @@ packages: resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} @@ -4332,11 +4324,11 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@preact/preset-vite@2.10.3': - resolution: {integrity: sha512-1SiS+vFItpkNdBs7q585PSAIln0wBeBdcpJYbzPs1qipsb/FssnkUioNXuRsb8ZnU8YEQHr+3v8+/mzWSnTQmg==} + '@preact/preset-vite@2.10.4': + resolution: {integrity: sha512-L7RQRs2GiG0lLUz7JSg07vU6lhlzdIthH0eqYZmRR70tTB9ikKCq2LHr+PZzhzIOco3Dioi6P6e/fjAmDUMJbQ==} peerDependencies: '@babel/core': 7.x - vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x + vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x || 8.x '@preact/signals-core@1.14.0': resolution: {integrity: sha512-AowtCcCU/33lFlh1zRFf/u+12rfrhtNakj7UpaGEsmMwUKpKWMVvcktOGcwBBNiB4lWrZWc01LhiyyzVklJyaQ==} @@ -16039,6 +16031,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zimmerframe@1.1.4: + resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} + zip-dir@2.0.0: resolution: {integrity: sha512-uhlsJZWz26FLYXOD6WVuq+fIcZ3aBPGo/cFdiLlv3KNwpa52IF3ISV8fLhQLiqVu5No3VhlqlgthN6gehil1Dg==} @@ -16669,13 +16664,6 @@ snapshots: '@babel/helper-globals@7.28.0': {} - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-imports@7.28.6': dependencies: '@babel/traverse': 7.29.0 @@ -16686,7 +16674,7 @@ snapshots: '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-module-imports': 7.27.1 + '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 '@babel/traverse': 7.28.4 transitivePeerDependencies: @@ -16749,10 +16737,10 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 + '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -16796,11 +16784,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -17105,6 +17088,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 '@ckeditor/ckeditor5-watchdog': 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-dev-build-tools@55.0.0(@swc/helpers@0.5.17)(postcss@8.5.8)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -17224,6 +17209,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@47.6.1': dependencies: @@ -17277,8 +17264,6 @@ snapshots: '@ckeditor/ckeditor5-table': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@47.6.1': dependencies: @@ -17304,8 +17289,6 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-engine': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-essentials@47.6.1': dependencies: @@ -17767,6 +17750,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@47.6.1': dependencies: @@ -17853,6 +17838,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-special-characters@47.6.1': dependencies: @@ -17963,6 +17950,8 @@ snapshots: '@ckeditor/ckeditor5-icons': 47.6.1 '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-upload@47.6.1': dependencies: @@ -20385,7 +20374,7 @@ snapshots: '@popperjs/core@2.11.8': {} - '@preact/preset-vite@2.10.3(@babel/core@7.29.0)(preact@10.29.0)(rollup@4.52.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': + '@preact/preset-vite@2.10.4(@babel/core@7.29.0)(preact@10.29.0)(rollup@4.52.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.29.0) @@ -20394,9 +20383,11 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.52.0) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.0) debug: 4.4.3(supports-color@8.1.1) + magic-string: 0.30.21 picocolors: 1.1.1 vite: 8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) vite-prerender-plugin: 0.5.11(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) + zimmerframe: 1.1.4 transitivePeerDependencies: - preact - rollup @@ -35454,6 +35445,8 @@ snapshots: optionalDependencies: commander: 9.5.0 + zimmerframe@1.1.4: {} + zip-dir@2.0.0: dependencies: async: 3.2.6 From 51958d2ac018cec3fad9a5caa23a4832c91c9056 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 00:10:44 +0000 Subject: [PATCH 19/59] chore(deps): update dependency webdriverio to v9.26.1 --- packages/ckeditor5-admonition/package.json | 2 +- packages/ckeditor5-footnotes/package.json | 2 +- .../ckeditor5-keyboard-marker/package.json | 2 +- packages/ckeditor5-math/package.json | 2 +- packages/ckeditor5-mermaid/package.json | 2 +- pnpm-lock.yaml | 98 +++++++++---------- 6 files changed, 52 insertions(+), 56 deletions(-) diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index 25c806f662..f66fbbbe1e 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -39,7 +39,7 @@ "typescript": "5.9.3", "vite-plugin-svgo": "2.0.0", "vitest": "4.1.0", - "webdriverio": "9.25.0" + "webdriverio": "9.26.1" }, "peerDependencies": { "ckeditor5": "47.6.1" diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index eba1d124e3..7e2e209d74 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -40,7 +40,7 @@ "typescript": "5.9.3", "vite-plugin-svgo": "2.0.0", "vitest": "4.1.0", - "webdriverio": "9.25.0" + "webdriverio": "9.26.1" }, "peerDependencies": { "ckeditor5": "47.6.1" diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index 232fe7ca34..f589ec48a9 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -42,7 +42,7 @@ "typescript": "5.9.3", "vite-plugin-svgo": "2.0.0", "vitest": "4.1.0", - "webdriverio": "9.25.0" + "webdriverio": "9.26.1" }, "peerDependencies": { "ckeditor5": "47.6.1" diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index 8235fd76d5..9fcc22c217 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -42,7 +42,7 @@ "typescript": "5.9.3", "vite-plugin-svgo": "2.0.0", "vitest": "4.1.0", - "webdriverio": "9.25.0" + "webdriverio": "9.26.1" }, "peerDependencies": { "ckeditor5": "47.6.1" diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index 991b046388..a051feb9be 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -42,7 +42,7 @@ "typescript": "5.9.3", "vite-plugin-svgo": "2.0.0", "vitest": "4.1.0", - "webdriverio": "9.25.0" + "webdriverio": "9.26.1" }, "peerDependencies": { "ckeditor5": "47.6.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac666b28e0..bc5d212b68 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,7 +76,7 @@ importers: version: 24.12.0 '@vitest/browser-webdriverio': specifier: 4.1.0 - version: 4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-v8': specifier: 4.1.0 version: 4.1.0(@vitest/browser@4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0))(vitest@4.1.0) @@ -1004,8 +1004,8 @@ importers: specifier: 4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) webdriverio: - specifier: 9.25.0 - version: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.26.1 + version: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-footnotes: devDependencies: @@ -1064,8 +1064,8 @@ importers: specifier: 4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) webdriverio: - specifier: 9.25.0 - version: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.26.1 + version: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-keyboard-marker: devDependencies: @@ -1124,8 +1124,8 @@ importers: specifier: 4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) webdriverio: - specifier: 9.25.0 - version: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.26.1 + version: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-math: dependencies: @@ -1191,8 +1191,8 @@ importers: specifier: 4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) webdriverio: - specifier: 9.25.0 - version: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.26.1 + version: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-mermaid: dependencies: @@ -1258,8 +1258,8 @@ importers: specifier: 4.1.0 version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) webdriverio: - specifier: 9.25.0 - version: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + specifier: 9.26.1 + version: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/codemirror: dependencies: @@ -7151,27 +7151,27 @@ packages: '@vue/shared@3.5.14': resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} - '@wdio/config@9.25.0': - resolution: {integrity: sha512-EWa7l1rrbSNthCRDpdBw7ESAa1/jAjSsWCGkaVAO0HMOGlQjzvYI6gNi4KUeymnurDZ2IPr0jr+f9We6AWi6QA==} + '@wdio/config@9.26.1': + resolution: {integrity: sha512-gzinrualmF0X+UN9ftSTS3s9Xfymny2bROh7VD10j+rVO+qgKqVfGaCseVdpHs+PvZjnSdHr9rDKwNiYvNa09Q==} engines: {node: '>=18.20.0'} '@wdio/logger@9.18.0': resolution: {integrity: sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==} engines: {node: '>=18.20.0'} - '@wdio/protocols@9.25.0': - resolution: {integrity: sha512-PErbZqdpFmE69bRuku3OR34Ro2xuZNNLXYFOcJnjXJVzf5+ApDyGHYrMlvhtrrSy9/55LUybk851ppjS+3RoDA==} + '@wdio/protocols@9.26.1': + resolution: {integrity: sha512-PGmJvUUMAhvs2tgjAdhWSmY1qQxS71a0GCtTJff8Zw35yxlHo0FMrhFCw91BGvWgHZGygJbdTXETFlpvjAZxOw==} '@wdio/repl@9.16.2': resolution: {integrity: sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==} engines: {node: '>=18.20.0'} - '@wdio/types@9.25.0': - resolution: {integrity: sha512-ovSEcUBLz6gVDIsBZYKQXz8EGU37jS8sqbmlOe5+jB4XbsTBCyTLjQK/rO7LWQAKJcs0vBq+Pd+VrlsFtA7tTQ==} + '@wdio/types@9.26.1': + resolution: {integrity: sha512-U6JTbwVvDoSHBvFNuE6GbiW4fX0gl7wyrtJVsgv0vYkt4qzssVPFpE19ndBY1PZ59dLWU6llDEgyyTtIcXwSfQ==} engines: {node: '>=18.20.0'} - '@wdio/utils@9.25.0': - resolution: {integrity: sha512-w/ej8gZkc2tZr8L91ATyA1AWrbPDYDOvblQ7r+zt1uPRobuA4H98GME7Zm7i3FIP695BvV4G35Gcs5NssZW1pw==} + '@wdio/utils@9.26.1': + resolution: {integrity: sha512-EfXS438cLc54+XQFcFcbcTWLJ4VSEpjtEHQ/v3QFB+mbBezJUC15rf/zEG4fFjhP1ENAAmZZtjc/l6bGEFFk2A==} engines: {node: '>=18.20.0'} '@webassemblyjs/ast@1.14.1': @@ -15630,12 +15630,12 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - webdriver@9.25.0: - resolution: {integrity: sha512-XnABKdrp83zX3xVltmX0OcFzn8zOzWGtZQxIUKY0+INB0g9Nnnfu7G75W0G+0y4nyb3zH8mavGzDBiXctdEd3Q==} + webdriver@9.26.1: + resolution: {integrity: sha512-u5gdt4u900G0k19HM8SvPXKhyaqZZtwTqG7e8bh8dnNb2Td1EiHKEmnaSNDWBllGLCztPE5lHseXzrxUMW88cw==} engines: {node: '>=18.20.0'} - webdriverio@9.25.0: - resolution: {integrity: sha512-ualC/LtWGjL5rwGAbUUzURKqKoHJG2/qecEppcS9k4n1IX3MlbzGXuL/qpXiRbs/h4981HpRbZAKBxRYqwUe3g==} + webdriverio@9.26.1: + resolution: {integrity: sha512-eqW624AjSEcyO93kfwz/lbn7Uu6x5V8BG8nvPZ/cHXQWfZxvi4AVOZh2Z7k9Vd6Lh5cgdsPbezUQtqnBxzrK0g==} engines: {node: '>=18.20.0'} peerDependencies: puppeteer-core: '>=22.x || <=24.x' @@ -17038,8 +17038,6 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@47.6.1(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17105,6 +17103,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 '@ckeditor/ckeditor5-watchdog': 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-dev-build-tools@55.0.0(@swc/helpers@0.5.17)(postcss@8.5.8)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -17233,8 +17233,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@47.6.1': dependencies: @@ -17304,8 +17302,6 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-engine': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-essentials@47.6.1': dependencies: @@ -24301,11 +24297,11 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - '@vitest/browser-webdriverio@4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser-webdriverio@4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@vitest/browser': 4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0) vitest: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(@vitest/browser-webdriverio@4.1.0)(@vitest/ui@4.1.0)(happy-dom@20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) - webdriverio: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -24461,11 +24457,11 @@ snapshots: '@vue/shared@3.5.14': {} - '@wdio/config@9.25.0': + '@wdio/config@9.26.1': dependencies: '@wdio/logger': 9.18.0 - '@wdio/types': 9.25.0 - '@wdio/utils': 9.25.0 + '@wdio/types': 9.26.1 + '@wdio/utils': 9.26.1 deepmerge-ts: 7.1.5 glob: 13.0.6 import-meta-resolve: 4.2.0 @@ -24482,21 +24478,21 @@ snapshots: safe-regex2: 5.0.0 strip-ansi: 7.1.2 - '@wdio/protocols@9.25.0': {} + '@wdio/protocols@9.26.1': {} '@wdio/repl@9.16.2': dependencies: '@types/node': 20.19.25 - '@wdio/types@9.25.0': + '@wdio/types@9.26.1': dependencies: '@types/node': 20.19.25 - '@wdio/utils@9.25.0': + '@wdio/utils@9.26.1': dependencies: '@puppeteer/browsers': 2.10.10 '@wdio/logger': 9.18.0 - '@wdio/types': 9.25.0 + '@wdio/types': 9.26.1 decamelize: 6.0.1 deepmerge-ts: 7.1.5 edgedriver: 6.1.2 @@ -26773,7 +26769,7 @@ snapshots: '@zip.js/zip.js': 2.8.11 decamelize: 6.0.1 edge-paths: 3.0.5 - fast-xml-parser: 5.3.6 + fast-xml-parser: 5.5.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 @@ -34784,7 +34780,7 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.0 '@types/node': 24.12.0 - '@vitest/browser-webdriverio': 4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser-webdriverio': 4.1.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.12.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(less@4.1.3)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.1.0)(webdriverio@9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 4.1.0(vitest@4.1.0) happy-dom: 20.8.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -34887,15 +34883,15 @@ snapshots: web-streams-polyfill@3.3.3: {} - webdriver@9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriver@9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/node': 20.19.25 '@types/ws': 8.18.1 - '@wdio/config': 9.25.0 + '@wdio/config': 9.26.1 '@wdio/logger': 9.18.0 - '@wdio/protocols': 9.25.0 - '@wdio/types': 9.25.0 - '@wdio/utils': 9.25.0 + '@wdio/protocols': 9.26.1 + '@wdio/types': 9.26.1 + '@wdio/utils': 9.26.1 deepmerge-ts: 7.1.5 https-proxy-agent: 7.0.6 undici: 6.23.0 @@ -34906,16 +34902,16 @@ snapshots: - supports-color - utf-8-validate - webdriverio@9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriverio@9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/node': 20.19.25 '@types/sinonjs__fake-timers': 8.1.5 - '@wdio/config': 9.25.0 + '@wdio/config': 9.26.1 '@wdio/logger': 9.18.0 - '@wdio/protocols': 9.25.0 + '@wdio/protocols': 9.26.1 '@wdio/repl': 9.16.2 - '@wdio/types': 9.25.0 - '@wdio/utils': 9.25.0 + '@wdio/types': 9.26.1 + '@wdio/utils': 9.26.1 archiver: 7.0.1 aria-query: 5.3.2 cheerio: 1.2.0 @@ -34932,7 +34928,7 @@ snapshots: rgb2hex: 0.2.5 serialize-error: 12.0.0 urlpattern-polyfill: 10.1.0 - webdriver: 9.25.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriver: 9.26.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil From 7f07c249af6b3aa8d7c80d6cb9fe2dbe32ec78b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 01:31:44 +0000 Subject: [PATCH 20/59] chore(deps): update dependency node-abi to v4.28.0 --- package.json | 2 +- pnpm-lock.yaml | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index b00d217ef4..f978c998f8 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "on-headers@<1.1.0": ">=1.1.0", "form-data@>=4.0.0 <4.0.4": ">=4.0.4", "form-data@>=3.0.0 <3.0.4": ">=3.0.4", - "node-abi": "4.27.0", + "node-abi": "4.28.0", "validator@<13.15.20": ">=13.15.20", "tmp@<=0.2.3": ">=0.2.4", "glob@>=10.2.0 <10.5.0": ">=10.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac666b28e0..e825815d49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,7 +23,7 @@ overrides: on-headers@<1.1.0: '>=1.1.0' form-data@>=4.0.0 <4.0.4: '>=4.0.4' form-data@>=3.0.0 <3.0.4: '>=3.0.4' - node-abi: 4.27.0 + node-abi: 4.28.0 validator@<13.15.20: '>=13.15.20' tmp@<=0.2.3: '>=0.2.4' glob@>=10.2.0 <10.5.0: '>=10.5.0' @@ -12140,8 +12140,8 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-abi@4.27.0: - resolution: {integrity: sha512-M6PypnnjGwr6Wv1O7twPpnJiie8MeLoBSh99zF1jnRRU2NLgxO/fUEQW1rfAhAKzPa/fvQ4PKitt1O+c8l243Q==} + node-abi@4.28.0: + resolution: {integrity: sha512-Qfp5XZL1cJDOabOT8H5gnqMTmM4NjvYzHp4I/Kt/Sl76OVkOBBHRFlPspGV0hYvMoqQsypFjT/Yp7Km0beXW9g==} engines: {node: '>=22.12.0'} node-addon-api@7.1.1: @@ -16891,6 +16891,8 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-upload': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-ai@47.6.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -17105,6 +17107,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 '@ckeditor/ckeditor5-watchdog': 47.6.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-dev-build-tools@55.0.0(@swc/helpers@0.5.17)(postcss@8.5.8)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -17233,8 +17237,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@47.6.1': dependencies: @@ -17304,8 +17306,6 @@ snapshots: '@ckeditor/ckeditor5-core': 47.6.1 '@ckeditor/ckeditor5-engine': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-essentials@47.6.1': dependencies: @@ -17767,6 +17767,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.6.1 '@ckeditor/ckeditor5-utils': 47.6.1 ckeditor5: 47.6.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@47.6.1': dependencies: @@ -18616,7 +18618,7 @@ snapshots: detect-libc: 2.1.2 fs-extra: 10.1.0 got: 11.8.6 - node-abi: 4.27.0 + node-abi: 4.28.0 node-api-version: 0.2.1 ora: 5.4.1 read-binary-file-arch: 1.0.6 @@ -18634,7 +18636,7 @@ snapshots: detect-libc: 2.1.2 got: 11.8.6 graceful-fs: 4.2.11 - node-abi: 4.27.0 + node-abi: 4.28.0 node-api-version: 0.2.1 node-gyp: 11.4.2 ora: 5.4.1 @@ -30694,9 +30696,9 @@ snapshots: nice-try@1.0.5: {} - node-abi@4.27.0: + node-abi@4.28.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 node-addon-api@7.1.1: optional: true @@ -31942,7 +31944,7 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 4.27.0 + node-abi: 4.28.0 pump: 3.0.3 rc: 1.2.8 simple-get: 4.0.1 From 4c3a448330ce0d636cf625ac3d3447b1920d0bd7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 01:31:50 +0000 Subject: [PATCH 21/59] chore(deps): update softprops/action-gh-release action to v2.6.1 --- .github/workflows/nightly.yml | 4 ++-- .github/workflows/release.yml | 2 +- .github/workflows/web-clipper.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 26392028f6..eb33e4d226 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -91,7 +91,7 @@ jobs: GPG_SIGNING_KEY: ${{ secrets.GPG_SIGN_KEY }} - name: Publish release - uses: softprops/action-gh-release@v2.5.3 + uses: softprops/action-gh-release@v2.6.1 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false @@ -132,7 +132,7 @@ jobs: arch: ${{ matrix.arch }} - name: Publish release - uses: softprops/action-gh-release@v2.5.3 + uses: softprops/action-gh-release@v2.6.1 if: ${{ github.event_name != 'pull_request' }} with: make_latest: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3ae687f617..021b121be5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,7 +150,7 @@ jobs: path: upload - name: Publish stable release - uses: softprops/action-gh-release@v2.5.3 + uses: softprops/action-gh-release@v2.6.1 with: draft: false body_path: docs/Release Notes/Release Notes/${{ github.ref_name }}.md diff --git a/.github/workflows/web-clipper.yml b/.github/workflows/web-clipper.yml index 22920bf0af..8451b033dd 100644 --- a/.github/workflows/web-clipper.yml +++ b/.github/workflows/web-clipper.yml @@ -58,7 +58,7 @@ jobs: compression-level: 0 - name: Release web clipper extension - uses: softprops/action-gh-release@v2.5.3 + uses: softprops/action-gh-release@v2.6.1 if: ${{ startsWith(github.ref, 'refs/tags/web-clipper-v') }} with: draft: false From 603b47f9b0ea439bfb49293f0d5d1eb041c2e97f Mon Sep 17 00:00:00 2001 From: giuxtaposition Date: Sat, 14 Mar 2026 15:45:37 +0100 Subject: [PATCH 22/59] feat(editor): add catppuccin theme to highlightjs --- packages/highlightjs/package.json | 1 + packages/highlightjs/src/index.ts | 24 ++++-- .../src/normalize_theme_css.spec.ts | 82 +++++++++++++++++++ packages/highlightjs/src/themes.ts | 16 ++++ pnpm-lock.yaml | 8 ++ 5 files changed, 125 insertions(+), 6 deletions(-) create mode 100644 packages/highlightjs/src/normalize_theme_css.spec.ts diff --git a/packages/highlightjs/package.json b/packages/highlightjs/package.json index 249e2373ff..17af4c0e34 100644 --- a/packages/highlightjs/package.json +++ b/packages/highlightjs/package.json @@ -5,6 +5,7 @@ "type": "module", "main": "./src/index.ts", "dependencies": { + "@catppuccin/highlightjs": "1.0.1", "@exercism/highlightjs-gdscript": "0.0.1", "@triliumnext/commons": "workspace:*", "highlight.js": "11.11.1", diff --git a/packages/highlightjs/src/index.ts b/packages/highlightjs/src/index.ts index 3016869b73..d9fa6c260b 100644 --- a/packages/highlightjs/src/index.ts +++ b/packages/highlightjs/src/index.ts @@ -47,6 +47,22 @@ export function highlight(code: string, options: HighlightOptions) { return hljs.highlight(code, options); } +export function normalizeThemeCss(themeCss: string): string { + const themeSelectorScopedToCodeTag = /\bcode \.hljs-/.test(themeCss); + if (themeSelectorScopedToCodeTag) { + themeCss = themeCss.replace(/\bcode\.hljs/g, ".hljs"); + themeCss = themeCss.replace(/\bcode \.hljs-/g, ".hljs .hljs-"); + } + + // Increase the specificity of the HLJS selector to render properly within CKEditor without the need of patching the library. + themeCss = themeCss.replace( + /^\.hljs\s*\{/m, + ".hljs, .ck-content pre.hljs {", + ); + + return themeCss; +} + export async function loadTheme(theme: "none" | Theme) { if (theme === "none") { if (highlightingThemeEl) { @@ -61,12 +77,8 @@ export async function loadTheme(theme: "none" | Theme) { document.querySelector("head")?.append(highlightingThemeEl); } - let themeCss = (await theme.load()).default as string; - - // Increase the specificity of the HLJS selector to render properly within CKEditor without the need of patching the library. - themeCss = themeCss.replace(/^.hljs {/m, ".hljs, .ck-content pre.hljs {"); - - highlightingThemeEl.textContent = themeCss; + const themeCss = (await theme.load()).default as string; + highlightingThemeEl.textContent = normalizeThemeCss(themeCss); } export const { highlightAuto } = hljs; diff --git a/packages/highlightjs/src/normalize_theme_css.spec.ts b/packages/highlightjs/src/normalize_theme_css.spec.ts new file mode 100644 index 0000000000..38d8771872 --- /dev/null +++ b/packages/highlightjs/src/normalize_theme_css.spec.ts @@ -0,0 +1,82 @@ +import { describe, expect, it } from "vitest"; +import { normalizeThemeCss } from "./index.js"; + +describe("normalizeThemeCss", () => { + describe("standard highlight.js themes", () => { + const standardThemeCss = [ + "pre code.hljs {", + " display: block;", + " overflow-x: auto;", + " padding: 1em", + "}", + "code.hljs {", + " padding: 3px 5px", + "}", + ".hljs {", + " color: #ffffff;", + " background: #1c1b1b", + "}", + ".hljs-keyword {", + " color: #88aece", + "}", + ".hljs-string {", + " color: #b5bd68", + "}", + ].join("\n"); + + it("preserves 'pre code.hljs' layout rule", () => { + const result = normalizeThemeCss(standardThemeCss); + expect(result).toContain("pre code.hljs {"); + }); + + it("preserves 'code.hljs' inline layout rule", () => { + const result = normalizeThemeCss(standardThemeCss); + expect(result).toContain("code.hljs {"); + }); + + it("preserves .hljs-* token selectors unchanged", () => { + const result = normalizeThemeCss(standardThemeCss); + expect(result).toContain(".hljs-keyword {"); + expect(result).toContain(".hljs-string {"); + }); + + it("adds CKEditor specificity to .hljs container rule", () => { + const result = normalizeThemeCss(standardThemeCss); + expect(result).toContain(".hljs, .ck-content pre.hljs {"); + }); + }); + + describe("catppuccin-style themes (code-scoped selectors)", () => { + const catppuccinCss = + "code.hljs{color:#cdd6f4;background:#1e1e2e}" + + "code .hljs-keyword{color:#cba6f7}" + + "code .hljs-string{color:#a6e3a1}" + + "code .hljs-comment{color:#9399b2}"; + + it("rewrites 'code.hljs' container to '.hljs'", () => { + const result = normalizeThemeCss(catppuccinCss); + expect(result).not.toContain("code.hljs"); + }); + + it("rewrites 'code .hljs-*' token selectors to '.hljs .hljs-*'", () => { + const result = normalizeThemeCss(catppuccinCss); + expect(result).not.toContain("code .hljs-"); + expect(result).toContain(".hljs .hljs-keyword"); + expect(result).toContain(".hljs .hljs-string"); + expect(result).toContain(".hljs .hljs-comment"); + }); + + it("adds CKEditor specificity to .hljs container rule", () => { + const result = normalizeThemeCss(catppuccinCss); + expect(result).toContain(".hljs, .ck-content pre.hljs {"); + }); + + it("preserves color values", () => { + const result = normalizeThemeCss(catppuccinCss); + expect(result).toContain("#cdd6f4"); + expect(result).toContain("#1e1e2e"); + expect(result).toContain("#cba6f7"); + expect(result).toContain("#a6e3a1"); + }); + }); +}); diff --git a/packages/highlightjs/src/themes.ts b/packages/highlightjs/src/themes.ts index 568ace5f5b..f6d9ac00db 100644 --- a/packages/highlightjs/src/themes.ts +++ b/packages/highlightjs/src/themes.ts @@ -56,6 +56,22 @@ const themeDefinitions: Record = { name: "Brown Paper (Light)", load: () => import("highlight.js/styles/brown-paper.css?raw") }, + "catppuccin-latte": { + name: "Catppuccin Latte (Light)", + load: () => import("@catppuccin/highlightjs/css/catppuccin-latte.css?raw") + }, + "catppuccin-frappe": { + name: "Catppuccin Frappé (Dark)", + load: () => import("@catppuccin/highlightjs/css/catppuccin-frappe.css?raw") + }, + "catppuccin-macchiato": { + name: "Catppuccin Macchiato (Dark)", + load: () => import("@catppuccin/highlightjs/css/catppuccin-macchiato.css?raw") + }, + "catppuccin-mocha": { + name: "Catppuccin Mocha (Dark)", + load: () => import("@catppuccin/highlightjs/css/catppuccin-mocha.css?raw") + }, "codepen-embed": { name: "CodePen Embed (Dark)", load: () => import("highlight.js/styles/codepen-embed.css?raw") diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 52e83e911d..e5305a8d7e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1425,6 +1425,9 @@ importers: packages/highlightjs: dependencies: + '@catppuccin/highlightjs': + specifier: 1.0.1 + version: 1.0.1 '@exercism/highlightjs-gdscript': specifier: 0.0.1 version: 0.0.1 @@ -1891,6 +1894,9 @@ packages: '@catppuccin/codemirror@1.0.3': resolution: {integrity: sha512-P1ZCj4DZVLqr/TNz28m3aaF2Elrikpb8OOnzN0Vyf95Un4pTWTkCSvhbskbnJbnNJ87Rfvt3fXoaUj4o55X30Q==} + '@catppuccin/highlightjs@1.0.1': + resolution: {integrity: sha512-wnagsNQbJroHQMalkprwRoapfGV1hHRx46d7GXp4kf6rlShImBlgpqPCt9OD471Gq4qpHdfFH/GJFIvY1CLqHA==} + '@catppuccin/palette@1.7.1': resolution: {integrity: sha512-aRc1tbzrevOTV7nFTT9SRdF26w/MIwT4Jwt4fDMc9itRZUDXCuEDBLyz4TQMlqO9ZP8mf5Hu4Jr6D03NLFc6Gw==} @@ -16836,6 +16842,8 @@ snapshots: '@codemirror/view': 6.40.0 '@lezer/highlight': 1.2.3 + '@catppuccin/highlightjs@1.0.1': {} + '@catppuccin/palette@1.7.1': {} '@chevrotain/cst-dts-gen@11.1.1': From 50e5f89e9a001eb2ee3120f005e7fa3b8fc1b4b1 Mon Sep 17 00:00:00 2001 From: Giulia Ye Date: Mon, 16 Mar 2026 11:54:14 +0100 Subject: [PATCH 23/59] feat(editor): make theme selector scoped to code tag regex more robust Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- packages/highlightjs/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/highlightjs/src/index.ts b/packages/highlightjs/src/index.ts index d9fa6c260b..053b7f5662 100644 --- a/packages/highlightjs/src/index.ts +++ b/packages/highlightjs/src/index.ts @@ -48,7 +48,7 @@ export function highlight(code: string, options: HighlightOptions) { } export function normalizeThemeCss(themeCss: string): string { - const themeSelectorScopedToCodeTag = /\bcode \.hljs-/.test(themeCss); + const themeSelectorScopedToCodeTag = /\bcode\s+\.hljs-/.test(themeCss); if (themeSelectorScopedToCodeTag) { themeCss = themeCss.replace(/\bcode\.hljs/g, ".hljs"); themeCss = themeCss.replace(/\bcode \.hljs-/g, ".hljs .hljs-"); From 850f8ad93978b66ed3785f83665245310a7b89c0 Mon Sep 17 00:00:00 2001 From: Giulia Ye Date: Mon, 16 Mar 2026 11:55:06 +0100 Subject: [PATCH 24/59] feat(editor): make theme selector scoped to code tag replace regex more robust Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- packages/highlightjs/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/highlightjs/src/index.ts b/packages/highlightjs/src/index.ts index 053b7f5662..617aaf7ac5 100644 --- a/packages/highlightjs/src/index.ts +++ b/packages/highlightjs/src/index.ts @@ -51,7 +51,7 @@ export function normalizeThemeCss(themeCss: string): string { const themeSelectorScopedToCodeTag = /\bcode\s+\.hljs-/.test(themeCss); if (themeSelectorScopedToCodeTag) { themeCss = themeCss.replace(/\bcode\.hljs/g, ".hljs"); - themeCss = themeCss.replace(/\bcode \.hljs-/g, ".hljs .hljs-"); + themeCss = themeCss.replace(/\bcode\s+\.hljs-/g, ".hljs .hljs-"); } // Increase the specificity of the HLJS selector to render properly within CKEditor without the need of patching the library. From 5b5222b84688eaa4a097b7c35a70983148426932 Mon Sep 17 00:00:00 2001 From: Mystler <161936+Mystler@users.noreply.github.com> Date: Mon, 16 Mar 2026 17:07:37 +0100 Subject: [PATCH 25/59] feat(labels): Add textarea label type with Table support --- .../promoted_attribute_definition_parser.ts | 4 +-- .../src/translations/en/translation.json | 1 + .../client/src/widgets/PromotedAttributes.tsx | 34 ++++++++++--------- .../attribute_widgets/attribute_detail.ts | 1 + .../src/widgets/collections/table/columns.tsx | 7 ++++ .../promoted_attribute_definition_parser.ts | 2 +- 6 files changed, 30 insertions(+), 19 deletions(-) diff --git a/apps/client/src/services/promoted_attribute_definition_parser.ts b/apps/client/src/services/promoted_attribute_definition_parser.ts index 0d93aae3c5..b589d45986 100644 --- a/apps/client/src/services/promoted_attribute_definition_parser.ts +++ b/apps/client/src/services/promoted_attribute_definition_parser.ts @@ -1,4 +1,4 @@ -export type LabelType = "text" | "number" | "boolean" | "date" | "datetime" | "time" | "url" | "color"; +export type LabelType = "text" | "textarea" | "number" | "boolean" | "date" | "datetime" | "time" | "url" | "color"; type Multiplicity = "single" | "multi"; export interface DefinitionObject { @@ -17,7 +17,7 @@ function parse(value: string) { for (const token of tokens) { if (token === "promoted") { defObj.isPromoted = true; - } else if (["text", "number", "boolean", "date", "datetime", "time", "url", "color"].includes(token)) { + } else if (["text", "textarea", "number", "boolean", "date", "datetime", "time", "url", "color"].includes(token)) { defObj.labelType = token as LabelType; } else if (["single", "multi"].includes(token)) { defObj.multiplicity = token as Multiplicity; diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 07f7b10de0..14595237af 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -343,6 +343,7 @@ "label_type_title": "Type of the label will help Trilium to choose suitable interface to enter the label value.", "label_type": "Type", "text": "Text", + "textarea": "Textarea", "number": "Number", "boolean": "Boolean", "date": "Date", diff --git a/apps/client/src/widgets/PromotedAttributes.tsx b/apps/client/src/widgets/PromotedAttributes.tsx index 1e0bdeb474..47b6fa2432 100644 --- a/apps/client/src/widgets/PromotedAttributes.tsx +++ b/apps/client/src/widgets/PromotedAttributes.tsx @@ -2,7 +2,7 @@ import "./PromotedAttributes.css"; import { UpdateAttributeResponse } from "@triliumnext/commons"; import clsx from "clsx"; -import { ComponentChild, HTMLInputTypeAttribute, InputHTMLAttributes, MouseEventHandler, TargetedEvent, TargetedInputEvent } from "preact"; +import { ComponentChild, createElement, HTMLInputTypeAttribute, InputHTMLAttributes, MouseEventHandler, TargetedEvent, TargetedInputEvent } from "preact"; import { Dispatch, StateUpdater, useCallback, useEffect, useRef, useState } from "preact/hooks"; import NoteContext from "../components/note_context"; @@ -36,7 +36,7 @@ interface CellProps { setCellToFocus(cell: Cell): void; } -type OnChangeEventData = TargetedEvent | InputEvent | JQuery.TriggeredEvent; +type OnChangeEventData = TargetedEvent | InputEvent | JQuery.TriggeredEvent; type OnChangeListener = (e: OnChangeEventData) => void | Promise; export default function PromotedAttributes() { @@ -173,6 +173,7 @@ function PromotedAttributeCell(props: CellProps) { const LABEL_MAPPINGS: Record = { text: "text", + textarea: "text", number: "number", boolean: "checkbox", date: "date", @@ -226,20 +227,21 @@ function LabelInput(props: CellProps & { inputId: string }) { } } - const inputNode = ; + + const inputNode = createElement(definition.labelType === "textarea" ? "textarea" : "input", { + className: "form-control promoted-attribute-input", + tabIndex: 200 + definitionAttr.position, + id: inputId, + type: LABEL_MAPPINGS[definition.labelType ?? "text"], + value: valueDraft, + checked: definition.labelType === "boolean" ? valueAttr.value === "true" : undefined, + placeholder: t("promoted_attributes.unset-field-placeholder"), + "data-attribute-id": valueAttr.attributeId, + "data-attribute-type": valueAttr.type, + "data-attribute-name": valueAttr.name, + onBlur: onChangeListener, + ...extraInputProps + }); if (definition.labelType === "boolean") { return <> diff --git a/apps/client/src/widgets/attribute_widgets/attribute_detail.ts b/apps/client/src/widgets/attribute_widgets/attribute_detail.ts index 607af49952..452c6aecc3 100644 --- a/apps/client/src/widgets/attribute_widgets/attribute_detail.ts +++ b/apps/client/src/widgets/attribute_widgets/attribute_detail.ts @@ -137,6 +137,7 @@ const TPL = /*html*/` + <%= t("setup.new-document") %>
- + -
+

<%= t("setup.init-in-progress") %>

@@ -103,7 +103,7 @@
-
+

<%= t("setup_sync-from-desktop.heading") %>

<%= t("setup_sync-from-desktop.description") %>

@@ -117,11 +117,11 @@
  • <%- t("setup_sync-from-desktop.step6", { link: `${t("setup_sync-from-desktop.step6-here")}` }) %>
  • - +
    -
    -
    +
    +

    <%= t("setup_sync-from-server.heading") %>

    @@ -129,27 +129,27 @@
    - "> + ">
    - "> + ">

    <%= t("setup_sync-from-server.note") %> <%= t("setup_sync-from-server.proxy-instruction") %>

    - "> + ">
    - +
    -
    +

    <%= t("setup_sync-in-progress.heading") %>

    <%= t("setup_sync-in-progress.successful") %>
    From 61dfba8c320d812aaecef2c700c423efd0933bbe Mon Sep 17 00:00:00 2001 From: JYC333 <22962980+JYC333@users.noreply.github.com> Date: Thu, 19 Mar 2026 11:24:45 +0000 Subject: [PATCH 52/59] fix: remove knockout dependency --- apps/client/package.json | 3 +-- pnpm-lock.yaml | 8 -------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 0a3e665355..3b35a09ef0 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -59,7 +59,6 @@ "jquery.fancytree": "2.38.5", "jsplumb": "2.15.6", "katex": "0.16.38", - "knockout": "3.5.2", "leaflet": "1.9.4", "leaflet-gpx": "2.2.0", "mark.js": "8.11.1", @@ -92,4 +91,4 @@ "script-loader": "0.7.2", "vite-plugin-static-copy": "3.3.0" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a1dc2d695f..89319211bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -314,9 +314,6 @@ importers: katex: specifier: 0.16.38 version: 0.16.38 - knockout: - specifier: 3.5.2 - version: 3.5.2 leaflet: specifier: 1.9.4 version: 1.9.4 @@ -11081,9 +11078,6 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - knockout@3.5.2: - resolution: {integrity: sha512-AcJS2PqsYspjtOAlnnVS8hAuBnHMEqRVEwdvmQTeXj/9zfjV//KHurzdYc8MtBd/Pu8bZLMGHc7x0cj8qUvKxQ==} - kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -29164,8 +29158,6 @@ snapshots: klona@2.0.6: {} - knockout@3.5.2: {} - kolorist@1.8.0: {} ky@1.14.2: {} From 225cdaff4633af55ce84e3c0a5021bc6c58ccd4a Mon Sep 17 00:00:00 2001 From: JYC333 <22962980+JYC333@users.noreply.github.com> Date: Thu, 19 Mar 2026 11:34:53 +0000 Subject: [PATCH 53/59] Update apps/client/src/setup.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- apps/client/src/setup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/setup.ts b/apps/client/src/setup.ts index 4a8e467090..30232b85a3 100644 --- a/apps/client/src/setup.ts +++ b/apps/client/src/setup.ts @@ -51,7 +51,7 @@ class SetupController { for (const input of this.setupTypeInputs) { input.addEventListener("change", () => { - this.setupType = (input.checked ? input.value : this.getSelectedSetupType()) as SetupType; + this.setupType = input.value as SetupType; this.render(); }); } From b29ab93fd522407d090025bf24c5e4abce02a29c Mon Sep 17 00:00:00 2001 From: JYC333 <22962980+JYC333@users.noreply.github.com> Date: Thu, 19 Mar 2026 11:46:35 +0000 Subject: [PATCH 54/59] fix: limit the scope of DB check only for share page --- apps/server/src/share/routes.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/apps/server/src/share/routes.ts b/apps/server/src/share/routes.ts index 6494f099a7..69489c5522 100644 --- a/apps/server/src/share/routes.ts +++ b/apps/server/src/share/routes.ts @@ -1,6 +1,6 @@ import safeCompare from "safe-compare"; -import type { Request, Response, Router } from "express"; +import type { NextFunction, Request, Response, Router } from "express"; import shaca from "./shaca/shaca.js"; import shacaLoader from "./shaca/shaca_loader.js"; @@ -12,13 +12,15 @@ import { getDefaultTemplatePath, renderNoteContent } from "./content_renderer.js import utils from "../services/utils.js"; import { isShareDbReady } from "./sql.js"; -function assertShareDbReady(res: Response): boolean { +function assertShareDbReady(_req: Request, res: Response, next: NextFunction) { if (!isShareDbReady()) { res.status(503).send("The application is still initializing. Please try again in a moment."); - return false; + return; } - return true; + + next(); } + function addNoIndexHeader(note: SNote, res: Response) { if (note.isLabelTruthy("shareDisallowRobotIndexing")) { res.setHeader("X-Robots-Tag", "noindex"); @@ -124,12 +126,7 @@ function render404(res: Response) { function register(router: Router) { // Guard: if the share DB is not yet initialized, return 503 for all /share routes. - router.use((_req: Request, res: Response, next) => { - if (!assertShareDbReady(res)) { - return; - } - next(); - }); + router.use("/share", assertShareDbReady); function renderNote(note: SNote, req: Request, res: Response) { if (!note) { From b6efb7c9ab48d3047e1edadaf4ce41260d6a49ad Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 19 Mar 2026 19:07:54 +0200 Subject: [PATCH 55/59] feat(relation_map): add common note opening options to context menu --- .../src/translations/en/translation.json | 1 - .../type_widgets/relation_map/context_menu.ts | 44 ++++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 07f7b10de0..81c81bea96 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1068,7 +1068,6 @@ "unprotecting-title": "Unprotecting status" }, "relation_map": { - "open_in_new_tab": "Open in new tab", "remove_note": "Remove note", "edit_title": "Edit title", "rename_note": "Rename note", diff --git a/apps/client/src/widgets/type_widgets/relation_map/context_menu.ts b/apps/client/src/widgets/type_widgets/relation_map/context_menu.ts index 4dd4b2e68e..9f38ce8701 100644 --- a/apps/client/src/widgets/type_widgets/relation_map/context_menu.ts +++ b/apps/client/src/widgets/type_widgets/relation_map/context_menu.ts @@ -1,12 +1,14 @@ +import { Connection } from "jsplumb"; import { RefObject } from "preact"; + import appContext from "../../../components/app_context"; import FNote from "../../../entities/fnote"; import contextMenu from "../../../menus/context_menu"; +import link_context_menu from "../../../menus/link_context_menu"; import dialog from "../../../services/dialog"; import { t } from "../../../services/i18n"; import server from "../../../services/server"; import RelationMapApi from "./api"; -import { Connection } from "jsplumb"; export function buildNoteContextMenuHandler(note: FNote | null | undefined, mapApiRef: RefObject) { return (e: MouseEvent) => { @@ -17,22 +19,8 @@ export function buildNoteContextMenuHandler(note: FNote | null | undefined, mapA x: e.pageX, y: e.pageY, items: [ - { - title: t("relation_map.open_in_new_tab"), - uiIcon: "bx bx-empty", - handler: () => appContext.tabManager.openTabWithNoteWithHoisting(note.noteId) - }, - { - title: t("relation_map.remove_note"), - uiIcon: "bx bx-trash", - handler: async () => { - if (!note) return; - const result = await dialog.confirmDeleteNoteBoxWithNote(note.title); - if (typeof result !== "object" || !result.confirmed) return; - - mapApiRef.current?.removeItem(note.noteId, result.isDeleteNoteChecked); - } - }, + ...link_context_menu.getItems(e), + { kind: "separator" }, { title: t("relation_map.edit_title"), uiIcon: "bx bx-pencil", @@ -49,10 +37,26 @@ export function buildNoteContextMenuHandler(note: FNote | null | undefined, mapA await server.put(`notes/${note.noteId}/title`, { title }); } - } + }, + { kind: "separator" }, + + { + title: t("relation_map.remove_note"), + uiIcon: "bx bx-trash", + handler: async () => { + if (!note) return; + const result = await dialog.confirmDeleteNoteBoxWithNote(note.title); + if (typeof result !== "object" || !result.confirmed) return; + + mapApiRef.current?.removeItem(note.noteId, result.isDeleteNoteChecked); + } + }, ], - selectMenuItemHandler() {} - }) + selectMenuItemHandler({ command }) { + // Pass the events to the link context menu + link_context_menu.handleLinkContextMenuItem(command, e, note.noteId); + } + }); }; } From e9b63e50d42671f440931bbfbe22cb90524e5929 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 19 Mar 2026 18:08:09 +0100 Subject: [PATCH 56/59] Update translation files Updated by "Cleanup translation files" add-on in Weblate. Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ --- apps/client/src/translations/ar/translation.json | 1 - apps/client/src/translations/cn/translation.json | 1 - apps/client/src/translations/de/translation.json | 1 - apps/client/src/translations/es/translation.json | 1 - apps/client/src/translations/fr/translation.json | 1 - apps/client/src/translations/ga/translation.json | 1 - apps/client/src/translations/hi/translation.json | 1 - apps/client/src/translations/it/translation.json | 1 - apps/client/src/translations/ja/translation.json | 1 - apps/client/src/translations/pl/translation.json | 1 - apps/client/src/translations/pt/translation.json | 1 - apps/client/src/translations/pt_br/translation.json | 1 - apps/client/src/translations/ro/translation.json | 1 - apps/client/src/translations/ru/translation.json | 1 - apps/client/src/translations/tw/translation.json | 1 - apps/client/src/translations/uk/translation.json | 1 - 16 files changed, 16 deletions(-) diff --git a/apps/client/src/translations/ar/translation.json b/apps/client/src/translations/ar/translation.json index 8f0c6809a5..70c3c2f737 100644 --- a/apps/client/src/translations/ar/translation.json +++ b/apps/client/src/translations/ar/translation.json @@ -1069,7 +1069,6 @@ "rename_note": "اعادة تسمية الملاحظة", "remove_relation": "حذف العلاقة", "default_new_note_title": "ملاحظة جديدة", - "open_in_new_tab": "فتح في تبويب جديد", "enter_new_title": "ادخل عنوان ملاحظة جديدة:", "note_not_found": "الملاحظة {{noteId}} غير موجودة!", "cannot_match_transform": "تعذر مطابقة التحويل: {{transform}}" diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 42291a173e..73af593a43 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1047,7 +1047,6 @@ "unprotecting-title": "解除保护状态" }, "relation_map": { - "open_in_new_tab": "在新标签页中打开", "remove_note": "删除笔记", "edit_title": "编辑标题", "rename_note": "重命名笔记", diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 718e7dad23..49a5a6c90d 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -1046,7 +1046,6 @@ "unprotecting-title": "Ungeschützt-Status" }, "relation_map": { - "open_in_new_tab": "In neuem Tab öffnen", "remove_note": "Notiz entfernen", "edit_title": "Titel bearbeiten", "rename_note": "Notiz umbenennen", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index deb5bf6bb4..3756ba8590 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -1051,7 +1051,6 @@ "unprotecting-title": "Estado de desprotección" }, "relation_map": { - "open_in_new_tab": "Abrir en nueva pestaña", "remove_note": "Quitar nota", "edit_title": "Editar título", "rename_note": "Cambiar nombre de nota", diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index be1265054b..be019eaa16 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -1036,7 +1036,6 @@ "unprotecting-title": "Statut de la non-protection" }, "relation_map": { - "open_in_new_tab": "Ouvrir dans un nouvel onglet", "remove_note": "Supprimer la note", "edit_title": "Modifier le titre", "rename_note": "Renommer la note", diff --git a/apps/client/src/translations/ga/translation.json b/apps/client/src/translations/ga/translation.json index 484125c3d4..0c2c66be12 100644 --- a/apps/client/src/translations/ga/translation.json +++ b/apps/client/src/translations/ga/translation.json @@ -1055,7 +1055,6 @@ "unprotecting-title": "Stádas díchosanta" }, "relation_map": { - "open_in_new_tab": "Oscail i gcluaisín nua", "remove_note": "Bain nóta", "edit_title": "Cuir an teideal in eagar", "rename_note": "Athainmnigh an nóta", diff --git a/apps/client/src/translations/hi/translation.json b/apps/client/src/translations/hi/translation.json index e9580ef5b8..b11e731125 100644 --- a/apps/client/src/translations/hi/translation.json +++ b/apps/client/src/translations/hi/translation.json @@ -1049,7 +1049,6 @@ "unprotecting-title": "अन-प्रोटेक्ट स्टेटस" }, "relation_map": { - "open_in_new_tab": "नए टैब में खोलें", "remove_note": "नोट हटाएं", "edit_title": "टाइटल एडिट करें", "rename_note": "नोट का नाम बदलें", diff --git a/apps/client/src/translations/it/translation.json b/apps/client/src/translations/it/translation.json index e84ba2db78..2ef5526c27 100644 --- a/apps/client/src/translations/it/translation.json +++ b/apps/client/src/translations/it/translation.json @@ -1424,7 +1424,6 @@ "unprotecting-title": "Stato non protetto" }, "relation_map": { - "open_in_new_tab": "Apri in una nuova scheda", "remove_note": "Rimuovi nota", "edit_title": "Modifica titolo", "rename_note": "Rinomina nota", diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json index 7a67a5d650..fbec0aab83 100644 --- a/apps/client/src/translations/ja/translation.json +++ b/apps/client/src/translations/ja/translation.json @@ -1537,7 +1537,6 @@ "url_placeholder": "http://web サイト..." }, "relation_map": { - "open_in_new_tab": "新しいタブで開く", "remove_note": "ノートを削除", "edit_title": "タイトルを編集", "rename_note": "ノート名を変更", diff --git a/apps/client/src/translations/pl/translation.json b/apps/client/src/translations/pl/translation.json index d7a2cc7f18..cf1bad2b9d 100644 --- a/apps/client/src/translations/pl/translation.json +++ b/apps/client/src/translations/pl/translation.json @@ -1275,7 +1275,6 @@ "unprotecting-title": "Status zdejmowania ochrony" }, "relation_map": { - "open_in_new_tab": "Otwórz w nowej karcie", "remove_note": "Usuń notatkę", "edit_title": "Edytuj tytuł", "rename_note": "Zmień nazwę notatki", diff --git a/apps/client/src/translations/pt/translation.json b/apps/client/src/translations/pt/translation.json index 45570c6db4..b28d38e414 100644 --- a/apps/client/src/translations/pt/translation.json +++ b/apps/client/src/translations/pt/translation.json @@ -1047,7 +1047,6 @@ "unprotecting-title": "Estado da remoção de proteção" }, "relation_map": { - "open_in_new_tab": "Abrir em nova guia", "remove_note": "Remover nota", "edit_title": "Editar título", "rename_note": "Renomear nota", diff --git a/apps/client/src/translations/pt_br/translation.json b/apps/client/src/translations/pt_br/translation.json index 22fd6856d1..24c896984f 100644 --- a/apps/client/src/translations/pt_br/translation.json +++ b/apps/client/src/translations/pt_br/translation.json @@ -1111,7 +1111,6 @@ "start_session_button": "Iniciar sessão protegida" }, "relation_map": { - "open_in_new_tab": "Abrir em nova aba", "remove_note": "Remover nota", "edit_title": "Editar título", "rename_note": "Renomear nota", diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index e1f5810cf0..9e12892d38 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -1054,7 +1054,6 @@ "enter_title_of_new_note": "Introduceți titlul noii notițe", "note_already_in_diagram": "Notița „{{title}}” deja se află pe diagramă.", "note_not_found": "Notița „{{noteId}}” nu a putut fi găsită!", - "open_in_new_tab": "Deschide într-un tab nou", "remove_note": "Șterge notița", "remove_relation": "Șterge relația", "rename_note": "Redenumește notița", diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index 36bc11cd9f..818297e172 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -1625,7 +1625,6 @@ "rename_note": "Переименовать заметку", "remove_relation": "Удалить отношение", "default_new_note_title": "новая заметка", - "open_in_new_tab": "Открыть в новой вкладке", "confirm_remove_relation": "Вы уверены, что хотите удалить связь?", "enter_new_title": "Введите новое название заметки:", "note_not_found": "Заметка {{noteId}} не найдена!", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index e3ec0d07cc..e133d38a09 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1046,7 +1046,6 @@ "unprotecting-title": "解除保護狀態" }, "relation_map": { - "open_in_new_tab": "在新分頁中打開", "remove_note": "刪除筆記", "edit_title": "編輯標題", "rename_note": "重新命名筆記", diff --git a/apps/client/src/translations/uk/translation.json b/apps/client/src/translations/uk/translation.json index 068d30da76..75c890ffbf 100644 --- a/apps/client/src/translations/uk/translation.json +++ b/apps/client/src/translations/uk/translation.json @@ -1151,7 +1151,6 @@ "unprotecting-title": "Статус зняття захисту" }, "relation_map": { - "open_in_new_tab": "Відкрити в новій вкладці", "remove_note": "Видалити нотатку", "edit_title": "Редагувати заголовок", "rename_note": "Перейменувати нотатку", From 50eb11997c1a0776150525e9b7fb08d900a5f329 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 19 Mar 2026 19:49:32 +0200 Subject: [PATCH 57/59] fix(setup): contrast issue in alert (closes #8915) --- apps/client/src/stylesheets/theme-next/base.css | 3 ++- apps/server/package.json | 1 + package.json | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/client/src/stylesheets/theme-next/base.css b/apps/client/src/stylesheets/theme-next/base.css index e57de8cd67..7bf9423138 100644 --- a/apps/client/src/stylesheets/theme-next/base.css +++ b/apps/client/src/stylesheets/theme-next/base.css @@ -675,10 +675,11 @@ li.dropdown-item a.dropdown-item-button:focus-visible { div.alert { margin-bottom: 8px; background: var(--alert-bar-background) !important; + color: var(--main-text-color); border-radius: 8px; font-size: .85em; } div.alert p + p { margin-block: 1em 0; -} \ No newline at end of file +} diff --git a/apps/server/package.json b/apps/server/package.json index 0d9cb6843f..e5e6314a6e 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -6,6 +6,7 @@ "main": "./src/main.ts", "scripts": { "dev": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_DATA_DIR=data TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts", + "dev-alt": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_DATA_DIR=data2 TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts", "start-no-dir": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts", "edit-integration-db": "cross-env NODE_ENV=development TRILIUM_PORT=8086 TRILIUM_ENV=dev TRILIUM_DATA_DIR=spec/db TRILIUM_INTEGRATION_TEST=edit TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts", "build": "tsx scripts/build.ts", diff --git a/package.json b/package.json index 04593d0178..6e79a8f939 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "server:build": "pnpm run --filter server build", "server:coverage": "pnpm run --filter server test --coverage", "server:start": "pnpm run --filter server dev", + "server:start-alt": "pnpm run --filter server dev-alt", "server:start-prod": "pnpm run --filter server start-prod", "desktop:start": "pnpm run --filter desktop dev", "desktop:build": "pnpm run --filter desktop build", From 49f5dc1c26ef5ef6cbac762090134d921fccb41a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 19 Mar 2026 20:00:43 +0200 Subject: [PATCH 58/59] fix(table): text jumping when editing multiline text --- apps/client/src/widgets/collections/table/index.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/client/src/widgets/collections/table/index.css b/apps/client/src/widgets/collections/table/index.css index 604a384156..c8dcc87936 100644 --- a/apps/client/src/widgets/collections/table/index.css +++ b/apps/client/src/widgets/collections/table/index.css @@ -75,3 +75,9 @@ font-size: 1.5em; transform: translateY(-50%); } + +.tabulator .tabulator-editable { + textarea { + padding: 7px !important; + } +} From d5333609035fa9720bb69d88a7472695acb5036b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 19 Mar 2026 20:01:49 +0200 Subject: [PATCH 59/59] chore(attributes): rename textarea to multiline text --- apps/client/src/translations/en/translation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index b719e8cd31..27891a02ab 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -343,7 +343,7 @@ "label_type_title": "Type of the label will help Trilium to choose suitable interface to enter the label value.", "label_type": "Type", "text": "Text", - "textarea": "Textarea", + "textarea": "Multi-line Text", "number": "Number", "boolean": "Boolean", "date": "Date",