diff --git a/package.json b/package.json index b0ac8a0f..241e65cf 100644 --- a/package.json +++ b/package.json @@ -17,19 +17,17 @@ }, "dependencies": { "@headlessui/react": "^1.7.15", - "@nostr-dev-kit/ndk": "0.6.0", + "@nostr-dev-kit/ndk": "^0.7.3", "@radix-ui/react-popover": "^1.0.6", "@radix-ui/react-tooltip": "^1.0.6", - "@tanstack/query-sync-storage-persister": "^4.29.19", "@tanstack/react-query": "^4.29.19", "@tanstack/react-query-devtools": "^4.29.19", - "@tanstack/react-query-persist-client": "^4.29.19", "@tanstack/react-virtual": "3.0.0-beta.54", "@tauri-apps/api": "^1.4.0", "cheerio": "1.0.0-rc.12", - "dayjs": "^1.11.8", + "dayjs": "^1.11.9", "destr": "^1.2.2", - "framer-motion": "^10.12.17", + "framer-motion": "^10.12.18", "get-urls": "^11.0.0", "immer": "^10.0.2", "light-bolt11-decoder": "^3.0.0", @@ -37,9 +35,9 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.45.1", - "react-hotkeys-hook": "^4.4.0", + "react-hotkeys-hook": "^4.4.1", "react-player": "^2.12.0", - "react-router-dom": "^6.14.0", + "react-router-dom": "^6.14.1", "react-string-replace": "^1.1.1", "react-virtuoso": "^4.3.11", "slate": "^0.94.1", @@ -48,13 +46,13 @@ "tailwind-merge": "^1.13.2", "tauri-plugin-autostart-api": "github:tauri-apps/tauri-plugin-autostart#v1", "tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql", - "zustand": "^4.3.8" + "zustand": "^4.3.9" }, "devDependencies": { "@tailwindcss/typography": "^0.5.9", "@tauri-apps/cli": "^1.4.0", "@trivago/prettier-plugin-sort-imports": "^4.1.1", - "@types/node": "^18.16.18", + "@types/node": "^18.16.19", "@types/react": "^18.2.14", "@types/react-dom": "^18.2.6", "@types/youtube-player": "^5.5.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f062af93..997a64e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,26 +5,20 @@ dependencies: specifier: ^1.7.15 version: 1.7.15(react-dom@18.2.0)(react@18.2.0) '@nostr-dev-kit/ndk': - specifier: 0.6.0 - version: 0.6.0(typescript@4.9.5) + specifier: ^0.7.3 + version: 0.7.3(typescript@4.9.5) '@radix-ui/react-popover': specifier: ^1.0.6 version: 1.0.6(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.6 version: 1.0.6(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) - '@tanstack/query-sync-storage-persister': - specifier: ^4.29.19 - version: 4.29.19 '@tanstack/react-query': specifier: ^4.29.19 version: 4.29.19(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-devtools': specifier: ^4.29.19 version: 4.29.19(@tanstack/react-query@4.29.19)(react-dom@18.2.0)(react@18.2.0) - '@tanstack/react-query-persist-client': - specifier: ^4.29.19 - version: 4.29.19(@tanstack/react-query@4.29.19) '@tanstack/react-virtual': specifier: 3.0.0-beta.54 version: 3.0.0-beta.54(react@18.2.0) @@ -35,14 +29,14 @@ dependencies: specifier: 1.0.0-rc.12 version: 1.0.0-rc.12 dayjs: - specifier: ^1.11.8 - version: 1.11.8 + specifier: ^1.11.9 + version: 1.11.9 destr: specifier: ^1.2.2 version: 1.2.2 framer-motion: - specifier: ^10.12.17 - version: 10.12.17(react-dom@18.2.0)(react@18.2.0) + specifier: ^10.12.18 + version: 10.12.18(react-dom@18.2.0)(react@18.2.0) get-urls: specifier: ^11.0.0 version: 11.0.0 @@ -65,14 +59,14 @@ dependencies: specifier: ^7.45.1 version: 7.45.1(react@18.2.0) react-hotkeys-hook: - specifier: ^4.4.0 - version: 4.4.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.4.1 + version: 4.4.1(react-dom@18.2.0)(react@18.2.0) react-player: specifier: ^2.12.0 version: 2.12.0(react@18.2.0) react-router-dom: - specifier: ^6.14.0 - version: 6.14.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.14.1 + version: 6.14.1(react-dom@18.2.0)(react@18.2.0) react-string-replace: specifier: ^1.1.1 version: 1.1.1 @@ -98,8 +92,8 @@ dependencies: specifier: github:tauri-apps/tauri-plugin-sql version: github.com/tauri-apps/tauri-plugin-sql/45b46ee428f6c13a831d237d8b602349ad6b17a6 zustand: - specifier: ^4.3.8 - version: 4.3.8(immer@10.0.2)(react@18.2.0) + specifier: ^4.3.9 + version: 4.3.9(immer@10.0.2)(react@18.2.0) devDependencies: '@tailwindcss/typography': @@ -112,8 +106,8 @@ devDependencies: specifier: ^4.1.1 version: 4.1.1(prettier@2.8.8) '@types/node': - specifier: ^18.16.18 - version: 18.16.18 + specifier: ^18.16.19 + version: 18.16.19 '@types/react': specifier: ^18.2.14 version: 18.2.14 @@ -185,7 +179,7 @@ devDependencies: version: 4.9.5 vite: specifier: ^4.3.9 - version: 4.3.9(@types/node@18.16.18) + version: 4.3.9(@types/node@18.16.19) vite-plugin-top-level-await: specifier: ^1.3.1 version: 1.3.1(vite@4.3.9) @@ -239,8 +233,8 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/helper-split-export-declaration@7.22.5: - resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 @@ -263,16 +257,16 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.5: - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} + /@babel/parser@7.22.6: + resolution: {integrity: sha512-EIQu22vNkceq3LbjAq7knDf/UmtI2qbcNI8GRBlijez6TpQLvSodJPYfydQmNA5buwkxxxa/PVI44jjYZ+/cLw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.17.0 dev: true - /@babel/runtime@7.22.5: - resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 @@ -282,7 +276,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.6 '@babel/types': 7.22.5 dev: true @@ -295,8 +289,8 @@ packages: '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.6 '@babel/types': 7.17.0 debug: 4.3.4 globals: 11.12.0 @@ -605,11 +599,11 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: false - /@jest/schemas@29.4.3: - resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@sinclair/typebox': 0.25.24 + '@sinclair/typebox': 0.27.8 dev: false /@jridgewell/gen-mapping@0.3.3: @@ -687,8 +681,8 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@nostr-dev-kit/ndk@0.6.0(typescript@4.9.5): - resolution: {integrity: sha512-0ptE6OIZhFW+aRRIXAI8PvUIoVU6iQLpiwFtJj48XAUO2EC3WiSuqKLshjg6wj1bbo9qGs1PyFS9AUhUlWWJtg==} + /@nostr-dev-kit/ndk@0.7.3(typescript@4.9.5): + resolution: {integrity: sha512-IjMysXLzoFDeAEJ68vXrNYZe/Lq+t2FLWIUTcCJ2toT+IWvDY3gDHj2f62PxLgo1hsVMvkbpDxthk/BTL4PdUw==} dependencies: '@noble/hashes': 1.3.1 '@noble/secp256k1': 2.0.0 @@ -733,7 +727,7 @@ packages: /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 dev: false /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0): @@ -749,7 +743,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.14 '@types/react-dom': 18.2.6 @@ -766,7 +760,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@types/react': 18.2.14 react: 18.2.0 dev: false @@ -780,7 +774,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@types/react': 18.2.14 react: 18.2.0 dev: false @@ -798,7 +792,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) @@ -819,7 +813,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@types/react': 18.2.14 react: 18.2.0 dev: false @@ -837,7 +831,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.14)(react@18.2.0) @@ -856,7 +850,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 react: 18.2.0 @@ -875,7 +869,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.14)(react@18.2.0) @@ -910,7 +904,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) @@ -940,7 +934,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.14 '@types/react-dom': 18.2.6 @@ -961,7 +955,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 @@ -983,7 +977,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 '@types/react-dom': 18.2.6 @@ -1000,7 +994,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 react: 18.2.0 @@ -1019,7 +1013,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.14)(react@18.2.0) @@ -1047,7 +1041,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@types/react': 18.2.14 react: 18.2.0 dev: false @@ -1061,7 +1055,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 react: 18.2.0 @@ -1076,7 +1070,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 react: 18.2.0 @@ -1091,7 +1085,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@types/react': 18.2.14 react: 18.2.0 dev: false @@ -1105,7 +1099,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/rect': 1.0.1 '@types/react': 18.2.14 react: 18.2.0 @@ -1120,7 +1114,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.14)(react@18.2.0) '@types/react': 18.2.14 react: 18.2.0 @@ -1139,7 +1133,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.14 '@types/react-dom': 18.2.6 @@ -1150,11 +1144,11 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 dev: false - /@remix-run/router@1.7.0: - resolution: {integrity: sha512-Eu1V3kz3mV0wUpVTiFHuaT8UD1gj/0VnoFHQYX35xlslQUpe8CuYoKFn9d4WZFHm3yDywz6ALZuGdnUPKrNeAw==} + /@remix-run/router@1.7.1: + resolution: {integrity: sha512-bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==} engines: {node: '>=14'} dev: false @@ -1187,8 +1181,8 @@ packages: '@scure/base': 1.1.1 dev: false - /@sinclair/typebox@0.25.24: - resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false /@swc/core-darwin-arm64@1.3.67: @@ -1326,18 +1320,6 @@ packages: resolution: {integrity: sha512-uPe1DukeIpIHpQi6UzIgBcXsjjsDaLnc7hF+zLBKnaUlh7jFE/A+P8t4cU4VzKPMFB/C970n/9SxtpO5hmIRgw==} dev: false - /@tanstack/query-persist-client-core@4.29.19: - resolution: {integrity: sha512-rr6p3xwEZCz3cEDZsj3QGePf6PG44WxRUGQVcm2JFPZOq9TkG/0i5+hQ3STiHm1Fj6qwCH8xIi62L8kG0zRj/Q==} - dependencies: - '@tanstack/query-core': 4.29.19 - dev: false - - /@tanstack/query-sync-storage-persister@4.29.19: - resolution: {integrity: sha512-B3wDl3D3YBFTlY2yeXecEh4NEG/8Hr8pqsxnWJijRwBqvOKlqD4bUgk5kl5nbn1mShD2vnQ+yvH900/11X29Zw==} - dependencies: - '@tanstack/query-persist-client-core': 4.29.19 - dev: false - /@tanstack/react-query-devtools@4.29.19(@tanstack/react-query@4.29.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-rL2xqTPr+7gJvVGwyq8E8CWqqw950N4lZ6ffJeNX0qqymKHxHW1FM6nZaYt7Aufs/bXH0m1L9Sj3kDGQbp0rwg==} peerDependencies: @@ -1353,15 +1335,6 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tanstack/react-query-persist-client@4.29.19(@tanstack/react-query@4.29.19): - resolution: {integrity: sha512-LfcasTosdnI9K66HTP0Rk72Ypza3tCgrcF9bc2qFlKsBleYOYo8bz7/GiiOHj1SQH4GRQlKB+P4+/it+qlJg4g==} - peerDependencies: - '@tanstack/react-query': 4.29.19 - dependencies: - '@tanstack/query-persist-client-core': 4.29.19 - '@tanstack/react-query': 4.29.19(react-dom@18.2.0)(react@18.2.0) - dev: false - /@tanstack/react-query@4.29.19(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XiTIOHHQ5Cw1WUlHaD4fmVUMhoWjuNJlAeJGq7eM4BraI5z7y8WkZO+NR8PSuRnQGblpuVdjClQbDFtwxTtTUw==} peerDependencies: @@ -1520,7 +1493,7 @@ packages: optional: true dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.6 '@babel/traverse': 7.17.3 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 @@ -1564,8 +1537,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: false - /@types/node@18.16.18: - resolution: {integrity: sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==} + /@types/node@18.16.19: + resolution: {integrity: sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==} dev: true /@types/normalize-package-data@2.4.1: @@ -1725,7 +1698,7 @@ packages: vite: ^4 dependencies: '@swc/core': 1.3.67 - vite: 4.3.9(@types/node@18.16.18) + vite: 4.3.9(@types/node@18.16.19) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -1930,7 +1903,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001509 + caniuse-lite: 1.0.30001512 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1988,8 +1961,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001509 - electron-to-chromium: 1.4.446 + caniuse-lite: 1.0.30001512 + electron-to-chromium: 1.4.450 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: true @@ -2049,8 +2022,8 @@ packages: engines: {node: '>=6'} dev: false - /caniuse-lite@1.0.30001509: - resolution: {integrity: sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==} + /caniuse-lite@1.0.30001512: + resolution: {integrity: sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==} dev: true /chalk@2.4.2: @@ -2276,8 +2249,8 @@ packages: engines: {node: '>= 12'} dev: false - /dayjs@1.11.8: - resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} + /dayjs@1.11.9: + resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} dev: false /debug@2.6.9: @@ -2429,8 +2402,8 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /electron-to-chromium@1.4.446: - resolution: {integrity: sha512-4Gnw7ztEQ/E0eOt5JWfPn9jjeupfUlKoeW5ETKP9nLdWj+4spFoS3Stj19fqlKIaX28UQs0fNX+uKEyoLCBnkw==} + /electron-to-chromium@1.4.450: + resolution: {integrity: sha512-BLG5HxSELlrMx7dJ2s+8SFlsCtJp37Zpk2VAxyC6CZtbc+9AJeZHfYHbrlSgdXp6saQ8StMqOTEDaBKgA7u1sw==} dev: true /emoji-regex@8.0.0: @@ -2695,7 +2668,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 aria-query: 5.3.0 array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 @@ -2888,8 +2861,8 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.0: + resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2978,8 +2951,8 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /framer-motion@10.12.17(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-IR+aAYntsyu6ofyxqQV4QYotmOqzcuKxhqNpfc3DXJjNWOPpOeSyH0A+In3IEBu49Yx/+PNht+YMeZSdCNaYbw==} + /framer-motion@10.12.18(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cfhiUpPbj+0eEWKjuD+5cz5cMqH71xOtMxGiS/cSGfHn2OlHIEAqFnFyzEMENw5PxWR9bMVhatzzpD6lexmHZQ==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -3154,7 +3127,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.0 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -3531,14 +3504,14 @@ packages: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} dev: true - /jest-diff@29.5.0: - resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} + /jest-diff@29.6.0: + resolution: {integrity: sha512-ZRm7cd2m9YyZ0N3iMyuo1iUiprxQ/MFpYWXzEEj7hjzL3WnDffKW8192XBDcrAI8j7hnrM1wed3bL/oEnYF/8w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.4.3 jest-get-type: 29.4.3 - pretty-format: 29.5.0 + pretty-format: 29.6.0 dev: false /jest-get-type@29.4.3: @@ -3546,8 +3519,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: false - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + /jiti@1.19.1: + resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true dev: true @@ -4510,11 +4483,11 @@ packages: hasBin: true dev: true - /pretty-format@29.5.0: - resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} + /pretty-format@29.6.0: + resolution: {integrity: sha512-XH+D4n7Ey0iSR6PdAnBs99cWMZdGsdKrR33iUHQNr79w1szKTCIZDVdXuccAsHVwDBp0XeWPfNEoaxP9EZgRmQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.4.3 + '@jest/schemas': 29.6.0 ansi-styles: 5.2.0 react-is: 18.2.0 dev: false @@ -4580,8 +4553,8 @@ packages: react: 18.2.0 dev: false - /react-hotkeys-hook@4.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wOaCWLwgT/f895CMJrR9hmzVf+gfL8IpjWDXWXKngBp9i6Xqzf0tvLv4VI8l3Vlsg/cc4C/Iik3Ck76L/Hj0tw==} + /react-hotkeys-hook@4.4.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sClBMBioFEgFGYLTWWRKvhxcCx1DRznd+wkFHwQZspnRBkHTgruKIHptlK/U/2DPX8BhHoRGzpMVWUXMmdZlmw==} peerDependencies: react: '>=16.8.1' react-dom: '>=16.8.1' @@ -4645,26 +4618,26 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.14)(react@18.2.0) dev: false - /react-router-dom@6.14.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YEwlApKwzMMMbGbhh+Q7MsloTldcwMgHxUY/1g0uA62+B1hZo2jsybCWIDCL8zvIDB1FA0pBKY9chHbZHt+2dQ==} + /react-router-dom@6.14.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ssF6M5UkQjHK70fgukCJyjlda0Dgono2QGwqGvuk7D+EDGHdacEN3Yke2LTMjkrpHuFwBfDFsEjGVXBDmL+bWw==} engines: {node: '>=14'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.7.0 + '@remix-run/router': 1.7.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.14.0(react@18.2.0) + react-router: 6.14.1(react@18.2.0) dev: false - /react-router@6.14.0(react@18.2.0): - resolution: {integrity: sha512-OD+vkrcGbvlwkspUFDgMzsu1RXwdjNh83YgG/28lBnDzgslhCgxIqoExLlxsfTpIygp7fc+Hd3esloNwzkm2xA==} + /react-router@6.14.1(react@18.2.0): + resolution: {integrity: sha512-U4PfgvG55LdvbQjg5Y9QRWyVxIdO1LlpYT7x+tMAxd9/vmiPuJhIwdxZuIQLN/9e3O4KFDHYfR9gzGeYMasW8g==} engines: {node: '>=14'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.7.0 + '@remix-run/router': 1.7.1 react: 18.2.0 dev: false @@ -5229,10 +5202,10 @@ packages: chokidar: 3.5.3 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.12 + fast-glob: 3.3.0 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.18.2 + jiti: 1.19.1 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -5346,7 +5319,7 @@ packages: '@tsd/typescript': 5.0.4 eslint-formatter-pretty: 4.1.0 globby: 11.1.0 - jest-diff: 29.5.0 + jest-diff: 29.6.0 meow: 9.0.0 path-exists: 4.0.0 read-pkg-up: 7.0.1 @@ -5559,7 +5532,7 @@ packages: '@rollup/plugin-virtual': 3.0.1 '@swc/core': 1.3.67 uuid: 9.0.0 - vite: 4.3.9(@types/node@18.16.18) + vite: 4.3.9(@types/node@18.16.19) transitivePeerDependencies: - '@swc/helpers' - rollup @@ -5576,13 +5549,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.1(typescript@4.9.5) - vite: 4.3.9(@types/node@18.16.18) + vite: 4.3.9(@types/node@18.16.19) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.3.9(@types/node@18.16.18): + /vite@4.3.9(@types/node@18.16.19): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5607,7 +5580,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.18 + '@types/node': 18.16.19 esbuild: 0.17.19 postcss: 8.4.24 rollup: 3.26.0 @@ -5734,8 +5707,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zustand@4.3.8(immer@10.0.2)(react@18.2.0): - resolution: {integrity: sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg==} + /zustand@4.3.9(immer@10.0.2)(react@18.2.0): + resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} engines: {node: '>=12.7.0'} peerDependencies: immer: '>=9.0' diff --git a/src/app/chat/components/list.tsx b/src/app/chat/components/list.tsx index 4d7f236d..ee53e31e 100644 --- a/src/app/chat/components/list.tsx +++ b/src/app/chat/components/list.tsx @@ -4,30 +4,23 @@ import { ChatsListItem } from '@app/chat/components/item'; import { NewMessageModal } from '@app/chat/components/modal'; import { ChatsListSelfItem } from '@app/chat/components/self'; -import { getChatsByPubkey } from '@libs/storage'; +import { getChats } from '@libs/storage'; import { useAccount } from '@utils/hooks/useAccount'; export function ChatsList() { const { account } = useAccount(); - const { status, data: chats, isFetching, - } = useQuery( - ['chats'], - async () => { - const chats = await getChatsByPubkey(account.pubkey); - const sorted = chats.sort( - (a, b) => parseInt(a.new_messages) - parseInt(b.new_messages) - ); - return sorted; - }, - { - enabled: account ? true : false, - } - ); + } = useQuery(['chats'], async () => { + const chats = await getChats(); + const sorted = chats.sort( + (a, b) => parseInt(a.new_messages) - parseInt(b.new_messages) + ); + return sorted; + }); if (status === 'loading') { return ( diff --git a/src/app/root.tsx b/src/app/root.tsx index 1fbd772f..3d6e22af 100644 --- a/src/app/root.tsx +++ b/src/app/root.tsx @@ -66,6 +66,33 @@ export function Root() { } } + async function fetchUsersProfile() { + const authors = []; + + users.forEach((user) => { + if (user.sender_pubkey) { + authors.push(user.sender_pubkey); + } else { + authors.push(user.pubkey); + } + }); + + const filter: NDKFilter = { + authors: authors, + kinds: [0], + }; + + const events = await ndk.fetchEvents(filter); + + events.forEach((event: NDKEvent) => { + const profile = JSON.parse(event.content); + profile['image'] = profile.picture; + queryClient.setQueryData(['user', event.pubkey], profile); + }); + + return true; + } + async function fetchChats() { try { const sendFilter: NDKFilter = { @@ -101,34 +128,6 @@ export function Root() { } } - async function fetchUsersProfile() { - const authors = []; - - users.forEach((user) => { - if (user.sender_pubkey) { - authors.push(user.sender_pubkey); - } else { - authors.push(user.pubkey); - } - }); - - const filter: NDKFilter = { - authors: authors, - kinds: [0], - }; - - const events = await ndk.fetchEvents(filter); - console.log('authors', events); - - events.forEach((event: NDKEvent) => { - const profile = JSON.parse(event.content); - profile['image'] = profile.picture; - queryClient.setQueryData(['user', event.pubkey], profile); - }); - - return true; - } - /* async function fetchChannelMessages() { try { @@ -172,15 +171,12 @@ export function Root() { useEffect(() => { async function prefetch() { const notes = await fetchNotes(); - if (notes) { - const chats = await fetchChats(); - const users = await fetchUsersProfile(); - // const channels = await fetchChannelMessages(); - if (chats && users) { - const now = Math.floor(Date.now() / 1000); - await updateLastLogin(now); - navigate('/app/space', { replace: true }); - } + const chats = await fetchChats(); + const users = await fetchUsersProfile(); + if (notes && users && chats) { + const now = Math.floor(Date.now() / 1000); + await updateLastLogin(now); + navigate('/app/space', { replace: true }); } } diff --git a/src/libs/storage.tsx b/src/libs/storage.tsx index b7cdd14c..8262f398 100644 --- a/src/libs/storage.tsx +++ b/src/libs/storage.tsx @@ -269,10 +269,11 @@ export async function getChannelUsers(channel_id: string) { } // get all chats by pubkey -export async function getChatsByPubkey(pubkey: string) { +export async function getChats() { const db = await connect(); + const account = await getActiveAccount(); const result: any = await db.select( - `SELECT DISTINCT sender_pubkey FROM chats WHERE receiver_pubkey = "${pubkey}" ORDER BY created_at DESC;` + `SELECT DISTINCT sender_pubkey FROM chats WHERE receiver_pubkey = "${account.pubkey}" ORDER BY created_at DESC;` ); const newArr: any = result.map((v) => ({ ...v, new_messages: 0 })); return newArr; diff --git a/src/main.tsx b/src/main.tsx index c945adab..fa83da6f 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,7 +1,5 @@ -import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister'; -import { QueryClient } from '@tanstack/react-query'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { PersistQueryClientProvider } from '@tanstack/react-query-persist-client'; import { createRoot } from 'react-dom/client'; import { getSetting } from '@libs/storage'; @@ -20,18 +18,14 @@ const queryClient = new QueryClient({ }, }); -const persister = createSyncStoragePersister({ - storage: window.localStorage, -}); - const container = document.getElementById('root'); const root = createRoot(container); root.render( - + - + );