git: 903e0bfa63fc - main - net-im/signal-desktop: Update to 8.29.0

From: Mikael Urankar <mikael_at_FreeBSD.org>
Date: Tue, 06 Oct 2026 12:37:15 UTC
The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=903e0bfa63fc39a31bb2fe6fdea38c14e0f19d16

commit 903e0bfa63fc39a31bb2fe6fdea38c14e0f19d16
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2026-10-06 12:35:41 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2026-10-06 12:37:03 +0000

    net-im/signal-desktop: Update to 8.29.0
---
 net-im/signal-desktop/Makefile                     |  35 +-
 net-im/signal-desktop/distinfo                     |  10 +-
 net-im/signal-desktop/files/patch-package.json     |  30 +
 .../signal-desktop/files/patch-pnpm-workspace.yaml |  33 +-
 .../files/patch-ts_components_SearchInput.dom.tsx  |  16 +-
 .../patch-ts_services_notifications.preload.ts     |  12 +-
 net-im/signal-desktop/files/pnpm-lock.yaml         | 897 +++++++++++++--------
 net-im/signal-desktop/files/pnpm/package-lock.json |  18 +-
 net-im/signal-desktop/files/pnpm/package.json      |   2 +-
 net-im/signal-desktop/get_deps.sh                  |   4 +-
 net-im/signal-desktop/pkg-plist                    |  10 +-
 11 files changed, 684 insertions(+), 383 deletions(-)

diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile
index 5964f90ee959..8e06bf2f6fa1 100644
--- a/net-im/signal-desktop/Makefile
+++ b/net-im/signal-desktop/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	signal-desktop
 DISTVERSIONPREFIX=	v
-DISTVERSION=	8.27.0
-PORTREVISION=	3
+DISTVERSION=	8.29.0
 CATEGORIES=	net-im
 MASTER_SITES=	LOCAL/mikael/signal-desktop/:npm
 DISTFILES=	signal-desktop-${DISTVERSION}-npm-cache.tar.gz:npm
@@ -80,26 +79,14 @@ MAKE_ENV+=	PYTHONDONTWRITEBYTECODE=1
 
 _BUILD_DATE=	$$(date +'%s')
 
-ELECTRON_VER_MAJOR=	43
-PNPM_VERS=		10.18.1
-
-NODE_ARCH=	${ARCH:S/aarch64/arm64/:S/amd64/x64/}
-APP_OUT_DIR=	linux-${ARCH:S/aarch64/arm64-/:S/amd64//}unpacked
-
-PLIST_SUB=	NODE_ARCH=${NODE_ARCH} \
-		SHARP_ARCH=${ARCH:S/aarch64/arm64v8/:S/amd64/x64/}
+ELECTRON_VER_MAJOR=	44
+PNPM_VERS=		11.24.0
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} == aarch64
-PLIST_SUB+=	NOT_AARCH64="@comment "
-.elif ${ARCH} == amd64
-PLIST_SUB+=	NOT_AARCH64=""
-.endif
-
 do-build:
-# electron-builder is stupid and tries to open ${LOCALBASE}/share/electron43/electron with WRITE priv
-# copy ${LOCALBASE}/share/electron43 in WRKDIR
+# electron-builder is stupid and tries to open ${LOCALBASE}/share/electron44/electron with WRITE priv
+# copy ${LOCALBASE}/share/electron44 in WRKDIR
 # it's needed for the do-install phase, it's here because of this issue
 # https://github.com/MikaelUrankar/signal-desktop/issues/6 (I don't know why it fails though)
 	@${RM} -r ${WRKDIR}/electron${ELECTRON_VER_MAJOR}
@@ -122,16 +109,16 @@ do-build:
 		${SETENV} ${MAKE_ENV} npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers pnpm install --ignore-scripts || ${TRUE}
 
 	# Install libsignal_node.so, libringrtc.so and node_sqlcipher.node binaries in node_modules
