diff --git a/package.json b/package.json index 9d3fdd05..404a3176 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,10 @@ "@radix-ui/react-tooltip": "^1.1.3", "@tanstack/query-persist-client-core": "^5.59.0", "@tanstack/react-query": "^5.59.0", - "@tanstack/react-router": "^1.58.16", + "@tanstack/react-router": "^1.63.5", "@tanstack/react-store": "^0.5.5", "@tanstack/store": "^0.5.5", - "@tauri-apps/api": "^2.0.1", + "@tauri-apps/api": "^2.0.2", "@tauri-apps/plugin-clipboard-manager": "^2.0.0", "@tauri-apps/plugin-dialog": "^2.0.0", "@tauri-apps/plugin-fs": "^2.0.0", @@ -39,7 +39,7 @@ "bitcoin-units": "^1.0.0", "dayjs": "^1.11.13", "embla-carousel-react": "^8.3.0", - "i18next": "^23.15.1", + "i18next": "^23.15.2", "i18next-resources-to-backend": "^1.2.1", "light-bolt11-decoder": "^3.2.0", "minidenticons": "^4.2.1", @@ -60,9 +60,9 @@ "@evilmartians/harmony": "^1.2.0", "@tailwindcss/forms": "^0.5.9", "@tailwindcss/typography": "^0.5.15", - "@tanstack/router-devtools": "^1.58.16", - "@tanstack/router-plugin": "^1.58.12", - "@tauri-apps/cli": "^2.0.0", + "@tanstack/router-devtools": "^1.63.5", + "@tanstack/router-plugin": "^1.63.5", + "@tauri-apps/cli": "^2.0.2", "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "@vitejs/plugin-react": "^4.3.2", @@ -71,11 +71,11 @@ "clsx": "^2.1.1", "postcss": "^8.4.47", "tailwind-gradient-mask-image": "^1.2.0", - "tailwind-merge": "^2.5.2", + "tailwind-merge": "^2.5.3", "tailwind-scrollbar": "^3.1.0", "tailwindcss": "^3.4.13", "tailwindcss-content-visibility": "^1.0.0", - "typescript": "^5.6.2", + "typescript": "^5.6.3", "vite": "^5.4.8", "vite-tsconfig-paths": "^5.0.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dc4a7783..5f745b8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: '@getalby/bitcoin-connect-react': specifier: ^3.6.2 - version: 3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.2) + version: 3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.3) '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) @@ -42,8 +42,8 @@ importers: specifier: ^5.59.0 version: 5.59.0(react@19.0.0-rc-d025ddd3-20240722) '@tanstack/react-router': - specifier: ^1.58.16 - version: 1.58.16(@tanstack/router-generator@1.58.12)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) + specifier: ^1.63.5 + version: 1.63.5(@tanstack/router-generator@1.63.5)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) '@tanstack/react-store': specifier: ^0.5.5 version: 0.5.5(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) @@ -51,8 +51,8 @@ importers: specifier: ^0.5.5 version: 0.5.5 '@tauri-apps/api': - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 '@tauri-apps/plugin-clipboard-manager': specifier: ^2.0.0 version: 2.0.0 @@ -96,8 +96,8 @@ importers: specifier: ^8.3.0 version: 8.3.0(react@19.0.0-rc-d025ddd3-20240722) i18next: - specifier: ^23.15.1 - version: 23.15.1 + specifier: ^23.15.2 + version: 23.15.2 i18next-resources-to-backend: specifier: ^1.2.1 version: 1.2.1 @@ -112,7 +112,7 @@ importers: version: 5.0.7 nostr-tools: specifier: ^2.7.2 - version: 2.7.2(typescript@5.6.2) + version: 2.7.2(typescript@5.6.3) react: specifier: 19.0.0-rc-d025ddd3-20240722 version: 19.0.0-rc-d025ddd3-20240722 @@ -127,7 +127,7 @@ importers: version: 7.53.0(react@19.0.0-rc-d025ddd3-20240722) react-i18next: specifier: ^15.0.2 - version: 15.0.2(i18next@23.15.1)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) + version: 15.0.2(i18next@23.15.2)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) react-string-replace: specifier: ^1.1.1 version: 1.1.1 @@ -154,14 +154,14 @@ importers: specifier: ^0.5.15 version: 0.5.15(tailwindcss@3.4.13) '@tanstack/router-devtools': - specifier: ^1.58.16 - version: 1.58.16(@tanstack/react-router@1.58.16(@tanstack/router-generator@1.58.12)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722))(csstype@3.1.3)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) + specifier: ^1.63.5 + version: 1.63.5(@tanstack/react-router@1.63.5(@tanstack/router-generator@1.63.5)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722))(csstype@3.1.3)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) '@tanstack/router-plugin': - specifier: ^1.58.12 - version: 1.58.12(vite@5.4.8)(webpack-sources@3.2.3) + specifier: ^1.63.5 + version: 1.63.5(vite@5.4.8)(webpack-sources@3.2.3) '@tauri-apps/cli': - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^2.0.2 + version: 2.0.2 '@types/react': specifier: npm:types-react@19.0.0-rc.1 version: types-react@19.0.0-rc.1 @@ -187,8 +187,8 @@ importers: specifier: ^1.2.0 version: 1.2.0 tailwind-merge: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.5.3 + version: 2.5.3 tailwind-scrollbar: specifier: ^3.1.0 version: 3.1.0(tailwindcss@3.4.13) @@ -199,14 +199,14 @@ importers: specifier: ^1.0.0 version: 1.0.0(tailwindcss@3.4.13) typescript: - specifier: ^5.6.2 - version: 5.6.2 + specifier: ^5.6.3 + version: 5.6.3 vite: specifier: ^5.4.8 version: 5.4.8 vite-tsconfig-paths: specifier: ^5.0.1 - version: 5.0.1(typescript@5.6.2)(vite@5.4.8) + version: 5.0.1(typescript@5.6.3)(vite@5.4.8) packages: @@ -1223,8 +1223,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20' - '@tanstack/history@1.58.15': - resolution: {integrity: sha512-M36Ke2Q2v8Iv4Cx0xw04iVkixuOligiFLOifH35DqGnzXe9PAtTHIooieQowqYkAjC09KuLo5j6sgvwKTZ+U5Q==} + '@tanstack/history@1.61.1': + resolution: {integrity: sha512-2CqERleeqO3hkhJmyJm37tiL3LYgeOpmo8szqdjgtnnG0z7ZpvzkZz6HkfOr9Ca/ha7mhAiouSvLYuLkM37AMg==} engines: {node: '>=12'} '@tanstack/query-core@5.59.0': @@ -1238,11 +1238,11 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-router@1.58.16': - resolution: {integrity: sha512-3kRTNNI+xgpXHhpI5xMw/S0/6ff23k2ubKvkf0LPv1X4B/WzctnH1nfFPpQq9DK0HBtgG8TIk7+gIJx0mV8KOA==} + '@tanstack/react-router@1.63.5': + resolution: {integrity: sha512-478jbiHNLcS6K1G8YNZ1tzpdh07GjUr0b3IP9bqaFhHIDChDviyGvA/fq+zhcTITBSgU3+LgCAwRWt05hp961w==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-generator': 1.58.12 + '@tanstack/router-generator': 1.63.5 react: '>=18' react-dom: '>=18' peerDependenciesMeta: @@ -1255,20 +1255,20 @@ packages: react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@tanstack/router-devtools@1.58.16': - resolution: {integrity: sha512-dpAfsTdeABqRdZyDaKbNNfQKEE29evX3G/YspUNzSxGwVQH1mMgliUJoNQe/J3EEPSlJFaRVBJ25SrwfE685OQ==} + '@tanstack/router-devtools@1.63.5': + resolution: {integrity: sha512-kG3ei8q7XVKOE60eniK3Dn5NDiRjs0KrktM4Av8tlgIFd/89BLiXkMnYqWlDd2fp7yxmEiX3GiQv7pNedfaMiA==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.58.16 + '@tanstack/react-router': ^1.63.5 react: '>=18' react-dom: '>=18' - '@tanstack/router-generator@1.58.12': - resolution: {integrity: sha512-Ovzb+zCbiRgJAg6awTXWQjn1uRkVyiBc4jiIk7ll2hg0bHjIOsgiegwx/F2YKycY98vWj9TLv/U4Hoo4rmK0IA==} + '@tanstack/router-generator@1.63.5': + resolution: {integrity: sha512-vhSlnztluTFqnGMN4lFJFpCYtW1jUlFW6hBl93/QlV03mbtAwBTpPT/BkGk3wZkvsUMgDP86tCyu1ytQDZwi3w==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.58.12': - resolution: {integrity: sha512-WVR5UupNcvj7lvCrle7CrmHm6aezTG98g3N81oNPaCS0U3cEUaUiNqna0cWk4M4WuzAzUbpbQ81xBapIMc8Thw==} + '@tanstack/router-plugin@1.63.5': + resolution: {integrity: sha512-PdGy1iHCkYp8Kj7m0uFRsKYPzy+V8QQNHXuXB9mxcKx5I+hgkqWkEu5gtvrunjemsaxxp7duvKJ3/tC8C4k/ZQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -1289,71 +1289,71 @@ packages: resolution: {integrity: sha512-fBUj+lbSaw+VxoBN4J/WFE7dTx8x4XCTRAQvbiIyPJ8MY1KRVkdZV6cbLvg7MeDP6CxUcj6XNvWU6h0ic1Ipyg==} engines: {node: '>=12'} - '@tauri-apps/api@2.0.1': - resolution: {integrity: sha512-eoQWT+Tq1qSwQpHV+nw1eNYe5B/nm1PoRjQCRiEOS12I1b+X4PUcREfXVX8dPcBT6GrzWGDtaecY0+1p0Rfqlw==} + '@tauri-apps/api@2.0.2': + resolution: {integrity: sha512-3wSwmG+1kr6WrgAFKK5ijkNFPp8TT3FLj3YHUb5EwMO+3FxX4uWlfSWkeeBy+Kc1RsKzugtYLuuya+98Flj+3w==} - '@tauri-apps/cli-darwin-arm64@2.0.0': - resolution: {integrity: sha512-+agYqg2c77imaMfKw7mzqecVIDGcwr6bZMdglJ808O2UjTFzMwnAam1sU26YBYU+IyIjwOu00fm9Azpal+N/Ew==} + '@tauri-apps/cli-darwin-arm64@2.0.2': + resolution: {integrity: sha512-B+/a8Q6wAqmB4A4HVeK0oQP5TdQGKW60ZLOI9O2ktH2HPr9ETr3XkwXPuJ2uAOuGEgtRZHBgFOIgG000vMnKlg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.0.0': - resolution: {integrity: sha512-keN2PLTTcZmbWwFMup/NGcshmvyLnhRPChO8lbm9C5a0IY7zUNQUD7/o/zIulQdLJqDxkdpWJ1j2jTycAtvtKQ==} + '@tauri-apps/cli-darwin-x64@2.0.2': + resolution: {integrity: sha512-kaurhn6XT4gAVCPAQSSHl/CHFxTS0ljc47N7iGTSlYJ03sCWPRZeNuVa/bn6rolz9MA2JfnRnFqB1pUL6jzp9Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0': - resolution: {integrity: sha512-FQJNrlCUBb9E7Fhp5ARy+Or8lSvorG41aVrfi0cGNvv1QlIGSj77TN7SKK+L1jAGzKj1Bl2kCZIESF6Zi8N/+Q==} + '@tauri-apps/cli-linux-arm-gnueabihf@2.0.2': + resolution: {integrity: sha512-bVrofjlacMxmGMcqK18iBW05tsZXOd19/MnqruFFcHSVjvkGGIXHMtUbMXnZNXBPkHDsnfytNtkY9SZGfCFaBA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.0.0': - resolution: {integrity: sha512-TK3VrZG5LK1NGueKwnZA1/3gj/qkwry001MNCHXjT6394dwrDv+digCc9Qc569h+xeH/FF71jyoiRIu3gRE6iA==} + '@tauri-apps/cli-linux-arm64-gnu@2.0.2': + resolution: {integrity: sha512-7XCBn0TTBVQGnV42dXcbHPLg/9W8kJoVzuliIozvNGyRWxfXqDbQYzpI48HUQG3LgHMabcw8+pVZAfGhevLrCA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-musl@2.0.0': - resolution: {integrity: sha512-E3hRmS/0m8YUYMTKZtBExpk/284CTi2nymks0dK0L1j+3KjffL7DiilnIfNFmTvWBgMrs0cVCtoaN/ba/A9mNA==} + '@tauri-apps/cli-linux-arm64-musl@2.0.2': + resolution: {integrity: sha512-1xi2SreGVlpAL68MCsDUY63rdItUdPZreXIAcOVqvUehcJRYOa1XGSBhrV0YXRgZeh0AtKC19z6PRzcv4rosZA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-x64-gnu@2.0.0': - resolution: {integrity: sha512-veX4BJp5xnW8KmxVjchWt4oZEIvKGhuSR7qU1WpqTR21e/eTe/ksGsdXPsqOKQvv/w1X6jhqmlPvhnFmDwUJ/w==} + '@tauri-apps/cli-linux-x64-gnu@2.0.2': + resolution: {integrity: sha512-WVjwYzPWFqZVg1fx6KSU5w47Q0VbMyaCp34qs5EcS8EIU0/RnofdzqUoOYqvgGVgNgoz7Pj5dXK2SkS8BHXMmA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-linux-x64-musl@2.0.0': - resolution: {integrity: sha512-9Eso/8wbsWbOyd9PZEIzN/48ZQJrUGQqGZtglcjUku0lO76mnX0fOnit4nQ57Oj0wezJPhv4mgSseG1OsTIVzw==} + '@tauri-apps/cli-linux-x64-musl@2.0.2': + resolution: {integrity: sha512-h5miE2mctgaQNn/BbG9o1pnJcrx+VGBi2A6JFqGu934lFgSV5+s28M8Gc8AF2JgFH4hQV4IuMkeSw8Chu5Dodg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-win32-arm64-msvc@2.0.0': - resolution: {integrity: sha512-ky8vWAuDUf8WGt9+a0G/EbU0OhdIkogelh9qjIYGHbyEYAJqXfN5P40aHUEg3y8ngQ0YGwRX5ePsQsSZiiR5PQ==} + '@tauri-apps/cli-win32-arm64-msvc@2.0.2': + resolution: {integrity: sha512-2b8oO0+dYonahG5PfA/zoq0zlafLclfmXgqoWDZ++UiPtQHJNpNeEQ8GWbSFKGHQ494Jo6jHvazOojGRE1kqAg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.0.0': - resolution: {integrity: sha512-uD45cLZ/EBaT8o4a27tHW7t5UKFplnvDLt/uSUaCpJ3NyOTV6nMXOUrJBe+hH9hSBohqNAF7LEyYo1p932DWFg==} + '@tauri-apps/cli-win32-ia32-msvc@2.0.2': + resolution: {integrity: sha512-axgICLunFi0To3EibdCBgbST5RocsSmtM4c04+CbcX8WQQosJ9ziWlCSrrOTRr+gJERAMSvEyVUS98f6bWMw9A==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.0.0': - resolution: {integrity: sha512-oFlo14YMsvyhJHmmHgRuOpJ1L9w15193c1Nfj1DksS2LHj6tLzirI7YrAF9inY/XjHFjNHzYPmBpABibkf/9wQ==} + '@tauri-apps/cli-win32-x64-msvc@2.0.2': + resolution: {integrity: sha512-JR17cM6+DyExZRgpXr2/DdqvcFYi/EKvQt8dI5R1/uQoesWd8jeNnrU7c1FG1Zmw9+pTzDztsNqEKsrNq2sNIg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tauri-apps/cli@2.0.0': - resolution: {integrity: sha512-xxmPllRa6w/LRRcPczST3yHrYoi8l6ZZmzwabEmM0cgDdhVDmX+Y4oDJkiKD+8cVdxwwEzIuIKuaCwsX8iNsgA==} + '@tauri-apps/cli@2.0.2': + resolution: {integrity: sha512-R4ontHZvXORArERAHIidp5zRfZEshZczTiK+poslBv7AGKpQZoMw+E49zns7mOmP64i2Cq9Ci0pJvi4Rm8Okzw==} engines: {node: '>= 10'} hasBin: true @@ -1517,8 +1517,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001666: - resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==} + caniuse-lite@1.0.30001667: + resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1595,8 +1595,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.31: - resolution: {integrity: sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg==} + electron-to-chromium@1.5.33: + resolution: {integrity: sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA==} embla-carousel-react@8.3.0: resolution: {integrity: sha512-P1FlinFDcIvggcErRjNuVqnUR8anyo8vLMIH8Rthgofw7Nj8qTguCa2QjFAbzxAUTQTPNNjNL7yt0BGGinVdFw==} @@ -1694,8 +1694,8 @@ packages: globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - goober@2.1.14: - resolution: {integrity: sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==} + goober@2.1.15: + resolution: {integrity: sha512-LP0xChUqgLlr5ORa1m4LobVy++/dhP4Kta2gVla9i2pc30XvtpEFrye4JtcD265g1tEFLOjYIQEiTa+9bGGQ/g==} peerDependencies: csstype: ^3.0.10 @@ -1717,8 +1717,8 @@ packages: i18next-resources-to-backend@1.2.1: resolution: {integrity: sha512-okHbVA+HZ7n1/76MsfhPqDou0fptl2dAlhRDu2ideXloRRduzHsqDOznJBef+R3DFZnbvWoBW+KxJ7fnFjd6Yw==} - i18next@23.15.1: - resolution: {integrity: sha512-wB4abZ3uK7EWodYisHl/asf8UYEhrI/vj/8aoSsrj/ZDxj4/UXPOa1KvFt1Fq5hkUHquNqwFlDprmjZ8iySgYA==} + i18next@23.15.2: + resolution: {integrity: sha512-zcPSWzCvw6uKnuYHIqs4W7hTuB9e3AFcSdZgvCWoPXIZsBjBd4djN2/2uOHIB+1DFFkQnMBXvhNg7J3WyCuywQ==} immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} @@ -2152,8 +2152,8 @@ packages: tailwind-gradient-mask-image@1.2.0: resolution: {integrity: sha512-tUJaGhvqbJFiVKJu6EU5n//KvGdVvY3L3VOFNqjztk13+ifAk00pcSNHBTgHfUiBGOEzDn0gFRbSmsftUV1lXA==} - tailwind-merge@2.5.2: - resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} + tailwind-merge@2.5.3: + resolution: {integrity: sha512-d9ZolCAIzom1nf/5p4LdD5zvjmgSxY0BGgdSvmXIoMYAiPdAW/dSpP7joCDYFY7r/HkEa2qmPtkgsu0xjQeQtw==} tailwind-scrollbar@3.1.0: resolution: {integrity: sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==} @@ -2223,8 +2223,8 @@ packages: types-react@19.0.0-rc.1: resolution: {integrity: sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -2742,19 +2742,19 @@ snapshots: '@floating-ui/utils@0.2.8': {} - '@getalby/bitcoin-connect-react@3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.2)': + '@getalby/bitcoin-connect-react@3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.3)': dependencies: - '@getalby/bitcoin-connect': 3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.2) + '@getalby/bitcoin-connect': 3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.3) react: 19.0.0-rc-d025ddd3-20240722 transitivePeerDependencies: - '@types/react' - immer - typescript - '@getalby/bitcoin-connect@3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.2)': + '@getalby/bitcoin-connect@3.6.2(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1)(typescript@5.6.3)': dependencies: '@getalby/lightning-tools': 5.0.3 - '@getalby/sdk': 3.7.1(typescript@5.6.2) + '@getalby/sdk': 3.7.1(typescript@5.6.3) '@lightninglabs/lnc-web': 0.3.1-alpha qrcode-generator: 1.4.4 zustand: 4.5.5(immer@10.1.1)(react@19.0.0-rc-d025ddd3-20240722)(types-react@19.0.0-rc.1) @@ -2766,10 +2766,10 @@ snapshots: '@getalby/lightning-tools@5.0.3': {} - '@getalby/sdk@3.7.1(typescript@5.6.2)': + '@getalby/sdk@3.7.1(typescript@5.6.3)': dependencies: eventemitter3: 5.0.1 - nostr-tools: 1.17.0(typescript@5.6.2) + nostr-tools: 1.17.0(typescript@5.6.3) transitivePeerDependencies: - typescript @@ -3255,7 +3255,7 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.13 - '@tanstack/history@1.58.15': {} + '@tanstack/history@1.61.1': {} '@tanstack/query-core@5.59.0': {} @@ -3268,16 +3268,16 @@ snapshots: '@tanstack/query-core': 5.59.0 react: 19.0.0-rc-d025ddd3-20240722 - '@tanstack/react-router@1.58.16(@tanstack/router-generator@1.58.12)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722)': + '@tanstack/react-router@1.63.5(@tanstack/router-generator@1.63.5)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722)': dependencies: - '@tanstack/history': 1.58.15 + '@tanstack/history': 1.61.1 '@tanstack/react-store': 0.5.5(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) react: 19.0.0-rc-d025ddd3-20240722 react-dom: 19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 optionalDependencies: - '@tanstack/router-generator': 1.58.12 + '@tanstack/router-generator': 1.63.5 '@tanstack/react-store@0.5.5(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722)': dependencies: @@ -3286,24 +3286,24 @@ snapshots: react-dom: 19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722) use-sync-external-store: 1.2.2(react@19.0.0-rc-d025ddd3-20240722) - '@tanstack/router-devtools@1.58.16(@tanstack/react-router@1.58.16(@tanstack/router-generator@1.58.12)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722))(csstype@3.1.3)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722)': + '@tanstack/router-devtools@1.63.5(@tanstack/react-router@1.63.5(@tanstack/router-generator@1.63.5)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722))(csstype@3.1.3)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722)': dependencies: - '@tanstack/react-router': 1.58.16(@tanstack/router-generator@1.58.12)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) + '@tanstack/react-router': 1.63.5(@tanstack/router-generator@1.63.5)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722) clsx: 2.1.1 - goober: 2.1.14(csstype@3.1.3) + goober: 2.1.15(csstype@3.1.3) react: 19.0.0-rc-d025ddd3-20240722 react-dom: 19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722) transitivePeerDependencies: - csstype - '@tanstack/router-generator@1.58.12': + '@tanstack/router-generator@1.63.5': dependencies: '@tanstack/virtual-file-routes': 1.56.0 prettier: 3.3.3 tsx: 4.19.1 zod: 3.23.8 - '@tanstack/router-plugin@1.58.12(vite@5.4.8)(webpack-sources@3.2.3)': + '@tanstack/router-plugin@1.63.5(vite@5.4.8)(webpack-sources@3.2.3)': dependencies: '@babel/core': 7.25.7 '@babel/generator': 7.25.7 @@ -3313,7 +3313,7 @@ snapshots: '@babel/template': 7.25.7 '@babel/traverse': 7.25.7 '@babel/types': 7.25.7 - '@tanstack/router-generator': 1.58.12 + '@tanstack/router-generator': 1.63.5 '@tanstack/virtual-file-routes': 1.56.0 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 @@ -3333,94 +3333,94 @@ snapshots: '@tanstack/virtual-file-routes@1.56.0': {} - '@tauri-apps/api@2.0.1': {} + '@tauri-apps/api@2.0.2': {} - '@tauri-apps/cli-darwin-arm64@2.0.0': + '@tauri-apps/cli-darwin-arm64@2.0.2': optional: true - '@tauri-apps/cli-darwin-x64@2.0.0': + '@tauri-apps/cli-darwin-x64@2.0.2': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0': + '@tauri-apps/cli-linux-arm-gnueabihf@2.0.2': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.0.0': + '@tauri-apps/cli-linux-arm64-gnu@2.0.2': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.0.0': + '@tauri-apps/cli-linux-arm64-musl@2.0.2': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.0.0': + '@tauri-apps/cli-linux-x64-gnu@2.0.2': optional: true - '@tauri-apps/cli-linux-x64-musl@2.0.0': + '@tauri-apps/cli-linux-x64-musl@2.0.2': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.0.0': + '@tauri-apps/cli-win32-arm64-msvc@2.0.2': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.0.0': + '@tauri-apps/cli-win32-ia32-msvc@2.0.2': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.0.0': + '@tauri-apps/cli-win32-x64-msvc@2.0.2': optional: true - '@tauri-apps/cli@2.0.0': + '@tauri-apps/cli@2.0.2': optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0 - '@tauri-apps/cli-darwin-x64': 2.0.0 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0 - '@tauri-apps/cli-linux-x64-musl': 2.0.0 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0 + '@tauri-apps/cli-darwin-arm64': 2.0.2 + '@tauri-apps/cli-darwin-x64': 2.0.2 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.2 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.2 + '@tauri-apps/cli-linux-arm64-musl': 2.0.2 + '@tauri-apps/cli-linux-x64-gnu': 2.0.2 + '@tauri-apps/cli-linux-x64-musl': 2.0.2 + '@tauri-apps/cli-win32-arm64-msvc': 2.0.2 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.2 + '@tauri-apps/cli-win32-x64-msvc': 2.0.2 '@tauri-apps/plugin-clipboard-manager@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-dialog@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-fs@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-http@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-os@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-process@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-shell@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-store@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-updater@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-upload@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@tauri-apps/plugin-window-state@2.0.0': dependencies: - '@tauri-apps/api': 2.0.1 + '@tauri-apps/api': 2.0.2 '@types/babel__core@7.20.5': dependencies: @@ -3514,7 +3514,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.24.0 - caniuse-lite: 1.0.30001666 + caniuse-lite: 1.0.30001667 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -3560,14 +3560,14 @@ snapshots: browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001666 - electron-to-chromium: 1.5.31 + caniuse-lite: 1.0.30001667 + electron-to-chromium: 1.5.33 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.0) camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001666: {} + caniuse-lite@1.0.30001667: {} chalk@2.4.2: dependencies: @@ -3636,7 +3636,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.31: {} + electron-to-chromium@1.5.33: {} embla-carousel-react@8.3.0(react@19.0.0-rc-d025ddd3-20240722): dependencies: @@ -3770,7 +3770,7 @@ snapshots: globrex@0.1.2: {} - goober@2.1.14(csstype@3.1.3): + goober@2.1.15(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -3790,7 +3790,7 @@ snapshots: dependencies: '@babel/runtime': 7.25.7 - i18next@23.15.1: + i18next@23.15.2: dependencies: '@babel/runtime': 7.25.7 @@ -3900,7 +3900,7 @@ snapshots: normalize-range@0.1.2: {} - nostr-tools@1.17.0(typescript@5.6.2): + nostr-tools@1.17.0(typescript@5.6.3): dependencies: '@noble/ciphers': 0.2.0 '@noble/curves': 1.1.0 @@ -3909,9 +3909,9 @@ snapshots: '@scure/bip32': 1.3.1 '@scure/bip39': 1.2.1 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - nostr-tools@2.7.2(typescript@5.6.2): + nostr-tools@2.7.2(typescript@5.6.3): dependencies: '@noble/ciphers': 0.5.3 '@noble/curves': 1.2.0 @@ -3921,7 +3921,7 @@ snapshots: '@scure/bip39': 1.2.1 optionalDependencies: nostr-wasm: 0.1.0 - typescript: 5.6.2 + typescript: 5.6.3 nostr-wasm@0.1.0: optional: true @@ -4017,11 +4017,11 @@ snapshots: dependencies: react: 19.0.0-rc-d025ddd3-20240722 - react-i18next@15.0.2(i18next@23.15.1)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722): + react-i18next@15.0.2(i18next@23.15.2)(react-dom@19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722))(react@19.0.0-rc-d025ddd3-20240722): dependencies: '@babel/runtime': 7.25.7 html-parse-stringify: 3.0.1 - i18next: 23.15.1 + i18next: 23.15.2 react: 19.0.0-rc-d025ddd3-20240722 optionalDependencies: react-dom: 19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722) @@ -4170,7 +4170,7 @@ snapshots: tailwind-gradient-mask-image@1.2.0: {} - tailwind-merge@2.5.2: {} + tailwind-merge@2.5.3: {} tailwind-scrollbar@3.1.0(tailwindcss@3.4.13): dependencies: @@ -4229,9 +4229,9 @@ snapshots: ts-interface-checker@0.1.13: {} - tsconfck@3.1.3(typescript@5.6.2): + tsconfck@3.1.3(typescript@5.6.3): optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 tslib@2.7.0: {} @@ -4250,7 +4250,7 @@ snapshots: dependencies: csstype: 3.1.3 - typescript@5.6.2: {} + typescript@5.6.3: {} unplugin@1.14.1(webpack-sources@3.2.3): dependencies: @@ -4295,11 +4295,11 @@ snapshots: react: 19.0.0-rc-d025ddd3-20240722 react-dom: 19.0.0-rc-d025ddd3-20240722(react@19.0.0-rc-d025ddd3-20240722) - vite-tsconfig-paths@5.0.1(typescript@5.6.2)(vite@5.4.8): + vite-tsconfig-paths@5.0.1(typescript@5.6.3)(vite@5.4.8): dependencies: debug: 4.3.7 globrex: 0.1.2 - tsconfck: 3.1.3(typescript@5.6.2) + tsconfck: 3.1.3(typescript@5.6.3) optionalDependencies: vite: 5.4.8 transitivePeerDependencies: diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 24423250..6f0b7cca 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] @@ -100,18 +100,6 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289" -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -496,7 +484,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c8d66485a3a2ea485c1913c4572ce0256067a5377ac8c75c4960e1cda98605f" dependencies = [ - "bitcoin-internals", + "bitcoin-internals 0.3.0", "bitcoin_hashes 0.14.0", ] @@ -526,11 +514,11 @@ checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" [[package]] name = "bip39" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" +checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387" dependencies = [ - "bitcoin_hashes 0.11.0", + "bitcoin_hashes 0.13.0", "serde", "unicode-normalization", ] @@ -549,16 +537,22 @@ checksum = "0032b0e8ead7074cda7fc4f034409607e3f03a6f71d66ade8a307f79b4d99e73" dependencies = [ "base58ck", "bech32", - "bitcoin-internals", + "bitcoin-internals 0.3.0", "bitcoin-io", "bitcoin-units", "bitcoin_hashes 0.14.0", - "hex-conservative", + "hex-conservative 0.2.1", "hex_lit", "secp256k1", "serde", ] +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin-internals" version = "0.3.0" @@ -580,15 +574,19 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5285c8bcaa25876d07f37e3d30c303f2609179716e11d688f51e8f1fe70063e2" dependencies = [ - "bitcoin-internals", + "bitcoin-internals 0.3.0", "serde", ] [[package]] name = "bitcoin_hashes" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals 0.2.0", + "hex-conservative 0.1.2", +] [[package]] name = "bitcoin_hashes" @@ -597,7 +595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" dependencies = [ "bitcoin-io", - "hex-conservative", + "hex-conservative 0.2.1", "serde", ] @@ -671,7 +669,7 @@ dependencies = [ [[package]] name = "border" version = "0.1.0" -source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#c01421cdd17334fd00dad77700fc7b84d19fc285" +source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#8c770af8cecb1b88dcd4b61f3878aa4079e336c5" dependencies = [ "cocoa 0.25.0", "color", @@ -819,9 +817,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.24" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812acba72f0a070b003d3697490d2b55b837230ae7c6c6497f05cc2ddbb8d938" +checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" dependencies = [ "jobserver", "libc", @@ -987,7 +985,7 @@ dependencies = [ [[package]] name = "color" version = "0.1.0" -source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#c01421cdd17334fd00dad77700fc7b84d19fc285" +source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#8c770af8cecb1b88dcd4b61f3878aa4079e336c5" dependencies = [ "cocoa 0.25.0", "objc", @@ -1730,6 +1728,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -1803,9 +1807,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -1818,9 +1822,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1828,15 +1832,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1845,9 +1849,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -1864,9 +1868,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -1875,21 +1879,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2077,9 +2081,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "gio" @@ -2276,7 +2280,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" dependencies = [ - "ahash 0.4.8", + "ahash", ] [[package]] @@ -2287,20 +2291,15 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" dependencies = [ - "ahash 0.8.11", "allocator-api2", + "equivalent", + "foldhash", ] -[[package]] -name = "hashbrown" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" - [[package]] name = "heck" version = "0.4.1" @@ -2365,6 +2364,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + [[package]] name = "hex-conservative" version = "0.2.1" @@ -2695,9 +2700,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is-docker" @@ -3072,11 +3077,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -3212,7 +3217,7 @@ dependencies = [ [[package]] name = "monitor" version = "0.1.0" -source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#c01421cdd17334fd00dad77700fc7b84d19fc285" +source = "git+https://github.com/ahkohd/tauri-toolkit?branch=v2#8c770af8cecb1b88dcd4b61f3878aa4079e336c5" dependencies = [ "cocoa 0.25.0", "core-foundation 0.9.4", @@ -3357,7 +3362,7 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "nostr" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "aes", "base64 0.22.1", @@ -3387,7 +3392,7 @@ dependencies = [ [[package]] name = "nostr-database" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-trait", "flatbuffers", @@ -3401,7 +3406,7 @@ dependencies = [ [[package]] name = "nostr-lmdb" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "heed", "nostr", @@ -3414,7 +3419,7 @@ dependencies = [ [[package]] name = "nostr-relay-builder" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-utility", "async-wsocket", @@ -3429,7 +3434,7 @@ dependencies = [ [[package]] name = "nostr-relay-pool" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-utility", "async-wsocket", @@ -3447,7 +3452,7 @@ dependencies = [ [[package]] name = "nostr-sdk" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-utility", "atomic-destructor", @@ -3467,7 +3472,7 @@ dependencies = [ [[package]] name = "nostr-signer" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-utility", "nostr", @@ -3480,7 +3485,7 @@ dependencies = [ [[package]] name = "nostr-zapper" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-trait", "nostr", @@ -3624,7 +3629,7 @@ dependencies = [ [[package]] name = "nwc" version = "0.35.0" -source = "git+https://github.com/rust-nostr/nostr#a9d62917acd12d2b6108a2805971ea64400d593c" +source = "git+https://github.com/rust-nostr/nostr#82f39b5655bd58f045194b14a2cda5ef119acef1" dependencies = [ "async-utility", "nostr", @@ -3775,21 +3780,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.20.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" -dependencies = [ - "portable-atomic", -] +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -4223,12 +4225,6 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "portable-atomic" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" - [[package]] name = "powerfmt" version = "0.2.0" @@ -4302,9 +4298,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" dependencies = [ "unicode-ident", ] @@ -4805,9 +4801,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.13" +version = "0.23.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" dependencies = [ "once_cell", "ring", @@ -4875,9 +4871,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ "windows-sys 0.59.0", ] @@ -5114,9 +5110,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9720086b3357bcb44fce40117d769a4d068c70ecfa190850a980a71755f66fcc" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64 0.22.1", "chrono", @@ -5132,9 +5128,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1abbfe725f27678f4663bcacb75a83e829fd464c25d78dd038a3a29e307cec" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling", "proc-macro2", @@ -5545,9 +5541,9 @@ dependencies = [ [[package]] name = "tao" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e48d7c56b3f7425d061886e8ce3b6acfab1993682ed70bef50fd133d721ee6" +checksum = "a0dbbebe82d02044dfa481adca1550d6dd7bd16e086bc34fa0fbecceb5a63751" dependencies = [ "bitflags 2.6.0", "cocoa 0.26.0", @@ -5612,9 +5608,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9c08beea86d5095b6f5fb1c788fe8759b23c3f71927c66a69e725a91d089cd" +checksum = "5920aad0804ea5e86808d4b6e8753d3bcbae7efc8f4e41a4da00b45427559868" dependencies = [ "anyhow", "bytes", @@ -5664,9 +5660,9 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bb649a284aec2ab43e8df6831b8c8060d231ec8ddf05bf021d58cb67570e1f" +checksum = "935f9b3c49b22b3e2e485a57f46d61cd1ae07b1cbb2ba87387a387caf2d8c4e7" dependencies = [ "anyhow", "cargo_toml", @@ -5686,9 +5682,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4511912612ba0da11aeb300e18e18b2c7067fd14aa886eac46bdcc43b4fa3ee" +checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e" dependencies = [ "base64 0.22.1", "brotli", @@ -5713,9 +5709,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ee976578a14b779996d7b6879d7e625c8ce674bc87e223953664f37def2eef" +checksum = "4d2c0963ccfc3f5194415f2cce7acc975942a8797fbabfb0aa1ed6f59326ae7f" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -5743,9 +5739,9 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d084450b7ec8e445ad119079307f935b7bf3d736da139a8664eb1d4909aa5" +checksum = "b2e6660a409963e4d57b9bfab4addd141eeff41bd3a7fb14e13004a832cf7ef6" dependencies = [ "anyhow", "glob", @@ -5760,9 +5756,9 @@ dependencies = [ [[package]] name = "tauri-plugin-clipboard-manager" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8336820003f8fac414d444a7aeeb9b927760b529e39736d3344852fd4ff776f0" +checksum = "78b7d556886c15849198c0948fd7f4c880492f0461539176da0a8a70272e2904" dependencies = [ "arboard", "image", @@ -5792,9 +5788,9 @@ dependencies = [ [[package]] name = "tauri-plugin-dialog" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6da13d0dd431efe6b5e40a3314d7a33d7bce8f8ed34e2bf044f95ccad82f10ec" +checksum = "ddb2fe88b602461c118722c574e2775ab26a4e68886680583874b2f6520608b7" dependencies = [ "log", "raw-window-handle", @@ -5810,9 +5806,9 @@ dependencies = [ [[package]] name = "tauri-plugin-fs" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba59d7880ffdc24f72350b48bec374482803e167b7275655f6bd8426b7fc9c3" +checksum = "ab300488ebec3487ca5f56289692e7e45feb07eea8d5e1dba497f7dc9dd9c407" dependencies = [ "anyhow", "dunce", @@ -5831,9 +5827,9 @@ dependencies = [ [[package]] name = "tauri-plugin-http" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7125717a0cb61603a4395e299c47516b5843d71ae17139e4c92a71fa013270" +checksum = "784333f1632d96c94346e8145bfe52970923a38a0e6eacd3dccaa12289275acf" dependencies = [ "data-url", "http", @@ -5853,9 +5849,9 @@ dependencies = [ [[package]] name = "tauri-plugin-notification" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e26a56dd9666275f43fbfd4b803e64a5d9ea39e0d1754f4bee87456af01e67" +checksum = "ef492a2d19b6376bb4c9e0c4fab3f3bf8a220ea112d24f35027b737ff55de20c" dependencies = [ "log", "notify-rust", @@ -5872,9 +5868,9 @@ dependencies = [ [[package]] name = "tauri-plugin-os" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac65dc1cf2276651d6a53976a3be618434aacfd5a39eeecc4be9ea74e07f4fb" +checksum = "fbc5f23a86f37687c7f4fecfdc706b279087bc44f7a46702f7307ff1551ee03a" dependencies = [ "gethostname 0.5.0", "log", @@ -5905,9 +5901,9 @@ dependencies = [ [[package]] name = "tauri-plugin-process" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73a682de610de60cfeea5212cbbaca9a6c25bd48854067f2aee3c27ee87ae65c" +checksum = "ae06a00087c148962a52814a2d7265b1a0505bced5ffb74f8c284a5f96a4d03d" dependencies = [ "tauri", "tauri-plugin", @@ -5915,9 +5911,9 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2929bb35edb7255949e0cbcb2285ff6b02371bf826ad03471077b6b3bf4e6d60" +checksum = "371fb9aca2823990a2d0db7970573be5fdf07881fcaa2b835b29631feb84aec1" dependencies = [ "encoding_rs", "log", @@ -5936,9 +5932,9 @@ dependencies = [ [[package]] name = "tauri-plugin-store" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c824c56d35d3aeb97eda0f827c9c419d8fd153a2958f3f40e8e9f34ecc564e6d" +checksum = "5058f179f7215390fc5a68eeffcb805b7e2681d6e817a5d08094fae7ab649e68" dependencies = [ "dunce", "log", @@ -5952,9 +5948,9 @@ dependencies = [ [[package]] name = "tauri-plugin-updater" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67634d7fb3d5f4c7a85c35d1522c6c60d70b4b0d598c7e60bbcaddb853b970f6" +checksum = "1dd3d2fe0f02bf52eebb5a9d23b987fffac6684646ab6fd683d706dafb18da87" dependencies = [ "base64 0.22.1", "dirs", @@ -5982,9 +5978,9 @@ dependencies = [ [[package]] name = "tauri-plugin-upload" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f650dfcbf1dd90936dac4c5676f4fe9bb501d5b9f561f4158141ff6abbf114f" +checksum = "116754130d3f95cf73552a0723376186a8f21607ac5ff350980af87a0eccba73" dependencies = [ "futures-util", "log", @@ -6001,9 +5997,9 @@ dependencies = [ [[package]] name = "tauri-plugin-window-state" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47f5bdd802302c72e6e52f786d4d7abc976a8a7938b05c121ae689106bcd4a40" +checksum = "fd1cef203a15b4772898e7bc8e57c1f34696e39848987dfcd294d51ba0525650" dependencies = [ "bitflags 2.6.0", "log", @@ -6016,9 +6012,9 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2570e1f33f332a2d2d9967ebb3903bc4e1f92b9c47e4d1b302c10ea4153fcdbb" +checksum = "af12ad1af974b274ef1d32a94e6eba27a312b429ef28fcb98abc710df7f9151d" dependencies = [ "dpi", "gtk", @@ -6035,9 +6031,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8147d8f9ed418d83a90af3d64fbdca5e0e924ae28e5351da88f9568169db8665" +checksum = "e45e88aa0b11b302d836e6ea3e507a6359044c4a8bc86b865ba99868c695753d" dependencies = [ "gtk", "http", @@ -6089,9 +6085,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87856e9d7fa91fd710362f3c73fccbf6bfd036934908791e65bd803d54dc8a8" +checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045" dependencies = [ "brotli", "cargo_metadata", diff --git a/src-tauri/src/commands/event.rs b/src-tauri/src/commands/event.rs index b933420a..d73d06cf 100644 --- a/src-tauri/src/commands/event.rs +++ b/src-tauri/src/commands/event.rs @@ -5,7 +5,7 @@ use specta::Type; use std::{str::FromStr, time::Duration}; use tauri::State; -use crate::common::{create_tags, parse_event, process_event, Meta}; +use crate::common::{create_tags, get_latest_event, parse_event, process_event, Meta}; use crate::{Nostr, DEFAULT_DIFFICULTY, FETCH_LIMIT}; #[derive(Debug, Clone, Serialize, Type)] @@ -30,7 +30,7 @@ pub async fn get_event(id: String, state: State<'_, Nostr>) -> Result { - if let Some(event) = events.first() { + if let Some(event) = get_latest_event(&events) { let raw = event.as_json(); let parsed = if event.kind == Kind::TextNote { Some(parse_event(&event.content).await) @@ -40,26 +40,25 @@ pub async fn get_event(id: String, state: State<'_, Nostr>) -> Result { - if let Some(event) = events.first() { - let raw = event.as_json(); - let parsed = if event.kind == Kind::TextNote { + Ok(mut rx) => { + let mut raw: String = String::new(); + let mut parsed: Option = None; + + while let Some(event) = rx.next().await { + raw = event.as_json(); + parsed = if event.kind == Kind::TextNote { Some(parse_event(&event.content).await) } else { None }; - - Ok(RichEvent { raw, parsed }) - } else { - Err("Cannot found this event with current relay list".into()) } + + Ok(RichEvent { raw, parsed }) } Err(err) => Err(err.to_string()), } @@ -548,31 +547,11 @@ pub async fn user_to_bech32(user: String, state: State<'_, Nostr>) -> Result, - state: State<'_, Nostr>, -) -> Result, String> { +pub async fn search(query: String, state: State<'_, Nostr>) -> Result, String> { let client = &state.client; + let filter = Filter::new().search(query); - let timestamp = match until { - Some(str) => Timestamp::from_str(&str).map_err(|err| err.to_string())?, - None => Timestamp::now(), - }; - - let filter = Filter::new() - .kinds(vec![Kind::TextNote, Kind::Metadata]) - .search(query) - .until(timestamp) - .limit(FETCH_LIMIT); - - match client - .get_events_of( - vec![filter], - EventSource::both(Some(Duration::from_secs(5))), - ) - .await - { + match client.database().query(vec![filter]).await { Ok(events) => Ok(process_event(client, events).await), Err(e) => Err(e.to_string()), } diff --git a/src-tauri/src/commands/metadata.rs b/src-tauri/src/commands/metadata.rs index b49e4a16..222822a6 100644 --- a/src-tauri/src/commands/metadata.rs +++ b/src-tauri/src/commands/metadata.rs @@ -6,7 +6,10 @@ use std::{str::FromStr, time::Duration}; use tauri::{Emitter, Manager, State}; use tauri_specta::Event; -use crate::{common::get_latest_event, NewSettings, Nostr, Settings}; +use crate::{ + common::{get_latest_event, process_event}, + NewSettings, Nostr, RichEvent, Settings, +}; #[derive(Clone, Serialize, Deserialize, Type)] pub struct Profile { @@ -55,23 +58,23 @@ pub async fn get_profile(id: Option, state: State<'_, Nostr>) -> Result< Err("Parse metadata failed".into()) } } else { + println!("Not found, getting event from relays..."); match client - .get_events_of( - vec![filter], - EventSource::relays(Some(Duration::from_secs(5))), - ) + .stream_events_of(vec![filter], Some(Duration::from_secs(10))) .await { - Ok(events) => { - if let Some(event) = get_latest_event(&events) { - if let Ok(metadata) = Metadata::from_json(&event.content) { - Ok(metadata.as_json()) - } else { - Err("Parse metadata failed".into()) + Ok(mut rx) => { + let mut metadata: String = Metadata::new().as_json(); + + while let Some(event) = rx.next().await { + println!("Event: {}", event.as_json()); + if let Ok(m) = Metadata::from_json(&event.content) { + metadata = m.as_json(); + break; } - } else { - Ok(Metadata::new().as_json()) } + + Ok(metadata) } Err(e) => Err(e.to_string()), } @@ -106,7 +109,6 @@ pub async fn set_contact_list( #[specta::specta] pub async fn get_contact_list(state: State<'_, Nostr>) -> Result, String> { let contact_list = state.contact_list.lock().await.clone(); - println!("Total contacts: {}", contact_list.len()); let vec: Vec = contact_list .into_iter() .map(|f| f.public_key.to_hex()) @@ -255,13 +257,7 @@ pub async fn get_group(id: String, state: State<'_, Nostr>) -> Result match get_latest_event(&events) { Some(ev) => Ok(ev.as_json()), None => Err("Not found.".to_string()), @@ -272,20 +268,14 @@ pub async fn get_group(id: String, state: State<'_, Nostr>) -> Result) -> Result, String> { +pub async fn get_all_groups(state: State<'_, Nostr>) -> Result, String> { let client = &state.client; let signer = client.signer().await.map_err(|e| e.to_string())?; let public_key = signer.public_key().await.map_err(|e| e.to_string())?; let filter = Filter::new().kind(Kind::FollowSet).author(public_key); - match client - .get_events_of(vec![filter], EventSource::Database) - .await - { - Ok(events) => { - let data: Vec = events.iter().map(|ev| ev.as_json()).collect(); - Ok(data) - } + match client.database().query(vec![filter]).await { + Ok(events) => Ok(process_event(client, events).await), Err(e) => Err(e.to_string()), } } @@ -347,13 +337,7 @@ pub async fn get_interest(id: String, state: State<'_, Nostr>) -> Result match get_latest_event(&events) { Some(ev) => Ok(ev.as_json()), None => Err("Not found.".to_string()), @@ -364,7 +348,7 @@ pub async fn get_interest(id: String, state: State<'_, Nostr>) -> Result) -> Result, String> { +pub async fn get_all_interests(state: State<'_, Nostr>) -> Result, String> { let client = &state.client; let signer = client.signer().await.map_err(|e| e.to_string())?; let public_key = signer.public_key().await.map_err(|e| e.to_string())?; @@ -372,14 +356,8 @@ pub async fn get_all_interests(state: State<'_, Nostr>) -> Result, S .kinds(vec![Kind::InterestSet, Kind::Interests]) .author(public_key); - match client - .get_events_of(vec![filter], EventSource::Database) - .await - { - Ok(events) => { - let data: Vec = events.iter().map(|ev| ev.as_json()).collect(); - Ok(data) - } + match client.database().query(vec![filter]).await { + Ok(events) => Ok(process_event(client, events).await), Err(e) => Err(e.to_string()), } } diff --git a/src/commands.gen.ts b/src/commands.gen.ts index b97cb9dd..d268ef9b 100644 --- a/src/commands.gen.ts +++ b/src/commands.gen.ts @@ -182,7 +182,7 @@ async getGroup(id: string) : Promise> { else return { status: "error", error: e as any }; } }, -async getAllGroups() : Promise> { +async getAllGroups() : Promise> { try { return { status: "ok", data: await TAURI_INVOKE("get_all_groups") }; } catch (e) { @@ -206,7 +206,7 @@ async getInterest(id: string) : Promise> { else return { status: "error", error: e as any }; } }, -async getAllInterests() : Promise> { +async getAllInterests() : Promise> { try { return { status: "ok", data: await TAURI_INVOKE("get_all_interests") }; } catch (e) { @@ -398,9 +398,9 @@ async requestDelete(id: string) : Promise> { else return { status: "error", error: e as any }; } }, -async search(query: string, until: string | null) : Promise> { +async search(query: string) : Promise> { try { - return { status: "ok", data: await TAURI_INVOKE("search", { query, until }) }; + return { status: "ok", data: await TAURI_INVOKE("search", { query }) }; } catch (e) { if(e instanceof Error) throw e; else return { status: "error", error: e as any }; diff --git a/src/components/note/mentions/note.tsx b/src/components/note/mentions/note.tsx index 30816724..f2705263 100644 --- a/src/components/note/mentions/note.tsx +++ b/src/components/note/mentions/note.tsx @@ -2,7 +2,11 @@ import { replyTime } from "@/commons"; import { Note, Spinner } from "@/components"; import { User } from "@/components/user"; import { LumeWindow, useEvent } from "@/system"; -import { memo } from "react"; +import { nip19 } from "nostr-tools"; +import { type ReactNode, memo, useMemo } from "react"; +import reactStringReplace from "react-string-replace"; +import { Hashtag } from "./hashtag"; +import { MentionUser } from "./user"; export const MentionNote = memo(function MentionNote({ eventId, @@ -36,9 +40,11 @@ export const MentionNote = memo(function MentionNote({ />
- {event.content.length > 120 - ? `${event.content.substring(0, 120)}...` - : event.content} + {event.content.length > 300 ? ( + `${event.content.substring(0, 300)}...` + ) : ( + + )}
@@ -66,3 +72,64 @@ export const MentionNote = memo(function MentionNote({
); }); + +function Content({ text, className }: { text: string; className?: string }) { + const content = useMemo(() => { + let replacedText: ReactNode[] | string = text.trim(); + + const nostr = replacedText + .split(/\s+/) + .filter((w) => w.startsWith("nostr:")); + + replacedText = reactStringReplace(text, /(https?:\/\/\S+)/g, (match, i) => ( + + {match} + + )); + + replacedText = reactStringReplace(replacedText, /#(\w+)/g, (match, i) => ( + + )); + + for (const word of nostr) { + const bech32 = word.replace("nostr:", ""); + const data = nip19.decode(bech32); + + switch (data.type) { + case "npub": + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + )); + break; + case "nprofile": + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + )); + break; + default: + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + {match} + + )); + break; + } + } + + return replacedText; + }, [text]); + + return
{content}
; +} diff --git a/src/routes/columns/_layout/launchpad.lazy.tsx b/src/routes/columns/_layout/launchpad.lazy.tsx index d7c57ad6..4ff411e4 100644 --- a/src/routes/columns/_layout/launchpad.lazy.tsx +++ b/src/routes/columns/_layout/launchpad.lazy.tsx @@ -1,4 +1,5 @@ import { commands } from "@/commands.gen"; +import { toLumeEvents } from "@/commons"; import { Spinner, User } from "@/components"; import { LumeWindow } from "@/system"; import type { LumeColumn, NostrEvent } from "@/types"; @@ -8,6 +9,7 @@ import { useQuery } from "@tanstack/react-query"; import { createLazyFileRoute } from "@tanstack/react-router"; import { resolveResource } from "@tauri-apps/api/path"; import { readTextFile } from "@tauri-apps/plugin-fs"; +import { nanoid } from "nanoid"; import { useCallback } from "react"; export const Route = createLazyFileRoute("/columns/_layout/launchpad")({ @@ -101,7 +103,7 @@ function MyGroups() { const res = await commands.getAllGroups(); if (res.status === "ok") { - const data = res.data.map((item) => JSON.parse(item) as NostrEvent); + const data = toLumeEvents(res.data); return data; } else { throw new Error(res.error); @@ -118,6 +120,7 @@ function MyGroups() { (item: NostrEvent) => { const name = item.tags.find((tag) => tag[0] === "title")?.[1] || "Unnamed"; + const label = item.tags.find((tag) => tag[0] === "d")?.[1] || nanoid(); return (
LumeWindow.openColumn({ - label: name, + label, name, url: `/columns/groups/${item.id}`, }) @@ -211,7 +214,7 @@ function MyInterests() { const res = await commands.getAllInterests(); if (res.status === "ok") { - const data = res.data.map((item) => JSON.parse(item) as NostrEvent); + const data = toLumeEvents(res.data); return data; } else { throw new Error(res.error); @@ -228,6 +231,8 @@ function MyInterests() { (item: NostrEvent) => { const name = item.tags.find((tag) => tag[0] === "title")?.[1] || "Unnamed"; + const label = + item.tags.find((tag) => tag[0] === "label")?.[1] || nanoid(); return (
LumeWindow.openColumn({ - label: name, + label, name, url: `/columns/interests/${item.id}`, }) diff --git a/src/routes/columns/_layout/search.lazy.tsx b/src/routes/columns/_layout/search.lazy.tsx index f740b34f..caadd077 100644 --- a/src/routes/columns/_layout/search.lazy.tsx +++ b/src/routes/columns/_layout/search.lazy.tsx @@ -27,12 +27,18 @@ function Screen() { switch (event.kind) { case Kind.Text: - return ; + return ( + + ); case Kind.Metadata: return (
@@ -61,7 +67,13 @@ function Screen() {
); default: - return ; + return ( + + ); } }, [events], @@ -71,7 +83,7 @@ function Screen() { startTransition(async () => { if (!query.length) return; - const res = await commands.search(query, null); + const res = await commands.search(query); if (res.status === "ok") { const data = toLumeEvents(res.data); @@ -114,7 +126,7 @@ function Screen() { scrollHideDelay={300} className="overflow-hidden size-full flex-1" > - + {isPending ? (
diff --git a/src/routes/columns/_layout/stories.lazy.tsx b/src/routes/columns/_layout/stories.lazy.tsx index 4b75a462..1fb086a9 100644 --- a/src/routes/columns/_layout/stories.lazy.tsx +++ b/src/routes/columns/_layout/stories.lazy.tsx @@ -1,12 +1,17 @@ import { commands } from "@/commands.gen"; import { replyTime, toLumeEvents } from "@/commons"; import { Note, Spinner, User } from "@/components"; +import { Hashtag } from "@/components/note/mentions/hashtag"; +import { MentionUser } from "@/components/note/mentions/user"; import { type LumeEvent, LumeWindow } from "@/system"; -import { ColumnsPlusLeft } from "@phosphor-icons/react"; +import { Kind } from "@/types"; +import { ArrowRight } from "@phosphor-icons/react"; import * as ScrollArea from "@radix-ui/react-scroll-area"; import { useQuery } from "@tanstack/react-query"; import { createLazyFileRoute } from "@tanstack/react-router"; -import { memo, useRef } from "react"; +import { nip19 } from "nostr-tools"; +import { type ReactNode, memo, useMemo, useRef } from "react"; +import reactStringReplace from "react-string-replace"; import { Virtualizer } from "virtua"; export const Route = createLazyFileRoute("/columns/_layout/stories")({ @@ -14,7 +19,7 @@ export const Route = createLazyFileRoute("/columns/_layout/stories")({ }); function Screen() { - const { contacts } = Route.useRouteContext(); + const contacts = Route.useLoaderData(); const ref = useRef(null); return ( @@ -25,9 +30,15 @@ function Screen() { > - {contacts.map((contact) => ( - - ))} + {!contacts ? ( +
+ +
+ ) : ( + contacts.map((contact) => ( + + )) + )}
data.filter((ev) => ev.kind === Kind.Text), refetchOnWindowFocus: false, }); @@ -77,9 +89,10 @@ function StoryItem({ contact }: { contact: string }) {
@@ -129,9 +142,10 @@ const StoryEvent = memo(function StoryEvent({ event }: { event: LumeEvent }) { className="shrink-0 inline font-medium text-blue-500" suffix=":" /> -
- {event.content} -
+
@@ -148,3 +162,64 @@ const StoryEvent = memo(function StoryEvent({ event }: { event: LumeEvent }) { ); }); + +function Content({ text, className }: { text: string; className?: string }) { + const content = useMemo(() => { + let replacedText: ReactNode[] | string = text.trim(); + + const nostr = replacedText + .split(/\s+/) + .filter((w) => w.startsWith("nostr:")); + + replacedText = reactStringReplace(text, /(https?:\/\/\S+)/g, (match, i) => ( + + {match} + + )); + + replacedText = reactStringReplace(replacedText, /#(\w+)/g, (match, i) => ( + + )); + + for (const word of nostr) { + const bech32 = word.replace("nostr:", ""); + const data = nip19.decode(bech32); + + switch (data.type) { + case "npub": + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + )); + break; + case "nprofile": + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + )); + break; + default: + replacedText = reactStringReplace(replacedText, word, (match, i) => ( + + {match} + + )); + break; + } + } + + return replacedText; + }, [text]); + + return
{content}
; +} diff --git a/src/routes/columns/_layout/stories.tsx b/src/routes/columns/_layout/stories.tsx index 6aca591a..5c28cdff 100644 --- a/src/routes/columns/_layout/stories.tsx +++ b/src/routes/columns/_layout/stories.tsx @@ -2,12 +2,11 @@ import { commands } from "@/commands.gen"; import { createFileRoute } from "@tanstack/react-router"; export const Route = createFileRoute("/columns/_layout/stories")({ - beforeLoad: async () => { + loader: async () => { const res = await commands.getContactList(); if (res.status === "ok") { - const contacts = res.data; - return { contacts }; + return res.data; } else { throw new Error(res.error); }