diff --git a/.gitignore b/.gitignore
index 2acedeb..938d34c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,5 +5,4 @@ ts-out/
package-lock.json
.pnpm-store
.cache
-.DS_Store
-scripts/spdx-license.txt
\ No newline at end of file
+.DS_Store
\ No newline at end of file
diff --git a/assets/app/desktop.png b/assets/app/desktop.png
deleted file mode 100644
index 4ad0ad5..0000000
Binary files a/assets/app/desktop.png and /dev/null differ
diff --git a/assets/app/overlay.png b/assets/app/overlay.png
deleted file mode 100644
index 041a109..0000000
Binary files a/assets/app/overlay.png and /dev/null differ
diff --git a/assets/app/shelter.svg b/assets/app/shelter.svg
deleted file mode 100644
index 997578f..0000000
--- a/assets/app/shelter.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/lang/en-US.json b/assets/lang/en-US.json
index 6e1dc7d..1d64b83 100644
--- a/assets/lang/en-US.json
+++ b/assets/lang/en-US.json
@@ -78,8 +78,6 @@
"settings-automaticClientUpdates-desc": "Disables automatic Legcord updates",
"settings-hardwareAcceleration": "Hardware acceleration",
"settings-hardwareAcceleration-desc": "Hardware acceleration uses your GPU to make Legcord run faster. If you're experiencing visual glitches, try disabling this.",
- "settings-sdpH264BaselineRewrite": "H.264 Baseline SDP rewrite",
- "settings-sdpH264BaselineRewrite-desc": "Rewrites Discord's Constrained Baseline H.264 profile in WebRTC SDP so screenshare can use hardware encode (VideoToolbox / Media Foundation) instead of OpenH264. Disable if Go Live fails to connect or video is broken, then restart Legcord.",
"settings-processScanning": "Process scanning",
"settings-processScanning-desc": "Scan for running games to improve Rich Presence detection. Disable to reduce CPU usage. Requires a restart.",
"settings-windowsLegacyScanning": "Windows legacy scanning",
@@ -246,13 +244,10 @@
"setup-welcomeTitle": "Welcome to Legcord",
"setup-welcomeSubtitle": "Let's get you set up with your perfect configuration.",
"setup-getStarted": "Get Started",
- "setup-windowStyle-overlayTitle": "Overlay Titlebar",
- "setup-windowStyle-overlayDesc": "A modern titlebar that blends into Discord. Recommended for most users.",
"setup-windowStyle-nativeTitle": "Native Window",
"setup-windowStyle-nativeDesc": "Use your system's default window decorations",
"setup-windowStyle-customTitle": "Custom Titlebar",
"setup-windowStyle-customDesc": "Use Legcord's custom titlebar design",
- "setup-recommended": "Recommended",
"setup-chooseWindowStyle": "Choose Window Style",
"setup-selectAppearance": "Select how Legcord appears on your machine",
"setup-systemTray": "System Tray",
@@ -268,8 +263,6 @@
"setup-launchLegcord": "Launch Legcord",
"setup-modSelectorTitle": "Choose Your Client Mod",
"setup-modSelectorSubtitle": "Legcord includes Shelter out of the box, but you can also choose another client mod if wanted.",
- "setup-shelterOnlyTitle": "Shelter Only",
- "setup-shelterOnlyDesc": "Legcord was built around Shelter. Most typical users won't need another client mod.",
"setup-vencordTitle": "Vencord",
"setup-vencordDesc": "Client mod with plugins and themes.",
"setup-equicordTitle": "Equicord",
diff --git a/docker/Dockerfile.deb b/docker/Dockerfile.deb
deleted file mode 100644
index 116b63f..0000000
--- a/docker/Dockerfile.deb
+++ /dev/null
@@ -1,21 +0,0 @@
-FROM ubuntu
-
-WORKDIR /app
-
-COPY ./dist/*.deb .
-
-RUN apt-get update -y && apt-get upgrade -y
-
-RUN apt-get install ./*.deb -y
-
-RUN apt-get install -qqy x11-apps x11vnc xvfb
-
-RUN mkdir ~/.vnc
-RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
-
-COPY docker/start.sh /start.sh
-RUN chmod +x /start.sh
-
-EXPOSE 5900
-
-CMD ["/start.sh"]
\ No newline at end of file
diff --git a/docker/Dockerfile.pacman b/docker/Dockerfile.pacman
deleted file mode 100644
index 425744c..0000000
--- a/docker/Dockerfile.pacman
+++ /dev/null
@@ -1,21 +0,0 @@
-FROM archlinux
-
-WORKDIR /app
-
-COPY ./dist/*.pacman .
-
-RUN pacman -Syu --noconfirm
-
-RUN pacman -U --noconfirm ./*.pacman
-
-RUN pacman -Syu --noconfirm x11vnc xorg-server-xvfb
-
-RUN mkdir ~/.vnc
-RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
-
-COPY docker/start.sh /start.sh
-RUN chmod +x /start.sh
-
-EXPOSE 5900
-
-CMD ["/start.sh"]
\ No newline at end of file
diff --git a/docker/start.sh b/docker/start.sh
deleted file mode 100644
index 6d21100..0000000
--- a/docker/start.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-set -e
-
-export DISPLAY=:99
-
-Xvfb :99 -screen 0 1280x800x24 &
-sleep 1
-
-x11vnc -display :99 -forever -usepw -rfbport 5900 &
-
-legcord --no-sandbox &
-
-tail -f /dev/null
\ No newline at end of file
diff --git a/electron-builder.ts b/electron-builder.ts
index ee1988c..f961b5c 100644
--- a/electron-builder.ts
+++ b/electron-builder.ts
@@ -1,7 +1,6 @@
import type { Configuration } from "electron-builder";
import { applyAppImageSandboxFix } from "./scripts/build/sandboxFix.mjs";
-import debianLicence from "./scripts/spdxLicenceDebianFormat";
import { ACTION_FRIENDLY_NAMES, EXCLUDED_FROM_SHORTCUTS, ValidActions } from "./src/common/commandDefinitions";
const desktopActions = (exec: "AppRun" | "/opt/Legcord/legcord") =>
@@ -72,7 +71,7 @@ export const config: Configuration = {
},
pacman: {
- depends: ["gtk3", "libnotify", "xdg-utils", "at-spi2-core", "alsa-lib", "nspr", "nss"],
+ depends: ["gtk3", "libnotify", "nss", "libxss", "libxtst", "xdg-utils", "at-spi2-core", "libsecret"],
},
nsis: {
@@ -102,14 +101,13 @@ export const config: Configuration = {
deb: {
category: "Network",
icon: "build/icon.icns",
- depends: ["libasound2", "libnspr4", "libnss3", "libasound2t64", "libasound2-plugins"],
+ depends: ["libgbm-dev", "libasound2", "libnspr4", "libnss3"],
desktop: {
entry: {
Actions: availableActions,
},
desktopActions: desktopActions("/opt/Legcord/legcord"),
},
- fpm: [`${debianLicence()}=/usr/share/doc/legcord/copyright`],
},
files: [
diff --git a/package.json b/package.json
index bbf7b24..b723725 100644
--- a/package.json
+++ b/package.json
@@ -40,19 +40,17 @@
"@types/ws": "^8.18.1",
"@uwu/lune": "^1.6.2",
"@uwu/shelter-defs": "^1.5.1",
- "@uwu/shelter-ui": "^0.0.6",
"@xmldom/xmldom": "^0.9.10",
"app-builder-lib": "^26.8.1",
"babel-preset-solid": "^1.9.12",
"electron": "43.2.0",
- "electron-builder": "26.15.7",
+ "electron-builder": "26.8.1",
"lucide-solid": "^1.16.0",
"monaco-editor": "0.52.2",
- "rolldown": "1.2.0",
+ "rolldown": "1.0.3",
"rollup-plugin-copy": "^3.5.0",
"solid-js": "^1.9.14",
"solid-motionone": "^1.0.4",
- "spdx-license-list": "^6.11.0",
"typescript": "^6.0.3",
"xml-formatter": "^3.7.0"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dde3084..87b4c22 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -47,7 +47,7 @@ importers:
version: 2.4.16
'@rolldown-plugin/solid':
specifier: ^0.0.4
- version: 0.0.4(csstype@3.2.3)(rolldown@1.2.0)(seroval@1.5.5)(solid-js@1.9.14)
+ version: 0.0.4(csstype@3.2.3)(rolldown@1.0.3)(seroval@1.5.5)(solid-js@1.9.14)
'@rollup/plugin-esm-shim':
specifier: ^0.1.8
version: 0.1.8
@@ -66,9 +66,6 @@ importers:
'@uwu/shelter-defs':
specifier: ^1.5.1
version: 1.5.1
- '@uwu/shelter-ui':
- specifier: ^0.0.6
- version: 0.0.6(solid-js@1.9.14)
'@xmldom/xmldom':
specifier: ^0.9.10
version: 0.9.10
@@ -82,8 +79,8 @@ importers:
specifier: 43.2.0
version: 43.2.0
electron-builder:
- specifier: 26.15.7
- version: 26.15.7(electron-builder-squirrel-windows@26.8.1)
+ specifier: 26.8.1
+ version: 26.8.1(electron-builder-squirrel-windows@26.8.1)
lucide-solid:
specifier: ^1.16.0
version: 1.16.0(solid-js@1.9.14)
@@ -91,8 +88,8 @@ importers:
specifier: 0.52.2
version: 0.52.2
rolldown:
- specifier: 1.2.0
- version: 1.2.0
+ specifier: 1.0.3
+ version: 1.0.3
rollup-plugin-copy:
specifier: ^3.5.0
version: 3.5.0
@@ -102,9 +99,6 @@ importers:
solid-motionone:
specifier: ^1.0.4
version: 1.0.4(solid-js@1.9.14)
- spdx-license-list:
- specifier: ^6.11.0
- version: 6.11.0
typescript:
specifier: ^6.0.3
version: 6.0.3
@@ -466,21 +460,12 @@ packages:
'@emnapi/core@1.10.0':
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
- '@emnapi/core@1.11.2':
- resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==}
-
'@emnapi/runtime@1.10.0':
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
- '@emnapi/runtime@1.11.2':
- resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==}
-
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
- '@emnapi/wasi-threads@1.2.2':
- resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
-
'@esbuild/android-arm64@0.17.19':
resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
engines: {node: '>=12'}
@@ -666,20 +651,12 @@ packages:
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
- '@napi-rs/wasm-runtime@1.1.6':
- resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
+ '@napi-rs/wasm-runtime@1.1.4':
+ resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==}
peerDependencies:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
- '@noble/hashes@1.4.0':
- resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
- engines: {node: '>= 16'}
-
- '@noble/hashes@2.2.0':
- resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==}
- engines: {node: '>= 20.19.0'}
-
'@nodable/entities@3.0.0':
resolution: {integrity: sha512-8L9xFeTYKhm49xfIypoe2W5wV1m/3Z58kT+7kR9A8OyFxcPduI4VmxaUMQyKYrRjUoLLSXv6EKKID5Tvj9cUVw==}
@@ -695,8 +672,8 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@oxc-project/types@0.140.0':
- resolution: {integrity: sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ==}
+ '@oxc-project/types@0.133.0':
+ resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==}
'@parcel/watcher-android-arm64@2.5.6':
resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==}
@@ -786,20 +763,6 @@ packages:
resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==}
engines: {node: '>= 10.0.0'}
- '@peculiar/asn1-schema@2.8.0':
- resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==}
-
- '@peculiar/json-schema@1.1.12':
- resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
- engines: {node: '>=8.0.0'}
-
- '@peculiar/utils@2.0.3':
- resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==}
-
- '@peculiar/webcrypto@1.7.1':
- resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==}
- engines: {node: '>=14.18.0'}
-
'@rolldown-plugin/solid@0.0.4':
resolution: {integrity: sha512-1SfABNnkkVYu+0sSuraZDjaonmylalAvopLN2o2vNTSaJh2q1KioCN+1BCzNgrDgiCa36dbzRz0IOoplyKa9uw==}
engines: {node: '>=22.12.0'}
@@ -809,8 +772,8 @@ packages:
seroval: ~1.5.0
solid-js: '>=1.9.12'
- '@rolldown/binding-android-arm64@1.2.0':
- resolution: {integrity: sha512-9yB1l95IrJuNGDFdOYe79vdApdz6WWBCObE+rQ2LUliYUlcyFwSYIb2xb5/Ifw7dAtMy2ZqNyd8QTSOc7duAKw==}
+ '@rolldown/binding-android-arm64@1.0.3':
+ resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
@@ -820,8 +783,8 @@ packages:
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-arm64@1.2.0':
- resolution: {integrity: sha512-pexNaW9ACLUOaBITOpU6qVu4VrsOFIjTv6bzgu0YUATo4eUJx0V605PxwZfndpPOn0ilqGqvGQ0M8UW0IE24jg==}
+ '@rolldown/binding-darwin-arm64@1.0.3':
+ resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
@@ -831,8 +794,8 @@ packages:
cpu: [x64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.2.0':
- resolution: {integrity: sha512-NqKYaq0355ZmNMG4QGpxtEDxsc7tGDhjhCm4PpE0cwnBW+5Il95LJyq414niEiaKLVjnVHBEjSo1wngKxJNiFw==}
+ '@rolldown/binding-darwin-x64@1.0.3':
+ resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
@@ -842,8 +805,8 @@ packages:
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-freebsd-x64@1.2.0':
- resolution: {integrity: sha512-3vPoHzh6eBTz9IbB0/qZdSr0Qeks2echn+I4cHu2joV74VriPDdldswksEDzrl1mBB+oPRi+67+3Ib59paxIPQ==}
+ '@rolldown/binding-freebsd-x64@1.0.3':
+ resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
@@ -853,8 +816,8 @@ packages:
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm-gnueabihf@1.2.0':
- resolution: {integrity: sha512-E6NNefZ1bUVmKJq2tJkf45J4Zyczj7qm9rUT7NY+Xo2474Y13qWAwc2tvBt0BAVbmtXR1llkxXg0Ou1jbDf2SQ==}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.3':
+ resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
@@ -865,8 +828,8 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-gnu@1.2.0':
- resolution: {integrity: sha512-D+TgkdgM1vu+7/Fpf8+v0ARW+RXEP9Ccazgm8zQ4JFFd9Q7SrYQ2TakU5S5ihazQDgpKyAgZDOcIFsvoHmTZ8w==}
+ '@rolldown/binding-linux-arm64-gnu@1.0.3':
+ resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
@@ -878,22 +841,22 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-arm64-musl@1.2.0':
- resolution: {integrity: sha512-wUqdwJBbAv0APN87GecstdMUtLjjNTs0hBALpxETD73mccFxdmt/XeizXDtN5RAlBwNKmI+Tg+blect2G+8IeQ==}
+ '@rolldown/binding-linux-arm64-musl@1.0.3':
+ resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-ppc64-gnu@1.2.0':
- resolution: {integrity: sha512-9DtF35qR9/NrfhM4oxLplCzVVjE+KKm8Pjemi0i/sdhAWkUasjmSo8WTTubNJClhSHCfyk2yeyoXDQEDPtDAAw==}
+ '@rolldown/binding-linux-ppc64-gnu@1.0.3':
+ resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-s390x-gnu@1.2.0':
- resolution: {integrity: sha512-RzuHrBh8X8Hntd2N4VR02QGEciq/9JhcZoTpR/Cee6otRrlILGCf3cg2ygHuih+ZebUnWmMrDX6ITI85btO6rQ==}
+ '@rolldown/binding-linux-s390x-gnu@1.0.3':
+ resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
@@ -905,8 +868,8 @@ packages:
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-gnu@1.2.0':
- resolution: {integrity: sha512-MK7L0018jjh1jR3mh21G2j1zAVcpscJBlPo2z19pRjv2XOYGRhaV4LyiD8HO6nCDdZln9IFgCMIV5yt4E3klGQ==}
+ '@rolldown/binding-linux-x64-gnu@1.0.3':
+ resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
@@ -918,15 +881,15 @@ packages:
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-x64-musl@1.2.0':
- resolution: {integrity: sha512-gyrxLQ9NfGb/9LoVnC4kb9miUghw1mghnkfYvNHSnVIXriabnfgGPUP4RLcJm87q3KgYz4FYUG8IDiWUT+CpSw==}
+ '@rolldown/binding-linux-x64-musl@1.0.3':
+ resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rolldown/binding-openharmony-arm64@1.2.0':
- resolution: {integrity: sha512-/6VFMQGRmrhP77KXDC+StIxGzcNp5JOIyYtw0CQ8gPlzhpiIRucYfoM5FaFamHd5BJYIdH86yfP46l1p3WdrFA==}
+ '@rolldown/binding-openharmony-arm64@1.0.3':
+ resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
@@ -936,8 +899,8 @@ packages:
engines: {node: '>=14.21.3'}
cpu: [wasm32]
- '@rolldown/binding-wasm32-wasi@1.2.0':
- resolution: {integrity: sha512-rwdbUL465kisF24WEJLvP3JrEG6E5GRuIHt5wpMwHGERtHe4Wm2CIvtf5gTBgr2tGOHKh5NdKEAFS2VkOPE91g==}
+ '@rolldown/binding-wasm32-wasi@1.0.3':
+ resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
@@ -946,8 +909,8 @@ packages:
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-arm64-msvc@1.2.0':
- resolution: {integrity: sha512-+5suHwRiKGmhwyUaNT8a5QbrBvLFh2DbO910TEmGRH1aSxwrCezodvGQnulv4uiWEIv1Kq4ypRsJ5+O+ry1DiA==}
+ '@rolldown/binding-win32-arm64-msvc@1.0.3':
+ resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
@@ -962,8 +925,8 @@ packages:
cpu: [x64]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.2.0':
- resolution: {integrity: sha512-WfFv6/qGufotqBSBzBYwgpCkJBk8Nj7697LL9vTz/XWc67e0r3oewu8iMRwQj3AUL45GVD7wVsPjCsAAtW66Wg==}
+ '@rolldown/binding-win32-x64-msvc@1.0.3':
+ resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -1011,9 +974,6 @@ packages:
'@tybys/wasm-util@0.10.2':
resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
- '@tybys/wasm-util@0.10.3':
- resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
-
'@types/adm-zip@0.5.8':
resolution: {integrity: sha512-RVVH7QvZYbN+ihqZ4kX/dMiowf6o+Jk1fNwiSdx0NahBJLU787zkULhGhJM8mf/obmLGmgdMM0bXsQTmyfbR7Q==}
@@ -1076,11 +1036,6 @@ packages:
'@uwu/shelter-defs@1.5.1':
resolution: {integrity: sha512-bO3M5SgqEpuNZkjd/LZFtTNNATpmVle5uznVp0QNgi3o1w2ej/ieYmwFK6nBZqnZHd8/4aJN1Njl/JbTnZcY5A==}
- '@uwu/shelter-ui@0.0.6':
- resolution: {integrity: sha512-b9NsUC7A+n4jZJl8TmXv+UKPAtfS9JygtRNASnophDkSF7evligMc21HGm8A7fh3PdBzr9VrepvehgmyUgRnLg==}
- peerDependencies:
- solid-js: ^1.6.16
-
'@vencord/venmic@6.1.0':
resolution: {integrity: sha512-YiCtzml/W8tYbGhu3jm5jfbbEnl2slKKARNK0jO+8qV979k9eFnfIRTxvhMN/SWq1h8ZNJdXVwvXpffQwq0RuA==}
engines: {node: '>=14.15'}
@@ -1123,9 +1078,6 @@ packages:
ajv@6.15.0:
resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==}
- ajv@8.20.0:
- resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -1152,13 +1104,6 @@ packages:
app-builder-bin@5.0.0-alpha.12:
resolution: {integrity: sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==}
- app-builder-lib@26.15.7:
- resolution: {integrity: sha512-C7APoYISPExUmrEntNhDpz9Tccb4uWuEDfLaC0WPPc7/pwzz0WZGznCz/ycPfkkzw6tKOalceD8g6TgHmVz1QA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- dmg-builder: 26.15.7
- electron-builder-squirrel-windows: 26.15.7
-
app-builder-lib@26.8.1:
resolution: {integrity: sha512-p0Im/Dx5C4tmz8QEE1Yn4MkuPC8PrnlRneMhWJj7BBXQfNTJUshM/bp3lusdEsDbvvfJZpXWnYesgSLvwtM2Zw==}
engines: {node: '>=14.0.0'}
@@ -1186,10 +1131,6 @@ packages:
version: 3.5.0
hasBin: true
- asn1js@3.0.10:
- resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==}
- engines: {node: '>=12.0.0'}
-
assert-plus@1.0.0:
resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
engines: {node: '>=0.8'}
@@ -1212,9 +1153,6 @@ packages:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
- aws4@1.13.2:
- resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==}
-
axios@1.16.1:
resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==}
@@ -1251,9 +1189,6 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
- bluebird@3.7.2:
- resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
-
boolean@3.2.0:
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
@@ -1287,21 +1222,9 @@ packages:
resolution: {integrity: sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==}
engines: {node: '>=12.0.0'}
- builder-util-runtime@9.7.0:
- resolution: {integrity: sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==}
- engines: {node: '>=12.0.0'}
-
- builder-util@26.15.3:
- resolution: {integrity: sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==}
- engines: {node: '>=14.0.0'}
-
builder-util@26.8.1:
resolution: {integrity: sha512-pm1lTYbGyc90DHgCDO7eo8Rl4EqKLciayNbZqGziqnH9jrlKe8ZANGdityLZU+pJh16dfzjAx2xQq9McuIPEtw==}
- bytestreamjs@2.0.1:
- resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==}
- engines: {node: '>=6.0.0'}
-
cacheable-lookup@5.0.4:
resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
engines: {node: '>=10.6.0'}
@@ -1479,9 +1402,6 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- dmg-builder@26.15.7:
- resolution: {integrity: sha512-rfo1YyAWO0L3cZLKCqKQiLYbW6ZXebRUfK0kWp4oXxO7dDFLrf7alRkWImNuXvZVQhs6Idzy++cwOk8I+xPDhw==}
-
dmg-builder@26.8.1:
resolution: {integrity: sha512-glMJgnTreo8CFINujtAhCgN96QAqApDMZ8Vl1r8f0QT8QprvC1UCltV4CcWj20YoIyLZx6IUskaJZ0NV8fokcg==}
@@ -1503,9 +1423,6 @@ packages:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- duplexer2@0.1.4:
- resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==}
-
ejs@3.1.10:
resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
engines: {node: '>=0.10.0'}
@@ -1514,8 +1431,8 @@ packages:
electron-builder-squirrel-windows@26.8.1:
resolution: {integrity: sha512-o288fIdgPLHA76eDrFADHPoo7VyGkDCYbLV1GzndaMSAVBoZrGvM9m2IehdcVMzdAZJ2eV9bgyissQXHv5tGzA==}
- electron-builder@26.15.7:
- resolution: {integrity: sha512-DBpaNzxsPs1BvEblzFoNriSbzsBqDCy/gseIngeEhYzQG1IxfB7Hvc2tBBVmpWE2BTQGP9J1RrAvDT+Vc/uAxg==}
+ electron-builder@26.8.1:
+ resolution: {integrity: sha512-uWhx1r74NGpCagG0ULs/P9Nqv2nsoo+7eo4fLUOB8L8MdWltq9odW/uuLXMFCDGnPafknYLZgjNX0ZIFRzOQAw==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -1531,9 +1448,6 @@ packages:
resolution: {integrity: sha512-8TjjAh8Ec51hUi3o4TaU0mD3GMTOESi866oRNavj9A3IQJ7pmv+MJVmdZBFGw4GFT36X7bkqnuDNYvkQgvyI8Q==}
engines: {node: '>=18'}
- electron-publish@26.15.3:
- resolution: {integrity: sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==}
-
electron-publish@26.8.1:
resolution: {integrity: sha512-q+jrSTIh/Cv4eGZa7oVR+grEJo/FoLMYBAnSL5GCtqwUpr1T+VgKB/dn1pnzxIxqD8S/jP1yilT9VrwCqINR4w==}
@@ -1645,9 +1559,6 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- fast-uri@3.1.4:
- resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==}
-
fast-xml-builder@1.3.0:
resolution: {integrity: sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==}
@@ -1695,8 +1606,8 @@ packages:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
- fs-extra@11.3.1:
- resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==}
+ fs-extra@11.3.5:
+ resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==}
engines: {node: '>=14.14'}
fs-extra@11.3.6:
@@ -1923,9 +1834,6 @@ packages:
is-unsafe@2.0.0:
resolution: {integrity: sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==}
- isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
-
isbinaryfile@4.0.10:
resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==}
engines: {node: '>= 8.0.0'}
@@ -1975,9 +1883,6 @@ packages:
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
-
json-stringify-safe@5.0.1:
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
@@ -2236,9 +2141,6 @@ packages:
engines: {node: ^20.17.0 || >=22.9.0}
hasBin: true
- node-int64@0.4.0:
- resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
-
node-releases@2.0.46:
resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==}
engines: {node: '>=18'}
@@ -2334,10 +2236,6 @@ packages:
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
- pkijs@3.4.0:
- resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==}
- engines: {node: '>=16.0.0'}
-
plist@3.1.0:
resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
engines: {node: '>=10.4.0'}
@@ -2355,9 +2253,6 @@ packages:
resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==}
engines: {node: ^20.17.0 || >=22.9.0}
- process-nextick-args@2.0.1:
- resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
-
progress@2.0.3:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
@@ -2384,13 +2279,6 @@ packages:
resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==}
engines: {node: '>=12.20'}
- pvtsutils@1.3.6:
- resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
-
- pvutils@1.1.5:
- resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==}
- engines: {node: '>=16.0.0'}
-
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -2406,9 +2294,6 @@ packages:
resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==}
hasBin: true
- readable-stream@2.3.8:
- resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
-
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
@@ -2425,10 +2310,6 @@ packages:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
- require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
-
resedit@1.7.2:
resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==}
engines: {node: '>=12', npm: '>=6'}
@@ -2470,8 +2351,8 @@ packages:
'@babel/runtime':
optional: true
- rolldown@1.2.0:
- resolution: {integrity: sha512-u7tgm5l4Yw1iTqUL4EcYOAt7fFvCgQMLeidrnD4GALlC6aOznCjezYajgxeyKw27u0Q5N7fwgCzjVyPIWzwuBA==}
+ rolldown@1.0.3:
+ resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -2482,9 +2363,6 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
-
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
@@ -2602,10 +2480,6 @@ packages:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
- spdx-license-list@6.11.0:
- resolution: {integrity: sha512-p5ICd51dSnh7zIMtPgbB9ShBg3HMT77OeI6WVhrFFvxa5KIFYNcqxD4joAE+n1zZ7wlJdEkrOMwC75JUMMmsJA==}
- engines: {node: '>=8'}
-
spitroast@2.1.4:
resolution: {integrity: sha512-IA987I3wS8RbrKrgag+NsxLUAttrqONF7UGOL+uQFmLLXlMhZl42LomTAltBQaev0jUXIaRiqShZ3hnJYT7OCQ==}
@@ -2627,9 +2501,6 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
- string_decoder@1.1.1:
- resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
-
string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
@@ -2746,9 +2617,6 @@ packages:
resolution: {integrity: sha512-ZX6U1J04K1FoSUeoX1OicAhw4d0aro2qo+L8RhJkiGTNtBNkd/Fi1Wxoc9HzcVu6HfOzm0si/N15JjxFmD1z6A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- unzipper@0.12.5:
- resolution: {integrity: sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==}
-
update-browserslist-db@1.2.3:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
hasBin: true
@@ -2771,9 +2639,6 @@ packages:
resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==}
engines: {node: '>=0.6.0'}
- webcrypto-core@1.9.2:
- resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==}
-
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -3305,7 +3170,7 @@ snapshots:
'@malept/cross-spawn-promise': 2.0.0
debug: 4.4.3
dir-compare: 4.2.0
- fs-extra: 11.3.6
+ fs-extra: 11.3.5
minimatch: 9.0.9
plist: 3.1.1
transitivePeerDependencies:
@@ -3328,32 +3193,16 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/core@1.11.2':
- dependencies:
- '@emnapi/wasi-threads': 1.2.2
- tslib: 2.8.1
- optional: true
-
'@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.11.2':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@emnapi/wasi-threads@1.2.1':
dependencies:
tslib: 2.8.1
optional: true
- '@emnapi/wasi-threads@1.2.2':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@esbuild/android-arm64@0.17.19':
optional: true
@@ -3503,17 +3352,13 @@ snapshots:
'@tybys/wasm-util': 0.10.2
optional: true
- '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)':
+ '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
- '@emnapi/core': 1.11.2
- '@emnapi/runtime': 1.11.2
- '@tybys/wasm-util': 0.10.3
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
optional: true
- '@noble/hashes@1.4.0': {}
-
- '@noble/hashes@2.2.0': {}
-
'@nodable/entities@3.0.0': {}
'@nodelib/fs.scandir@2.1.5':
@@ -3528,7 +3373,7 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.20.1
- '@oxc-project/types@0.140.0': {}
+ '@oxc-project/types@0.133.0': {}
'@parcel/watcher-android-arm64@2.5.6':
optional: true
@@ -3591,29 +3436,7 @@ snapshots:
'@parcel/watcher-win32-x64': 2.5.6
optional: true
- '@peculiar/asn1-schema@2.8.0':
- dependencies:
- '@peculiar/utils': 2.0.3
- asn1js: 3.0.10
- tslib: 2.8.1
-
- '@peculiar/json-schema@1.1.12':
- dependencies:
- tslib: 2.8.1
-
- '@peculiar/utils@2.0.3':
- dependencies:
- tslib: 2.8.1
-
- '@peculiar/webcrypto@1.7.1':
- dependencies:
- '@peculiar/asn1-schema': 2.8.0
- '@peculiar/json-schema': 1.1.12
- '@peculiar/utils': 2.0.3
- tslib: 2.8.1
- webcrypto-core: 1.9.2
-
- '@rolldown-plugin/solid@0.0.4(csstype@3.2.3)(rolldown@1.2.0)(seroval@1.5.5)(solid-js@1.9.14)':
+ '@rolldown-plugin/solid@0.0.4(csstype@3.2.3)(rolldown@1.0.3)(seroval@1.5.5)(solid-js@1.9.14)':
dependencies:
'@babel/core': 8.0.0-rc.6
'@babel/helper-module-imports': 8.0.0-rc.6
@@ -3625,68 +3448,68 @@ snapshots:
csstype: 3.2.3
html-entities: 2.6.0
parse5: 8.0.1
- rolldown: 1.2.0
+ rolldown: 1.0.3
seroval: 1.5.5
solid-js: 1.9.14
- '@rolldown/binding-android-arm64@1.2.0':
+ '@rolldown/binding-android-arm64@1.0.3':
optional: true
'@rolldown/binding-darwin-arm64@1.0.0-beta.1':
optional: true
- '@rolldown/binding-darwin-arm64@1.2.0':
+ '@rolldown/binding-darwin-arm64@1.0.3':
optional: true
'@rolldown/binding-darwin-x64@1.0.0-beta.1':
optional: true
- '@rolldown/binding-darwin-x64@1.2.0':
+ '@rolldown/binding-darwin-x64@1.0.3':
optional: true
'@rolldown/binding-freebsd-x64@1.0.0-beta.1':
optional: true
- '@rolldown/binding-freebsd-x64@1.2.0':
+ '@rolldown/binding-freebsd-x64@1.0.3':
optional: true
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.1':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.2.0':
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.3':
optional: true
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.1':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.2.0':
+ '@rolldown/binding-linux-arm64-gnu@1.0.3':
optional: true
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.1':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.2.0':
+ '@rolldown/binding-linux-arm64-musl@1.0.3':
optional: true
- '@rolldown/binding-linux-ppc64-gnu@1.2.0':
+ '@rolldown/binding-linux-ppc64-gnu@1.0.3':
optional: true
- '@rolldown/binding-linux-s390x-gnu@1.2.0':
+ '@rolldown/binding-linux-s390x-gnu@1.0.3':
optional: true
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.1':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.2.0':
+ '@rolldown/binding-linux-x64-gnu@1.0.3':
optional: true
'@rolldown/binding-linux-x64-musl@1.0.0-beta.1':
optional: true
- '@rolldown/binding-linux-x64-musl@1.2.0':
+ '@rolldown/binding-linux-x64-musl@1.0.3':
optional: true
- '@rolldown/binding-openharmony-arm64@1.2.0':
+ '@rolldown/binding-openharmony-arm64@1.0.3':
optional: true
'@rolldown/binding-wasm32-wasi@1.0.0-beta.1':
@@ -3694,17 +3517,17 @@ snapshots:
'@napi-rs/wasm-runtime': 0.2.12
optional: true
- '@rolldown/binding-wasm32-wasi@1.2.0':
+ '@rolldown/binding-wasm32-wasi@1.0.3':
dependencies:
- '@emnapi/core': 1.11.2
- '@emnapi/runtime': 1.11.2
- '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.1':
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.2.0':
+ '@rolldown/binding-win32-arm64-msvc@1.0.3':
optional: true
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.1':
@@ -3713,7 +3536,7 @@ snapshots:
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.1':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.2.0':
+ '@rolldown/binding-win32-x64-msvc@1.0.3':
optional: true
'@rolldown/pluginutils@1.0.1': {}
@@ -3752,11 +3575,6 @@ snapshots:
tslib: 2.8.1
optional: true
- '@tybys/wasm-util@0.10.3':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@types/adm-zip@0.5.8':
dependencies:
'@types/node': 25.9.1
@@ -3851,10 +3669,6 @@ snapshots:
solid-js: 1.6.16
spitroast: 2.1.4
- '@uwu/shelter-ui@0.0.6(solid-js@1.9.14)':
- dependencies:
- solid-js: 1.9.14
-
'@vencord/venmic@6.1.0':
dependencies:
cmake-js: 7.4.0
@@ -3894,13 +3708,6 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- ajv@8.20.0:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-uri: 3.1.4
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
-
ansi-regex@5.0.1: {}
ansi-regex@6.2.2: {}
@@ -3920,54 +3727,6 @@ snapshots:
app-builder-bin@5.0.0-alpha.12: {}
- app-builder-lib@26.15.7(dmg-builder@26.15.7(electron-builder-squirrel-windows@26.8.1))(electron-builder-squirrel-windows@26.8.1):
- dependencies:
- '@electron/asar': 3.4.1
- '@electron/fuses': 1.8.0
- '@electron/get': 3.1.0
- '@electron/notarize': 2.5.0
- '@electron/osx-sign': 1.3.3
- '@electron/rebuild': 4.0.4
- '@electron/universal': 2.0.3
- '@malept/flatpak-bundler': 0.4.0
- '@noble/hashes': 2.2.0
- '@peculiar/webcrypto': 1.7.1
- '@types/fs-extra': 9.0.13
- ajv: 8.20.0
- asn1js: 3.0.10
- async-exit-hook: 2.0.1
- builder-util: 26.15.3
- builder-util-runtime: 9.7.0
- chromium-pickle-js: 0.2.0
- ci-info: 4.3.1
- debug: 4.4.3
- dmg-builder: 26.15.7(electron-builder-squirrel-windows@26.8.1)
- dotenv: 16.6.1
- dotenv-expand: 11.0.7
- ejs: 3.1.10
- electron-builder-squirrel-windows: 26.8.1(dmg-builder@26.8.1)
- electron-publish: 26.15.3
- fs-extra: 10.1.0
- hosted-git-info: 4.1.0
- isbinaryfile: 5.0.7
- jiti: 2.7.0
- js-yaml: 4.1.1
- json5: 2.2.3
- lazy-val: 1.0.5
- minimatch: 10.2.5
- pkijs: 3.4.0
- plist: 3.1.0
- proper-lockfile: 4.1.2
- resedit: 1.7.2
- semver: 7.7.4
- tar: 7.5.15
- temp-file: 3.4.0
- tiny-async-pool: 1.3.0
- unzipper: 0.12.5
- which: 5.0.0
- transitivePeerDependencies:
- - supports-color
-
app-builder-lib@26.8.1(dmg-builder@26.8.1)(electron-builder-squirrel-windows@26.8.1):
dependencies:
'@develar/schema-utils': 2.6.5
@@ -4032,12 +3791,6 @@ snapshots:
- bufferutil
- utf-8-validate
- asn1js@3.0.10:
- dependencies:
- pvtsutils: 1.3.6
- pvutils: 1.1.5
- tslib: 2.8.1
-
assert-plus@1.0.0:
optional: true
@@ -4052,8 +3805,6 @@ snapshots:
at-least-node@1.0.0: {}
- aws4@1.13.2: {}
-
axios@1.16.1(debug@4.4.3):
dependencies:
follow-redirects: 1.16.0(debug@4.4.3)
@@ -4091,8 +3842,6 @@ snapshots:
binary-extensions@2.3.0: {}
- bluebird@3.7.2: {}
-
boolean@3.2.0:
optional: true
@@ -4136,32 +3885,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- builder-util-runtime@9.7.0:
- dependencies:
- debug: 4.4.3
- sax: 1.6.0
- transitivePeerDependencies:
- - supports-color
-
- builder-util@26.15.3:
- dependencies:
- '@types/debug': 4.1.13
- builder-util-runtime: 9.7.0
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.3
- fs-extra: 10.1.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
- js-yaml: 4.1.1
- sanitize-filename: 1.6.4
- source-map-support: 0.5.21
- stat-mode: 1.0.0
- temp-file: 3.4.0
- tiny-async-pool: 1.3.0
- transitivePeerDependencies:
- - supports-color
-
builder-util@26.8.1:
dependencies:
7zip-bin: 5.2.0
@@ -4183,8 +3906,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- bytestreamjs@2.0.1: {}
-
cacheable-lookup@5.0.4: {}
cacheable-request@7.0.4:
@@ -4261,7 +3982,7 @@ snapshots:
dependencies:
axios: 1.16.1(debug@4.4.3)
debug: 4.4.3
- fs-extra: 11.3.6
+ fs-extra: 11.3.5
memory-stream: 1.0.0
node-api-headers: 1.9.0
npmlog: 6.0.2
@@ -4306,7 +4027,8 @@ snapshots:
convert-source-map@2.0.0: {}
- core-util-is@1.0.2: {}
+ core-util-is@1.0.2:
+ optional: true
crc@3.8.0:
dependencies:
@@ -4372,16 +4094,6 @@ snapshots:
dependencies:
path-type: 4.0.0
- dmg-builder@26.15.7(electron-builder-squirrel-windows@26.8.1):
- dependencies:
- app-builder-lib: 26.15.7(dmg-builder@26.15.7(electron-builder-squirrel-windows@26.8.1))(electron-builder-squirrel-windows@26.8.1)
- builder-util: 26.15.3
- fs-extra: 10.1.0
- js-yaml: 4.1.1
- transitivePeerDependencies:
- - electron-builder-squirrel-windows
- - supports-color
-
dmg-builder@26.8.1(electron-builder-squirrel-windows@26.8.1):
dependencies:
app-builder-lib: 26.8.1(dmg-builder@26.8.1)(electron-builder-squirrel-windows@26.8.1)
@@ -4419,10 +4131,6 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- duplexer2@0.1.4:
- dependencies:
- readable-stream: 2.3.8
-
ejs@3.1.10:
dependencies:
jake: 10.9.4
@@ -4436,14 +4144,14 @@ snapshots:
- dmg-builder
- supports-color
- electron-builder@26.15.7(electron-builder-squirrel-windows@26.8.1):
+ electron-builder@26.8.1(electron-builder-squirrel-windows@26.8.1):
dependencies:
- app-builder-lib: 26.15.7(dmg-builder@26.15.7(electron-builder-squirrel-windows@26.8.1))(electron-builder-squirrel-windows@26.8.1)
- builder-util: 26.15.3
- builder-util-runtime: 9.7.0
+ app-builder-lib: 26.8.1(dmg-builder@26.8.1)(electron-builder-squirrel-windows@26.8.1)
+ builder-util: 26.8.1
+ builder-util-runtime: 9.5.1
chalk: 4.1.2
ci-info: 4.4.0
- dmg-builder: 26.15.7(electron-builder-squirrel-windows@26.8.1)
+ dmg-builder: 26.8.1(electron-builder-squirrel-windows@26.8.1)
fs-extra: 10.1.0
lazy-val: 1.0.5
simple-update-notifier: 2.0.0
@@ -4466,20 +4174,6 @@ snapshots:
electron-is-dev@3.0.1: {}
- electron-publish@26.15.3:
- dependencies:
- '@types/fs-extra': 9.0.13
- aws4: 1.13.2
- builder-util: 26.15.3
- builder-util-runtime: 9.7.0
- chalk: 4.1.2
- form-data: 4.0.5
- fs-extra: 10.1.0
- lazy-val: 1.0.5
- mime: 2.6.0
- transitivePeerDependencies:
- - supports-color
-
electron-publish@26.8.1:
dependencies:
'@types/fs-extra': 9.0.13
@@ -4624,8 +4318,6 @@ snapshots:
fast-json-stable-stringify@2.1.0: {}
- fast-uri@3.1.4: {}
-
fast-xml-builder@1.3.0:
dependencies:
path-expression-matcher: 1.6.2
@@ -4677,7 +4369,7 @@ snapshots:
jsonfile: 6.2.1
universalify: 2.0.1
- fs-extra@11.3.1:
+ fs-extra@11.3.5:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.2.1
@@ -4688,6 +4380,7 @@ snapshots:
graceful-fs: 4.2.11
jsonfile: 6.2.1
universalify: 2.0.1
+ optional: true
fs-extra@7.0.1:
dependencies:
@@ -4943,8 +4636,6 @@ snapshots:
is-unsafe@2.0.0: {}
- isarray@1.0.0: {}
-
isbinaryfile@4.0.10: {}
isbinaryfile@5.0.7: {}
@@ -4977,8 +4668,6 @@ snapshots:
json-schema-traverse@0.4.1: {}
- json-schema-traverse@1.0.0: {}
-
json-stringify-safe@5.0.1:
optional: true
@@ -5201,8 +4890,6 @@ snapshots:
undici: 6.26.0
which: 6.0.1
- node-int64@0.4.0: {}
-
node-releases@2.0.46: {}
nopt@9.0.0:
@@ -5277,15 +4964,6 @@ snapshots:
mlly: 1.8.2
pathe: 2.0.3
- pkijs@3.4.0:
- dependencies:
- '@noble/hashes': 1.4.0
- asn1js: 3.0.10
- bytestreamjs: 2.0.1
- pvtsutils: 1.3.6
- pvutils: 1.1.5
- tslib: 2.8.1
-
plist@3.1.0:
dependencies:
'@xmldom/xmldom': 0.8.13
@@ -5305,8 +4983,6 @@ snapshots:
proc-log@6.1.0: {}
- process-nextick-args@2.0.1: {}
-
progress@2.0.3: {}
promise-retry@2.0.1:
@@ -5334,12 +5010,6 @@ snapshots:
dependencies:
escape-goat: 4.0.0
- pvtsutils@1.3.6:
- dependencies:
- tslib: 2.8.1
-
- pvutils@1.1.5: {}
-
queue-microtask@1.2.3: {}
quick-lru@5.1.1: {}
@@ -5358,16 +5028,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- readable-stream@2.3.8:
- dependencies:
- core-util-is: 1.0.2
- inherits: 2.0.4
- isarray: 1.0.0
- process-nextick-args: 2.0.1
- safe-buffer: 5.1.2
- string_decoder: 1.1.1
- util-deprecate: 1.0.2
-
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
@@ -5383,8 +5043,6 @@ snapshots:
require-directory@2.1.1: {}
- require-from-string@2.0.2: {}
-
resedit@1.7.2:
dependencies:
pe-library: 0.4.1
@@ -5437,26 +5095,26 @@ snapshots:
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.1
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.1
- rolldown@1.2.0:
+ rolldown@1.0.3:
dependencies:
- '@oxc-project/types': 0.140.0
+ '@oxc-project/types': 0.133.0
'@rolldown/pluginutils': 1.0.1
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.2.0
- '@rolldown/binding-darwin-arm64': 1.2.0
- '@rolldown/binding-darwin-x64': 1.2.0
- '@rolldown/binding-freebsd-x64': 1.2.0
- '@rolldown/binding-linux-arm-gnueabihf': 1.2.0
- '@rolldown/binding-linux-arm64-gnu': 1.2.0
- '@rolldown/binding-linux-arm64-musl': 1.2.0
- '@rolldown/binding-linux-ppc64-gnu': 1.2.0
- '@rolldown/binding-linux-s390x-gnu': 1.2.0
- '@rolldown/binding-linux-x64-gnu': 1.2.0
- '@rolldown/binding-linux-x64-musl': 1.2.0
- '@rolldown/binding-openharmony-arm64': 1.2.0
- '@rolldown/binding-wasm32-wasi': 1.2.0
- '@rolldown/binding-win32-arm64-msvc': 1.2.0
- '@rolldown/binding-win32-x64-msvc': 1.2.0
+ '@rolldown/binding-android-arm64': 1.0.3
+ '@rolldown/binding-darwin-arm64': 1.0.3
+ '@rolldown/binding-darwin-x64': 1.0.3
+ '@rolldown/binding-freebsd-x64': 1.0.3
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.3
+ '@rolldown/binding-linux-arm64-gnu': 1.0.3
+ '@rolldown/binding-linux-arm64-musl': 1.0.3
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.3
+ '@rolldown/binding-linux-s390x-gnu': 1.0.3
+ '@rolldown/binding-linux-x64-gnu': 1.0.3
+ '@rolldown/binding-linux-x64-musl': 1.0.3
+ '@rolldown/binding-openharmony-arm64': 1.0.3
+ '@rolldown/binding-wasm32-wasi': 1.0.3
+ '@rolldown/binding-win32-arm64-msvc': 1.0.3
+ '@rolldown/binding-win32-x64-msvc': 1.0.3
rollup-plugin-copy@3.5.0:
dependencies:
@@ -5470,8 +5128,6 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
- safe-buffer@5.1.2: {}
-
safe-buffer@5.2.1:
optional: true
@@ -5582,8 +5238,6 @@ snapshots:
source-map@0.6.1: {}
- spdx-license-list@6.11.0: {}
-
spitroast@2.1.4: {}
spitroast@2.1.6: {}
@@ -5605,10 +5259,6 @@ snapshots:
get-east-asian-width: 1.6.0
strip-ansi: 7.2.0
- string_decoder@1.1.1:
- dependencies:
- safe-buffer: 5.1.2
-
string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
@@ -5724,14 +5374,6 @@ snapshots:
escape-string-regexp: 5.0.0
path-exists: 5.0.0
- unzipper@0.12.5:
- dependencies:
- bluebird: 3.7.2
- duplexer2: 0.1.4
- fs-extra: 11.3.1
- graceful-fs: 4.2.11
- node-int64: 0.4.0
-
update-browserslist-db@1.2.3(browserslist@4.28.2):
dependencies:
browserslist: 4.28.2
@@ -5747,7 +5389,8 @@ snapshots:
utf8-byte-length@1.0.5: {}
- util-deprecate@1.0.2: {}
+ util-deprecate@1.0.2:
+ optional: true
verror@1.10.1:
dependencies:
@@ -5756,14 +5399,6 @@ snapshots:
extsprintf: 1.4.1
optional: true
- webcrypto-core@1.9.2:
- dependencies:
- '@peculiar/asn1-schema': 2.8.0
- '@peculiar/json-schema': 1.1.12
- '@peculiar/utils': 2.0.3
- asn1js: 3.0.10
- tslib: 2.8.1
-
which@2.0.2:
dependencies:
isexe: 2.0.0
diff --git a/rolldown.config.ts b/rolldown.config.ts
index c198230..72f49b2 100644
--- a/rolldown.config.ts
+++ b/rolldown.config.ts
@@ -31,8 +31,6 @@ export default defineConfig([
targets: [
{ src: "src/**/**/*.html", dest: "ts-out/html/" },
{ src: "src/**/**/*.css", dest: "ts-out/css/" },
- { src: "src/setup/setup.css", dest: "ts-out/html/" },
- { src: "node_modules/@uwu/shelter-ui/compat.css", dest: "ts-out/html/" },
{ src: "src/**/**/*.js", dest: "ts-out/js/" },
{ src: "package.json", dest: "ts-out/" },
{ src: "assets/**/**", dest: "ts-out/assets/" },
diff --git a/scripts/spdxLicenceDebianFormat.ts b/scripts/spdxLicenceDebianFormat.ts
deleted file mode 100644
index d78e89d..0000000
--- a/scripts/spdxLicenceDebianFormat.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-// https://www.debian.org/doc/debian-policy/ch-docs.html#copyright-information
-// https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-
-import { readFileSync, writeFileSync } from "node:fs";
-import path from "node:path";
-import spdxLicenseList from "spdx-license-list";
-
-interface CopyrightConfig {
- upstreamName: string;
- source: string;
- copyrightHolder: string;
- licenseId: string;
- comment: string; // optional but nice to have
-}
-
-function indentText(text: string): string {
- // formatted text fields follow the same rules as Debian control file
- // long descriptions: each line indented with a single space, blank
- // lines represented as " ."
- return text
- .split("\n")
- .map((line) => (line.trim() === "" ? " ." : ` ${line}`))
- .join("\n");
-}
-
-function generateCopyrightFile(config: CopyrightConfig): string {
- const license = spdxLicenseList[config.licenseId];
- if (!license) {
- throw new Error(`Unknown SPDX license id: ${config.licenseId}`);
- }
-
- const header = [
- "Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/",
- `Upstream-Name: ${config.upstreamName}`,
- `Source: ${config.source}`,
- `Comment: ${indentText(config.comment)}`, // optional field
- ].join("\n");
-
- const licenseText = readFileSync("license.txt").toString();
-
- const licenseStanza = [`License: ${config.licenseId}`, indentText(licenseText)].join("\n");
-
- const filesStanza = ["Files: *", `Copyright: ${config.copyrightHolder}`, `License: ${config.licenseId}`].join("\n");
-
- return `${[header, filesStanza, licenseStanza].join("\n\n")}\n`;
-}
-
-/**
- * Returns the Debian SPDX-formatted license for given license ID
- *
- * @export
- * @return {*} {string}
- */
-export default function (): string {
- const copyrightContent: string = generateCopyrightFile({
- upstreamName: "Legcord",
- source: "https://github.com/Legcord/Legcord",
- copyrightHolder: `2020 - ${new Date().getFullYear()} Legcord Contributors`, // git log --reverse
- licenseId: "OSL-3.0",
- comment: "Open-Source Discord client alternative.",
- });
-
- const licensePath = path.join(__dirname, "spdx-license.txt");
- writeFileSync(licensePath, copyrightContent);
- return licensePath;
-}
diff --git a/src/@types/settings.d.ts b/src/@types/settings.d.ts
index 8b4f218..762da56 100644
--- a/src/@types/settings.d.ts
+++ b/src/@types/settings.d.ts
@@ -61,8 +61,6 @@ export interface Settings {
startMinimized: boolean;
keybinds: Keybind[];
hardwareAcceleration: boolean;
- /** Rewrite H.264 Constrained Baseline (42e0) → Baseline (4200) in WebRTC SDP for HW encode. */
- sdpH264BaselineRewrite: boolean;
useMacSystemPicker: boolean;
inviteWebsocket: boolean;
disableAutogain: boolean;
diff --git a/src/common/config.ts b/src/common/config.ts
index 955330a..921cfb2 100644
--- a/src/common/config.ts
+++ b/src/common/config.ts
@@ -12,7 +12,7 @@ let configCache: Settings | null = null;
let configCacheTime = 0;
const CONFIG_CACHE_TTL = 5000; // Cache for 5 seconds
const defaults: Settings = {
- windowStyle: "overlay",
+ windowStyle: "default",
channel: "stable",
bounceOnPing: false,
csp: "none",
@@ -34,12 +34,11 @@ const defaults: Settings = {
loopbackType: "loopback",
},
multiInstance: false,
- mods: [],
+ mods: ["vencord"],
transparency: "none",
windowMaterial: "mica",
spellcheck: true,
hardwareAcceleration: true,
- sdpH264BaselineRewrite: true,
performanceMode: "none",
skipSplash: false,
inviteWebsocket: true,
@@ -82,7 +81,6 @@ const safeMode: Settings = {
windowStyle: "native",
csp: "vanilla",
hardwareAcceleration: false,
- sdpH264BaselineRewrite: false,
disableHttpCache: true,
vaapi: false,
additionalArguments: "",
@@ -122,11 +120,6 @@ export function getConfig(object: K): Settings[K] {
configCacheTime = now;
return returnData[object];
}
-
-/** True when the settings toggle is on or `--start-minimized` was passed for this session. */
-export function shouldStartMinimized(): boolean {
- return process.argv.includes("--start-minimized") || getConfig("startMinimized") === true;
-}
export function setConfig(object: K, toSet: Settings[K]): void {
const rawData = readFileSync(getConfigLocation(), "utf-8");
const parsed = JSON.parse(rawData) as Settings;
diff --git a/src/dbus.ts b/src/dbus.ts
index ea25a0e..9446f5a 100644
--- a/src/dbus.ts
+++ b/src/dbus.ts
@@ -1,13 +1,7 @@
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
import { homedir } from "node:os";
import { join } from "node:path";
-import {
- interface as dbusInterface,
- type MessageBus,
- type ProxyInterface,
- sessionBus,
- Variant,
-} from "@jellybrick/dbus-next";
+import { interface as dbusInterface, type ProxyInterface, sessionBus, Variant } from "@jellybrick/dbus-next";
import { ACTION_FRIENDLY_NAMES, EXCLUDED_FROM_SHORTCUTS, ValidActions } from "./common/commandDefinitions";
import { handleAction, isValidAction } from "./common/handleCommands";
@@ -19,8 +13,6 @@ export const DBUS_ADDRESS = "/app/legcord/Legcord";
const FREEDESKTOP_PORTAL_NAME = "org.freedesktop.portal.Desktop";
const FREEDESKTOP_PORTAL_ADDRESS = "/org/freedesktop/portal/desktop";
-const isLinux = process.platform === "linux";
-
// https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html
type Shortcuts = [string, { description: Variant }];
interface GlobalShortcuts extends ProxyInterface {
@@ -82,16 +74,8 @@ class LegcordInterface extends Interface {
}
}
-let bus: MessageBus | undefined;
-let legcordInterface: LegcordInterface | undefined;
-
-function getBus(): MessageBus {
- if (!bus) {
- bus = sessionBus();
- legcordInterface = new LegcordInterface();
- }
- return bus;
-}
+const bus = sessionBus();
+var legcordInterface = new LegcordInterface();
function ensureDesktopFile(): void {
const dir = join(homedir(), ".local/share/applications");
@@ -104,18 +88,14 @@ function ensureDesktopFile(): void {
function registerAppId(): Promise {
ensureDesktopFile(); // we need a desktop file at XDG_PATH so we can associate with legcord's app_id
- return getBus()
- .getProxyObject("org.freedesktop.portal.Desktop", "/org/freedesktop/portal/desktop")
- .then((portalObj) => {
- const registry: RegistryInterface = portalObj.getInterface("org.freedesktop.host.portal.Registry");
- return registry.Register(DBUS_INTERFACE_NAME, {});
- });
+ return bus.getProxyObject("org.freedesktop.portal.Desktop", "/org/freedesktop/portal/desktop").then((portalObj) => {
+ const registry: RegistryInterface = portalObj.getInterface("org.freedesktop.host.portal.Registry");
+ return registry.Register(DBUS_INTERFACE_NAME, {});
+ });
}
export async function setupGlobalShortcuts() {
- if (!isLinux) return;
-
- const portalObj = await getBus().getProxyObject(FREEDESKTOP_PORTAL_NAME, FREEDESKTOP_PORTAL_ADDRESS);
+ const portalObj = await bus.getProxyObject(FREEDESKTOP_PORTAL_NAME, FREEDESKTOP_PORTAL_ADDRESS);
const properties: PropertiesInterface = portalObj.getInterface("org.freedesktop.DBus.Properties");
const globalShortcuts: GlobalShortcuts = portalObj.getInterface("org.freedesktop.portal.GlobalShortcuts");
@@ -128,19 +108,17 @@ export async function setupGlobalShortcuts() {
console.debug(`Registered ${DBUS_INTERFACE_NAME} in freedesktop Registry.`);
function awaitResponse(requestPath: string): Promise> {
- return getBus()
- .getProxyObject(FREEDESKTOP_PORTAL_NAME, requestPath)
- .then(
- (requestObj) =>
- new Promise>((resolve, reject) => {
- const requestIface = requestObj.getInterface("org.freedesktop.portal.Request");
+ return bus.getProxyObject(FREEDESKTOP_PORTAL_NAME, requestPath).then(
+ (requestObj) =>
+ new Promise>((resolve, reject) => {
+ const requestIface = requestObj.getInterface("org.freedesktop.portal.Request");
- requestIface.once("Response", (responseCode: number, results: Record) => {
- if (responseCode === 0) resolve(results);
- else reject(new Error(`Request failed with code ${responseCode}`));
- });
- }),
- );
+ requestIface.once("Response", (responseCode: number, results: Record) => {
+ if (responseCode === 0) resolve(results);
+ else reject(new Error(`Request failed with code ${responseCode}`));
+ });
+ }),
+ );
}
const sessionRequestPath = await globalShortcuts.CreateSession({
@@ -168,19 +146,13 @@ export async function setupGlobalShortcuts() {
}
export async function startDbusService(): Promise {
- if (!isLinux) return;
-
- const dbus = getBus();
- await dbus.requestName(DBUS_INTERFACE_NAME);
- dbus.export(DBUS_ADDRESS, legcordInterface!);
+ await bus.requestName(DBUS_INTERFACE_NAME);
+ bus.export(DBUS_ADDRESS, legcordInterface);
console.info(`Registered DBus service at ${DBUS_INTERFACE_NAME} ${DBUS_ADDRESS}`);
// console.debug(legcordInterface)
}
export function disconnectDbusService(): void {
- if (!bus) return;
bus.disconnect();
- bus = undefined;
- legcordInterface = undefined;
}
diff --git a/src/discord/ipc.ts b/src/discord/ipc.ts
index cbd4a75..04e3419 100644
--- a/src/discord/ipc.ts
+++ b/src/discord/ipc.ts
@@ -18,7 +18,7 @@ import {
unblacklistGame as blacklistGameRemove,
getBlacklist,
} from "../common/blacklistGame.js";
-import { getConfig, getConfigLocation, setConfig, setConfigBulk, shouldStartMinimized } from "../common/config.js";
+import { getConfig, getConfigLocation, setConfig, setConfigBulk } from "../common/config.js";
import { addDetectable, getDetectables, removeDetectable } from "../common/detectables.js";
import { getLang, getLangName, getRawLang, setLang } from "../common/lang.js";
import {
@@ -217,8 +217,8 @@ export function registerIpc(passedWindow: BrowserWindow): void {
});
ipcMain.on("splashEnd", () => {
- splashWindow?.close();
- if (shouldStartMinimized()) {
+ splashWindow.close();
+ if (getConfig("startMinimized")) {
passedWindow.hide();
} else {
passedWindow.show();
diff --git a/src/discord/preload/patches.mts b/src/discord/preload/patches.mts
index c984a68..6e37695 100644
--- a/src/discord/preload/patches.mts
+++ b/src/discord/preload/patches.mts
@@ -36,11 +36,7 @@ const version = ipcRenderer.sendSync("displayVersion") as string;
// Discord's Go Live answer forces profile-level-id=42e01f (OpenH264); local-only munging
// is overwritten by setRemoteDescription, so the answer must be rewritten too.
// Without this, Windows burns CPU on OpenH264 even when Media Foundation HW encode is available.
-// Gated by settings.sdpH264BaselineRewrite (default on) so users can disable if negotiation breaks.
{
- const rewriteBaselineSetting = ipcRenderer.sendSync("getConfig", "sdpH264BaselineRewrite") as boolean | undefined;
- const preferHwH264 =
- (process.platform === "darwin" || process.platform === "win32") && (rewriteBaselineSetting ?? true);
const bitrateScript = document.createElement("script");
bitrateScript.textContent = `(function () {
var CAP = "80000";
@@ -49,7 +45,7 @@ const version = ipcRenderer.sendSync("displayVersion") as string;
var MIN_BR = "3000";
var START_BR = "3000";
// VideoToolbox (macOS) and Media Foundation (Windows) HW encode avoid OpenH264 CBP.
- var preferHwH264 = ${preferHwH264 ? "true" : "false"};
+ var preferHwH264 = ${process.platform === "darwin" || process.platform === "win32" ? "true" : "false"};
function setOrAppendFmtpParam(sdp, key, value) {
var re = new RegExp(key + "=\\\\d+", "g");
if (sdp.indexOf(key + "=") !== -1) {
diff --git a/src/discord/window.ts b/src/discord/window.ts
index 3fb7724..7cb529d 100644
--- a/src/discord/window.ts
+++ b/src/discord/window.ts
@@ -14,7 +14,7 @@ import {
shell,
} from "electron";
import contextMenu from "electron-context-menu";
-import { firstRun, getConfig, setConfig, shouldStartMinimized } from "../common/config.js";
+import { firstRun, getConfig, setConfig } from "../common/config.js";
import { navigateTo } from "../common/dom.js";
import { forceQuit, setForceQuit } from "../common/forceQuit.js";
import { handleCommands, passedValidArgument } from "../common/handleCommands.js";
@@ -474,13 +474,8 @@ function doAfterDefiningTheWindow(passedWindow: BrowserWindow): void {
break;
}
- // When splash won't run, finalize visibility here (splashEnd never fires).
- if (getConfig("skipSplash") || shouldStartMinimized()) {
- if (shouldStartMinimized()) {
- passedWindow.hide();
- } else {
- passedWindow.show();
- }
+ if (getConfig("skipSplash")) {
+ passedWindow.show();
}
}
diff --git a/src/main.ts b/src/main.ts
index ba1b0cd..fb35c9e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -15,7 +15,6 @@ import {
setConfig,
setFirstRun,
setup,
- shouldStartMinimized,
} from "./common/config.js";
import { getPreset } from "./common/flags.js";
import { setLang } from "./common/lang.js";
@@ -109,9 +108,7 @@ function args(): void {
export async function init(): Promise {
// Skip setup if bypass flag was used
if (bypassSetup || !(firstRun === true || undefined)) {
- // Splash owns the final show/hide via splashEnd; skip it when splash is disabled
- // or when we intentionally start in the background.
- if (getConfig("skipSplash") === false && !shouldStartMinimized()) {
+ if (getConfig("skipSplash") === false) {
void createSplashWindow(); // NOTE - Awaiting will hang at start
}
createWindow();
diff --git a/src/setup/main.ts b/src/setup/main.ts
index 948dc6c..697c8c1 100644
--- a/src/setup/main.ts
+++ b/src/setup/main.ts
@@ -12,8 +12,8 @@ export async function createSetupWindow(): Promise {
if (platform() !== "darwin") import("./tray.js");
return new Promise(() => {
const windowOptions: BrowserWindowConstructorOptions = {
- width: 840,
- height: 720,
+ width: 800,
+ height: 600,
title: getLang("setup-windowTitle"),
darkTheme: true,
icon: getConfig("customIcon") ?? path.join(import.meta.dirname, "../", "/assets/desktop.png"),
diff --git a/src/setup/preload.mts b/src/setup/preload.mts
index b734e48..b4d89d4 100644
--- a/src/setup/preload.mts
+++ b/src/setup/preload.mts
@@ -15,7 +15,17 @@ contextBridge.exposeInMainWorld("setup", {
if (ipcRenderer.sendSync("setup-getOS") !== "darwin") {
document.addEventListener("DOMContentLoaded", () => {
- document.body.classList.add("has-setup-bg");
+ const css = document.createElement("style");
+ css.innerHTML = `.bg {
+ background-image: url("legcord://assets/mockup.jpg");
+ background-repeat: round;
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ outline: 80px solid black;
+ -webkit-filter: blur(10px);
+ }`;
+ document.head.appendChild(css);
});
}
diff --git a/src/setup/setup.css b/src/setup/setup.css
deleted file mode 100644
index 4231b3a..0000000
--- a/src/setup/setup.css
+++ /dev/null
@@ -1,488 +0,0 @@
-:root {
- --font-primary: "gg sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- --font-display: "gg sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- --font-headline: "ABC Ginto Nord", "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- --font-weight-normal: 400;
- --font-weight-medium: 500;
- --font-weight-semibold: 600;
- --font-weight-bold: 700;
- --font-weight-extrabold: 800;
- --saturation-factor: 1;
-
- /* Soft Legcord purple accents (kept quiet) */
- --setup-purple: var(--blurple-50);
- --setup-purple-soft: rgba(88, 101, 242, 0.14);
- --setup-purple-glow: rgba(114, 137, 218, 0.18);
-
- /* Discord Mana tokens (from stable web stylesheets / theme-dark) */
- --blurple-50-hsl: 234.935 calc(var(--saturation-factor, 1) * 85.556%) 64.706%;
- --blurple-60-hsl: 232.941 calc(var(--saturation-factor, 1) * 46.667%) 50%;
- --blurple-65-hsl: 232 calc(var(--saturation-factor, 1) * 47.511%) 43.333%;
- --blurple-50: hsl(var(--blurple-50-hsl) / 1);
- --blurple-60: hsl(var(--blurple-60-hsl) / 1);
- --blurple-65: hsl(var(--blurple-65-hsl) / 1);
- --neutral-1: #fff;
- --opacity-white-8: hsl(0 0% 100% / 0.0784313725490196);
- --opacity-4: hsl(0 0% 100% / 0.0392156862745098);
- --opacity-12: hsl(0 0% 100% / 0.12156862745098039);
- --opacity-16: hsl(0 0% 100% / 0.1607843137254902);
- --opacity-20: hsl(0 0% 100% / 0.2);
-
- /* shelter-ui → Discord Mana control colors */
- --control-primary-background-default: var(--blurple-50);
- --control-primary-background-hover: var(--blurple-60);
- --control-primary-background-active: var(--blurple-65);
- --control-primary-text-default: var(--neutral-1);
- --control-primary-text-hover: var(--neutral-1);
- --control-primary-text-active: var(--neutral-1);
- --control-primary-border-default: var(--opacity-white-8);
- --control-primary-border-hover: var(--opacity-white-8);
- --control-primary-border-active: var(--opacity-white-8);
-
- --control-secondary-background-default: var(--opacity-12);
- --control-secondary-background-hover: var(--opacity-16);
- --control-secondary-background-active: var(--opacity-20);
- --control-secondary-text-default: var(--neutral-1);
- --control-secondary-text-hover: var(--neutral-1);
- --control-secondary-text-active: var(--neutral-1);
- --control-secondary-border-default: var(--opacity-4);
- --control-secondary-border-hover: var(--opacity-4);
- --control-secondary-border-active: var(--opacity-4);
-
- --custom-button-transition-duration: 170ms;
-}
-
-*,
-*::before,
-*::after {
- box-sizing: border-box;
-}
-
-html,
-body {
- margin: 0;
- height: 100%;
- overflow: hidden;
- font-family: var(--font-primary);
- background: #1e1f22;
- color: var(--text-default);
- -webkit-font-smoothing: antialiased;
- text-rendering: optimizeLegibility;
-}
-
-.draggable {
- position: absolute;
- top: 0;
- width: 100%;
- height: 40px;
- -webkit-user-select: none;
- user-select: none;
- -webkit-app-region: drag;
- z-index: 10;
-}
-
-.bg {
- position: absolute;
- inset: 0;
- background:
- radial-gradient(ellipse 70% 50% at 50% -8%, var(--setup-purple-glow), transparent 58%),
- radial-gradient(ellipse 40% 35% at 0% 100%, rgba(88, 101, 242, 0.08), transparent 55%), #1e1f22;
-}
-
-body.has-setup-bg .bg {
- background-image:
- linear-gradient(180deg, rgba(30, 31, 34, 0.75), rgba(30, 31, 34, 0.9)),
- radial-gradient(ellipse 60% 40% at 50% 0%, var(--setup-purple-glow), transparent 60%),
- url("legcord://assets/mockup.jpg");
- background-size: cover;
- background-position: center;
- filter: none;
-}
-
-body.has-setup-bg .bg::after {
- content: "";
- position: absolute;
- inset: 0;
- backdrop-filter: blur(18px);
- background: rgba(30, 31, 34, 0.32);
-}
-
-#root {
- position: relative;
- z-index: 1;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 28px;
-}
-
-.setup-shell {
- position: relative;
- width: 100%;
- max-width: 560px;
- max-height: calc(100vh - 56px);
- display: flex;
- flex-direction: column;
- background: var(--modal-background, #313338);
- border-radius: 12px;
- box-shadow:
- 0 0 0 1px rgba(0, 0, 0, 0.3),
- 0 0 0 1px var(--setup-purple-soft),
- 0 12px 28px rgba(0, 0, 0, 0.4);
- overflow: hidden;
-}
-
-.setup-shell::before {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 2px;
- background: linear-gradient(90deg, transparent, var(--setup-purple) 35%, var(--setup-purple) 65%, transparent);
- opacity: 0.55;
- pointer-events: none;
- z-index: 2;
-}
-
-.setup-progress {
- display: flex;
- gap: 4px;
- padding: 16px 20px 0;
-}
-
-.setup-progress-segment {
- flex: 1;
- height: 4px;
- border-radius: 2px;
- background: rgba(88, 101, 242, 0.16);
- transition: background 0.15s ease;
-}
-
-.setup-progress-segment--done,
-.setup-progress-segment--active {
- background: var(--setup-purple);
-}
-
-.setup-body {
- padding: 22px 24px 14px;
- overflow-y: auto;
- flex: 1;
- min-height: 0;
-}
-
-.setup-footer {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 12px;
- padding: 16px 24px;
- background: var(--modal-footer-background, #2b2d31);
- border-top: 1px solid rgba(0, 0, 0, 0.25);
-}
-
-.setup-step-indicator {
- color: var(--header-secondary);
- font-family: var(--font-primary);
- font-size: 12px;
- font-weight: var(--font-weight-medium);
- letter-spacing: 0.02em;
- line-height: 16px;
- white-space: nowrap;
-}
-
-.setup-header {
- margin-bottom: 20px;
-}
-
-.setup-title {
- margin: 0;
- color: var(--header-primary, #f2f3f5);
- font-family: var(--font-display);
- font-size: 20px;
- font-weight: var(--font-weight-semibold);
- letter-spacing: 0.01em;
- line-height: 1.2;
-}
-
-.setup-title--hero {
- font-size: 32px;
- font-weight: var(--font-weight-bold);
- line-height: 1.15;
-}
-
-.setup-subtitle {
- display: block;
- margin: 8px 0 0;
- color: var(--header-secondary, #b5bac1);
- font-family: var(--font-primary);
- font-size: 14px;
- font-weight: var(--font-weight-normal);
- line-height: 20px;
- letter-spacing: 0;
-}
-
-.setup-subtitle--hero {
- margin-top: 10px;
- margin-bottom: 24px;
- max-width: 360px;
- font-size: 16px;
- line-height: 22px;
-}
-
-.setup-welcome,
-.setup-finish {
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
- padding: 24px 8px 28px;
-}
-
-.setup-logo {
- width: 88px;
- height: 88px;
- margin-bottom: 20px;
- border-radius: 22px;
- object-fit: cover;
- box-shadow:
- 0 0 0 1px rgba(88, 101, 242, 0.22),
- 0 10px 28px rgba(0, 0, 0, 0.4),
- 0 0 32px rgba(88, 101, 242, 0.18);
-}
-
-.setup-finish-icon {
- width: 64px;
- height: 64px;
- margin-bottom: 18px;
-}
-
-.setup-finish-icon svg {
- width: 100%;
- height: 100%;
- display: block;
- filter: drop-shadow(0 6px 16px rgba(88, 101, 242, 0.35));
-}
-
-.setup-cta {
- margin-top: 4px;
- max-width: 100%;
- font-family: var(--font-primary);
- font-weight: var(--font-weight-medium);
- letter-spacing: 0;
- transition:
- background-color var(--custom-button-transition-duration) ease,
- color var(--custom-button-transition-duration) ease,
- border-color var(--custom-button-transition-duration) ease;
-}
-
-.setup-footer-btn {
- font-family: var(--font-primary);
- font-weight: var(--font-weight-medium);
- transition:
- background-color var(--custom-button-transition-duration) ease,
- color var(--custom-button-transition-duration) ease,
- border-color var(--custom-button-transition-duration) ease;
-}
-
-.setup-note {
- width: 100%;
- margin: 0 0 22px;
- padding: 12px 14px;
- border-radius: 8px;
- background: color-mix(in srgb, var(--setup-purple) 6%, var(--background-secondary, #2b2d31));
- border: 1px solid rgba(88, 101, 242, 0.12);
- color: var(--header-secondary);
- text-align: left;
-}
-
-.setup-note p {
- margin: 0;
- font-family: var(--font-primary);
- font-size: 14px;
- line-height: 20px;
- color: var(--header-secondary);
-}
-
-.setup-options {
- display: flex;
- flex-direction: column;
- gap: 8px;
- padding-bottom: 8px;
-}
-
-.setup-option {
- display: flex;
- align-items: center;
- gap: 14px;
- width: 100%;
- padding: 12px;
- border-radius: 8px;
- border: 1px solid transparent;
- background: var(--background-secondary, #2b2d31);
- color: inherit;
- text-align: left;
- cursor: pointer;
- font-family: var(--font-primary);
- outline: none;
- transition:
- background 0.1s ease-out,
- border-color 0.1s ease-out,
- box-shadow 0.1s ease-out;
- -webkit-app-region: no-drag;
-}
-
-.setup-option:hover {
- background: var(--background-surface-high, #393a41);
-}
-
-.setup-option:focus-visible {
- box-shadow: 0 0 0 2px var(--setup-purple);
-}
-
-.setup-option--selected {
- background: color-mix(in srgb, var(--setup-purple) 14%, var(--background-secondary, #2b2d31));
- border-color: color-mix(in srgb, var(--setup-purple) 55%, transparent);
- box-shadow: inset 0 0 0 1px rgba(88, 101, 242, 0.2);
-}
-
-.setup-option--selected:hover {
- background: color-mix(in srgb, var(--setup-purple) 20%, var(--background-secondary, #2b2d31));
-}
-
-.setup-option-preview {
- width: 128px;
- height: 80px;
- border-radius: 6px;
- overflow: hidden;
- flex-shrink: 0;
- background: var(--input-background, #1e1f22);
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3);
-}
-
-.setup-option-preview img {
- width: 100%;
- height: 100%;
- object-fit: cover;
- display: block;
-}
-
-.setup-option-icon {
- width: 44px;
- height: 44px;
- border-radius: 10px;
- overflow: hidden;
- flex-shrink: 0;
- background: var(--input-background, #1e1f22);
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
-}
-
-.setup-option-icon--selected {
- background: color-mix(in srgb, var(--setup-purple) 18%, var(--input-background, #1e1f22));
-}
-
-.setup-option-icon img {
- width: 100%;
- height: 100%;
- object-fit: contain;
- display: block;
-}
-
-.setup-option-content {
- flex: 1;
- min-width: 0;
- display: flex;
- flex-direction: column;
- gap: 2px;
-}
-
-.setup-option-title-row {
- display: flex;
- align-items: center;
- gap: 8px;
- flex-wrap: wrap;
-}
-
-.setup-option-title {
- color: var(--header-primary, #f2f3f5);
- font-family: var(--font-primary);
- font-size: 16px;
- font-weight: var(--font-weight-semibold);
- line-height: 20px;
- letter-spacing: 0.01em;
-}
-
-.setup-option-desc {
- color: var(--header-secondary, #b5bac1);
- font-family: var(--font-primary);
- font-size: 14px;
- font-weight: var(--font-weight-normal);
- line-height: 18px;
-}
-
-.setup-badge {
- display: inline-flex;
- align-items: center;
- padding: 2px 6px;
- border-radius: 3px;
- background: var(--setup-purple);
- color: #fff;
- font-family: var(--font-primary);
- font-size: 10px;
- font-weight: var(--font-weight-bold);
- letter-spacing: 0.04em;
- text-transform: uppercase;
- line-height: 14px;
-}
-
-.setup-radio {
- width: 20px;
- height: 20px;
- border-radius: 50%;
- border: 2px solid var(--interactive-normal);
- flex-shrink: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- transition:
- border-color 0.1s ease-out,
- background 0.1s ease-out;
-}
-
-.setup-radio--selected {
- border-color: var(--setup-purple);
- background: var(--setup-purple);
-}
-
-.setup-radio-dot {
- width: 8px;
- height: 8px;
- border-radius: 50%;
- background: #fff;
-}
-
-.setup-warning {
- display: flex;
- align-items: flex-start;
- gap: 10px;
- margin-bottom: 12px;
- padding: 12px 14px;
- border-radius: 8px;
- background: rgba(240, 178, 50, 0.1);
- border: 1px solid rgba(240, 178, 50, 0.28);
- color: #f0b232;
- font-family: var(--font-primary);
- font-size: 14px;
- line-height: 18px;
-}
-
-.setup-warning-icon {
- flex-shrink: 0;
- width: 18px;
- height: 18px;
- margin-top: 1px;
-}
diff --git a/src/setup/setup.html b/src/setup/setup.html
index 166abff..5347bc2 100644
--- a/src/setup/setup.html
+++ b/src/setup/setup.html
@@ -4,8 +4,18 @@
Legcord Setup
-
-
+
+
@@ -13,4 +23,4 @@
-