From c71bfb3f6dc2011b28140761223f7ae6977c0d6e Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Fri, 6 Oct 2023 09:08:37 +0700 Subject: [PATCH] wip: fully migrate to tauri v2 --- package.json | 11 +-- pnpm-lock.yaml | 126 ++++++++--------------------- src-tauri/Cargo.toml | 6 +- src-tauri/src/main.rs | 4 +- src/app.tsx | 2 +- src/app/auth/create/step-2.tsx | 2 +- src/app/auth/import/step-2.tsx | 2 +- src/app/auth/migrate.tsx | 2 +- src/app/auth/reset.tsx | 2 +- src/app/auth/unlock.tsx | 2 +- src/app/splash.tsx | 2 +- src/app/users/components/modal.tsx | 5 +- src/libs/ndk/cache.ts | 54 ------------- src/libs/ndk/instance.ts | 1 - src/libs/storage/instance.ts | 4 +- src/libs/storage/provider.tsx | 2 +- src/shared/nip05.tsx | 3 +- src/shared/notes/preview/image.tsx | 2 +- src/utils/hooks/useNostr.ts | 19 ++--- src/utils/hooks/useOpenGraph.ts | 2 +- src/utils/types.d.ts | 2 +- 21 files changed, 62 insertions(+), 193 deletions(-) delete mode 100644 src/libs/ndk/cache.ts diff --git a/package.json b/package.json index a05352dd..c91e5a98 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "**/*.{ts, tsx, css, md, html, json}": "prettier --cache --write" }, "dependencies": { - "@dnd-kit/core": "^6.0.8", "@fontsource-variable/inter": "^5.0.12", "@getalby/sdk": "^2.4.0", "@nostr-dev-kit/ndk": "^1.3.1", @@ -33,9 +32,8 @@ "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-tooltip": "^1.0.7", "@tanstack/react-query": "^4.35.7", - "@tauri-apps/api": "^1.5.0", + "@tauri-apps/api": "2.0.0-alpha.8", "@tauri-apps/plugin-app": "2.0.0-alpha.1", - "@tauri-apps/plugin-cli": "2.0.0-alpha.1", "@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.1", "@tauri-apps/plugin-dialog": "2.0.0-alpha.1", "@tauri-apps/plugin-fs": "2.0.0-alpha.1", @@ -44,7 +42,10 @@ "@tauri-apps/plugin-os": "2.0.0-alpha.2", "@tauri-apps/plugin-process": "2.0.0-alpha.1", "@tauri-apps/plugin-shell": "2.0.0-alpha.1", + "@tauri-apps/plugin-sql": "2.0.0-alpha.1", + "@tauri-apps/plugin-stronghold": "2.0.0-alpha.2", "@tauri-apps/plugin-updater": "2.0.0-alpha.1", + "@tauri-apps/plugin-upload": "2.0.0-alpha.1", "@tauri-apps/plugin-window": "2.0.0-alpha.1", "@tiptap/extension-image": "^2.1.11", "@tiptap/extension-mention": "^2.1.11", @@ -72,10 +73,6 @@ "react-router-dom": "^6.16.0", "reactflow": "^11.9.2", "remark-gfm": "^3.0.1", - "tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql#v1", - "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#v1", - "tauri-plugin-stronghold-api": "github:tauri-apps/tauri-plugin-stronghold#v1", - "tauri-plugin-upload-api": "github:tauri-apps/tauri-plugin-upload#v1", "tippy.js": "^6.3.7", "virtua": "^0.9.1", "zustand": "^4.4.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 839f1b91..f45141d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,6 @@ settings: excludeLinksFromLockfile: false dependencies: - '@dnd-kit/core': - specifier: ^6.0.8 - version: 6.0.8(react-dom@18.2.0)(react@18.2.0) '@fontsource-variable/inter': specifier: ^5.0.12 version: 5.0.12 @@ -51,14 +48,11 @@ dependencies: specifier: ^4.35.7 version: 4.35.7(react-dom@18.2.0)(react@18.2.0) '@tauri-apps/api': - specifier: ^1.5.0 - version: 1.5.0 + specifier: 2.0.0-alpha.8 + version: 2.0.0-alpha.8 '@tauri-apps/plugin-app': specifier: 2.0.0-alpha.1 version: 2.0.0-alpha.1 - '@tauri-apps/plugin-cli': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 '@tauri-apps/plugin-clipboard-manager': specifier: 2.0.0-alpha.1 version: 2.0.0-alpha.1 @@ -83,9 +77,18 @@ dependencies: '@tauri-apps/plugin-shell': specifier: 2.0.0-alpha.1 version: 2.0.0-alpha.1 + '@tauri-apps/plugin-sql': + specifier: 2.0.0-alpha.1 + version: 2.0.0-alpha.1 + '@tauri-apps/plugin-stronghold': + specifier: 2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tauri-apps/plugin-updater': specifier: 2.0.0-alpha.1 version: 2.0.0-alpha.1 + '@tauri-apps/plugin-upload': + specifier: 2.0.0-alpha.1 + version: 2.0.0-alpha.1 '@tauri-apps/plugin-window': specifier: 2.0.0-alpha.1 version: 2.0.0-alpha.1 @@ -167,18 +170,6 @@ dependencies: remark-gfm: specifier: ^3.0.1 version: 3.0.1 - tauri-plugin-sql-api: - specifier: github:tauri-apps/tauri-plugin-sql#v1 - version: github.com/tauri-apps/tauri-plugin-sql/1c79471feb06366fe1c11cb1cb6c67bcdb80c215 - tauri-plugin-store-api: - specifier: github:tauri-apps/tauri-plugin-store#v1 - version: github.com/tauri-apps/tauri-plugin-store/1a741b721ed1eae0de0d811ecfe86fc6ad54fb73 - tauri-plugin-stronghold-api: - specifier: github:tauri-apps/tauri-plugin-stronghold#v1 - version: github.com/tauri-apps/tauri-plugin-stronghold/d87b778f48ee12435efcf3f82d2e5efbb9541759 - tauri-plugin-upload-api: - specifier: github:tauri-apps/tauri-plugin-upload#v1 - version: github.com/tauri-apps/tauri-plugin-upload/5348082f7436b01f0b5c08d6ddfc4f760abbac7e tippy.js: specifier: ^6.3.7 version: 6.3.7 @@ -420,37 +411,6 @@ packages: to-fast-properties: 2.0.0 dev: true - /@dnd-kit/accessibility@3.0.1(react@18.2.0): - resolution: {integrity: sha512-HXRrwS9YUYQO9lFRc/49uO/VICbM+O+ZRpFDe9Pd1rwVv2PCNkRiTZRdxrDgng/UkvdC3Re9r2vwPpXXrWeFzg==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - tslib: 2.6.2 - dev: false - - /@dnd-kit/core@6.0.8(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lYaoP8yHTQSLlZe6Rr9qogouGUz9oRUj4AHhDQGQzq/hqaJRpFo65X+JKsdHf8oUFBzx5A+SJPUvxAwTF2OabA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@dnd-kit/accessibility': 3.0.1(react@18.2.0) - '@dnd-kit/utilities': 3.2.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tslib: 2.6.2 - dev: false - - /@dnd-kit/utilities@3.2.1(react@18.2.0): - resolution: {integrity: sha512-OOXqISfvBw/1REtkSK2N3Fi2EQiLMlWUlqnOK/UpOISqBZPWpE6TqL+jcPtMOkE8TqYGiURvRdPSI9hltNUjEA==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - tslib: 2.6.2 - dev: false - /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1932,13 +1892,13 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tauri-apps/api@1.5.0: - resolution: {integrity: sha512-yQY9wpVNuiYhLLuyDlu1nBpqJELT1fGp7OctN4rW9I2W1T2p7A3tqPxsEzQprEwneQRBAlPM9vC8NsnMbct+pg==} + /@tauri-apps/api@2.0.0-alpha.6: + resolution: {integrity: sha512-ZMOc3eu9amwvkC6M69h3hWt4/EsFaAXmtkiw4xd2LN59/lTb4ZQiVfq2QKlRcu1rj3n/Tcr7U30ZopvHwXBGIg==} engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false - /@tauri-apps/api@2.0.0-alpha.6: - resolution: {integrity: sha512-ZMOc3eu9amwvkC6M69h3hWt4/EsFaAXmtkiw4xd2LN59/lTb4ZQiVfq2QKlRcu1rj3n/Tcr7U30ZopvHwXBGIg==} + /@tauri-apps/api@2.0.0-alpha.8: + resolution: {integrity: sha512-3hZ+7EzUA11KN+O/Y4KgmjR+ldhXLdNllkw//hv/AaNsktEopCRBuKfVRLzVK3yov+Z+GzgxqFlwgJ1v6g1iKw==} engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false @@ -2055,12 +2015,6 @@ packages: '@tauri-apps/api': 2.0.0-alpha.6 dev: false - /@tauri-apps/plugin-cli@2.0.0-alpha.1: - resolution: {integrity: sha512-CsEGByU9btlLWgo2WGsWnvMFHY7za+K5tAcCo5c6xgyOGplx+PrN63ZDxVvF686ZpjxtItoRra8lesqXHToGMg==} - dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 - dev: false - /@tauri-apps/plugin-clipboard-manager@2.0.0-alpha.1: resolution: {integrity: sha512-zXybHu31RCx58ZGU7/kUHcvoXW2AX6kBXBZsKHv4rYe7Z869WmDLDC7iU23/dAJLu7xAPTJzJ/HbeMfbrfJ4hg==} dependencies: @@ -2109,12 +2063,30 @@ packages: '@tauri-apps/api': 2.0.0-alpha.6 dev: false + /@tauri-apps/plugin-sql@2.0.0-alpha.1: + resolution: {integrity: sha512-HzFjcISMnkYR4lSOEAvtOUUT/YIMU2mz+oVGdVzVYAM5gzt8Xmooapp66UCJ/ugTlpd0angSkqfRgU3eQVS7Mg==} + dependencies: + '@tauri-apps/api': 2.0.0-alpha.6 + dev: false + + /@tauri-apps/plugin-stronghold@2.0.0-alpha.2: + resolution: {integrity: sha512-G01gRHjD1QCNn2EK/hgHJYy0tFEfjuKpU104JOgeYVEbkJX7G92hjxfyLqe++LoihPF/sUa6VHEUVVXBsRa71Q==} + dependencies: + '@tauri-apps/api': 2.0.0-alpha.6 + dev: false + /@tauri-apps/plugin-updater@2.0.0-alpha.1: resolution: {integrity: sha512-rJoVc/N8gg1MkUOFZdx5h39V47elddwnOjs0sAPhaGfwct7okmFMRnXpN/MwHoprTkK2+6EDLOvhf0jFMiy4JA==} dependencies: '@tauri-apps/api': 2.0.0-alpha.6 dev: false + /@tauri-apps/plugin-upload@2.0.0-alpha.1: + resolution: {integrity: sha512-MSQesuCrQqPJtn1kbO428sz2M2q+G/jrOV2J3nxVrxUkISQvn2vK/vmMZ8e3p/dT5hdzs10Xz6KC9GZ67BCMVg==} + dependencies: + '@tauri-apps/api': 2.0.0-alpha.6 + dev: false + /@tauri-apps/plugin-window@2.0.0-alpha.1: resolution: {integrity: sha512-dFOAgal/3Txz3SQ+LNQq0AK1EPC+acdaFlwPVB/6KXUZYmaFleIlzgxDVoJCQ+/xOhxvYrdQaFLefh0I/Kldbg==} dependencies: @@ -6810,35 +6782,3 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: false - - github.com/tauri-apps/tauri-plugin-sql/1c79471feb06366fe1c11cb1cb6c67bcdb80c215: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-sql/tar.gz/1c79471feb06366fe1c11cb1cb6c67bcdb80c215} - name: tauri-plugin-sql-api - version: 0.0.0 - dependencies: - '@tauri-apps/api': 1.5.0 - dev: false - - github.com/tauri-apps/tauri-plugin-store/1a741b721ed1eae0de0d811ecfe86fc6ad54fb73: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-store/tar.gz/1a741b721ed1eae0de0d811ecfe86fc6ad54fb73} - name: tauri-plugin-store-api - version: 0.0.0 - dependencies: - '@tauri-apps/api': 1.5.0 - dev: false - - github.com/tauri-apps/tauri-plugin-stronghold/d87b778f48ee12435efcf3f82d2e5efbb9541759: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-stronghold/tar.gz/d87b778f48ee12435efcf3f82d2e5efbb9541759} - name: tauri-plugin-stronghold-api - version: 0.0.0 - dependencies: - '@tauri-apps/api': 1.5.0 - dev: false - - github.com/tauri-apps/tauri-plugin-upload/5348082f7436b01f0b5c08d6ddfc4f760abbac7e: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-upload/tar.gz/5348082f7436b01f0b5c08d6ddfc4f760abbac7e} - name: tauri-plugin-upload-api - version: 0.0.0 - dependencies: - '@tauri-apps/api': 1.5.0 - dev: false diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index e5a867b0..b4798f9e 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -32,14 +32,14 @@ tauri-plugin-process = { git = "https://github.com/tauri-apps/plugins-workspace" tauri-plugin-shell = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-updater = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-window = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } -tauri-plugin-sql = { git = "hhttps://github.com/tauri-apps/plugins-workspace", branch = "v2", features = [ - "sqlite", -] } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-autostart = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-stronghold = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-upload = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } +tauri-plugin-sql = { git = "hhttps://github.com/tauri-apps/plugins-workspace", branch = "v2", features = [ + "sqlite", +] } sqlx-cli = { version = "0.7.0", default-features = false, features = [ "sqlite", ] } diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 46b02ea8..47a98ee7 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -12,8 +12,6 @@ use tauri::{Manager, WindowEvent}; use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_sql::{Migration, MigrationKind}; use webpage::{Webpage, WebpageOptions}; -use window_vibrancy::{apply_mica, apply_vibrancy, NSVisualEffectMaterial}; -use window_shadows::set_shadow; #[cfg(target_os = "macos")] use traffic_light::TrafficLight; @@ -120,7 +118,6 @@ fn main() { } }) .plugin(tauri_plugin_app::init()) - .plugin(tauri_plugin_cli::init()) .plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_fs::init()) @@ -129,6 +126,7 @@ fn main() { .plugin(tauri_plugin_os::init()) .plugin(tauri_plugin_process::init()) .plugin(tauri_plugin_shell::init()) + .plugin(tauri_plugin_upload::init()) .plugin(tauri_plugin_updater::Builder::new().build()) .plugin(tauri_plugin_window::init()) .plugin( diff --git a/src/app.tsx b/src/app.tsx index e9a00163..023242a9 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -59,7 +59,7 @@ export default function App() { headers: { Accept: 'application/nostr+json', }, - }).then((res) => res.data), + }).then((res) => res.json()), }); }; diff --git a/src/app/auth/create/step-2.tsx b/src/app/auth/create/step-2.tsx index 84e5dfab..18b767f9 100644 --- a/src/app/auth/create/step-2.tsx +++ b/src/app/auth/create/step-2.tsx @@ -1,8 +1,8 @@ import { appConfigDir } from '@tauri-apps/api/path'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { useEffect, useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; import { useStorage } from '@libs/storage/provider'; diff --git a/src/app/auth/import/step-2.tsx b/src/app/auth/import/step-2.tsx index 42da6e81..e93f1f5b 100644 --- a/src/app/auth/import/step-2.tsx +++ b/src/app/auth/import/step-2.tsx @@ -1,8 +1,8 @@ import { appConfigDir } from '@tauri-apps/api/path'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { useEffect, useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; import { useStorage } from '@libs/storage/provider'; diff --git a/src/app/auth/migrate.tsx b/src/app/auth/migrate.tsx index dd9b6c77..17378247 100644 --- a/src/app/auth/migrate.tsx +++ b/src/app/auth/migrate.tsx @@ -1,9 +1,9 @@ import { useQueryClient } from '@tanstack/react-query'; import { appConfigDir } from '@tauri-apps/api/path'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; import { useStorage } from '@libs/storage/provider'; diff --git a/src/app/auth/reset.tsx b/src/app/auth/reset.tsx index 63bef717..ecef82fb 100644 --- a/src/app/auth/reset.tsx +++ b/src/app/auth/reset.tsx @@ -1,9 +1,9 @@ import { appConfigDir } from '@tauri-apps/api/path'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { getPublicKey, nip19 } from 'nostr-tools'; import { useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { Link, useNavigate } from 'react-router-dom'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; import { useStorage } from '@libs/storage/provider'; diff --git a/src/app/auth/unlock.tsx b/src/app/auth/unlock.tsx index e4aa8d7d..616a3e2d 100644 --- a/src/app/auth/unlock.tsx +++ b/src/app/auth/unlock.tsx @@ -1,8 +1,8 @@ import { appConfigDir } from '@tauri-apps/api/path'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { Link, useNavigate } from 'react-router-dom'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; import { useStorage } from '@libs/storage/provider'; diff --git a/src/app/splash.tsx b/src/app/splash.tsx index 3ce34a56..7909d697 100644 --- a/src/app/splash.tsx +++ b/src/app/splash.tsx @@ -1,5 +1,5 @@ +import { invoke } from '@tauri-apps/api'; import { message } from '@tauri-apps/plugin-dialog'; -import { invoke } from '@tauri-apps/api/tauri'; import { useEffect } from 'react'; import { useNDK } from '@libs/ndk/provider'; diff --git a/src/app/users/components/modal.tsx b/src/app/users/components/modal.tsx index cb17d6ed..1f5ce126 100644 --- a/src/app/users/components/modal.tsx +++ b/src/app/users/components/modal.tsx @@ -60,7 +60,6 @@ export function EditProfileModal() { const res = await fetch(verifyURL, { method: 'GET', - timeout: 10, headers: { 'Content-Type': 'application/json; charset=utf-8', }, @@ -68,7 +67,7 @@ export function EditProfileModal() { if (!res.ok) throw new Error(`Failed to fetch NIP-05 service: ${nip05}`); - const data = res.data as NIP05; + const data: NIP05 = await res.json(); if (data.names) { if (data.names[localPath] !== db.account.pubkey) return false; return true; @@ -144,7 +143,7 @@ export function EditProfileModal() { Edit profile - +
diff --git a/src/libs/ndk/cache.ts b/src/libs/ndk/cache.ts deleted file mode 100644 index beb5df39..00000000 --- a/src/libs/ndk/cache.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { NDKCacheAdapter } from '@nostr-dev-kit/ndk'; -import { NDKEvent, NDKSubscription } from '@nostr-dev-kit/ndk'; -import { Store } from 'tauri-plugin-store-api'; - -export default class TauriAdapter implements NDKCacheAdapter { - public store: Store; - readonly locking: boolean; - - constructor() { - this.store = new Store('.ndk_cache.dat'); - this.locking = true; - } - - public async query(subscription: NDKSubscription): Promise { - const { filter } = subscription; - - if (filter.authors && filter.kinds) { - const promises = []; - - for (const author of filter.authors) { - for (const kind of filter.kinds) { - const key = `${author}:${kind}`; - promises.push(this.store.get(key)); - } - } - - const results = await Promise.all(promises); - - for (const result of results) { - if (result) { - const ndkEvent = new NDKEvent(subscription.ndk, JSON.parse(result as string)); - subscription.eventReceived(ndkEvent, undefined, true); - } - } - } - } - - public async setEvent(event: NDKEvent): Promise { - const nostrEvent = await event.toNostrEvent(); - if (event.kind !== 3) { - const key = `${nostrEvent.pubkey}:${nostrEvent.kind}`; - - return new Promise((resolve) => { - Promise.all([this.store.set(key, JSON.stringify(nostrEvent))]).then(() => - resolve() - ); - }); - } - } - - public async saveCache(): Promise { - return await this.store.save(); - } -} diff --git a/src/libs/ndk/instance.ts b/src/libs/ndk/instance.ts index 0a1a605a..03382a52 100644 --- a/src/libs/ndk/instance.ts +++ b/src/libs/ndk/instance.ts @@ -30,7 +30,6 @@ export const NDKInstance = () => { try { const res = await fetch(`https://${url.hostname}`, { method: 'GET', - timeout: { secs: 5, nanos: 0 }, headers: { Accept: 'application/nostr+json', }, diff --git a/src/libs/storage/instance.ts b/src/libs/storage/instance.ts index deec5ff1..572fa0ae 100644 --- a/src/libs/storage/instance.ts +++ b/src/libs/storage/instance.ts @@ -1,8 +1,8 @@ import { NDKEvent } from '@nostr-dev-kit/ndk'; import { BaseDirectory, removeFile } from '@tauri-apps/plugin-fs'; import { Platform } from '@tauri-apps/plugin-os'; -import Database from 'tauri-plugin-sql-api'; -import { Stronghold } from 'tauri-plugin-stronghold-api'; +import Database from '@tauri-apps/plugin-sql'; +import { Stronghold } from '@tauri-apps/plugin-stronghold'; import { FULL_RELAYS } from '@stores/constants'; diff --git a/src/libs/storage/provider.tsx b/src/libs/storage/provider.tsx index aa2d961e..c4614089 100644 --- a/src/libs/storage/provider.tsx +++ b/src/libs/storage/provider.tsx @@ -1,7 +1,7 @@ import { message } from '@tauri-apps/plugin-dialog'; import { platform } from '@tauri-apps/plugin-os'; +import Database from '@tauri-apps/plugin-sql'; import { PropsWithChildren, createContext, useContext, useEffect, useState } from 'react'; -import Database from 'tauri-plugin-sql-api'; import { LumeStorage } from '@libs/storage/instance'; diff --git a/src/shared/nip05.tsx b/src/shared/nip05.tsx index da845d6d..9c664384 100644 --- a/src/shared/nip05.tsx +++ b/src/shared/nip05.tsx @@ -30,7 +30,6 @@ export const NIP05 = memo(function NIP05({ const res = await fetch(verifyURL, { method: 'GET', - timeout: 10, headers: { 'Content-Type': 'application/json; charset=utf-8', }, @@ -38,7 +37,7 @@ export const NIP05 = memo(function NIP05({ if (!res.ok) throw new Error(`Failed to fetch NIP-05 service: ${nip05}`); - const data = res.data as NIP05; + const data: NIP05 = await res.json(); if (data.names) { if (data.names[localPath] !== pubkey) return false; return true; diff --git a/src/shared/notes/preview/image.tsx b/src/shared/notes/preview/image.tsx index 31c1be25..9d9088ef 100644 --- a/src/shared/notes/preview/image.tsx +++ b/src/shared/notes/preview/image.tsx @@ -1,5 +1,5 @@ import { downloadDir } from '@tauri-apps/api/path'; -import { download } from 'tauri-plugin-upload-api'; +import { download } from '@tauri-apps/plugin-upload'; import { DownloadIcon } from '@shared/icons'; diff --git a/src/utils/hooks/useNostr.ts b/src/utils/hooks/useNostr.ts index a9012583..57602d24 100644 --- a/src/utils/hooks/useNostr.ts +++ b/src/utils/hooks/useNostr.ts @@ -7,7 +7,7 @@ import { NDKUser, } from '@nostr-dev-kit/ndk'; import { message, open } from '@tauri-apps/plugin-dialog'; -import { Body, fetch } from '@tauri-apps/plugin-http'; +import { fetch } from '@tauri-apps/plugin-http'; import { LRUCache } from 'lru-cache'; import { NostrEventExt } from 'nostr-fetch'; import { nip19 } from 'nostr-tools'; @@ -18,7 +18,6 @@ import { useStorage } from '@libs/storage/provider'; import { useStronghold } from '@stores/stronghold'; -import { createBlobFromFile } from '@utils/createBlobFromFile'; import { nHoursAgo } from '@utils/date'; import { getMultipleRandom } from '@utils/transform'; import { NDKEventWithReplies, NostrBuildResponse } from '@utils/types'; @@ -413,27 +412,19 @@ export function useNostr() { error: 'Cancelled', }; } else { - filepath = selected; + filepath = selected.path; } } - const filename = filepath.split('/').pop(); - const filetype = filename.split('.').pop(); + const formData = new FormData(); + formData.append('file', filepath); - const fileData = await createBlobFromFile(filepath); const res: NostrBuildResponse = await fetch( 'https://nostr.build/api/v2/upload/files', { method: 'POST', - timeout: 30, headers: { 'Content-Type': 'multipart/form-data' }, - body: Body.form({ - fileData: { - file: fileData, - mime: `image/${filetype}`, - fileName: filename, - }, - }), + body: formData, } ); diff --git a/src/utils/hooks/useOpenGraph.ts b/src/utils/hooks/useOpenGraph.ts index 9759ec80..320b94f4 100644 --- a/src/utils/hooks/useOpenGraph.ts +++ b/src/utils/hooks/useOpenGraph.ts @@ -1,5 +1,5 @@ import { useQuery } from '@tanstack/react-query'; -import { invoke } from '@tauri-apps/api/tauri'; +import { invoke } from '@tauri-apps/api'; import { Opengraph } from '@utils/types'; diff --git a/src/utils/types.d.ts b/src/utils/types.d.ts index e5262620..511aa6d8 100644 --- a/src/utils/types.d.ts +++ b/src/utils/types.d.ts @@ -94,7 +94,7 @@ export interface NDKEventWithReplies extends NDKEvent { export interface NostrBuildResponse extends Response { ok: boolean; - data: { + data?: { message: string; status: string; data: Array<{