-	${MKDIR} ${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH} \
+	${MKDIR} ${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-x64 \
 		 ${WRKSRC}/node_modules/@signalapp/ringrtc/build/freebsd \
-		 ${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-${NODE_ARCH}
+		 ${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-x64
 
 	${CP} ${LOCALBASE}/lib/libsignal_node.so \
-		${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH}/@signalapp+libsignal-client.node
+		${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-x64/@signalapp+libsignal-client.node
 	${CP} ${LOCALBASE}/lib/libringrtc.so \
-		${WRKSRC}/node_modules/@signalapp/ringrtc/build/freebsd/libringrtc-${NODE_ARCH}.node
+		${WRKSRC}/node_modules/@signalapp/ringrtc/build/freebsd/libringrtc-x64.node
 	${CP} ${LOCALBASE}/lib/node_sqlcipher.node \
-		${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-${NODE_ARCH}
+		${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-x64
 
 	cd ${WRKSRC} && \
 		${SETENV} ${MAKE_ENV} npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers pnpm install
@@ -156,7 +143,7 @@ do-install:
 			--config.electronDist=${WRKDIR}/electron${ELECTRON_VER_MAJOR}
 
 	${MKDIR} ${STAGEDIR}${DATADIR}
-	cd ${WRKSRC}/dist/${APP_OUT_DIR} && \
+	cd ${WRKSRC}/dist/linux-unpacked && \
 		${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
 
 	# install polkit policies so that backup works
diff --git a/net-im/signal-desktop/distinfo b/net-im/signal-desktop/distinfo
index ba6448d6575f..23c9f7a22ceb 100644
--- a/net-im/signal-desktop/distinfo
+++ b/net-im/signal-desktop/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1789315080
-SHA256 (signal-desktop-8.27.0-npm-cache.tar.gz) = dc2b026ea302feae5d5ac1bab30b0d2f459c376b76d3352aab15d14d1e3c9e7d
-SIZE (signal-desktop-8.27.0-npm-cache.tar.gz) = 903844944
-SHA256 (signalapp-Signal-Desktop-v8.27.0_GH0.tar.gz) = 9e49ec612ce3250d7ed4c7aedfb15b1d299261a3306bb1384ff37911abf76c46
-SIZE (signalapp-Signal-Desktop-v8.27.0_GH0.tar.gz) = 48833439
+TIMESTAMP = 1791131583
+SHA256 (signal-desktop-8.29.0-npm-cache.tar.gz) = ce1ee796cef49c51b0b459e24ce41f66062b5ae7f7ecef13b3cd33901fa28543
+SIZE (signal-desktop-8.29.0-npm-cache.tar.gz) = 863332103
+SHA256 (signalapp-Signal-Desktop-v8.29.0_GH0.tar.gz) = 8c88677e84bb584fabfab8452e8caccba6fa8654f2c5dcfc5cc5aa9c7be82acb
+SIZE (signalapp-Signal-Desktop-v8.29.0_GH0.tar.gz) = 48937273
diff --git a/net-im/signal-desktop/files/patch-package.json b/net-im/signal-desktop/files/patch-package.json
new file mode 100644
index 000000000000..cb9e197f7cea
--- /dev/null
+++ b/net-im/signal-desktop/files/patch-package.json
@@ -0,0 +1,30 @@
+--- package.json.orig	2026-09-25 10:10:02 UTC
++++ package.json
+@@ -346,17 +346,20 @@
+     "zod": "4.3.6"
+   },
+   "engines": {
+-    "node": "24.19.0"
++    "node": ""
+   },
+   "devEngines": {
+     "runtime": {
+-      "name": "node",
+-      "version": "24.19.0"
++      "name": "node"
+     },
+-    "packageManager": {
+-      "name": "pnpm",
+-      "version": "11.24.0"
+-    }
++    "packageManager": [
++      {
++        "name": "pnpm"
++      },
++      {
++        "name": "npm"
++      }
++    ]
+   },
+   "build": {
+     "appId": "org.whispersystems.signal-desktop",
diff --git a/net-im/signal-desktop/files/patch-pnpm-workspace.yaml b/net-im/signal-desktop/files/patch-pnpm-workspace.yaml
index de2b395879bd..e8ac693b6fa9 100644
--- a/net-im/signal-desktop/files/patch-pnpm-workspace.yaml
+++ b/net-im/signal-desktop/files/patch-pnpm-workspace.yaml
@@ -1,9 +1,9 @@
 --- pnpm-workspace.yaml.orig	2026-07-13 10:52:52 UTC
 +++ pnpm-workspace.yaml
-@@ -85,13 +85,14 @@ patchedDependencies:
-   'casual@1.6.2': 'patches/casual+1.6.2.patch'
+@@ -78,13 +78,14 @@ patchedDependencies:
    'dmg-builder': 'patches/dmg-builder.patch'
    'fabric@4.6.0': 'patches/fabric+4.6.0.patch'
+   'fs-extra@11.3.4': 'patches/fs-extra+11.3.4.patch'
 -  'fs-xattr': 'patches/fs-xattr.patch'
    'growing-file@0.1.3': 'patches/growing-file+0.1.3.patch'
    'node-fetch@3.3.2': 'patches/node-fetch@3.3.2.patch'
@@ -16,3 +16,32 @@
  
  strictDepBuilds: true
  allowBuilds:
+@@ -148,3 +149,28 @@ allowedDeprecatedVersions:
+   'uuid': '8.3.2 || 9.0.1'
+   'whatwg-encoding': '2.0.0'
+   'yaeti': '0.0.6'
++  '@yuku-parser/binding-win32-x64': '0.8.7'
++  '@yuku-parser/binding-darwin-x64': '0.8.7'
++  '@yuku-parser/binding-freebsd-x64': '0.8.7'
++  '@yuku-parser/binding-win32-arm64': '0.8.7'
++  '@yuku-parser/binding-darwin-arm64': '0.8.7'
++  '@yuku-parser/binding-android-arm64': '0.8.7'
++  '@yuku-parser/binding-linux-arm-gnu': '0.8.7'
++  '@yuku-parser/binding-linux-x64-gnu': '0.8.7'
++  '@yuku-parser/binding-linux-arm-musl': '0.8.7'
++  '@yuku-parser/binding-linux-x64-musl': '0.8.7'
++  '@yuku-parser/binding-linux-arm64-gnu': '0.8.7'
++  '@yuku-parser/binding-linux-arm64-musl': '0.8.7'
++  '@yuku-codegen/binding-win32-x64': '0.8.7'
++  '@yuku-codegen/binding-darwin-x64': '0.8.7'
++  '@yuku-codegen/binding-freebsd-x64': '0.8.7'
++  '@yuku-codegen/binding-win32-arm64': '0.8.7'
++  '@yuku-codegen/binding-darwin-arm64': '0.8.7'
++  '@yuku-codegen/binding-android-arm64': '0.8.7'
++  '@yuku-codegen/binding-linux-arm-gnu': '0.8.7'
++  '@yuku-codegen/binding-linux-x64-gnu': '0.8.7'
++  '@yuku-codegen/binding-linux-arm-musl': '0.8.7'
++  '@yuku-codegen/binding-linux-x64-musl': '0.8.7'
++  '@yuku-codegen/binding-linux-arm64-gnu': '0.8.7'
++  '@yuku-codegen/binding-linux-arm64-musl': '0.8.7'
++
diff --git a/net-im/signal-desktop/files/patch-ts_components_SearchInput.dom.tsx b/net-im/signal-desktop/files/patch-ts_components_SearchInput.dom.tsx
index de3c4fb0d787..6997d9cfde92 100644
--- a/net-im/signal-desktop/files/patch-ts_components_SearchInput.dom.tsx
+++ b/net-im/signal-desktop/files/patch-ts_components_SearchInput.dom.tsx
@@ -1,11 +1,11 @@
 --- ts/components/SearchInput.dom.tsx.orig	2022-12-04 09:59:26 UTC
 +++ ts/components/SearchInput.dom.tsx
-@@ -67,7 +67,7 @@ export const SearchInput = forwardRef<HTMLInputElement
-             const { ctrlKey, key } = event;
+@@ -64,7 +64,7 @@ export const SearchInput = forwardRef<HTMLInputElement
+         const { ctrlKey, key } = event;
  
-             // On Linux, this key combo selects all text.
--            if (window.platform === 'linux' && ctrlKey && key === '/') {
-+            if ((window.platform === 'freebsd' || window.platform === 'linux') && ctrlKey && key === '/') {
-               event.preventDefault();
-               event.stopPropagation();
-             } else if (key === 'Escape' && onClear) {
+         // On Linux, this key combo selects all text.
+-        if (window.platform === 'linux' && ctrlKey && key === '/') {
++        if ((window.platform === 'freebsd' || window.platform === 'linux') && ctrlKey && key === '/') {
+           event.preventDefault();
+           event.stopPropagation();
+         } else if (key === 'Escape' && onClear) {
diff --git a/net-im/signal-desktop/files/patch-ts_services_notifications.preload.ts b/net-im/signal-desktop/files/patch-ts_services_notifications.preload.ts
index 9917ee8dca6f..3902e69a58d6 100644
--- a/net-im/signal-desktop/files/patch-ts_services_notifications.preload.ts
+++ b/net-im/signal-desktop/files/patch-ts_services_notifications.preload.ts
@@ -1,11 +1,11 @@
 --- ts/services/notifications.preload.ts.orig	2025-05-23 12:14:12 UTC
 +++ ts/services/notifications.preload.ts
-@@ -196,7 +196,7 @@ class NotificationService extends EventEmitter {
-       this.#lastNotification?.close();
- 
+@@ -277,7 +277,7 @@ export class NotificationService extends EventEmitter 
+       this.#lastShown = { notification: null, data };
+     } else {
        const notification = new window.Notification(title, {
--        body: OS.isLinux() ? filterNotificationText(message) : message,
-+        body: (OS.isLinux() || OS.isFreeBSD()) ? filterNotificationText(message) : message,
-         icon: iconUrl,
+-        body: OS.isLinux() ? filterNotificationBody(body) : body,
++        body: (OS.isLinux() || OS.isFreeBSD()) ? filterNotificationText(body) : body,
+         icon: iconUrl ?? undefined,
          silent: true,
          tag: messageId,
diff --git a/net-im/signal-desktop/files/pnpm-lock.yaml b/net-im/signal-desktop/files/pnpm-lock.yaml
index 4a153e7d6a23..3d7ef25df7cb 100644
--- a/net-im/signal-desktop/files/pnpm-lock.yaml
+++ b/net-im/signal-desktop/files/pnpm-lock.yaml
@@ -1,3 +1,202 @@
+---
+lockfileVersion: '9.0'
+
+importers:
+
+  .:
+    configDependencies: {}
+    packageManagerDependencies:
+      '@pnpm/exe':
+        specifier: 11.24.0
+        version: 11.24.0
+      pnpm:
+        specifier: 11.24.0
+        version: 11.24.0
+
+packages:
+
+  '@pnpm/exe@11.24.0':
+    resolution: {integrity: sha512-yCZWlhNOB3GS0I2uZC/CggwGZ+TLVLbOuBcMbVWXKFYJOg/0gnQw8eIN6YZLA+eeSvfHEvS79IDdbwu5CMQR0g==}
+    hasBin: true
+
+  '@pnpm/linux-arm64@11.24.0':
+    resolution: {integrity: sha512-wgAF82SnMfWU8/xb0VLszKJYqL+MDHMMGz42s4jW+GIFUGYna/xG5VXUxgcv2FaZhJ2GbyZVUf2f/UJs6nb+zA==}
+    cpu: [arm64]
+    os: [linux]
+
+  '@pnpm/linux-x64@11.24.0':
+    resolution: {integrity: sha512-94e4GRvFB5hEwr9subLHLF2q3+DduKFPh2FE0+F7fgqt1Bs86gDxjJ7bbQCpTX2X4j6cUTA5Hc0HFzMz4xKnaA==}
+    cpu: [x64]
+    os: [linux]
+
+  '@pnpm/linuxstatic-arm64@11.24.0':
+    resolution: {integrity: sha512-1Vwk+M5fzjg364SDZfrtaZfthsy1THS9eSdH7dpBaG0l3HbLusQrh8labRlpMmK8KyQXcI1FvYLzPZVuAGGPng==}
+    cpu: [arm64]
+    os: [linux]
+    libc: [musl]
+
+  '@pnpm/linuxstatic-x64@11.24.0':
+    resolution: {integrity: sha512-oyPChWYdJpJMDnwtCFNzupD+GEO4G6DDMARuZfBrCUgqRm1h2KDcVCqk9IbfFBfxWdK+bVHJpA9Qp3nlL6/thw==}
+    cpu: [x64]
+    os: [linux]
+    libc: [musl]
+
+  '@pnpm/macos-arm64@11.24.0':
+    resolution: {integrity: sha512-nBzaOkR4D7HiuJRwlpk1aqaA/Wai11/zuCZjH5ZUe6fq86UWsqME0u3/F5K0j7yN8X2h7iKiApAaVmbfYMIc6A==}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@pnpm/win-arm64@11.24.0':
+    resolution: {integrity: sha512-ECLc0U/5cnXRkBrpO/dW+x1Y+a2CCqS4l171H7+YOQNcSaCAWlezP3YNvuO+5awwGWHIW7KEXbBruu5n50zVuA==}
+    cpu: [arm64]
+    os: [win32]
+
+  '@pnpm/win-x64@11.24.0':
+    resolution: {integrity: sha512-2wgDrs2SiyBoU6Yw1A8QLLqBABWHwuMMQOU85k7ZMut/W94u/oizrDQiyfJyW9XzYCz4Dn2iw7OHx+3R2x7mEQ==}
+    cpu: [x64]
+    os: [win32]
+
+  '@reflink/reflink-darwin-arm64@0.1.19':
+    resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@reflink/reflink-darwin-x64@0.1.19':
+    resolution: {integrity: sha512-By85MSWrMZa+c26TcnAy8SDk0sTUkYlNnwknSchkhHpGXOtjNDUOxJE9oByBnGbeuIE1PiQsxDG3Ud+IVV9yuA==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [darwin]
+
+  '@reflink/reflink-linux-arm64-gnu@0.1.19':
+    resolution: {integrity: sha512-7P+er8+rP9iNeN+bfmccM4hTAaLP6PQJPKWSA4iSk2bNvo6KU6RyPgYeHxXmzNKzPVRcypZQTpFgstHam6maVg==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [linux]
+    libc: [glibc]
+
+  '@reflink/reflink-linux-arm64-musl@0.1.19':
+    resolution: {integrity: sha512-37iO/Dp6m5DDaC2sf3zPtx/hl9FV3Xze4xoYidrxxS9bgP3S8ALroxRK6xBG/1TtfXKTvolvp+IjrUU6ujIGmA==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [linux]
+    libc: [musl]
+
+  '@reflink/reflink-linux-x64-gnu@0.1.19':
+    resolution: {integrity: sha512-jbI8jvuYCaA3MVUdu8vLoLAFqC+iNMpiSuLbxlAgg7x3K5bsS8nOpTRnkLF7vISJ+rVR8W+7ThXlXlUQ93ulkw==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [linux]
+    libc: [glibc]
+
+  '@reflink/reflink-linux-x64-musl@0.1.19':
+    resolution: {integrity: sha512-e9FBWDe+lv7QKAwtKOt6A2W/fyy/aEEfr0g6j/hWzvQcrzHCsz07BNQYlNOjTfeytrtLU7k449H1PI95jA4OjQ==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [linux]
+    libc: [musl]
+
+  '@reflink/reflink-win32-arm64-msvc@0.1.19':
+    resolution: {integrity: sha512-09PxnVIQcd+UOn4WAW73WU6PXL7DwGS6wPlkMhMg2zlHHG65F3vHepOw06HFCq+N42qkaNAc8AKIabWvtk6cIQ==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [win32]
+
+  '@reflink/reflink-win32-x64-msvc@0.1.19':
+    resolution: {integrity: sha512-E//yT4ni2SyhwP8JRjVGWr3cbnhWDiPLgnQ66qqaanjjnMiu3O/2tjCPQXlcGc/DEYofpDc9fvhv6tALQsMV9w==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [win32]
+
+  '@reflink/reflink@0.1.19':
+    resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==}
+    engines: {node: '>= 10'}
+
+  detect-libc@2.1.2:
+    resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+    engines: {node: '>=8'}
+
+  pnpm@11.24.0:
+    resolution: {integrity: sha512-vSfjRel23LC+C3oSKCF7BJqBfiGx81XJDb59xGZxiVqLwebQbCRVRQXqk+oLRfSJon7Bv7yN5qlln8oPFvoAAA==}
+    engines: {node: '>=22.13'}
+    hasBin: true
+
+snapshots:
+
+  '@pnpm/exe@11.24.0':
+    dependencies:
+      '@reflink/reflink': 0.1.19
+      detect-libc: 2.1.2
+    optionalDependencies:
+      '@pnpm/linux-arm64': 11.24.0
+      '@pnpm/linux-x64': 11.24.0
+      '@pnpm/linuxstatic-arm64': 11.24.0
+      '@pnpm/linuxstatic-x64': 11.24.0
+      '@pnpm/macos-arm64': 11.24.0
+      '@pnpm/win-arm64': 11.24.0
+      '@pnpm/win-x64': 11.24.0
+
+  '@pnpm/linux-arm64@11.24.0':
+    optional: true
+
+  '@pnpm/linux-x64@11.24.0':
+    optional: true
+
+  '@pnpm/linuxstatic-arm64@11.24.0':
+    optional: true
+
+  '@pnpm/linuxstatic-x64@11.24.0':
+    optional: true
+
+  '@pnpm/macos-arm64@11.24.0':
+    optional: true
+
+  '@pnpm/win-arm64@11.24.0':
+    optional: true
+
+  '@pnpm/win-x64@11.24.0':
+    optional: true
+
+  '@reflink/reflink-darwin-arm64@0.1.19':
+    optional: true
+
+  '@reflink/reflink-darwin-x64@0.1.19':
+    optional: true
+
+  '@reflink/reflink-linux-arm64-gnu@0.1.19':
+    optional: true
+
+  '@reflink/reflink-linux-arm64-musl@0.1.19':
+    optional: true
+
+  '@reflink/reflink-linux-x64-gnu@0.1.19':
+    optional: true
+
+  '@reflink/reflink-linux-x64-musl@0.1.19':
+    optional: true
+
+  '@reflink/reflink-win32-arm64-msvc@0.1.19':
+    optional: true
+
+  '@reflink/reflink-win32-x64-msvc@0.1.19':
+    optional: true
+
+  '@reflink/reflink@0.1.19':
+    optionalDependencies:
+      '@reflink/reflink-darwin-arm64': 0.1.19
+      '@reflink/reflink-darwin-x64': 0.1.19
+      '@reflink/reflink-linux-arm64-gnu': 0.1.19
+      '@reflink/reflink-linux-arm64-musl': 0.1.19
+      '@reflink/reflink-linux-x64-gnu': 0.1.19
+      '@reflink/reflink-linux-x64-musl': 0.1.19
+      '@reflink/reflink-win32-arm64-msvc': 0.1.19
+      '@reflink/reflink-win32-x64-msvc': 0.1.19
+
+  detect-libc@2.1.2: {}
+
+  pnpm@11.24.0: {}
+
+---
 lockfileVersion: '9.0'
 
 settings:
@@ -7,12 +206,15 @@ settings:
 
 overrides:
   '@electron/rebuild>node-gyp': 12.4.0
+  '@electron/rebuild>node-abi': 4.34.0
+  '@xmldom/xmldom@0.8': ^0.8.15
   brace-expansion@5: ^5.0.9
   brace-expansion@2: ^2.1.4
   brace-expansion@1: ^1.1.18
   builder-util-runtime: 9.7.0
   canvas: '-'
   danger@13.0.10>undici: 6.27.0
+  js-yaml@3: ^3.15.2
   jsdom: '-'
   react-popper@2.3.0>react-dom: 19.2.4
   react-popper@2.3.0>react: 19.2.4
@@ -22,7 +224,7 @@ overrides:
   ip-address@<=10.3.0: ^10.3.1
   nanoid@<3.3.17: 3.3.18
 
-pnpmfileChecksum: sha256-bByyW+G0/ld7ZSgtIlcAVRHgcUTBCQ31JLSwI1rhzys=
+pnpmfileChecksum: sha256-BSurkSxQ08Ps27xdrTQhGwjU9L1wLAes0YgxZtpJHA8=
 
 patchedDependencies:
   '@electron/universal': 506a5defc2fc12cdae1092759ae376a9fd8f1731ef1d38cf2aee2d1ec752acde
@@ -36,6 +238,7 @@ patchedDependencies:
   dmg-builder: 75ddbdfdce4e9fad4f5e7d3e2ac0d29fc920006584534018bf560c486e0642ec
   electron-builder: 4efee114d8c7e2a77c68ff826373a94a9678edfde006eeec4eccb386c32dae15
   fabric@4.6.0: 259e6eff3d60c4a453f7815fca6aa0d3a81842f4efdc4051836812fc1e711e00
+  fs-extra@11.3.4: 7672fe14d7eac859c95613f52e44db8413da1c95f63e97aa158a12ff8497a33c
   growing-file@0.1.3: 1bb085e3fda38f2983114beedc229acf8b0c539736fe73e2e8183dab2df074b4
   node-fetch@3.3.2: 1dc57b3827aeb8d0a7f3f6c39c51df08119ff45aff99d9a03db2360e99d3a826
   playwright-core: 0d32e74d7c83e28ccbaea73aeaf171e4f4180b2d997e4ec0457aeda2144b651d
@@ -54,14 +257,14 @@ importers:
         specifier: 2.0.21
         version: 2.0.21
       '@signalapp/libsignal-client':
-        specifier: 0.100.0
-        version: 0.100.0
+        specifier: 0.101.2
+        version: 0.101.2
       '@signalapp/mute-state-change':
         specifier: workspace:*
         version: link:packages/mute-state-change
       '@signalapp/ringrtc':
-        specifier: 2.71.0
-        version: 2.71.0(patch_hash=16738d799318d4c5fe950f44ee7511dad758c4364ec26a25fb6b657203e9d8bf)
+        specifier: 2.72.0
+        version: 2.72.0(patch_hash=16738d799318d4c5fe950f44ee7511dad758c4364ec26a25fb6b657203e9d8bf)(supports-color@8.1.1)
       '@signalapp/sqlcipher':
         specifier: 4.1.0
         version: 4.1.0
@@ -86,13 +289,13 @@ importers:
         version: 7.29.0(@babel/core@7.29.0)(supports-color@8.1.1)
       '@babel/plugin-transform-typescript':
         specifier: 7.28.6
-        version: 7.28.6(@babel/core@7.29.0)
+        version: 7.28.6(@babel/core@7.29.0)(supports-color@8.1.1)
       '@babel/preset-react':
         specifier: 7.28.5
-        version: 7.28.5(@babel/core@7.29.0)
+        version: 7.28.5(@babel/core@7.29.0)(supports-color@8.1.1)
       '@babel/preset-typescript':
         specifier: 7.28.5
-        version: 7.28.5(@babel/core@7.29.0)
+        version: 7.28.5(@babel/core@7.29.0)(supports-color@8.1.1)
       '@changesets/cli':
         specifier: 3.0.1
         version: 3.0.1
@@ -323,13 +526,13 @@ importers:
         version: 8.59.3(@typescript/typescript6@6.0.2)(eslint@10.4.0)(supports-color@8.1.1)
       '@typescript-eslint/utils':
         specifier: 8.59.3
-        version: 8.59.3(@typescript/typescript6@6.0.2)(eslint@10.4.0)
+        version: 8.59.3(@typescript/typescript6@6.0.2)(eslint@10.4.0)(supports-color@8.1.1)
       '@typescript/native':
         specifier: npm:typescript@7.0.2
         version: typescript@7.0.2
       babel-plugin-lodash:
         specifier: 3.3.4
-        version: 3.3.4
+        version: 3.3.4(supports-color@8.1.1)
       better-blockmap:
         specifier: 2.0.1
         version: 2.0.1
@@ -403,11 +606,11 @@ importers:
         specifier: 0.7.1
         version: 0.7.1
       electron:
-        specifier: 43.5.0
-        version: 43.5.0(supports-color@8.1.1)
+        specifier: 44.2.0
+        version: 44.2.0(supports-color@8.1.1)
       electron-builder:
         specifier: 26.11.1
-        version: 26.11.1(patch_hash=4efee114d8c7e2a77c68ff826373a94a9678edfde006eeec4eccb386c32dae15)(electron-builder-squirrel-windows@26.11.1)
+        version: 26.11.1(patch_hash=4efee114d8c7e2a77c68ff826373a94a9678edfde006eeec4eccb386c32dae15)(electron-builder-squirrel-windows@26.11.1)(supports-color@8.1.1)
       electron-mocha:
         specifier: 13.1.0
         version: 13.1.0
@@ -446,7 +649,7 @@ importers:
         version: 4.0.6
       fs-extra:
         specifier: 11.3.4
-        version: 11.3.4
+        version: 11.3.4(patch_hash=7672fe14d7eac859c95613f52e44db8413da1c95f63e97aa158a12ff8497a33c)
       fuse.js:
         specifier: 7.1.0
         version: 7.1.0
@@ -461,10 +664,10 @@ importers:
         version: 2.1.0
       http-server:
         specifier: 14.1.1
-        version: 14.1.1(debug@4.4.3)
+        version: 14.1.1(debug@4.4.3)(supports-color@8.1.1)
       https-proxy-agent:
         specifier: 7.0.6
-        version: 7.0.6
+        version: 7.0.6(supports-color@8.1.1)
       humanize-duration:
         specifier: 3.33.2
         version: 3.33.2
@@ -472,8 +675,8 @@ importers:
         specifier: 4.0.3
         version: 4.0.3
       js-yaml:
-        specifier: 4.3.1
-        version: 4.3.1
+        specifier: 4.3.2
+        version: 4.3.2
       json-to-ast:
         specifier: 2.1.0
         version: 2.1.0
@@ -670,8 +873,8 @@ importers:
         specifier: 5.0.1
         version: 5.0.1(stylelint@17.11.1)
       svgo:
-        specifier: 4.0.1
-        version: 4.0.1
+        specifier: 4.1.0
+        version: 4.1.0
       synckit:
         specifier: 0.11.12
         version: 0.11.12
@@ -701,7 +904,7 @@ importers:
         version: 13.0.0
       wait-on:
         specifier: 9.0.5
-        version: 9.0.5(debug@4.4.3)
+        version: 9.0.5(debug@4.4.3)(supports-color@8.1.1)
       webpack:
         specifier: 5.96.1
         version: 5.96.1(@swc/core@1.10.16)(esbuild@0.25.12)
@@ -731,13 +934,13 @@ importers:
         version: 0.100.0
       '@tus/file-store':
         specifier: ^1.5.1
-        version: 1.5.1(supports-color@8.1.1)
+        version: 1.5.1(supports-color@10.2.2)
       '@tus/server':
         specifier: ^1.10.2
-        version: 1.10.2(supports-color@8.1.1)
+        version: 1.10.2(supports-color@10.2.2)
       debug:
         specifier: ^4.4.3
-        version: 4.4.3(supports-color@8.1.1)
+        version: 4.4.3(supports-color@10.2.2)
       is-plain-obj:
         specifier: 3.0.0
         version: 3.0.0
@@ -885,7 +1088,7 @@ importers:
         version: 2.3.2
       debug:
         specifier: 4.3.4
-        version: 4.3.4
+        version: 4.3.4(supports-color@10.2.2)
       react:
         specifier: 19.2.4
         version: 19.2.4
@@ -934,19 +1137,19 @@ importers:
         version: 1.15.1
       '@typescript-eslint/eslint-plugin':
         specifier: 5.59.0
-        version: 5.59.0(@typescript-eslint/parser@5.59.0)(@typescript/typescript6@6.0.2)(eslint@8.38.0)(supports-color@8.1.1)
+        version: 5.59.0(@typescript-eslint/parser@5.59.0)(@typescript/typescript6@6.0.2)(eslint@8.38.0)(supports-color@10.2.2)
       '@typescript-eslint/parser':
         specifier: 5.59.0
-        version: 5.59.0(@typescript/typescript6@6.0.2)(eslint@8.38.0)(supports-color@8.1.1)
+        version: 5.59.0(@typescript/typescript6@6.0.2)(eslint@8.38.0)(supports-color@10.2.2)
       '@vitejs/plugin-react':
         specifier: 6.0.2
         version: 6.0.2(vite@8.0.16)
       eslint:
         specifier: 8.38.0
-        version: 8.38.0(supports-color@8.1.1)
+        version: 8.38.0(supports-color@10.2.2)
       eslint-config-airbnb-typescript-prettier:
         specifier: 5.0.0
-        version: 5.0.0(@typescript/typescript6@6.0.2)(eslint@8.38.0)(prettier@2.8.7)
+        version: 5.0.0(@typescript/typescript6@6.0.2)(eslint@8.38.0)(prettier@2.8.7)(supports-color@10.2.2)
       eslint-plugin-react:
         specifier: 7.32.2
         version: 7.32.2(eslint@8.38.0)
@@ -4539,6 +4742,9 @@ packages:
   '@signalapp/libsignal-client@0.100.0':
     resolution: {integrity: sha512-pS67moiIxs3h0kcO81Y9FrGbquh5xo2jyG9RG/+YyDEL6Bcz33IR5fCTdfpnYJR4pd3CoutJNbyUnieMGCpI4Q==, tarball: https://registry.npmjs.org/@signalapp/libsignal-client/-/libsignal-client-0.100.0.tgz}
 
+  '@signalapp/libsignal-client@0.101.2':
+    resolution: {integrity: sha512-DZ6HnuMD6R3E4nQpa7ly7kDxRL0z9QcVR9l1m25ofUwrICYug0KPRM8ucRNar8b65nrhxNJAk9OeF20SwYVvGg==, tarball: https://registry.npmjs.org/@signalapp/libsignal-client/-/libsignal-client-0.101.2.tgz}
+
   '@signalapp/minimask@1.0.1':
     resolution: {integrity: sha512-QAwo0joA60urTNbW9RIz6vLKQjy+jdVtH7cvY0wD9PVooD46MAjE40MLssp4xUJrph91n2XvtJ3pbEUDrmT2AA==, tarball: https://registry.npmjs.org/@signalapp/minimask/-/minimask-1.0.1.tgz}
 
@@ -4549,8 +4755,8 @@ packages:
     resolution: {integrity: sha512-y2sgqdivlrG41J4Zvt/82xtH/PZjDlgItqlD2g/Cv3ZbjlR6cGhTNXbfNygCJB8nXj+C7I28pjt1Zm3k0pv2mg==, tarball: https://registry.npmjs.org/@signalapp/quill-cjs/-/quill-cjs-2.1.2.tgz}
     engines: {npm: '>=8.2.3'}
 
-  '@signalapp/ringrtc@2.71.0':
-    resolution: {integrity: sha512-F75ix86XyYoA14x3yPoPwxr6TUq4pdWKhHLcPfZxRR/0xxrvo8PXHvDw5d95YOoi8BJfE0by6DxgrwG9DyvE0Q==, tarball: https://registry.npmjs.org/@signalapp/ringrtc/-/ringrtc-2.71.0.tgz}
+  '@signalapp/ringrtc@2.72.0':
+    resolution: {integrity: sha512-Nl34wwawtWNUw7zt9CkzeHCa40d3K2GBJO06LLtIZBPyAOWPXE9WMly/f1yjpXWrV45rrX/bBmPbbk8K72+r9A==, tarball: https://registry.npmjs.org/@signalapp/ringrtc/-/ringrtc-2.72.0.tgz}
     hasBin: true
 
   '@signalapp/sqlcipher@4.1.0':
@@ -5569,15 +5775,13 @@ packages:
   '@webassemblyjs/wast-printer@1.14.1':
     resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==, tarball: https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz}
 
-  '@xmldom/xmldom@0.8.13':
-    resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==, tarball: https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz}
+  '@xmldom/xmldom@0.8.15':
+    resolution: {integrity: sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==, tarball: https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz}
     engines: {node: '>=10.0.0'}
-    deprecated: this version has critical issues, please update to the latest version
 
-  '@xmldom/xmldom@0.9.10':
-    resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==, tarball: https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz}
+  '@xmldom/xmldom@0.9.12':
+    resolution: {integrity: sha512-5AXjrcMClTryPe9LgZrygpB1lj7s0S9E0+W+AHaVKAVyHanafK86iPSvG5xHVSp/jC+VH1UXu0TAEmY279xH7A==, tarball: https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.12.tgz}
     engines: {node: '>=14.6'}
-    deprecated: this version has critical issues, please update to the latest version
 
   '@xtuc/ieee754@1.2.0':
     resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, tarball: https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz}
@@ -5589,133 +5793,157 @@ packages:
     resolution: {integrity: sha512-C/0zV5IhgVdYhGJTwrY0v8dknxlhiKwtVJkMUaexu9/QvRmzlV4vfU3hZlUSgqc2BxQHntL1mCVbDq8j0FRFDw==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-android-arm64/-/binding-android-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [android]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-darwin-arm64@0.8.7':
     resolution: {integrity: sha512-/u+REDMI4a0/lsJXTM4c53/w31OGZLOReZIyg62uhgLs0kc8NHsj/nOcxTdlQjq5gi0zhdkccD9LaLTXcdzPvw==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-darwin-arm64/-/binding-darwin-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [darwin]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-darwin-x64@0.8.7':
     resolution: {integrity: sha512-sMMzFOwCo4WXR+/6zIBThOocSC50iIIZZdfiIDbaLvj0Ax/rWt/iavyfEAqajyvzydLyCqR/ZItdLWSRlu1umw==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-darwin-x64/-/binding-darwin-x64-0.8.7.tgz}
     cpu: [x64]
     os: [darwin]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-freebsd-x64@0.8.7':
     resolution: {integrity: sha512-MpdpKXix9P+Y1rKgjvcNeNtGjXeL1CmttNhYINrWls8kRpm4xM/oBGTmn6w7to8lAlwj5jm8q03dQPl5mRv4Qw==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-freebsd-x64/-/binding-freebsd-x64-0.8.7.tgz}
     cpu: [x64]
     os: [freebsd]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-arm-gnu@0.8.7':
     resolution: {integrity: sha512-rr1srFLlPAmC1vtxfc9C1YLDe3iH09YjfSeeIidBqKhzx1MATjOAq4mjlRUOnhr/L27MotWIYOFKwVsd5JZFOg==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.8.7.tgz}
     cpu: [arm]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-arm-musl@0.8.7':
     resolution: {integrity: sha512-eAufXh8qBRpiSO6ueaMDL+yyoXIGLhpUce72YbcACtZU2qhExwBIJyEtQf5kH2Ki0X2aqkSjSfog4OPtKXan3Q==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-arm-musl/-/binding-linux-arm-musl-0.8.7.tgz}
     cpu: [arm]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-arm64-gnu@0.8.7':
     resolution: {integrity: sha512-gw4w6wPoHObBrdIC4duVWLmJOvpdE25j5D7yrM5mACNlK4klRz/lv8hK+ssQk9EJHBgZjSaqZIJVFgqNYbfv7A==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.8.7.tgz}
     cpu: [arm64]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-arm64-musl@0.8.7':
     resolution: {integrity: sha512-L68N6Y4XkqcIaKo3Ra88JEvBEH4AHff44A4INcrxeVWZ8CZtu2tCpfVxe3hR8qQQMcvBSQlDn24KpkCKEhVvfA==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.8.7.tgz}
     cpu: [arm64]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-x64-gnu@0.8.7':
     resolution: {integrity: sha512-dzyAbltJmf3Cqlb8HcFuYIf5Yn0fl1vTr3XJ9HiVNNvOlhqPSArOqtw9vI1p6/VTXTjrMLXlU+s+/kNHiIy/Cw==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.8.7.tgz}
     cpu: [x64]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-linux-x64-musl@0.8.7':
     resolution: {integrity: sha512-Otw4MH3404q0Bbvl+YTdW9aoUV5vXmUw8260bWvt1XlaoIX/ceSgI4ygheRDMfBPoHt6FDayQaO9OLVUZAgkFA==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-linux-x64-musl/-/binding-linux-x64-musl-0.8.7.tgz}
     cpu: [x64]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-win32-arm64@0.8.7':
     resolution: {integrity: sha512-qo/jyrzryiBuKEsFiuWaBCBe3tRMynQ0qFWFgOEjcCMQeZfBm+wKiVEUEFXXLc7bh8YezguAWp0Mtnhq4ARNyA==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-win32-arm64/-/binding-win32-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [win32]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-codegen/binding-win32-x64@0.8.7':
     resolution: {integrity: sha512-D5lDsVDx6m00E6bWySlWdH72Ca4TPSaphDqB6QjU6MpuNLIJqoGoatYyq2rOmBE8Zv/kunot/o58KGL03P3eiA==, tarball: https://registry.npmjs.org/@yuku-codegen/binding-win32-x64/-/binding-win32-x64-0.8.7.tgz}
     cpu: [x64]
     os: [win32]
+    deprecated: yuku-codegen is pure JavaScript since 0.14
 
   '@yuku-parser/binding-android-arm64@0.8.7':
     resolution: {integrity: sha512-eGKYiUDX7Y0V7tDTmg+JTVnXnjMqfXXsorZ+EDf5kxwchQ3Or1HS14MzI2fw+jFhHR85fCWt+mtX33Yao73hIQ==, tarball: https://registry.npmjs.org/@yuku-parser/binding-android-arm64/-/binding-android-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [android]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-darwin-arm64@0.8.7':
     resolution: {integrity: sha512-Re0RHelKLnjEURulY2/KxW+Ngb8zuNA4BRZuMwgGQNzVumT6u4U2N2hc01oeYVNVof0i7GrXE4UCNBgbpRRnjQ==, tarball: https://registry.npmjs.org/@yuku-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [darwin]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-darwin-x64@0.8.7':
     resolution: {integrity: sha512-Hn8DROtQkjlA1ACbPgj4a7eP9IuVOI504oiTwpkWPbpaDWD9KdmnVYCqW+1LfenNK/g7O9NhWGpXEdaCNX7lIA==, tarball: https://registry.npmjs.org/@yuku-parser/binding-darwin-x64/-/binding-darwin-x64-0.8.7.tgz}
     cpu: [x64]
     os: [darwin]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-freebsd-x64@0.8.7':
     resolution: {integrity: sha512-bAP2OV8wRuzplX/jYxv9+vvqQT8JxyNphI8fLfXGL054Xs+4/J5u33cIm3y4rxY8rdoLmmdiJs2Tq7r7lrDRfA==, tarball: https://registry.npmjs.org/@yuku-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.8.7.tgz}
     cpu: [x64]
     os: [freebsd]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-arm-gnu@0.8.7':
     resolution: {integrity: sha512-kTYwJQQgmZeAWdDIWabiReIZMpmfLueIj1tCmjStUtFGhR1Z0qwxonKVfUC4N7h/VhGGzLZ//7O1kgt1QKqgCg==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-arm-gnu/-/binding-linux-arm-gnu-0.8.7.tgz}
     cpu: [arm]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-arm-musl@0.8.7':
     resolution: {integrity: sha512-uL4jE8HPT2BLlxAXyD10LqgPuXa9eDa0BKpCdSANmzIJghq/2eZo3/gQNtaxPZMupWoxjYzSad9IXrwu7aYPXQ==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-arm-musl/-/binding-linux-arm-musl-0.8.7.tgz}
     cpu: [arm]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-arm64-gnu@0.8.7':
     resolution: {integrity: sha512-3gVN4pWSKZmXiNX7cU164dR9MPvesCHnlH6nPfpK+yQsCuYphjKKplcb4SnZBrhiqmXbgb2HR0c2TS0IZUPhgA==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.8.7.tgz}
     cpu: [arm64]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-arm64-musl@0.8.7':
     resolution: {integrity: sha512-S0mwfEjoLpxzXeZw802Wa4RaELsQiPtWqG6INcy8j4GtvNFtl4LCX3eGO1XLn9pyLAISLzTRyU3zUCBUPin8lg==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.8.7.tgz}
     cpu: [arm64]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-x64-gnu@0.8.7':
     resolution: {integrity: sha512-lnbWdPmerE5D1uH1G4IEZKnPzCrWCStRGrtgpSIe1RibAo5bZIjDbbbPYXmMHCEh4F+x/JaJpElh26a3r+BPbg==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.8.7.tgz}
     cpu: [x64]
     os: [linux]
     libc: [glibc]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-linux-x64-musl@0.8.7':
     resolution: {integrity: sha512-769uwndMvMzUvATWbAcEvyLHKA+DzhHSCl/obBUrRdYfRo26yxui6S8y3z7uJ+Naup7UKrDxrpK7OnQkxkl9KQ==, tarball: https://registry.npmjs.org/@yuku-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.8.7.tgz}
     cpu: [x64]
     os: [linux]
     libc: [musl]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-win32-arm64@0.8.7':
     resolution: {integrity: sha512-mEB/9PlaAkisJ6KWGz0zvywXoU6+80dTlR2LwS7s/jcXXoU6fm2+sitBZXtqu3+Q4DcDgPxM45uWMCzPs0TSRw==, tarball: https://registry.npmjs.org/@yuku-parser/binding-win32-arm64/-/binding-win32-arm64-0.8.7.tgz}
     cpu: [arm64]
     os: [win32]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-parser/binding-win32-x64@0.8.7':
     resolution: {integrity: sha512-8vNB2DP0ou61nGb8tc/qfi41gfyDXz1MHr2zqL3nR+cJ6CEbiuWV/l/a/vv151gCgiZLLAyGkQGENpozdg716w==, tarball: https://registry.npmjs.org/@yuku-parser/binding-win32-x64/-/binding-win32-x64-0.8.7.tgz}
     cpu: [x64]
     os: [win32]
+    deprecated: yuku-parser runs on yuku-core since 0.14
 
   '@yuku-toolchain/types@0.8.7':
     resolution: {integrity: sha512-2Z53dNxAJL6UvFoIrDZvYf3zlO8s4VJK4O2hhaB4mXVwwpX/7ajtss3cmfqKvamlNLWyt9FSWs4eoYdlbxpnHA==, tarball: https://registry.npmjs.org/@yuku-toolchain/types/-/types-0.8.7.tgz}
@@ -6587,8 +6815,8 @@ packages:
   css-select@4.3.0:
     resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==, tarball: https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz}
 
-  css-select@5.2.2:
-    resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==, tarball: https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz}
+  css-select@6.0.0:
+    resolution: {integrity: sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==, tarball: https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz}
 
   css-tree@2.2.1:
     resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz}
@@ -6602,6 +6830,10 @@ packages:
     resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, tarball: https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz}
     engines: {node: '>= 6'}
 
+  css-what@7.0.0:
+    resolution: {integrity: sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==, tarball: https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz}
+    engines: {node: '>= 6'}
+
   css.escape@1.5.1:
     resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==, tarball: https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz}
 
@@ -6973,8 +7205,8 @@ packages:
     engines: {node: '>= 12.20.55'}
     hasBin: true
 
-  electron@43.5.0:
-    resolution: {integrity: sha512-nV2aWuKatmUrxrAWP2pNIynNX7dy83TCAz+6KnsbK7hDVLE+6fa2iouOtir41AboZTa+J5w2UgicWHAqUaaUJw==, tarball: https://registry.npmjs.org/electron/-/electron-43.5.0.tgz}
+  electron@44.2.0:
+    resolution: {integrity: sha512-oK1icjhapp3xsUZycO9WZaLmd3hJnA7ieobC4mpdtO1pEN+PPGWpA3m1Mgzzuc1wzSD2Wai4zcH4yfpGJqxFMA==, tarball: https://registry.npmjs.org/electron/-/electron-44.2.0.tgz}
     engines: {node: '>= 22.12.0'}
     hasBin: true
 
@@ -8569,12 +8801,12 @@ packages:
   js-tokens@4.0.0:
     resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, tarball: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz}
 
-  js-yaml@3.15.1:
-    resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.1.tgz}
+  js-yaml@3.15.2:
+    resolution: {integrity: sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz}
     hasBin: true
 
-  js-yaml@4.3.1:
-    resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz}
+  js-yaml@4.3.2:
+    resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz}
     hasBin: true
 
   jsdoc-type-pratt-parser@4.8.0:
@@ -9141,8 +9373,8 @@ packages:
   no-case@3.0.4:
     resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, tarball: https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz}
 
-  node-abi@4.31.0:
-    resolution: {integrity: sha512-Erq5w/t3syw3s4sDsUaX4QttIdBPsGKTT1DTRsCkTonGggczhlDKm/wDX3o+HPJpQ41EjXCbcmXf0tgr5YZJXw==, tarball: https://registry.npmjs.org/node-abi/-/node-abi-4.31.0.tgz}
+  node-abi@4.34.0:
+    resolution: {integrity: sha512-4Oy5Q6/Ftna9sXyrkdnKypfvm9uWRpxUPvlw4oA192QNMN39aq8k4l36TUUUU/ONw7ivGVi402Ud+UBPVDYh6A==, tarball: https://registry.npmjs.org/node-abi/-/node-abi-4.34.0.tgz}
     engines: {node: '>=22.12.0'}
 
   node-abort-controller@3.1.1:
@@ -10383,8 +10615,8 @@ packages:
     engines: {node: '>=14.0.0'}
     hasBin: true
 
-  sax@1.6.0:
-    resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==, tarball: https://registry.npmjs.org/sax/-/sax-1.6.0.tgz}
+  sax@1.6.1:
+    resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==, tarball: https://registry.npmjs.org/sax/-/sax-1.6.1.tgz}
     engines: {node: '>=11.0.0'}
 
   scheduler@0.27.0:
@@ -10803,8 +11035,8 @@ packages:
   svg-tags@1.0.0:
     resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==, tarball: https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz}
 
-  svgo@4.0.1:
-    resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==, tarball: https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz}
+  svgo@4.1.0:
+    resolution: {integrity: sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==, tarball: https://registry.npmjs.org/svgo/-/svgo-4.1.0.tgz}
     engines: {node: '>=16'}
     hasBin: true
 
@@ -11694,7 +11926,7 @@ snapshots:
       '@babel/code-frame': 7.29.0
       '@babel/generator': 7.29.1
       '@babel/helper-compilation-targets': 7.28.6
-      '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+      '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)(supports-color@8.1.1)
       '@babel/helpers': 7.29.2
       '@babel/parser': 7.29.2
       '@babel/template': 7.28.6
@@ -11729,14 +11961,14 @@ snapshots:
       lru-cache: 5.1.1
       semver: 6.3.1
 
-  '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)':
+  '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)(supports-color@8.1.1)':
     dependencies:
       '@babel/core': 7.29.0(supports-color@8.1.1)
       '@babel/helper-annotate-as-pure': 7.27.3
-      '@babel/helper-member-expression-to-functions': 7.28.5
+      '@babel/helper-member-expression-to-functions': 7.28.5(supports-color@8.1.1)
       '@babel/helper-optimise-call-expression': 7.27.1
-      '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
-      '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+      '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)(supports-color@8.1.1)
+      '@babel/helper-skip-transparent-expression-wrappers': 7.27.1(supports-color@8.1.1)
       '@babel/traverse': 7.29.0(supports-color@8.1.1)
       semver: 6.3.1
     transitivePeerDependencies:
@@ -11755,24 +11987,24 @@ snapshots:
 
   '@babel/helper-globals@7.28.0': {}
 
-  '@babel/helper-member-expression-to-functions@7.28.5':
+  '@babel/helper-member-expression-to-functions@7.28.5(supports-color@8.1.1)':
     dependencies:
       '@babel/traverse': 7.29.0(supports-color@8.1.1)
       '@babel/types': 7.29.0
     transitivePeerDependencies:
       - supports-color
 
-  '@babel/helper-module-imports@7.28.6':
+  '@babel/helper-module-imports@7.28.6(supports-color@8.1.1)':
     dependencies:
       '@babel/traverse': 7.29.0(supports-color@8.1.1)
       '@babel/types': 7.29.0
     transitivePeerDependencies:
       - supports-color
 
-  '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
*** 1722 LINES SKIPPED ***