feat: upgrade to rust nostr 0.30.0 and migrate to nostrdb

This commit is contained in:
reya 2024-04-13 08:53:31 +07:00
parent a14aeaeb55
commit 89f577fbef
6 changed files with 283 additions and 277 deletions

1
.gitignore vendored
View File

@ -35,3 +35,4 @@ dist/
.DS_Store
*.pem
.vscode/
ndb/

View File

@ -4,7 +4,6 @@ import { LoaderIcon } from "@lume/icons";
import { Event, Kind } from "@lume/types";
import { Await, createFileRoute } from "@tanstack/react-router";
import { Virtualizer } from "virtua";
import { fetch } from "@tauri-apps/plugin-http";
import { defer } from "@tanstack/react-router";
import { Suspense } from "react";
@ -51,7 +50,7 @@ export function Screen() {
className="inline-flex items-center gap-2 text-sm font-medium"
disabled
>
<LoaderIcon className="size-5" />
<LoaderIcon className="animate-spin size-5" />
Loading...
</button>
</div>

548
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ rust-version = "1.68"
tauri-build = { version = "2.0.0-beta", features = [] }
[dependencies]
nostr-sdk = { version = "0.29", features = ["sqlite"] }
nostr-sdk = { version = "0.30", features = ["ndb"] }
tokio = { version = "1", features = ["full"] }
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }

View File

@ -44,10 +44,10 @@ fn main() {
tauri::async_runtime::spawn(async move {
// Create nostr database connection
let sqlite = SQLiteDatabase::open(home_dir.join("Lume/lume.db")).await;
let ndb = NdbDatabase::open("./ndb");
// Create nostr connection
let client = match sqlite {
let client = match ndb {
Ok(db) => ClientBuilder::default().database(db).build(),
Err(_) => ClientBuilder::default().build(),
};

View File

@ -226,7 +226,7 @@ pub async fn publish(
state: State<'_, Nostr>,
) -> Result<String, String> {
let client = &state.client;
let final_tags = tags.into_iter().map(|val| Tag::parse(val).unwrap());
let final_tags = tags.into_iter().map(|val| Tag::parse(&val).unwrap());
if let Ok(event_id) = client.publish_text_note(content, final_tags).await {
Ok(event_id.to_bech32().unwrap())