diff --git a/package.json b/package.json index a27f53b83..138547148 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@codemirror/autocomplete": "^6.18.4", "@codemirror/lang-json": "^6.0.1", "@codemirror/language": "^6.10.8", - "@codemirror/view": "^6.36.1", + "@codemirror/view": "^6.36.2", "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", "@emotion/react": "^11.14.0", @@ -96,7 +96,7 @@ "react-force-graph-2d": "^1.26.1", "react-force-graph-3d": "^1.25.1", "react-hook-form": "^7.54.2", - "react-markdown": "^9.0.1", + "react-markdown": "^9.0.3", "react-mosaic-component": "^6.1.1", "react-photo-album": "^2.4.1", "react-qr-barcode-scanner": "^2.0.0", @@ -112,7 +112,7 @@ "rxjs": "^7.8.1", "three": "^0.170.0", "three-spritetext": "^1.9.3", - "three-stdlib": "^2.35.2", + "three-stdlib": "^2.35.6", "tiny-lru": "^11.2.11", "unified": "^11.0.5", "uuid": "^11.0.4", @@ -133,7 +133,7 @@ "@types/file-saver": "^2.0.7", "@types/identicon.js": "^2.3.5", "@types/json-schema": "^7.0.15", - "@types/leaflet": "^1.9.15", + "@types/leaflet": "^1.9.16", "@types/leaflet.locatecontrol": "^0.74.6", "@types/lodash.throttle": "^4.1.9", "@types/ngeohash": "^0.6.8", @@ -146,7 +146,7 @@ "@vitejs/plugin-react": "^4.3.4", "camelcase": "^8.0.0", "eventemitter3": "^5.0.1", - "typescript": "^5.7.2", + "typescript": "^5.7.3", "vite": "^5.4.11", "vite-plugin-pwa": "^0.21.1", "workbox-build": "^7.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29c4d5ad7..43849a563 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: ^6.10.8 version: 6.10.8 '@codemirror/view': - specifier: ^6.36.1 - version: 6.36.1 + specifier: ^6.36.2 + version: 6.36.2 '@emoji-mart/data': specifier: ^1.2.1 version: 1.2.1 @@ -65,10 +65,10 @@ importers: version: 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) '@getalby/bitcoin-connect': specifier: ^3.6.3 - version: 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.2) + version: 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.3) '@getalby/bitcoin-connect-react': specifier: ^3.6.3 - version: 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.2) + version: 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.3) '@noble/ciphers': specifier: ^1.2.0 version: 1.2.0 @@ -89,37 +89,37 @@ importers: version: 1.3.1 '@uiw/codemirror-theme-github': specifier: ^4.23.7 - version: 4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1) + version: 4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2) '@uiw/react-codemirror': specifier: ^4.23.7 - version: 4.23.7(@babel/runtime@7.26.0)(@codemirror/autocomplete@6.18.4)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.1)(codemirror@6.0.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.23.7(@babel/runtime@7.26.0)(@codemirror/autocomplete@6.18.4)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.2)(codemirror@6.0.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@webscopeio/react-textarea-autocomplete': specifier: ^4.9.2 version: 4.9.2(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) applesauce-channel: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-content: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-core: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-factory: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-lists: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-net: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-react: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) applesauce-signer: specifier: next - version: 0.0.0-next-20250103191026(typescript@5.7.2) + version: 0.0.0-next-20250109205419(typescript@5.7.3) bech32: specifier: ^2.0.0 version: 2.0.0 @@ -146,7 +146,7 @@ importers: version: 6.0.1 codemirror-json-schema: specifier: ^0.7.9 - version: 0.7.9(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3) + version: 0.7.9(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2)(@lezer/common@1.2.3) dayjs: specifier: ^1.11.13 version: 1.11.13 @@ -215,10 +215,10 @@ importers: version: 0.6.3 nostr-idb: specifier: ^2.2.0 - version: 2.2.0(typescript@5.7.2) + version: 2.2.0(typescript@5.7.3) nostr-tools: specifier: ^2.10.4 - version: 2.10.4(typescript@5.7.2) + version: 2.10.4(typescript@5.7.3) nostr-wasm: specifier: ^0.1.0 version: 0.1.0 @@ -253,8 +253,8 @@ importers: specifier: ^7.54.2 version: 7.54.2(react@18.3.1) react-markdown: - specifier: ^9.0.1 - version: 9.0.1(@types/react@18.3.18)(react@18.3.1) + specifier: ^9.0.3 + version: 9.0.3(@types/react@18.3.18)(react@18.3.1) react-mosaic-component: specifier: ^6.1.1 version: 6.1.1(@types/react@18.3.18)(dnd-core@16.0.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -301,8 +301,8 @@ importers: specifier: ^1.9.3 version: 1.9.3(three@0.170.0) three-stdlib: - specifier: ^2.35.2 - version: 2.35.2(three@0.170.0) + specifier: ^2.35.6 + version: 2.35.6(three@0.170.0) tiny-lru: specifier: ^11.2.11 version: 11.2.11 @@ -359,8 +359,8 @@ importers: specifier: ^7.0.15 version: 7.0.15 '@types/leaflet': - specifier: ^1.9.15 - version: 1.9.15 + specifier: ^1.9.16 + version: 1.9.16 '@types/leaflet.locatecontrol': specifier: ^0.74.6 version: 0.74.6 @@ -398,8 +398,8 @@ importers: specifier: ^5.0.1 version: 5.0.1 typescript: - specifier: ^5.7.2 - version: 5.7.2 + specifier: ^5.7.3 + version: 5.7.3 vite: specifier: ^5.4.11 version: 5.4.11(terser@5.37.0) @@ -1120,8 +1120,8 @@ packages: '@codemirror/autocomplete@6.18.4': resolution: {integrity: sha512-sFAphGQIqyQZfP2ZBsSHV7xQvo9Py0rV0dW7W3IMRdS+zDuNb2l3no78CvUaWKGfzFjI4FTrLdUSj86IGb2hRA==} - '@codemirror/commands@6.7.1': - resolution: {integrity: sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==} + '@codemirror/commands@6.8.0': + resolution: {integrity: sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ==} '@codemirror/lang-json@6.0.1': resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} @@ -1144,8 +1144,8 @@ packages: '@codemirror/theme-one-dark@6.1.2': resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} - '@codemirror/view@6.36.1': - resolution: {integrity: sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ==} + '@codemirror/view@6.36.2': + resolution: {integrity: sha512-DZ6ONbs8qdJK0fdN7AB82CgI6tYXf4HWk1wSVa0+9bhVznCuuvhQtX8bFBoy3dv8rZSQqUd8GvhVAcielcidrA==} '@emoji-mart/data@1.2.1': resolution: {integrity: sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==} @@ -1536,98 +1536,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + '@rollup/rollup-android-arm-eabi@4.30.1': + resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + '@rollup/rollup-android-arm64@4.30.1': + resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + '@rollup/rollup-darwin-arm64@4.30.1': + resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + '@rollup/rollup-darwin-x64@4.30.1': + resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + '@rollup/rollup-freebsd-arm64@4.30.1': + resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + '@rollup/rollup-freebsd-x64@4.30.1': + resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + '@rollup/rollup-linux-arm64-gnu@4.30.1': + resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + '@rollup/rollup-linux-arm64-musl@4.30.1': + resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + '@rollup/rollup-linux-s390x-gnu@4.30.1': + resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + '@rollup/rollup-linux-x64-gnu@4.30.1': + resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + '@rollup/rollup-linux-x64-musl@4.30.1': + resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + '@rollup/rollup-win32-arm64-msvc@4.30.1': + resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + '@rollup/rollup-win32-ia32-msvc@4.30.1': + resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + '@rollup/rollup-win32-x64-msvc@4.30.1': + resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} cpu: [x64] os: [win32] @@ -1761,8 +1761,8 @@ packages: '@types/leaflet.locatecontrol@0.74.6': resolution: {integrity: sha512-IMnp6zSkiEKx5fwZSfySIyQWJWR/tpF00jRZC6BmFU//ygVRChakQpGPMpHIjQOnP3UMTmTXgztvQ2AwlHL8Mg==} - '@types/leaflet@1.9.15': - resolution: {integrity: sha512-7UuggAuAs+mva66gtf2OTB1nEhzU/9JED93TIaOEgvFMvG/dIGQaukHE7izHo1Zd+Ko1L4ETUw7TBc8yUxevpg==} + '@types/leaflet@1.9.16': + resolution: {integrity: sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==} '@types/lodash.mergewith@4.6.7': resolution: {integrity: sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==} @@ -1932,29 +1932,29 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - applesauce-channel@0.0.0-next-20250103191026: - resolution: {integrity: sha512-7YEGbiVAM0C1jyzoVkOQFEwe0nnJ4cvbOzWVZxuRJBeTch11hNFDERMn6EiiK+LR+0zEPmIX+MIXk9W0agw9sQ==} + applesauce-channel@0.0.0-next-20250109205419: + resolution: {integrity: sha512-yYIbkyru8h7RzwOBe8kITIFfmD33Sc1z63K3T5aRg/PcZjXDuArvnhe4e2sFB8GP0f7FzWh0G8y3N7s+Cx+8nQ==} - applesauce-content@0.0.0-next-20250103191026: - resolution: {integrity: sha512-dgpfrQRs0Pf1Zpary+m7PMBs5DFJw4CFR9v3iMvrVBr8QMxyzohps43K9hQxToozo3cyDHACaxoQRZd9uHvJ0Q==} + applesauce-content@0.0.0-next-20250109205419: + resolution: {integrity: sha512-tAd2UXZCuiTfgrDW4PZDQxHSsGEDtlehdLoFAT0XzdNDdZysprmxu/kVmwPn8eF9D5zOySQQ37rMn8nAIz/RGQ==} - applesauce-core@0.0.0-next-20250103191026: - resolution: {integrity: sha512-6nJ9A9fM0HMSdIgJhIbuHENjbxQ8Rc1SwGwxQYBPY+KA6HNaiahgf9zyy3p+A10sZ19dWRboFrh8KSB6FT2Qhg==} + applesauce-core@0.0.0-next-20250109205419: + resolution: {integrity: sha512-ZBFDutMmnycqM23cxx0Fk1HBahSymf5C8zdV1qhat/D4AdtgUHTGtrEMpW3KMP94ag4UYIo4rNbStPHSV5h8Kg==} - applesauce-factory@0.0.0-next-20250103191026: - resolution: {integrity: sha512-PmP6gmj+PW8LRAO1kRLoZwxGot8VvgOJ6buE434H1uMq4CcANi6tfWscaf9XycvJLI5cBGInTPG4HQ0kqvQzbg==} + applesauce-factory@0.0.0-next-20250109205419: + resolution: {integrity: sha512-IJzi3jujrwiMKmeoujgaiG5jrIpz+ISL03bPTfDzJoU8wwso8RIx+2OI8pBQt1g4QlN+QNWw80Dnr9JZQ0VbDg==} - applesauce-lists@0.0.0-next-20250103191026: - resolution: {integrity: sha512-i0sfQk6tsCwJIxLj7VNt+nBSszX8V4lCKQkRnOze6i4wjoVCcTXMxR8cjxXoJynSzwA+5kC2zPeLjTu0wMHChA==} + applesauce-lists@0.0.0-next-20250109205419: + resolution: {integrity: sha512-5bbZEgxBZvpQWcQ5txrIPMNfcekmmsRLYgyggQT+vZNrWAlYkQjlKK7NtKL2i7naZHqbFMBEZeEYL/N3Na3uSw==} - applesauce-net@0.0.0-next-20250103191026: - resolution: {integrity: sha512-ipnaMop8bM5lHUpQOlZItUJTnATEKHcPiMFaNYLz1mV9lT2I8t594Rr6+vyWEaEVqwdej+r6OYJn94ZWFEWnWA==} + applesauce-net@0.0.0-next-20250109205419: + resolution: {integrity: sha512-jLQ4aTkU5YlQ5z7Ww+pLXWWam3orFB54LU7KIwcYM+mz/+TrIVczdQM/IK5wDSfiv00FxOYYaptDWRgWUFCS9g==} - applesauce-react@0.0.0-next-20250103191026: - resolution: {integrity: sha512-tW4GiUB4KVqZi5wxo7NC+XeLexB2M4otfIoJ85bIPsPukLqboTXcnWXZjtMNXzUApQQhmD2yzN1juXhom9Edng==} + applesauce-react@0.0.0-next-20250109205419: + resolution: {integrity: sha512-dtXXPGnCMd3n/RAxWikgMSZP0L5VAxVS6gv03IJe0G03hVXSlmcZ8Yq2VDCcBQIUikdj5Y2Gym/9Je4hV5vCpA==} - applesauce-signer@0.0.0-next-20250103191026: - resolution: {integrity: sha512-0Aa/77eKXLE0PN6DoXIi9Unfh6hfkH998C+ZdXfa0EwMJZZ9ogwpYXpAsEwA57J2/17fgpszIEo3quVYgUMKRw==} + applesauce-signer@0.0.0-next-20250109205419: + resolution: {integrity: sha512-PNlneiWbU+hMVcDB2XZ3gk7BUtonsG6XgQoyZItinCebWg4qE25oxR2a0KmLVULEnyFqjM71pBXZMfv5yOWK6g==} argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2050,8 +2050,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.3: - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2081,8 +2081,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001690: - resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + caniuse-lite@1.0.30001692: + resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} canvas-color-tracker@1.3.1: resolution: {integrity: sha512-eNycxGS7oQ3IS/9QQY41f/aQjiO9Y/MtedhCgSdsbLSxC9EyUD8L3ehl/Q3Kfmvt8um79S45PBV+5Rxm5ztdSw==} @@ -2196,8 +2196,8 @@ packages: copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - core-js-compat@3.39.0: - resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + core-js-compat@3.40.0: + resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} @@ -2405,8 +2405,8 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - domutils@3.2.1: - resolution: {integrity: sha512-xWXmuRnN9OMP6ptPd2+H0cCbcYBULa5YDTbMm/2lvkWvNA3O4wcW+GvzooqBuNM8yy6pl3VIAeJTUUWUbfI5Fw==} + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} draco3d@1.5.7: resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==} @@ -2427,8 +2427,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.76: - resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} + electron-to-chromium@1.5.80: + resolution: {integrity: sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==} emittery@1.0.3: resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==} @@ -2538,8 +2538,8 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -2548,8 +2548,8 @@ packages: fast-shallow-equal@1.0.0: resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + fast-uri@3.0.5: + resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} fastest-stable-stringify@2.0.2: resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} @@ -2585,8 +2585,8 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - focus-lock@1.3.5: - resolution: {integrity: sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==} + focus-lock@1.3.6: + resolution: {integrity: sha512-Ik/6OCk9RQQ0T5Xw+hKNLWrjSMtv51dD4GRmJjbD5a58TIEpI5a5iXagKVl3Z5UuyslMCA8Xwnu76jQob62Yhg==} engines: {node: '>=10'} for-each@0.3.3: @@ -3675,8 +3675,8 @@ packages: peerDependencies: react: '>=16.13.1' - react-markdown@9.0.1: - resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==} + react-markdown@9.0.3: + resolution: {integrity: sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==} peerDependencies: '@types/react': ^18.2.22 react: '>=18' @@ -3905,8 +3905,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} + rollup@4.30.1: + resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4158,8 +4158,8 @@ packages: peerDependencies: three: '>=0.86.0' - three-stdlib@2.35.2: - resolution: {integrity: sha512-Ns9ZdiFEAsiv8JvHS28Qgxg4YRTq13Ixa4EDUQZhUovZ3j/GLTou4zE887SLSqsuRZwuy3gklttn2ha5JaJpTQ==} + three-stdlib@2.35.6: + resolution: {integrity: sha512-8kkXc/7Fvsm3o/J7UqUgWZZ+qDYS0RTN8cwwGD0A4n0lP6wXf5FDdhJyTS8y/o+UMIexiv0ld78RPQoK6PFlVA==} peerDependencies: three: '>=0.128.0' @@ -4237,8 +4237,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true @@ -4311,8 +4311,8 @@ packages: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4337,10 +4337,10 @@ packages: '@types/react': optional: true - use-sync-external-store@1.2.2: - resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 uuid@11.0.4: resolution: {integrity: sha512-IzL6VtTTYcAhA/oghbFJ1Dkmqev+FpQWnCBaKq/gUluLxliWvO8DPFWfIviRmYbtaavtSQe4WBL++rFjdcGWEg==} @@ -4535,8 +4535,8 @@ packages: zen-observable@0.10.0: resolution: {integrity: sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw==} - zustand@4.5.5: - resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} + zustand@4.5.6: + resolution: {integrity: sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': ^18.2.22 @@ -4622,7 +4622,7 @@ snapshots: dependencies: '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.3 + browserslist: 4.24.4 lru-cache: 5.1.1 semver: 6.3.1 @@ -5188,7 +5188,7 @@ snapshots: babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 + core-js-compat: 3.40.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5581,14 +5581,14 @@ snapshots: dependencies: '@codemirror/language': 6.10.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/common': 1.2.3 - '@codemirror/commands@6.7.1': + '@codemirror/commands@6.8.0': dependencies: '@codemirror/language': 6.10.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/common': 1.2.3 '@codemirror/lang-json@6.0.1': @@ -5610,7 +5610,7 @@ snapshots: '@codemirror/language@6.10.8': dependencies: '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -5619,13 +5619,13 @@ snapshots: '@codemirror/lint@6.8.4': dependencies: '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 crelt: 1.0.6 '@codemirror/search@6.5.8': dependencies: '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 crelt: 1.0.6 '@codemirror/state@6.5.0': @@ -5636,10 +5636,10 @@ snapshots: dependencies: '@codemirror/language': 6.10.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/highlight': 1.2.1 - '@codemirror/view@6.36.1': + '@codemirror/view@6.36.2': dependencies: '@codemirror/state': 6.5.0 style-mod: 4.1.2 @@ -5822,22 +5822,22 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@getalby/bitcoin-connect-react@3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.2)': + '@getalby/bitcoin-connect-react@3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.3)': dependencies: - '@getalby/bitcoin-connect': 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.2) + '@getalby/bitcoin-connect': 3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.3) react: 18.3.1 transitivePeerDependencies: - '@types/react' - immer - typescript - '@getalby/bitcoin-connect@3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.2)': + '@getalby/bitcoin-connect@3.6.3(@types/react@18.3.18)(react@18.3.1)(typescript@5.7.3)': dependencies: '@getalby/lightning-tools': 5.1.2 - '@getalby/sdk': 3.8.2(typescript@5.7.2) + '@getalby/sdk': 3.8.2(typescript@5.7.3) '@lightninglabs/lnc-web': 0.3.2-alpha qrcode-generator: 1.4.4 - zustand: 4.5.5(@types/react@18.3.18)(react@18.3.1) + zustand: 4.5.6(@types/react@18.3.18)(react@18.3.1) transitivePeerDependencies: - '@types/react' - immer @@ -5846,10 +5846,10 @@ snapshots: '@getalby/lightning-tools@5.1.2': {} - '@getalby/sdk@3.8.2(typescript@5.7.2)': + '@getalby/sdk@3.8.2(typescript@5.7.3)': dependencies: emittery: 1.0.3 - nostr-tools: 2.9.4(typescript@5.7.2) + nostr-tools: 2.9.4(typescript@5.7.3) transitivePeerDependencies: - typescript @@ -6021,61 +6021,61 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/rollup-android-arm-eabi@4.29.1': + '@rollup/rollup-android-arm-eabi@4.30.1': optional: true - '@rollup/rollup-android-arm64@4.29.1': + '@rollup/rollup-android-arm64@4.30.1': optional: true - '@rollup/rollup-darwin-arm64@4.29.1': + '@rollup/rollup-darwin-arm64@4.30.1': optional: true - '@rollup/rollup-darwin-x64@4.29.1': + '@rollup/rollup-darwin-x64@4.30.1': optional: true - '@rollup/rollup-freebsd-arm64@4.29.1': + '@rollup/rollup-freebsd-arm64@4.30.1': optional: true - '@rollup/rollup-freebsd-x64@4.29.1': + '@rollup/rollup-freebsd-x64@4.30.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.29.1': + '@rollup/rollup-linux-arm-musleabihf@4.30.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.29.1': + '@rollup/rollup-linux-arm64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.29.1': + '@rollup/rollup-linux-arm64-musl@4.30.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.29.1': + '@rollup/rollup-linux-riscv64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.29.1': + '@rollup/rollup-linux-s390x-gnu@4.30.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.29.1': + '@rollup/rollup-linux-x64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-x64-musl@4.29.1': + '@rollup/rollup-linux-x64-musl@4.30.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.29.1': + '@rollup/rollup-win32-arm64-msvc@4.30.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.29.1': + '@rollup/rollup-win32-ia32-msvc@4.30.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.29.1': + '@rollup/rollup-win32-x64-msvc@4.30.1': optional: true '@sagold/json-pointer@5.1.2': {} @@ -6239,9 +6239,9 @@ snapshots: '@types/leaflet.locatecontrol@0.74.6': dependencies: - '@types/leaflet': 1.9.15 + '@types/leaflet': 1.9.16 - '@types/leaflet@1.9.15': + '@types/leaflet@1.9.16': dependencies: '@types/geojson': 7946.0.15 @@ -6319,38 +6319,38 @@ snapshots: '@types/zen-observable@0.8.7': {} - '@uiw/codemirror-extensions-basic-setup@4.23.7(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.7.1)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)': + '@uiw/codemirror-extensions-basic-setup@4.23.7(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.8.0)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2)': dependencies: '@codemirror/autocomplete': 6.18.4 - '@codemirror/commands': 6.7.1 + '@codemirror/commands': 6.8.0 '@codemirror/language': 6.10.8 '@codemirror/lint': 6.8.4 '@codemirror/search': 6.5.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 - '@uiw/codemirror-theme-github@4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)': + '@uiw/codemirror-theme-github@4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2)': dependencies: - '@uiw/codemirror-themes': 4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1) + '@uiw/codemirror-themes': 4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2) transitivePeerDependencies: - '@codemirror/language' - '@codemirror/state' - '@codemirror/view' - '@uiw/codemirror-themes@4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)': + '@uiw/codemirror-themes@4.23.7(@codemirror/language@6.10.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2)': dependencies: '@codemirror/language': 6.10.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 - '@uiw/react-codemirror@4.23.7(@babel/runtime@7.26.0)(@codemirror/autocomplete@6.18.4)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.1)(codemirror@6.0.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@uiw/react-codemirror@4.23.7(@babel/runtime@7.26.0)(@codemirror/autocomplete@6.18.4)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.36.2)(codemirror@6.0.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 - '@codemirror/commands': 6.7.1 + '@codemirror/commands': 6.8.0 '@codemirror/state': 6.5.0 '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.36.1 - '@uiw/codemirror-extensions-basic-setup': 4.23.7(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.7.1)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1) + '@codemirror/view': 6.36.2 + '@uiw/codemirror-extensions-basic-setup': 4.23.7(@codemirror/autocomplete@6.18.4)(@codemirror/commands@6.8.0)(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/search@6.5.8)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2) codemirror: 6.0.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6407,7 +6407,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 + fast-uri: 3.0.5 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -6419,25 +6419,25 @@ snapshots: dependencies: color-convert: 2.0.1 - applesauce-channel@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-channel@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-factory: 0.0.0-next-20250103191026(typescript@5.7.2) - nostr-tools: 2.10.4(typescript@5.7.2) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) + applesauce-factory: 0.0.0-next-20250109205419(typescript@5.7.3) + nostr-tools: 2.10.4(typescript@5.7.3) rxjs: 7.8.1 transitivePeerDependencies: - supports-color - typescript - applesauce-content@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-content@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: '@cashu/cashu-ts': 2.0.0-rc1 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) mdast-util-find-and-replace: 3.0.2 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) remark: 15.0.1 remark-parse: 11.0.0 unified: 11.0.5 @@ -6446,7 +6446,7 @@ snapshots: - supports-color - typescript - applesauce-core@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-core@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: '@scure/base': 1.2.1 debug: 4.4.0 @@ -6454,69 +6454,68 @@ snapshots: hash-sum: 2.0.0 light-bolt11-decoder: 3.2.0 nanoid: 5.0.9 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) rxjs: 7.8.1 transitivePeerDependencies: - supports-color - typescript - applesauce-factory@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-factory@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: - applesauce-content: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) - nostr-tools: 2.10.4(typescript@5.7.2) + applesauce-content: 0.0.0-next-20250109205419(typescript@5.7.3) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) + nostr-tools: 2.10.4(typescript@5.7.3) transitivePeerDependencies: - supports-color - typescript - applesauce-lists@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-lists@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: '@noble/hashes': 1.7.0 '@noble/secp256k1': 1.7.1 '@scure/base': 1.2.1 '@types/dom-serial': 1.0.6 - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-factory: 0.0.0-next-20250103191026(typescript@5.7.2) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) + applesauce-factory: 0.0.0-next-20250109205419(typescript@5.7.3) debug: 4.4.0 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) rxjs: 7.8.1 transitivePeerDependencies: - supports-color - typescript - applesauce-net@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-net@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) nanoid: 5.0.9 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) rxjs: 7.8.1 transitivePeerDependencies: - supports-color - typescript - applesauce-react@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-react@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: - applesauce-content: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-factory: 0.0.0-next-20250103191026(typescript@5.7.2) - nostr-tools: 2.10.4(typescript@5.7.2) + applesauce-content: 0.0.0-next-20250109205419(typescript@5.7.3) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) + applesauce-factory: 0.0.0-next-20250109205419(typescript@5.7.3) + nostr-tools: 2.10.4(typescript@5.7.3) react: 18.3.1 rxjs: 7.8.1 transitivePeerDependencies: - supports-color - typescript - applesauce-signer@0.0.0-next-20250103191026(typescript@5.7.2): + applesauce-signer@0.0.0-next-20250109205419(typescript@5.7.3): dependencies: '@noble/hashes': 1.7.0 '@noble/secp256k1': 1.7.1 '@scure/base': 1.2.1 '@types/dom-serial': 1.0.6 - applesauce-core: 0.0.0-next-20250103191026(typescript@5.7.2) - applesauce-net: 0.0.0-next-20250103191026(typescript@5.7.2) + applesauce-core: 0.0.0-next-20250109205419(typescript@5.7.3) debug: 4.4.0 nanoid: 5.0.9 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) transitivePeerDependencies: - supports-color - typescript @@ -6575,7 +6574,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 + core-js-compat: 3.40.0 transitivePeerDependencies: - supports-color @@ -6624,12 +6623,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.3: + browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.76 + caniuse-lite: 1.0.30001692 + electron-to-chromium: 1.5.80 node-releases: 2.0.19 - update-browserslist-db: 1.1.1(browserslist@4.24.3) + update-browserslist-db: 1.1.2(browserslist@4.24.4) buffer-from@1.1.2: {} @@ -6659,7 +6658,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001690: {} + caniuse-lite@1.0.30001692: {} canvas-color-tracker@1.3.1: dependencies: @@ -6701,14 +6700,14 @@ snapshots: css-what: 6.1.0 domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.2.1 + domutils: 3.2.2 cheerio@1.0.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 - domutils: 3.2.1 + domutils: 3.2.2 encoding-sniffer: 0.2.0 htmlparser2: 9.1.0 parse5: 7.2.1 @@ -6723,12 +6722,12 @@ snapshots: classnames@2.5.1: {} - codemirror-json-schema@0.7.9(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3): + codemirror-json-schema@0.7.9(@codemirror/language@6.10.8)(@codemirror/lint@6.8.4)(@codemirror/state@6.5.0)(@codemirror/view@6.36.2)(@lezer/common@1.2.3): dependencies: '@codemirror/language': 6.10.8 '@codemirror/lint': 6.8.4 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/common': 1.2.3 '@sagold/json-pointer': 5.1.2 '@shikijs/markdown-it': 1.26.1 @@ -6750,7 +6749,7 @@ snapshots: dependencies: '@codemirror/language': 6.10.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 json5: 2.2.3 @@ -6766,12 +6765,12 @@ snapshots: codemirror@6.0.1: dependencies: '@codemirror/autocomplete': 6.18.4 - '@codemirror/commands': 6.7.1 + '@codemirror/commands': 6.8.0 '@codemirror/language': 6.10.8 '@codemirror/lint': 6.8.4 '@codemirror/search': 6.5.8 '@codemirror/state': 6.5.0 - '@codemirror/view': 6.36.1 + '@codemirror/view': 6.36.2 color-convert@2.0.1: dependencies: @@ -6797,9 +6796,9 @@ snapshots: dependencies: toggle-selection: 1.0.6 - core-js-compat@3.39.0: + core-js-compat@3.40.0: dependencies: - browserslist: 4.24.3 + browserslist: 4.24.4 cosmiconfig@7.1.0: dependencies: @@ -6834,7 +6833,7 @@ snapshots: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.2.1 + domutils: 3.2.2 nth-check: 2.1.1 css-tree@1.1.3: @@ -7013,7 +7012,7 @@ snapshots: dependencies: domelementtype: 2.3.0 - domutils@3.2.1: + domutils@3.2.2: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -7041,7 +7040,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.76: {} + electron-to-chromium@1.5.80: {} emittery@1.0.3: {} @@ -7204,7 +7203,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -7216,7 +7215,7 @@ snapshots: fast-shallow-equal@1.0.0: {} - fast-uri@3.0.3: {} + fast-uri@3.0.5: {} fastest-stable-stringify@2.0.2: {} @@ -7247,7 +7246,7 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - focus-lock@1.3.5: + focus-lock@1.3.6: dependencies: tslib: 2.8.1 @@ -7380,7 +7379,7 @@ snapshots: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.2 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -7474,7 +7473,7 @@ snapshots: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.2.1 + domutils: 3.2.2 entities: 4.5.0 human-id@1.0.2: {} @@ -8261,16 +8260,16 @@ snapshots: node-releases@2.0.19: {} - nostr-idb@2.2.0(typescript@5.7.2): + nostr-idb@2.2.0(typescript@5.7.3): dependencies: debug: 4.4.0 idb: 8.0.1 - nostr-tools: 2.10.4(typescript@5.7.2) + nostr-tools: 2.10.4(typescript@5.7.3) transitivePeerDependencies: - supports-color - typescript - nostr-tools@2.10.4(typescript@5.7.2): + nostr-tools@2.10.4(typescript@5.7.3): dependencies: '@noble/ciphers': 0.5.3 '@noble/curves': 1.2.0 @@ -8280,9 +8279,9 @@ snapshots: '@scure/bip39': 1.2.1 optionalDependencies: nostr-wasm: 0.1.0 - typescript: 5.7.2 + typescript: 5.7.3 - nostr-tools@2.9.4(typescript@5.7.2): + nostr-tools@2.9.4(typescript@5.7.3): dependencies: '@noble/ciphers': 0.5.3 '@noble/curves': 1.2.0 @@ -8292,7 +8291,7 @@ snapshots: '@scure/bip39': 1.2.1 optionalDependencies: nostr-wasm: 0.1.0 - typescript: 5.7.2 + typescript: 5.7.3 nostr-typedef@0.9.0: {} @@ -8550,7 +8549,7 @@ snapshots: react-focus-lock@2.13.5(@types/react@18.3.18)(react@18.3.1): dependencies: '@babel/runtime': 7.26.0 - focus-lock: 1.3.5 + focus-lock: 1.3.6 prop-types: 15.8.1 react: 18.3.1 react-clientside-effect: 1.2.7(react@18.3.1) @@ -8584,7 +8583,7 @@ snapshots: jerrypick: 1.1.1 react: 18.3.1 - react-markdown@9.0.1(@types/react@18.3.18)(react@18.3.1): + react-markdown@9.0.3(@types/react@18.3.18)(react@18.3.1): dependencies: '@types/hast': 3.0.4 '@types/react': 18.3.18 @@ -8876,29 +8875,29 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.29.1: + rollup@4.30.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.29.1 - '@rollup/rollup-android-arm64': 4.29.1 - '@rollup/rollup-darwin-arm64': 4.29.1 - '@rollup/rollup-darwin-x64': 4.29.1 - '@rollup/rollup-freebsd-arm64': 4.29.1 - '@rollup/rollup-freebsd-x64': 4.29.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 - '@rollup/rollup-linux-arm-musleabihf': 4.29.1 - '@rollup/rollup-linux-arm64-gnu': 4.29.1 - '@rollup/rollup-linux-arm64-musl': 4.29.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 - '@rollup/rollup-linux-riscv64-gnu': 4.29.1 - '@rollup/rollup-linux-s390x-gnu': 4.29.1 - '@rollup/rollup-linux-x64-gnu': 4.29.1 - '@rollup/rollup-linux-x64-musl': 4.29.1 - '@rollup/rollup-win32-arm64-msvc': 4.29.1 - '@rollup/rollup-win32-ia32-msvc': 4.29.1 - '@rollup/rollup-win32-x64-msvc': 4.29.1 + '@rollup/rollup-android-arm-eabi': 4.30.1 + '@rollup/rollup-android-arm64': 4.30.1 + '@rollup/rollup-darwin-arm64': 4.30.1 + '@rollup/rollup-darwin-x64': 4.30.1 + '@rollup/rollup-freebsd-arm64': 4.30.1 + '@rollup/rollup-freebsd-x64': 4.30.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 + '@rollup/rollup-linux-arm-musleabihf': 4.30.1 + '@rollup/rollup-linux-arm64-gnu': 4.30.1 + '@rollup/rollup-linux-arm64-musl': 4.30.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 + '@rollup/rollup-linux-riscv64-gnu': 4.30.1 + '@rollup/rollup-linux-s390x-gnu': 4.30.1 + '@rollup/rollup-linux-x64-gnu': 4.30.1 + '@rollup/rollup-linux-x64-musl': 4.30.1 + '@rollup/rollup-win32-arm64-msvc': 4.30.1 + '@rollup/rollup-win32-ia32-msvc': 4.30.1 + '@rollup/rollup-win32-x64-msvc': 4.30.1 fsevents: 2.3.3 rtl-css-js@1.16.1: @@ -9199,7 +9198,7 @@ snapshots: dependencies: three: 0.170.0 - three-stdlib@2.35.2(three@0.170.0): + three-stdlib@2.35.6(three@0.170.0): dependencies: '@types/draco3d': 1.4.10 '@types/offscreencanvas': 2019.7.3 @@ -9285,7 +9284,7 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.10 - typescript@5.7.2: {} + typescript@5.7.3: {} typo-js@1.2.5: {} @@ -9357,9 +9356,9 @@ snapshots: upath@1.2.0: {} - update-browserslist-db@1.1.1(browserslist@4.24.3): + update-browserslist-db@1.1.2(browserslist@4.24.4): dependencies: - browserslist: 4.24.3 + browserslist: 4.24.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -9378,7 +9377,7 @@ snapshots: optionalDependencies: '@types/react': 18.3.18 - use-sync-external-store@1.2.2(react@18.3.1): + use-sync-external-store@1.4.0(react@18.3.1): dependencies: react: 18.3.1 @@ -9415,7 +9414,7 @@ snapshots: dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.29.1 + rollup: 4.30.1 optionalDependencies: fsevents: 2.3.3 terser: 5.37.0 @@ -9630,9 +9629,9 @@ snapshots: zen-observable@0.10.0: {} - zustand@4.5.5(@types/react@18.3.18)(react@18.3.1): + zustand@4.5.6(@types/react@18.3.18)(react@18.3.1): dependencies: - use-sync-external-store: 1.2.2(react@18.3.1) + use-sync-external-store: 1.4.0(react@18.3.1) optionalDependencies: '@types/react': 18.3.18 react: 18.3.1 diff --git a/src/classes/accounts/nostr-connect-account.ts b/src/classes/accounts/nostr-connect-account.ts index 58c12a7c2..0be260158 100644 --- a/src/classes/accounts/nostr-connect-account.ts +++ b/src/classes/accounts/nostr-connect-account.ts @@ -1,14 +1,20 @@ import { NostrConnectSigner, SimpleSigner } from "applesauce-signer/signers"; -import { hexToBytes } from "@noble/hashes/utils"; +import { bytesToHex, hexToBytes } from "@noble/hashes/utils"; import { DEFAULT_NOSTR_CONNECT_RELAYS } from "../../const"; import { Account } from "./account"; -import relayPoolService from "../../services/relay-pool"; +import { createNostrConnectConnection } from "../nostr-connect-connection"; function createSigner(pubkey: string, relays: string[], secretKey?: string, provider?: string) { const signer = secretKey ? new SimpleSigner(hexToBytes(secretKey)) : undefined; - const client = new NostrConnectSigner({ pool: relayPoolService, pubkey, relays, signer, remote: provider }); + const client = new NostrConnectSigner({ + pubkey, + relays, + signer, + remote: provider, + ...createNostrConnectConnection(), + }); return client; } @@ -30,7 +36,13 @@ export default class NostrConnectAccount extends Account { } toJSON() { - const json = this.signer.toJSON(); + const json = { + relays: this.signer.relays, + client: bytesToHex(this.signer.signer.key), + pubkey: this.pubkey, + remote: this.signer.remote, + }; + return { ...super.toJSON(), signerRelays: this.signer.relays, diff --git a/src/classes/nostr-connect-connection.ts b/src/classes/nostr-connect-connection.ts new file mode 100644 index 000000000..424fbbfa2 --- /dev/null +++ b/src/classes/nostr-connect-connection.ts @@ -0,0 +1,35 @@ +import { NostrConnectConnectionMethods } from "applesauce-signer"; +import { Filter, NostrEvent } from "nostr-tools"; +import relayPoolService from "../services/relay-pool"; +import { MultiSubscription } from "applesauce-net/subscription"; + +export function createNostrConnectConnection(): NostrConnectConnectionMethods { + const sub = new MultiSubscription(relayPoolService); + + const onPublishEvent = async (event: NostrEvent, relays: string[]) => { + // publish event to each relay + await Promise.allSettled( + relays.map(async (url) => { + const relay = relayPoolService.requestRelay(url, true); + await relayPoolService.waitForOpen(relay); + await relay.publish(event); + }), + ); + }; + + const onSubOpen = async (filters: Filter[], relays: string[], onEvent: (event: NostrEvent) => void) => { + sub.setFilters(filters); + sub.setRelays(relays); + sub.open(); + + sub.onEvent.subscribe(onEvent); + + await sub.waitForAllConnection(); + }; + + const onSubClose = async () => { + sub.close(); + }; + + return { onSubClose, onPublishEvent, onSubOpen }; +} diff --git a/src/views/signin/address/create.tsx b/src/views/signin/address/create.tsx index 3ca6fd838..6c80b52cd 100644 --- a/src/views/signin/address/create.tsx +++ b/src/views/signin/address/create.tsx @@ -32,7 +32,7 @@ import { safeRelayUrls } from "../../../helpers/relay"; import { safeJson } from "../../../helpers/parse"; import { NOSTR_CONNECT_PERMISSIONS } from "../../../const"; import NostrConnectAccount from "../../../classes/accounts/nostr-connect-account"; -import relayPoolService from "../../../services/relay-pool"; +import { createNostrConnectConnection } from "../../../classes/nostr-connect-connection"; function ProviderCard({ onClick, provider }: { onClick: () => void; provider: NostrEvent }) { const metadata = JSON.parse(provider.content) as ProfileContent; @@ -93,13 +93,18 @@ export default function LoginNostrAddressCreate() { const relays = safeRelayUrls(nip05.nip46Relays || nip05.relays || []); if (relays.length === 0) throw new Error("Cant find providers relays"); - const signer = new NostrConnectSigner({ pool: relayPoolService, relays, remote: nip05.pubkey }); + const signer = new NostrConnectSigner({ + relays, + remote: nip05.pubkey, + ...createNostrConnectConnection(), + }); const createPromise = signer.createAccount(name, nip05.domain, undefined, NOSTR_CONNECT_PERMISSIONS); await createPromise; await signer.connect(undefined, NOSTR_CONNECT_PERMISSIONS); - const account = new NostrConnectAccount(signer.pubkey!, signer); + const pubkey = await signer.getPublicKey(); + const account = new NostrConnectAccount(pubkey, signer); accountService.addAccount(account); accountService.switchAccount(account.pubkey); diff --git a/src/views/signin/address/index.tsx b/src/views/signin/address/index.tsx index d809770b6..21fc33640 100644 --- a/src/views/signin/address/index.tsx +++ b/src/views/signin/address/index.tsx @@ -14,6 +14,7 @@ import QRCodeScannerButton from "../../../components/qr-code/qr-code-scanner-but import NostrConnectAccount from "../../../classes/accounts/nostr-connect-account"; import PubkeyAccount from "../../../classes/accounts/pubkey-account"; import relayPoolService from "../../../services/relay-pool"; +import { createNostrConnectConnection } from "../../../classes/nostr-connect-connection"; export default function LoginNostrAddressView() { const navigate = useNavigate(); @@ -47,12 +48,17 @@ export default function LoginNostrAddressView() { const relays = safeRelayUrls( nip05.nip46Relays || rootNip05?.nip46Relays || rootNip05?.relays || nip05.relays || [], ); - const signer = new NostrConnectSigner({ pubkey: nip05.pubkey, relays, pool: relayPoolService }); + const signer = new NostrConnectSigner({ + pubkey: nip05.pubkey, + relays, + ...createNostrConnectConnection(), + }); await signer.connect(undefined, NOSTR_CONNECT_PERMISSIONS); - const account = new NostrConnectAccount(signer.pubkey!, signer); + const pubkey = await signer.getPublicKey(); + const account = new NostrConnectAccount(pubkey, signer); accountService.addAccount(account); - accountService.switchAccount(signer.pubkey!); + accountService.switchAccount(pubkey); } else if (nip05.pubkey) { accountService.addAccount(new PubkeyAccount(nip05.pubkey)); accountService.switchAccount(nip05.pubkey); diff --git a/src/views/signin/nostr-connect.tsx b/src/views/signin/nostr-connect.tsx index 0df773f84..63f7241b8 100644 --- a/src/views/signin/nostr-connect.tsx +++ b/src/views/signin/nostr-connect.tsx @@ -20,8 +20,8 @@ import { RelayUrlInput } from "../../components/relay-url-input"; import QrCodeSvg from "../../components/qr-code/qr-code-svg"; import { CopyIconButton } from "../../components/copy-icon-button"; import NostrConnectAccount from "../../classes/accounts/nostr-connect-account"; -import relayPoolService from "../../services/relay-pool"; import { NOSTR_CONNECT_PERMISSIONS } from "../../const"; +import { createNostrConnectConnection } from "../../classes/nostr-connect-connection"; function ClientConnectForm() { const navigate = useNavigate(); @@ -44,13 +44,18 @@ function ClientConnectForm() { }, [relay, signer]); const create = useCallback(() => { - const c = new NostrConnectSigner({ relays: [relay], pool: relayPoolService }); + const c = new NostrConnectSigner({ relays: [relay], ...createNostrConnectConnection() }); setSigner(c); - c.waitForSigner().then(() => { - const account = new NostrConnectAccount(c.pubkey!, c); + + c.waitForSigner().then(async () => { + const pubkey = await c.getPublicKey(); + setListening(false); + + const account = new NostrConnectAccount(pubkey, c); accountService.addAccount(account); - accountService.switchAccount(c.pubkey!); + accountService.switchAccount(pubkey); }); + setListening(true); }, [relay]); @@ -109,7 +114,10 @@ export default function LoginNostrConnectView() { try { setLoading("Connecting..."); - const client = await NostrConnectSigner.fromBunkerURI(connection, relayPoolService, NOSTR_CONNECT_PERMISSIONS); + const client = await NostrConnectSigner.fromBunkerURI(connection, { + ...createNostrConnectConnection(), + permissions: NOSTR_CONNECT_PERMISSIONS, + }); const pubkey = await client.getPublicKey(); const account = new NostrConnectAccount(pubkey, client);