diff --git a/.env.development b/.env.development
index d0c22d8..b426343 100644
--- a/.env.development
+++ b/.env.development
@@ -1,2 +1,2 @@
-PUBLIC_RELAY_SCHEME="http"
-PUBLIC_RELAY_HOST="localhost:4443"
+PUBLIC_RELAY_URL="http://localhost:4443"
+PUBLIC_RELAY_TOKEN=""
diff --git a/.env.production b/.env.production
index a04c130..a74d18c 100644
--- a/.env.production
+++ b/.env.production
@@ -1,2 +1,3 @@
-PUBLIC_RELAY_SCHEME="https"
-PUBLIC_RELAY_HOST="relay.quic.video"
+PUBLIC_RELAY_URL="https://relay.quic.video"
+# Generate with: cargo run --bin moq-token -- --key root.jwk sign --root "demo" --publish ""
+PUBLIC_RELAY_TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb290IjoiZGVtbyIsInB1YiI6IiIsInN1YiI6bnVsbCwiZXhwIjpudWxsLCJpYXQiOm51bGx9.vizGIT2tLZLnYWkov6XHrzwt5YoKpi0jS9oIskXxhqA"
diff --git a/astro.config.ts b/astro.config.ts
index 847ad6e..ee0ee7b 100644
--- a/astro.config.ts
+++ b/astro.config.ts
@@ -6,8 +6,6 @@ import solidJs from "@astrojs/solid-js";
import tailwind from "@astrojs/tailwind";
import { defineConfig } from "astro/config";
-import mkcert from "vite-plugin-mkcert";
-
// https://astro.build/config
export default defineConfig({
site: "https://quic.video",
@@ -37,7 +35,6 @@ export default defineConfig({
],
},
},
- plugins: [mkcert()],
resolve: {
alias: {
"@": "/src",
diff --git a/env.d.ts b/env.d.ts
index b573170..f7f2ace 100644
--- a/env.d.ts
+++ b/env.d.ts
@@ -1,8 +1,8 @@
///
interface ImportMetaEnv {
- readonly PUBLIC_RELAY_SCHEME: "http" | "https";
- readonly PUBLIC_RELAY_HOST: string;
+ readonly PUBLIC_RELAY_URL: string;
+ readonly PUBLIC_RELAY_TOKEN: string;
}
interface ImportMeta {
diff --git a/package.json b/package.json
index 07db7ef..149fbd8 100644
--- a/package.json
+++ b/package.json
@@ -16,16 +16,14 @@
"@astrojs/rss": "^4.0.12",
"@astrojs/solid-js": "5.1.0",
"@astrojs/tailwind": "6.0.2",
- "@kixelated/hang": "^0.2.5",
+ "@kixelated/hang": "^0.3.0",
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
"astro": "^5.8.2",
"solid-js": "^1.9.7",
"tailwindcss": "^3.4.17",
"unique-names-generator": "^4.7.1",
- "vite-plugin-mkcert": "^1.17.8",
- "vite-plugin-static-copy": "^2.3.1",
- "vite-plugin-wasm": "^3.4.1"
+ "vite-plugin-static-copy": "^2.3.1"
},
"devDependencies": {
"@biomejs/biome": "2.0.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2ac0025..a7f58bd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -24,8 +24,8 @@ importers:
specifier: 6.0.2
version: 6.0.2(astro@5.8.2(@types/node@22.15.29)(jiti@1.21.7)(rollup@4.41.1)(typescript@5.8.3)(yaml@2.8.0))(tailwindcss@3.4.17)
'@kixelated/hang':
- specifier: ^0.2.5
- version: 0.2.5(@types/react@19.1.8)(solid-js@1.9.7)
+ specifier: ^0.3.0
+ version: 0.3.0(@types/react@19.1.8)(solid-js@1.9.7)
'@tailwindcss/forms':
specifier: ^0.5.10
version: 0.5.10(tailwindcss@3.4.17)
@@ -44,15 +44,9 @@ importers:
unique-names-generator:
specifier: ^4.7.1
version: 4.7.1
- vite-plugin-mkcert:
- specifier: ^1.17.8
- version: 1.17.8(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0))
vite-plugin-static-copy:
specifier: ^2.3.1
version: 2.3.1(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0))
- vite-plugin-wasm:
- specifier: ^3.4.1
- version: 3.4.1(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0))
devDependencies:
'@biomejs/biome':
specifier: 2.0.5
@@ -531,16 +525,16 @@ packages:
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- '@kixelated/hang@0.2.5':
- resolution: {integrity: sha512-Uw7qFrJ34zvX/cVh97TtHFhY1nxdDEqBp+ckG6t+V+BmSg0AgwUOWPFISl1uDjkCsR84IkFw+zN3HSt4bYvXgw==}
+ '@kixelated/hang@0.3.0':
+ resolution: {integrity: sha512-FFdiiKYgV4Og4IE5n6PgKGBTpHgzNAd41UQ2u4Ega9RS/pyoO7dLmW2MS5bFPvoGuaRWduK35to3G4VYHNbSDQ==}
peerDependencies:
solid-js: ^1.9.7
- '@kixelated/moq@0.6.1':
- resolution: {integrity: sha512-fdEbFghz0NwrDYmjntDVvYYAvIFpgtxrY5MzM7uexFimyEtMCfIt9Th4bcL54vpZm6l5R6gsL1IEBUHo4AdOfg==}
+ '@kixelated/moq@0.7.0':
+ resolution: {integrity: sha512-y0S/M4lKjz5UwcNlX1bRlAoNgGDL+AMq2YJPQ2uHAPlLHqODYx8ihqBWf76/JHbJSdyaP/UwE+xAnT5ujIOrTQ==}
- '@kixelated/signals@0.3.0':
- resolution: {integrity: sha512-oLBrY27OKyyB5d4++HE2GGyR5siIlWWc8ZHNcGyKKk+kMY2AEAwpJnA8IvyUaJkfQvc6VMTYXRSDS7YON14QRQ==}
+ '@kixelated/signals@0.3.1':
+ resolution: {integrity: sha512-ZtCps9UwqVi94nVGydzxP4FAwGKvDV3YSZvDaXCXyuCvthy04LOpxmLo1nT3TS1IcSTOqv5v6ZbiPSdYtkv9Ew==}
peerDependencies:
'@types/react': ^19.1.8
react: ^19.0.0
@@ -828,9 +822,6 @@ packages:
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
autoprefixer@10.4.21:
resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14}
@@ -838,9 +829,6 @@ packages:
peerDependencies:
postcss: ^8.1.0
- axios@1.9.0:
- resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==}
-
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
@@ -896,10 +884,6 @@ packages:
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
- call-bind-apply-helpers@1.0.2:
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
- engines: {node: '>= 0.4'}
-
camelcase-css@2.0.1:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
@@ -971,10 +955,6 @@ packages:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
engines: {node: '>=12.5.0'}
- combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
-
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -1032,10 +1012,6 @@ packages:
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
- delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
-
depd@2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
@@ -1078,10 +1054,6 @@ packages:
resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
engines: {node: '>=4'}
- dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@@ -1108,25 +1080,9 @@ packages:
resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==}
engines: {node: '>=0.12'}
- es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
-
- es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
-
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
- es-object-atoms@1.1.1:
- resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
- engines: {node: '>= 0.4'}
-
- es-set-tostringtag@2.1.0:
- resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
- engines: {node: '>= 0.4'}
-
esast-util-from-estree@2.0.0:
resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
@@ -1213,15 +1169,6 @@ packages:
resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
engines: {node: '>=8'}
- follow-redirects@1.15.9:
- resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
-
fontace@0.3.0:
resolution: {integrity: sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==}
@@ -1232,10 +1179,6 @@ packages:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
- form-data@4.0.2:
- resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
- engines: {node: '>= 6'}
-
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
@@ -1263,14 +1206,6 @@ packages:
resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
engines: {node: '>=18'}
- get-intrinsic@1.3.0:
- resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
- engines: {node: '>= 0.4'}
-
- get-proto@1.0.1:
- resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
- engines: {node: '>= 0.4'}
-
github-slugger@2.0.0:
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
@@ -1290,24 +1225,12 @@ packages:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- gopd@1.2.0:
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
- engines: {node: '>= 0.4'}
-
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
h3@1.15.3:
resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==}
- has-symbols@1.1.0:
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
- engines: {node: '>= 0.4'}
-
- has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -1516,10 +1439,6 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
- math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
-
mdast-util-definitions@6.0.0:
resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
@@ -1691,18 +1610,10 @@ packages:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
mime-db@1.54.0:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
mime-types@3.0.1:
resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
engines: {node: '>= 0.6'}
@@ -1914,9 +1825,6 @@ packages:
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -2353,12 +2261,6 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite-plugin-mkcert@1.17.8:
- resolution: {integrity: sha512-S+4tNEyGqdZQ3RLAG54ETeO2qyURHWrVjUWKYikLAbmhh/iJ+36gDEja4OWwFyXNuvyXcZwNt5TZZR9itPeG5Q==}
- engines: {node: '>=v16.7.0'}
- peerDependencies:
- vite: '>=3'
-
vite-plugin-solid@2.11.6:
resolution: {integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==}
peerDependencies:
@@ -2375,11 +2277,6 @@ packages:
peerDependencies:
vite: ^5.0.0 || ^6.0.0
- vite-plugin-wasm@3.4.1:
- resolution: {integrity: sha512-ja3nSo2UCkVeitltJGkS3pfQHAanHv/DqGatdI39ja6McgABlpsZ5hVgl6wuR8Qx5etY3T5qgDQhOWzc5RReZA==}
- peerDependencies:
- vite: ^2 || ^3 || ^4 || ^5 || ^6
-
vite@6.3.5:
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
@@ -2503,8 +2400,8 @@ packages:
zod@3.25.51:
resolution: {integrity: sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg==}
- zod@3.25.67:
- resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -2960,22 +2857,20 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
- '@kixelated/hang@0.2.5(@types/react@19.1.8)(solid-js@1.9.7)':
+ '@kixelated/hang@0.3.0(@types/react@19.1.8)(solid-js@1.9.7)':
dependencies:
- '@kixelated/moq': 0.6.1
- '@kixelated/signals': 0.3.0(@types/react@19.1.8)(solid-js@1.9.7)
+ '@kixelated/moq': 0.7.0
+ '@kixelated/signals': 0.3.1(@types/react@19.1.8)(solid-js@1.9.7)
buffer: 6.0.3
solid-js: 1.9.7
- zod: 3.25.67
+ zod: 3.25.76
transitivePeerDependencies:
- '@types/react'
- react
- '@kixelated/moq@0.6.1':
- dependencies:
- buffer: 6.0.3
+ '@kixelated/moq@0.7.0': {}
- '@kixelated/signals@0.3.0(@types/react@19.1.8)(solid-js@1.9.7)':
+ '@kixelated/signals@0.3.1(@types/react@19.1.8)(solid-js@1.9.7)':
dependencies:
'@types/react': 19.1.8
dequal: 2.0.3
@@ -3349,8 +3244,6 @@ snapshots:
- uploadthing
- yaml
- asynckit@0.4.0: {}
-
autoprefixer@10.4.21(postcss@8.5.4):
dependencies:
browserslist: 4.25.0
@@ -3361,14 +3254,6 @@ snapshots:
postcss: 8.5.4
postcss-value-parser: 4.2.0
- axios@1.9.0(debug@4.4.1):
- dependencies:
- follow-redirects: 1.15.9(debug@4.4.1)
- form-data: 4.0.2
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
axobject-query@4.1.0: {}
babel-plugin-jsx-dom-expressions@0.39.8(@babel/core@7.27.4):
@@ -3433,11 +3318,6 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
- call-bind-apply-helpers@1.0.2:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
-
camelcase-css@2.0.1: {}
camelcase@8.0.0: {}
@@ -3500,10 +3380,6 @@ snapshots:
color-string: 1.9.1
optional: true
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
-
comma-separated-tokens@2.0.3: {}
commander@4.1.1: {}
@@ -3551,8 +3427,6 @@ snapshots:
defu@6.1.4: {}
- delayed-stream@1.0.0: {}
-
depd@2.0.0: {}
dequal@2.0.3: {}
@@ -3582,12 +3456,6 @@ snapshots:
dset@3.1.4: {}
- dunder-proto@1.0.1:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-errors: 1.3.0
- gopd: 1.2.0
-
eastasianwidth@0.2.0: {}
ee-first@1.1.1: {}
@@ -3604,23 +3472,8 @@ snapshots:
entities@6.0.0: {}
- es-define-property@1.0.1: {}
-
- es-errors@1.3.0: {}
-
es-module-lexer@1.7.0: {}
- es-object-atoms@1.1.1:
- dependencies:
- es-errors: 1.3.0
-
- es-set-tostringtag@2.1.0:
- dependencies:
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
esast-util-from-estree@2.0.0:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -3738,10 +3591,6 @@ snapshots:
flattie@1.1.1: {}
- follow-redirects@1.15.9(debug@4.4.1):
- optionalDependencies:
- debug: 4.4.1
-
fontace@0.3.0:
dependencies:
'@types/fontkit': 2.0.8
@@ -3764,13 +3613,6 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
- form-data@4.0.2:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- es-set-tostringtag: 2.1.0
- mime-types: 2.1.35
-
fraction.js@4.3.7: {}
fresh@2.0.0: {}
@@ -3790,24 +3632,6 @@ snapshots:
get-east-asian-width@1.3.0: {}
- get-intrinsic@1.3.0:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- function-bind: 1.1.2
- get-proto: 1.0.1
- gopd: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.2
- math-intrinsics: 1.1.0
-
- get-proto@1.0.1:
- dependencies:
- dunder-proto: 1.0.1
- es-object-atoms: 1.1.1
-
github-slugger@2.0.0: {}
glob-parent@5.1.2:
@@ -3829,8 +3653,6 @@ snapshots:
globals@11.12.0: {}
- gopd@1.2.0: {}
-
graceful-fs@4.2.11: {}
h3@1.15.3:
@@ -3845,12 +3667,6 @@ snapshots:
ufo: 1.6.1
uncrypto: 0.1.3
- has-symbols@1.1.0: {}
-
- has-tostringtag@1.0.2:
- dependencies:
- has-symbols: 1.1.0
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -4117,8 +3933,6 @@ snapshots:
markdown-table@3.0.4: {}
- math-intrinsics@1.1.0: {}
-
mdast-util-definitions@6.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -4565,14 +4379,8 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.1
- mime-db@1.52.0: {}
-
mime-db@1.54.0: {}
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
mime-types@3.0.1:
dependencies:
mime-db: 1.54.0
@@ -4755,8 +4563,6 @@ snapshots:
property-information@7.1.0: {}
- proxy-from-env@1.1.0: {}
-
queue-microtask@1.2.3: {}
radix3@1.1.2: {}
@@ -5307,15 +5113,6 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-plugin-mkcert@1.17.8(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)):
- dependencies:
- axios: 1.9.0(debug@4.4.1)
- debug: 4.4.1
- picocolors: 1.1.1
- vite: 6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)
- transitivePeerDependencies:
- - supports-color
-
vite-plugin-solid@2.11.6(solid-js@1.9.7)(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)):
dependencies:
'@babel/core': 7.27.4
@@ -5338,10 +5135,6 @@ snapshots:
picocolors: 1.1.1
vite: 6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)
- vite-plugin-wasm@3.4.1(vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)):
- dependencies:
- vite: 6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0)
-
vite@6.3.5(@types/node@22.15.29)(jiti@1.21.7)(yaml@2.8.0):
dependencies:
esbuild: 0.25.5
@@ -5424,6 +5217,6 @@ snapshots:
zod@3.25.51: {}
- zod@3.25.67: {}
+ zod@3.25.76: {}
zwitch@2.0.4: {}
diff --git a/src/components/publish.tsx b/src/components/publish.tsx
index 295bab6..e110ab8 100644
--- a/src/components/publish.tsx
+++ b/src/components/publish.tsx
@@ -5,9 +5,7 @@ import "@kixelated/hang/publish/element";
export default function () {
const name = uniqueNamesGenerator({ dictionaries: [adjectives, animals], separator: "-" });
- const url = new URL(
- `${import.meta.env.PUBLIC_RELAY_SCHEME}://${import.meta.env.PUBLIC_RELAY_HOST}/anon/${name}.hang`,
- );
+ const url = new URL(`${import.meta.env.PUBLIC_RELAY_URL}/anon`);
return (
@@ -19,7 +17,7 @@ export default function () {
Preview:
-
+