diff --git a/package.json b/package.json index 10fc322b..a24cb8af 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@evilmartians/harmony": "^1.2.0", "@getalby/sdk": "^2.7.0", "@nostr-dev-kit/ndk": "^2.3.0", - "@nostr-fetch/adapter-ndk": "^0.13.1", + "@nostr-fetch/adapter-ndk": "^0.14.1", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-avatar": "^1.0.4", @@ -33,8 +33,8 @@ "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-toolbar": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", - "@tanstack/react-query": "^5.13.4", - "@tanstack/react-query-devtools": "^5.13.5", + "@tanstack/react-query": "^5.14.0", + "@tanstack/react-query-devtools": "^5.14.0", "@tauri-apps/api": "2.0.0-alpha.11", "@tauri-apps/cli": "2.0.0-alpha.17", "@tauri-apps/plugin-autostart": "2.0.0-alpha.3", @@ -60,7 +60,7 @@ "@tiptap/react": "^2.1.13", "@tiptap/starter-kit": "^2.1.13", "@tiptap/suggestion": "^2.1.13", - "@vidstack/react": "^1.9.7", + "@vidstack/react": "^1.9.8", "dayjs": "^1.11.10", "framer-motion": "^10.16.16", "html-to-text": "^9.0.5", @@ -69,7 +69,7 @@ "markdown-to-jsx": "^7.3.2", "minidenticons": "^4.2.0", "nanoid": "^5.0.4", - "nostr-fetch": "^0.13.1", + "nostr-fetch": "^0.14.1", "nostr-tools": "^1.17.0", "qrcode.react": "^3.1.0", "re-resizable": "^6.9.11", @@ -93,7 +93,7 @@ "@types/html-to-text": "^9.0.4", "@types/node": "^20.10.4", "@types/react": "^18.2.45", - "@types/react-dom": "^18.2.17", + "@types/react-dom": "^18.2.18", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", "@vitejs/plugin-react-swc": "^3.5.0", @@ -101,7 +101,7 @@ "clsx": "^2.0.0", "cross-env": "^7.0.3", "encoding": "^0.1.13", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.33.2", @@ -116,7 +116,7 @@ "tailwind-scrollbar": "^3.0.5", "tailwindcss": "^3.3.6", "typescript": "^5.3.3", - "vite": "^5.0.8", + "vite": "^5.0.10", "vite-plugin-top-level-await": "^1.4.1", "vite-tsconfig-paths": "^4.2.2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82eb5250..8be6fe86 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,47 +15,47 @@ dependencies: specifier: ^2.3.0 version: 2.3.0(typescript@5.3.3) '@nostr-fetch/adapter-ndk': - specifier: ^0.13.1 - version: 0.13.1(@nostr-dev-kit/ndk@2.3.0)(nostr-fetch@0.13.1) + specifier: ^0.14.1 + version: 0.14.1(@nostr-dev-kit/ndk@2.3.0)(nostr-fetch@0.14.1) '@radix-ui/react-accordion': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-collapsible': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 - version: 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-hover-card': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-switch': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toolbar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': - specifier: ^5.13.4 - version: 5.13.4(react@18.2.0) + specifier: ^5.14.0 + version: 5.14.0(react@18.2.0) '@tanstack/react-query-devtools': - specifier: ^5.13.5 - version: 5.13.5(@tanstack/react-query@5.13.4)(react@18.2.0) + specifier: ^5.14.0 + version: 5.14.0(@tanstack/react-query@5.14.0)(react@18.2.0) '@tauri-apps/api': specifier: 2.0.0-alpha.11 version: 2.0.0-alpha.11 @@ -132,8 +132,8 @@ dependencies: specifier: ^2.1.13 version: 2.1.13(@tiptap/core@2.1.13)(@tiptap/pm@2.1.13) '@vidstack/react': - specifier: ^1.9.7 - version: 1.9.7(@types/react@18.2.45)(react@18.2.0) + specifier: ^1.9.8 + version: 1.9.8(@types/react@18.2.45)(react@18.2.0) dayjs: specifier: ^1.11.10 version: 1.11.10 @@ -159,8 +159,8 @@ dependencies: specifier: ^5.0.4 version: 5.0.4 nostr-fetch: - specifier: ^0.13.1 - version: 0.13.1 + specifier: ^0.14.1 + version: 0.14.1 nostr-tools: specifier: ^1.17.0 version: 1.17.0(typescript@5.3.3) @@ -227,17 +227,17 @@ devDependencies: specifier: ^18.2.45 version: 18.2.45 '@types/react-dom': - specifier: ^18.2.17 - version: 18.2.17 + specifier: ^18.2.18 + version: 18.2.18 '@typescript-eslint/eslint-plugin': specifier: ^6.14.0 - version: 6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.55.0)(typescript@5.3.3) + version: 6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^6.14.0 - version: 6.14.0(eslint@8.55.0)(typescript@5.3.3) + version: 6.14.0(eslint@8.56.0)(typescript@5.3.3) '@vitejs/plugin-react-swc': specifier: ^3.5.0 - version: 3.5.0(vite@5.0.8) + version: 3.5.0(vite@5.0.10) autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.32) @@ -251,20 +251,20 @@ devDependencies: specifier: ^0.1.13 version: 0.1.13 eslint: - specifier: ^8.55.0 - version: 8.55.0 + specifier: ^8.56.0 + version: 8.56.0 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.55.0) + version: 9.1.0(eslint@8.56.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 - version: 6.8.0(eslint@8.55.0) + version: 6.8.0(eslint@8.56.0) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.55.0) + version: 7.33.2(eslint@8.56.0) eslint-plugin-simple-import-sort: specifier: ^10.0.0 - version: 10.0.0(eslint@8.55.0) + version: 10.0.0(eslint@8.56.0) husky: specifier: ^8.0.3 version: 8.0.3 @@ -296,14 +296,14 @@ devDependencies: specifier: ^5.3.3 version: 5.3.3 vite: - specifier: ^5.0.8 - version: 5.0.8(@types/node@20.10.4) + specifier: ^5.0.10 + version: 5.0.10(@types/node@20.10.4) vite-plugin-top-level-await: specifier: ^1.4.1 - version: 1.4.1(vite@5.0.8) + version: 1.4.1(vite@5.0.10) vite-tsconfig-paths: specifier: ^4.2.2 - version: 4.2.2(typescript@5.3.3)(vite@5.0.8) + version: 4.2.2(typescript@5.3.3)(vite@5.0.10) packages: @@ -402,7 +402,7 @@ packages: resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} @@ -660,13 +660,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.55.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 dev: true @@ -692,8 +692,8 @@ packages: - supports-color dev: true - /@eslint/js@8.55.0: - resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -800,12 +800,6 @@ packages: '@noble/hashes': 1.3.1 dev: false - /@noble/curves@1.3.0: - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} - dependencies: - '@noble/hashes': 1.3.3 - dev: false - /@noble/hashes@1.3.1: resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==} engines: {node: '>= 16'} @@ -860,21 +854,21 @@ packages: - typescript dev: false - /@nostr-fetch/adapter-ndk@0.13.1(@nostr-dev-kit/ndk@2.3.0)(nostr-fetch@0.13.1): - resolution: {integrity: sha512-B3xeFR/qZHOzyy68WZCL+v+OjOZHG9YBW6jEpp1b1hzogAkoqSYJfYHo55Heka/CUp8z7dteYV/tmabtTCVcPA==} + /@nostr-fetch/adapter-ndk@0.14.1(@nostr-dev-kit/ndk@2.3.0)(nostr-fetch@0.14.1): + resolution: {integrity: sha512-+Wr0mHPbgQUOr5iPtV/1fCcAE7QlgQbC/qPAPOCBTODy2ZTBh5oOHVqLrwTMqMoZgeP825Hsn1qMHkKrFoOvzw==} peerDependencies: - '@nostr-dev-kit/ndk': ^0.8.4 - nostr-fetch: ^0.13.1 + '@nostr-dev-kit/ndk': ^1.0.0 + nostr-fetch: ^0.14.1 dependencies: '@nostr-dev-kit/ndk': 2.3.0(typescript@5.3.3) - '@nostr-fetch/kernel': 0.13.1 - nostr-fetch: 0.13.1 + '@nostr-fetch/kernel': 0.14.0 + nostr-fetch: 0.14.1 dev: false - /@nostr-fetch/kernel@0.13.1: - resolution: {integrity: sha512-ehaT6KWPS1fpoxljEfGJuQcmwDZTjJBymw92H8LzzFA5O7eLyfUE7Xbb0nrx5bg5IAnZYdeELZOpeO2gMY/w1g==} + /@nostr-fetch/kernel@0.14.0: + resolution: {integrity: sha512-gJWlOXYBkb3SqTP8WTm7E8dwGA7g+TaYtZntjMf3L2wzivS2OjVLSURyuidSyzdpK8kPpyiL2O3RuotssncO1g==} dependencies: - '@noble/curves': 1.3.0 + '@noble/curves': 1.1.0 '@noble/hashes': 1.3.3 dev: false @@ -888,7 +882,7 @@ packages: '@babel/runtime': 7.23.6 dev: false - /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -903,21 +897,21 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} peerDependencies: '@types/react': '*' @@ -934,16 +928,16 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -957,14 +951,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} peerDependencies: '@types/react': '*' @@ -979,16 +973,16 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -1006,17 +1000,17 @@ packages: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -1032,10 +1026,10 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -1068,7 +1062,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -1085,17 +1079,17 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1116,7 +1110,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -1132,16 +1126,16 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -1159,11 +1153,11 @@ packages: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -1182,7 +1176,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -1197,15 +1191,15 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==} peerDependencies: '@types/react': '*' @@ -1222,14 +1216,14 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -1249,7 +1243,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -1264,30 +1258,30 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -1304,25 +1298,25 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -1337,22 +1331,22 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/rect': 1.0.1 '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -1366,14 +1360,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -1390,12 +1384,12 @@ packages: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -1411,12 +1405,12 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -1431,21 +1425,21 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -1459,9 +1453,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -1481,7 +1475,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -1498,17 +1492,17 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -1525,17 +1519,17 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -1550,15 +1544,15 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: '@types/react': '*' @@ -1575,17 +1569,17 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -1602,17 +1596,17 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -1719,7 +1713,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -1733,9 +1727,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-dom': 18.2.17 + '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -2057,31 +2051,31 @@ packages: tailwindcss: 3.3.6 dev: true - /@tanstack/query-core@5.13.4: - resolution: {integrity: sha512-8+rJucXvC/xlr4OrxHhEIob/cTlbT4fgmz1VsvB0D12FRStKaXeLORNGcOhSAynRd2NL74SV/Qq0IIb4DedLcA==} + /@tanstack/query-core@5.14.0: + resolution: {integrity: sha512-OEri9fVDYT8XEqgh/dc6fFp1niyqu+MDY+Vp/LwU+scdk9xQLZ7KdUMEUh/sqTEjRM5BlFzAhAv+EIYcvSxt0Q==} dev: false /@tanstack/query-devtools@5.13.5: resolution: {integrity: sha512-effSYz9AWcZ6sNd+c8LCBYFIuDZApoCTXEpRlEYChBZpMz9QUUVMLToThwCyUY49+T5pANL3XxgZf3HV7hwJlg==} dev: false - /@tanstack/react-query-devtools@5.13.5(@tanstack/react-query@5.13.4)(react@18.2.0): - resolution: {integrity: sha512-FB17B/yPtwnqg+DAdosAM+rFj3t8Pl121MPLiUGgl6jvG0A+U9XN3n39zVbhurbdSFO5jCMkPBlloW4NH5ojrA==} + /@tanstack/react-query-devtools@5.14.0(@tanstack/react-query@5.14.0)(react@18.2.0): + resolution: {integrity: sha512-A/I/jYeyyNduI3+Kb84emkvqw5YOt7+MpO1ZpfYFyfHzCd5dQ7nWuCZzI67gS/JARwqRfGkuuuJkTfuKnipEzA==} peerDependencies: - '@tanstack/react-query': ^5.13.4 + '@tanstack/react-query': ^5.14.0 react: ^18.0.0 dependencies: '@tanstack/query-devtools': 5.13.5 - '@tanstack/react-query': 5.13.4(react@18.2.0) + '@tanstack/react-query': 5.14.0(react@18.2.0) react: 18.2.0 dev: false - /@tanstack/react-query@5.13.4(react@18.2.0): - resolution: {integrity: sha512-3HjvkFFriEQwffUXtKHPiwkfFXUGbs46YATTzzyK1+Pw6Ekd3kwzS50e45qdamWuEXmXxyo5S1zp534LdFG0Rw==} + /@tanstack/react-query@5.14.0(react@18.2.0): + resolution: {integrity: sha512-+qCooNZr7aGr6a0UEblfEgDSO1y+H7h7JnT4nUlbyfgCGE695lmBiqTciuW1C1Jr6J6Z2bwyd6YmBDKFKszWhA==} peerDependencies: react: ^18.0.0 dependencies: - '@tanstack/query-core': 5.13.4 + '@tanstack/query-core': 5.14.0 react: 18.2.0 dev: false @@ -2628,8 +2622,8 @@ packages: /@types/prop-types@15.7.11: resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/react-dom@18.2.17: - resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} + /@types/react-dom@18.2.18: + resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} dependencies: '@types/react': 18.2.45 @@ -2651,7 +2645,7 @@ packages: resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} dev: false - /@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.55.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2663,13 +2657,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.14.0(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.14.0 - '@typescript-eslint/type-utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.14.0 debug: 4.3.4 - eslint: 8.55.0 + eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 @@ -2680,7 +2674,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.14.0(eslint@8.55.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2695,7 +2689,7 @@ packages: '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.14.0 debug: 4.3.4 - eslint: 8.55.0 + eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -2709,7 +2703,7 @@ packages: '@typescript-eslint/visitor-keys': 6.14.0 dev: true - /@typescript-eslint/type-utils@6.14.0(eslint@8.55.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.14.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2720,9 +2714,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.55.0 + eslint: 8.56.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -2755,19 +2749,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.14.0(eslint@8.55.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.14.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.14.0 '@typescript-eslint/types': 6.14.0 '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3) - eslint: 8.55.0 + eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2786,8 +2780,8 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vidstack/react@1.9.7(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-fCkQOdII9s9ywhogd/CWvvLCV6bdn24j3ISbctaBGaX5lf7k1ExR7OJ6Vodtppdp5SjRPjkZv7HTGsqNaGPBig==} + /@vidstack/react@1.9.8(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-1gGlCXpmGriKZ+sgP1WLgm4tpkU2buXeAIPFoh8t7V4X3jV1l15oZS4whfPswCY6/9jAwVKq0jQBLryAuBYZww==} engines: {node: '>=18'} peerDependencies: '@types/react': ^18.0.0 @@ -2798,13 +2792,13 @@ packages: react: 18.2.0 dev: false - /@vitejs/plugin-react-swc@3.5.0(vite@5.0.8): + /@vitejs/plugin-react-swc@3.5.0(vite@5.0.10): resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==} peerDependencies: vite: ^4 || ^5 dependencies: '@swc/core': 1.3.100 - vite: 5.0.8(@types/node@20.10.4) + vite: 5.0.10(@types/node@20.10.4) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -3037,7 +3031,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001570 - electron-to-chromium: 1.4.612 + electron-to-chromium: 1.4.614 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true @@ -3350,8 +3344,8 @@ packages: domhandler: 5.0.3 dev: false - /electron-to-chromium@1.4.612: - resolution: {integrity: sha512-dM8BMtXtlH237ecSMnYdYuCkib2QHq0kpWfUnavjdYsyr/6OsAwg5ZGUfnQ9KD1Ga4QgB2sqXlB2NT8zy2GnVg==} + /electron-to-chromium@1.4.614: + resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} dev: true /emoji-regex@10.3.0: @@ -3535,16 +3529,16 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-prettier@9.1.0(eslint@8.55.0): + /eslint-config-prettier@9.1.0(eslint@8.56.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.55.0 + eslint: 8.56.0 dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.55.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: @@ -3560,7 +3554,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.15 - eslint: 8.55.0 + eslint: 8.56.0 hasown: 2.0.0 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -3569,7 +3563,7 @@ packages: object.fromentries: 2.0.7 dev: true - /eslint-plugin-react@7.33.2(eslint@8.55.0): + /eslint-plugin-react@7.33.2(eslint@8.56.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -3580,7 +3574,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.55.0 + eslint: 8.56.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -3594,12 +3588,12 @@ packages: string.prototype.matchall: 4.0.10 dev: true - /eslint-plugin-simple-import-sort@10.0.0(eslint@8.55.0): + /eslint-plugin-simple-import-sort@10.0.0(eslint@8.56.0): resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} peerDependencies: eslint: '>=5.0.0' dependencies: - eslint: 8.55.0 + eslint: 8.56.0 dev: true /eslint-scope@7.2.2: @@ -3615,15 +3609,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.55.0: - resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.55.0 + '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -4674,10 +4668,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /nostr-fetch@0.13.1: - resolution: {integrity: sha512-tPIaGcCgTW/2neESngMnYMzJJDAqR0s9ty2+BlbJhqYP+A8stSD9MCDQUPP9huLga/1WUPBLzg1z/3ZkLytcYw==} + /nostr-fetch@0.14.1: + resolution: {integrity: sha512-0r9loOVutJalz8OFK4vMWWcxGlpGdhcR+/xCro/k6V75uRrYchMYNrgJWP3fT7Sn89JtUkUqRYi4P9hh5qdruA==} dependencies: - '@nostr-fetch/kernel': 0.13.1 + '@nostr-fetch/kernel': 0.14.0 dev: false /nostr-tools@1.17.0(typescript@5.3.3): @@ -5381,8 +5375,8 @@ packages: which-builtin-type: 1.1.3 dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} @@ -6044,7 +6038,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /vite-plugin-top-level-await@1.4.1(vite@5.0.8): + /vite-plugin-top-level-await@1.4.1(vite@5.0.10): resolution: {integrity: sha512-hogbZ6yT7+AqBaV6lK9JRNvJDn4/IJvHLu6ET06arNfo0t2IsyCaon7el9Xa8OumH+ESuq//SDf8xscZFE0rWw==} peerDependencies: vite: '>=2.8' @@ -6052,13 +6046,13 @@ packages: '@rollup/plugin-virtual': 3.0.2 '@swc/core': 1.3.100 uuid: 9.0.1 - vite: 5.0.8(@types/node@20.10.4) + vite: 5.0.10(@types/node@20.10.4) transitivePeerDependencies: - '@swc/helpers' - rollup dev: true - /vite-tsconfig-paths@4.2.2(typescript@5.3.3)(vite@5.0.8): + /vite-tsconfig-paths@4.2.2(typescript@5.3.3)(vite@5.0.10): resolution: {integrity: sha512-dq0FjyxHHDnp0uS3P12WEOX2W7NeuLzX9AWP38D7Zw2CTbFErapwQVlCiT5DMJcVWKQ1MMdTe92PZl/rBQ7qcw==} peerDependencies: vite: '*' @@ -6069,14 +6063,14 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.3.3) - vite: 5.0.8(@types/node@20.10.4) + vite: 5.0.10(@types/node@20.10.4) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@5.0.8(@types/node@20.10.4): - resolution: {integrity: sha512-jYMALd8aeqR3yS9xlHd0OzQJndS9fH5ylVgWdB+pxTwxLKdO1pgC5Dlb398BUxpfaBxa4M9oT7j1g503Gaj5IQ==} + /vite@5.0.10(@types/node@20.10.4): + resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 72500541..78752054 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -242,9 +242,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff" +checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" dependencies = [ "async-lock 3.2.0", "cfg-if", @@ -304,7 +304,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -313,7 +313,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.2.1", + "async-io 2.2.2", "async-lock 2.8.0", "atomic-waker", "cfg-if", @@ -339,7 +339,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -760,7 +760,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -872,9 +872,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "constant_time_eq" @@ -976,9 +976,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5" dependencies = [ "cfg-if", "crossbeam-utils", @@ -986,9 +986,9 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153" dependencies = [ "cfg-if", "crossbeam-utils", @@ -996,9 +996,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" dependencies = [ "cfg-if", ] @@ -1037,17 +1037,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] name = "ctor" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583" +checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" dependencies = [ "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1101,7 +1101,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1112,7 +1112,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1319,7 +1319,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1514,7 +1514,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1643,7 +1643,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -1957,7 +1957,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -2057,7 +2057,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -2127,9 +2127,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac", ] @@ -2145,11 +2145,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2567,9 +2567,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.150" +version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" [[package]] name = "libloading" @@ -3237,7 +3237,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -3248,9 +3248,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.0+3.2.0" +version = "300.2.1+3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1ebed1d188c4cd64c2bcd73d6c1fe1092f3d98c111831923cc1b706c3859fca" +checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3" dependencies = [ "cc", ] @@ -3513,7 +3513,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -4220,7 +4220,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -4242,7 +4242,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -4292,7 +4292,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -4822,9 +4822,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.39" +version = "2.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" dependencies = [ "proc-macro2", "quote", @@ -5056,15 +5056,15 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", "tauri-codegen", "tauri-utils", ] [[package]] name = "tauri-plugin-autostart" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "auto-launch", "log", @@ -5076,8 +5076,8 @@ dependencies = [ [[package]] name = "tauri-plugin-cli" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "clap", "log", @@ -5089,8 +5089,8 @@ dependencies = [ [[package]] name = "tauri-plugin-clipboard-manager" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "arboard", "log", @@ -5103,8 +5103,8 @@ dependencies = [ [[package]] name = "tauri-plugin-dialog" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "glib 0.16.9", "log", @@ -5120,8 +5120,8 @@ dependencies = [ [[package]] name = "tauri-plugin-fs" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "anyhow", "glob", @@ -5133,8 +5133,8 @@ dependencies = [ [[package]] name = "tauri-plugin-http" -version = "2.0.0-alpha.5" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "data-url", "glob", @@ -5150,8 +5150,8 @@ dependencies = [ [[package]] name = "tauri-plugin-notification" -version = "2.0.0-alpha.5" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.6" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "log", "notify-rust", @@ -5168,8 +5168,8 @@ dependencies = [ [[package]] name = "tauri-plugin-os" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "gethostname 0.4.3", "log", @@ -5184,16 +5184,16 @@ dependencies = [ [[package]] name = "tauri-plugin-process" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "tauri", ] [[package]] name = "tauri-plugin-shell" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "encoding_rs", "log", @@ -5209,8 +5209,8 @@ dependencies = [ [[package]] name = "tauri-plugin-sql" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "futures-core", "log", @@ -5225,8 +5225,8 @@ dependencies = [ [[package]] name = "tauri-plugin-store" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "log", "serde", @@ -5238,7 +5238,7 @@ dependencies = [ [[package]] name = "tauri-plugin-theme" version = "0.3.0" -source = "git+https://github.com/wyhaya/tauri-plugin-theme#cccc9b3fbc308a475ef8720f3535ae657ce1924b" +source = "git+https://github.com/wyhaya/tauri-plugin-theme#cc032254c07887068f0aafd578127d276ff7f1c6" dependencies = [ "cocoa 0.25.0", "dirs-next", @@ -5253,8 +5253,8 @@ dependencies = [ [[package]] name = "tauri-plugin-updater" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "base64", "dirs-next", @@ -5279,8 +5279,8 @@ dependencies = [ [[package]] name = "tauri-plugin-upload" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "futures-util", "log", @@ -5296,8 +5296,8 @@ dependencies = [ [[package]] name = "tauri-plugin-window-state" -version = "2.0.0-alpha.4" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#a848e1870a71b7460a0c56ba44cc1af61d818483" +version = "2.0.0-alpha.5" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#68cb23f9c0722343a79096044122a811fd8cc059" dependencies = [ "bincode", "bitflags 2.4.1", @@ -5428,22 +5428,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -5546,7 +5546,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -5669,7 +5669,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -5713,9 +5713,9 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5375d350db4ccd3c783a4c683be535e70df5c62b07a824e7bcd6d43ef6d74181" +checksum = "fad962d06d2bfd9b2ab4f665fc73b175523b834b1466a294520201c5845145f8" dependencies = [ "cocoa 0.25.0", "core-graphics 0.23.1", @@ -5754,10 +5754,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uds_windows" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ + "memoffset 0.9.0", "tempfile", "winapi", ] @@ -5942,7 +5943,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", "wasm-bindgen-shared", ] @@ -5976,7 +5977,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6089,7 +6090,7 @@ checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -6206,7 +6207,7 @@ checksum = "fb2b158efec5af20d8846836622f50a87e6556b9153a42772fa047f773c0e555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -6217,7 +6218,7 @@ checksum = "0546e63e1ce64c04403d2311fa0e3ab5ae3a367bd524b4a38d8d8d18c70cfa76" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] @@ -6429,9 +6430,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.26" +version = "0.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff" +checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" dependencies = [ "memchr", ] @@ -6546,11 +6547,13 @@ dependencies = [ [[package]] name = "xattr" -version = "1.1.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc6ab6ec1907d1a901cdbcd2bd4cb9e7d64ce5c9739cbb97d3c391acd8c7fae" +checksum = "a7dae5072fe1f8db8f8d29059189ac175196e410e40ba42d5d4684ae2f750995" dependencies = [ "libc", + "linux-raw-sys 0.4.12", + "rustix 0.38.28", ] [[package]] @@ -6642,22 +6645,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.30" +version = "0.7.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" +checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.30" +version = "0.7.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" +checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.41", ] [[package]] diff --git a/src/app/auth/create.tsx b/src/app/auth/create.tsx index a195d1fa..1e9c2568 100644 --- a/src/app/auth/create.tsx +++ b/src/app/auth/create.tsx @@ -22,8 +22,6 @@ export function CreateAccountScreen() { const [keys, setKeys] = useState(null); const ark = useArk(); @@ -64,7 +62,6 @@ export function CreateAccountScreen() { content: JSON.stringify(profile), kind: NDKKind.Metadata, tags: [], - publish: true, }); if (publish) { @@ -77,18 +74,12 @@ export function CreateAccountScreen() { await ark.createEvent({ kind: NDKKind.RelayList, tags: [ark.relays], - publish: true, }); - setKeys({ - npub: userNpub, - nsec: userNsec, - pubkey: userPubkey, - privkey: userPrivkey, - }); + setKeys({ npub: userNpub, nsec: userNsec }); setLoading(false); } else { - toast('Cannot publish user profile, please try again later.'); + toast.error('Cannot publish user profile, please try again later.'); setLoading(false); } } catch (e) { @@ -222,7 +213,7 @@ export function CreateAccountScreen() { }} className="rounded-xl bg-neutral-50 p-3 dark:bg-neutral-950" > - + user.pubkey); } this.relays = [...ndk.pool.relays.values()].map((relay) => relay.url); - this.#ndk = ndk; - this.#fetcher = fetcher; + this.ndk = ndk; + this.fetcher = fetcher; } public updateNostrSigner({ signer }: { signer: NDKNip46Signer | NDKPrivateKeySigner }) { - this.#ndk.signer = signer; + this.ndk.signer = signer; this.readyToSign = true; - return this.#ndk.signer; + return this.ndk.signer; } public async getAllCacheUsers() { @@ -390,14 +382,14 @@ export class Ark { } public async logout() { + await this.#keyring_remove(this.account.pubkey); + await this.#keyring_remove(`${this.account.pubkey}-nsecbunker`); await this.#storage.execute("UPDATE accounts SET is_active = '0' WHERE id = $1;", [ this.account.id, ]); - await this.#keyring_remove(this.account.pubkey); - await this.#keyring_remove(`${this.account.pubkey}-nsecbunker`); this.account = null; - this.#ndk.signer = null; + this.ndk.signer = null; } public subscribe({ @@ -409,53 +401,44 @@ export class Ark { closeOnEose: boolean; cb: (event: NDKEvent) => void; }) { - const sub = this.#ndk.subscribe(filter, { closeOnEose }); + const sub = this.ndk.subscribe(filter, { closeOnEose }); sub.addListener('event', (event: NDKEvent) => cb(event)); return sub; } - public createNDKEvent({ event }: { event: NostrEvent | NostrEventExt }) { - return new NDKEvent(this.#ndk, event); - } - public async createEvent({ kind, tags, content, rootReplyTo = undefined, replyTo = undefined, - publish, }: { kind: NDKKind | number; tags: NDKTag[]; content?: string; rootReplyTo?: string; replyTo?: string; - publish?: boolean; }) { try { - const event = new NDKEvent(this.#ndk); + const event = new NDKEvent(this.ndk); if (content) event.content = content; event.kind = kind; event.tags = tags; if (rootReplyTo) { - const rootEvent = await this.#ndk.fetchEvent(rootReplyTo); + const rootEvent = await this.ndk.fetchEvent(rootReplyTo); if (rootEvent) event.tag(rootEvent, 'root'); } if (replyTo) { - const replyEvent = await this.#ndk.fetchEvent(replyTo); + const replyEvent = await this.ndk.fetchEvent(replyTo); if (replyEvent) event.tag(replyEvent, 'reply'); } - if (publish) { - const publishedEvent = await event.publish(); - if (!publishedEvent) throw new Error('Failed to publish event'); - return publishedEvent.size; - } + const publish = await event.publish(); - return event; + if (!publish) throw new Error('Failed to publish event'); + return { id: event.id, seens: [...publish.values()].map((item) => item.url) }; } catch (e) { throw new Error(e); } @@ -463,7 +446,23 @@ export class Ark { public async getUserProfile({ pubkey }: { pubkey: string }) { try { - const user = this.#ndk.getUser({ pubkey }); + // get clean pubkey without any special characters + let hexstring = pubkey.replace(/[^a-zA-Z0-9]/g, ''); + + if ( + hexstring.startsWith('npub1') || + hexstring.startsWith('nprofile1') || + hexstring.startsWith('naddr1') + ) { + const decoded = nip19.decode(hexstring); + + if (decoded.type === 'nprofile') hexstring = decoded.data.pubkey; + if (decoded.type === 'npub') hexstring = decoded.data; + if (decoded.type === 'naddr') hexstring = decoded.data.pubkey; + } + + const user = this.ndk.getUser({ pubkey: hexstring }); + const profile = await user.fetchProfile({ cacheUsage: NDKSubscriptionCacheUsage.CACHE_FIRST, }); @@ -471,8 +470,7 @@ export class Ark { if (!profile) return null; return profile; } catch (e) { - console.error(e); - return null; + throw new Error(e); } } @@ -484,7 +482,7 @@ export class Ark { outbox?: boolean; }) { try { - const user = this.#ndk.getUser({ pubkey: pubkey ? pubkey : this.account.pubkey }); + const user = this.ndk.getUser({ pubkey: pubkey ? pubkey : this.account.pubkey }); const contacts = [...(await user.follows(undefined, outbox))].map( (user) => user.pubkey ); @@ -492,33 +490,33 @@ export class Ark { if (pubkey === this.account.pubkey) this.account.contacts = contacts; return contacts; } catch (e) { - console.error(e); + throw new Error(e); return []; } } public async getUserRelays({ pubkey }: { pubkey?: string }) { try { - const user = this.#ndk.getUser({ pubkey: pubkey ? pubkey : this.account.pubkey }); + const user = this.ndk.getUser({ pubkey: pubkey ? pubkey : this.account.pubkey }); return await user.relayList(); } catch (e) { - console.error(e); + throw new Error(e); return null; } } public async createContact({ pubkey }: { pubkey: string }) { - const user = this.#ndk.getUser({ pubkey: this.account.pubkey }); + const user = this.ndk.getUser({ pubkey: this.account.pubkey }); const contacts = await user.follows(); return await user.follow(new NDKUser({ pubkey: pubkey }), contacts); } public async deleteContact({ pubkey }: { pubkey: string }) { - const user = this.#ndk.getUser({ pubkey: this.account.pubkey }); + const user = this.ndk.getUser({ pubkey: this.account.pubkey }); const contacts = await user.follows(); contacts.delete(new NDKUser({ pubkey: pubkey })); - const event = new NDKEvent(this.#ndk); + const event = new NDKEvent(this.ndk); event.content = ''; event.kind = NDKKind.Contacts; event.tags = [...contacts].map((item) => [ @@ -532,22 +530,40 @@ export class Ark { } public async getAllEvents({ filter }: { filter: NDKFilter }) { - const events = await this.#ndk.fetchEvents(filter); + const events = await this.ndk.fetchEvents(filter); if (!events) return []; return [...events]; } public async getEventById({ id }: { id: string }) { - const event = await this.#ndk.fetchEvent(id, { + let eventId: string = id; + + if ( + eventId.startsWith('nevent1') || + eventId.startsWith('note1') || + eventId.startsWith('naddr1') + ) { + const decode = nip19.decode(eventId); + + if (decode.type === 'nevent') eventId = decode.data.id; + if (decode.type === 'note') eventId = decode.data; + + if (decode.type === 'naddr') { + return await this.ndk.fetchEvent({ + kinds: [decode.data.kind], + '#d': [decode.data.identifier], + authors: [decode.data.pubkey], + }); + } + } + + return await this.ndk.fetchEvent(id, { cacheUsage: NDKSubscriptionCacheUsage.CACHE_FIRST, }); - - if (!event) return null; - return event; } public async getEventByFilter({ filter }: { filter: NDKFilter }) { - const event = await this.#ndk.fetchEvent(filter, { + const event = await this.ndk.fetchEvent(filter, { cacheUsage: NDKSubscriptionCacheUsage.CACHE_FIRST, }); @@ -589,8 +605,8 @@ export class Ark { let events = data || null; if (!data) { - const relayUrls = [...this.#ndk.pool.relays.values()].map((item) => item.url); - const rawEvents = (await this.#fetcher.fetchAllEvents( + const relayUrls = [...this.ndk.pool.relays.values()].map((item) => item.url); + const rawEvents = (await this.fetcher.fetchAllEvents( relayUrls, { kinds: [NDKKind.Text], @@ -600,7 +616,7 @@ export class Ark { { sort: true } )) as unknown as NostrEvent[]; events = rawEvents.map( - (event) => new NDKEvent(this.#ndk, event) + (event) => new NDKEvent(this.ndk, event) ) as NDKEvent[] as NDKEventWithReplies[]; } @@ -633,7 +649,7 @@ export class Ark { public async getAllRelaysFromContacts() { const LIMIT = 1; const relayMap = new Map(); - const relayEvents = this.#fetcher.fetchLatestEventsPerAuthor( + const relayEvents = this.fetcher.fetchLatestEventsPerAuthor( { authors: this.account.contacts, relayUrls: this.relays, @@ -672,13 +688,13 @@ export class Ark { const rootIds = new Set(); const dedupQueue = new Set(); - const events = await this.#fetcher.fetchLatestEvents(this.relays, filter, limit, { + const events = await this.fetcher.fetchLatestEvents(this.relays, filter, limit, { asOf: pageParam === 0 ? undefined : pageParam, abortSignal: signal, }); const ndkEvents = events.map((event) => { - return new NDKEvent(this.#ndk, event); + return new NDKEvent(this.ndk, event); }); if (dedup) { @@ -713,7 +729,7 @@ export class Ark { signal?: AbortSignal; dedup?: boolean; }) { - const events = await this.#fetcher.fetchLatestEvents( + const events = await this.fetcher.fetchLatestEvents( [normalizeRelayUrl(relayUrl)], filter, limit, @@ -724,7 +740,7 @@ export class Ark { ); const ndkEvents = events.map((event) => { - return new NDKEvent(this.#ndk, event); + return new NDKEvent(this.ndk, event); }); return ndkEvents.sort((a, b) => b.created_at - a.created_at); @@ -807,7 +823,7 @@ export class Ark { * @deprecated NIP-04 will be replace by NIP-44 in the next update */ public async getAllChats() { - const events = await this.#fetcher.fetchAllEvents( + const events = await this.fetcher.fetchAllEvents( this.relays, { kinds: [NDKKind.EncryptedDirectMessage], @@ -840,7 +856,7 @@ export class Ark { let senderMessages: NostrEventExt[] = []; if (pubkey !== this.account.pubkey) { - senderMessages = await this.#fetcher.fetchAllEvents( + senderMessages = await this.fetcher.fetchAllEvents( this.relays, { kinds: [NDKKind.EncryptedDirectMessage], @@ -851,7 +867,7 @@ export class Ark { ); } - const userMessages = await this.#fetcher.fetchAllEvents( + const userMessages = await this.fetcher.fetchAllEvents( this.relays, { kinds: [NDKKind.EncryptedDirectMessage], @@ -876,20 +892,20 @@ export class Ark { ? event.tags.find((el) => el[0] === 'p')[1] : event.pubkey, }); - const content = await this.#ndk.signer.decrypt(sender, event.content); + const content = await this.ndk.signer.decrypt(sender, event.content); return content; } catch (e) { - console.error(e); + throw new Error(e); } } public async nip04Encrypt({ content, pubkey }: { content: string; pubkey: string }) { try { const recipient = new NDKUser({ pubkey }); - const message = await this.#ndk.signer.encrypt(recipient, content); + const message = await this.ndk.signer.encrypt(recipient, content); - const event = new NDKEvent(this.#ndk); + const event = new NDKEvent(this.ndk); event.content = message; event.kind = NDKKind.EncryptedDirectMessage; event.tag(recipient); @@ -897,22 +913,22 @@ export class Ark { const publish = await event.publish(); if (!publish) throw new Error('Failed to send NIP-04 encrypted message'); - return publish; + return { id: event.id, seens: [...publish.values()].map((item) => item.url) }; } catch (e) { - console.error(e); + throw new Error(e); } } public async replyTo({ content, event }: { content: string; event: NDKEvent }) { try { - const replyEvent = new NDKEvent(this.#ndk); + const replyEvent = new NDKEvent(this.ndk); replyEvent.content = content; replyEvent.kind = NDKKind.Text; replyEvent.tag(event, 'reply'); return await replyEvent.publish(); } catch (e) { - console.error(e); + throw new Error(e); } } } diff --git a/src/libs/ark/index.ts b/src/libs/ark/index.ts index 39970415..52b61586 100644 --- a/src/libs/ark/index.ts +++ b/src/libs/ark/index.ts @@ -1,3 +1,2 @@ export * from './ark'; -export * from './cache'; export * from './provider'; diff --git a/src/libs/ark/cache.ts b/src/libs/cache/index.ts similarity index 96% rename from src/libs/ark/cache.ts rename to src/libs/cache/index.ts index 39fed584..0ef1b574 100644 --- a/src/libs/ark/cache.ts +++ b/src/libs/cache/index.ts @@ -183,12 +183,14 @@ export class NDKCacheAdapterTauri implements NDKCacheAdapter { const filterKeys = Object.keys(_filter || {}).sort(); try { - (await this.byKindAndAuthor(filterKeys, filter, subscription)) || - (await this.byAuthors(filterKeys, filter, subscription)) || - (await this.byKinds(filterKeys, filter, subscription)) || - (await this.byIdsQuery(filterKeys, filter, subscription)) || - (await this.byNip33Query(filterKeys, filter, subscription)) || - (await this.byTagsAndOptionallyKinds(filterKeys, filter, subscription)); + await Promise.allSettled([ + this.byKindAndAuthor(filterKeys, filter, subscription), + this.byAuthors(filterKeys, filter, subscription), + this.byKinds(filterKeys, filter, subscription), + this.byIdsQuery(filterKeys, filter, subscription), + this.byNip33Query(filterKeys, filter, subscription), + this.byTagsAndOptionallyKinds(filterKeys, filter, subscription), + ]); } catch (error) { console.error(error); } @@ -196,7 +198,7 @@ export class NDKCacheAdapterTauri implements NDKCacheAdapter { public async setEvent( event: NDKEvent, - _filter: NDKFilter, + filters: NDKFilter[], relay?: NDKRelay ): Promise { if (event.kind === 0) { diff --git a/src/shared/notes/repost.tsx b/src/shared/notes/repost.tsx index 358358a8..58ebf4f1 100644 --- a/src/shared/notes/repost.tsx +++ b/src/shared/notes/repost.tsx @@ -23,7 +23,7 @@ export function Repost({ event }: { event: NDKEvent }) { try { if (event.content.length > 50) { const embed = JSON.parse(event.content) as NostrEvent; - return ark.createNDKEvent({ event: embed }); + return new NDKEvent(ark.ndk, embed); } const id = event.tags.find((el) => el[0] === 'e')[1]; diff --git a/src/utils/hooks/useEvent.ts b/src/utils/hooks/useEvent.ts index e1f8e761..5e09c9ac 100644 --- a/src/utils/hooks/useEvent.ts +++ b/src/utils/hooks/useEvent.ts @@ -1,7 +1,5 @@ import { NDKEvent, NostrEvent } from '@nostr-dev-kit/ndk'; import { useQuery } from '@tanstack/react-query'; -import { nip19 } from 'nostr-tools'; -import { AddressPointer } from 'nostr-tools/lib/types/nip19'; import { useArk } from '@libs/ark'; export function useEvent(id: undefined | string, embed?: undefined | string) { @@ -9,32 +7,14 @@ export function useEvent(id: undefined | string, embed?: undefined | string) { const { status, isFetching, isError, data } = useQuery({ queryKey: ['event', id], queryFn: async () => { - let event: NDKEvent = undefined; - - const naddr = id.startsWith('naddr') - ? (nip19.decode(id).data as AddressPointer) - : null; - - // return event refer from naddr - if (naddr) { - const events = await ark.getAllEvents({ - filter: { - kinds: [naddr.kind], - '#d': [naddr.identifier], - authors: [naddr.pubkey], - }, - }); - event = events.slice(-1)[0]; - } - // return embed event (nostr.band api) if (embed) { const embedEvent: NostrEvent = JSON.parse(embed); - event = ark.createNDKEvent({ event: embedEvent }); + return new NDKEvent(ark.ndk, embedEvent); } // get event from relay - event = await ark.getEventById({ id }); + const event = await ark.getEventById({ id }); if (!event) throw new Error(`Cannot get event with ${id}, will be retry after 10 seconds`); diff --git a/src/utils/hooks/useProfile.ts b/src/utils/hooks/useProfile.ts index 53913ea1..50a352ed 100644 --- a/src/utils/hooks/useProfile.ts +++ b/src/utils/hooks/useProfile.ts @@ -1,6 +1,5 @@ import { NDKUserProfile } from '@nostr-dev-kit/ndk'; import { useQuery } from '@tanstack/react-query'; -import { nip19 } from 'nostr-tools'; import { useArk } from '@libs/ark'; export function useProfile(pubkey: string, embed?: string) { @@ -19,16 +18,7 @@ export function useProfile(pubkey: string, embed?: string) { return profile; } - // get clean pubkey without any special characters - let hexstring = pubkey.replace(/[^a-zA-Z0-9]/g, ''); - - if (hexstring.startsWith('npub1') || hexstring.startsWith('nprofile1')) { - const decoded = nip19.decode(hexstring); - if (decoded.type === 'nprofile') hexstring = decoded.data.pubkey; - if (decoded.type === 'npub') hexstring = decoded.data; - } - - const profile = await ark.getUserProfile({ pubkey: hexstring }); + const profile = await ark.getUserProfile({ pubkey }); if (!profile) throw new Error( diff --git a/src/utils/hooks/useRelay.ts b/src/utils/hooks/useRelay.ts index 0a4d0f1f..d8dc4c93 100644 --- a/src/utils/hooks/useRelay.ts +++ b/src/utils/hooks/useRelay.ts @@ -22,7 +22,6 @@ export function useRelay() { await ark.createEvent({ kind: NDKKind.RelayList, tags: [['r', relay, purpose ?? '']], - publish: true, }); } @@ -33,7 +32,6 @@ export function useRelay() { await ark.createEvent({ kind: NDKKind.RelayList, tags: [...prevRelays, ['r', relay, purpose ?? '']], - publish: true, }); // Optimistically update to the new value @@ -69,7 +67,6 @@ export function useRelay() { await ark.createEvent({ kind: NDKKind.RelayList, tags: prevRelays, - publish: true, }); // Optimistically update to the new value diff --git a/src/utils/nip94.ts b/src/utils/nip94.ts index c22ad6d9..870a2798 100644 --- a/src/utils/nip94.ts +++ b/src/utils/nip94.ts @@ -3,9 +3,13 @@ export function fileType(url: string) { return 'image'; } - if (url.match(/\.(mp4|mov|webm|wmv|flv|mts|avi|ogv|mkv|mp3|m3u8)$/)) { + if (url.match(/\.(mp4|mov|webm|wmv|flv|mts|avi|ogv|mkv)$/)) { return 'video'; } + if (url.match(/\.(mp3|ogg|wav)$/)) { + return 'audio'; + } + return 'link'; }