improve relay connection

This commit is contained in:
reya 2023-11-30 18:19:24 +07:00
parent 5318f6c4cb
commit 092cf49227
4 changed files with 19 additions and 15 deletions

View File

@ -0,0 +1,5 @@
ALTER TABLE accounts DROP COLUMN follows;
ALTER TABLE accounts DROP COLUMN circles;
ALTER TABLE accounts DROP COLUMN last_login_at;
DROP TABLE IF EXISTS events;
DROP TABLE IF EXISTS relays;

View File

@ -115,7 +115,6 @@ fn main() {
.plugin(tauri_plugin_updater::Builder::new().build())?; .plugin(tauri_plugin_updater::Builder::new().build())?;
Ok(()) Ok(())
}) })
.plugin(ThemePlugin::init(ctx.config_mut()))
.plugin( .plugin(
tauri_plugin_sql::Builder::default() tauri_plugin_sql::Builder::default()
.add_migrations( .add_migrations(
@ -133,10 +132,17 @@ fn main() {
sql: include_str!("../migrations/20231028083224_add_ndk_cache_table.sql"), sql: include_str!("../migrations/20231028083224_add_ndk_cache_table.sql"),
kind: MigrationKind::Up, kind: MigrationKind::Up,
}, },
Migration {
version: 20231130105202,
description: "clean up table",
sql: include_str!("../migrations/20231130105202_clean_up_table.sql"),
kind: MigrationKind::Up,
},
], ],
) )
.build(), .build(),
) )
.plugin(ThemePlugin::init(ctx.config_mut()))
.plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_fs::init()) .plugin(tauri_plugin_fs::init())

View File

@ -8,7 +8,7 @@ import { ndkAdapter } from '@nostr-fetch/adapter-ndk';
import { useQueryClient } from '@tanstack/react-query'; import { useQueryClient } from '@tanstack/react-query';
import { ask } from '@tauri-apps/plugin-dialog'; import { ask } from '@tauri-apps/plugin-dialog';
import { relaunch } from '@tauri-apps/plugin-process'; import { relaunch } from '@tauri-apps/plugin-process';
import { NostrFetcher } from 'nostr-fetch'; import { NostrFetcher, normalizeRelayUrlSet } from 'nostr-fetch';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import NDKCacheAdapterTauri from '@libs/ndk/cache'; import NDKCacheAdapterTauri from '@libs/ndk/cache';
@ -51,7 +51,12 @@ export const NDKInstance = () => {
const outbox = !!parseInt(outboxSetting); const outbox = !!parseInt(outboxSetting);
const signer = await getSigner(bunker); const signer = await getSigner(bunker);
const explicitRelayUrls = await db.getExplicitRelayUrls(); const explicitRelayUrls = normalizeRelayUrlSet([
'wss://relay.damus.io',
'wss://relay.nostr.band',
'wss://nos.lol',
'wss://nostr.mutinywallet.com',
]);
const tauriAdapter = new NDKCacheAdapterTauri(db); const tauriAdapter = new NDKCacheAdapterTauri(db);
const instance = new NDK({ const instance = new NDK({

View File

@ -3,7 +3,6 @@ import { invoke } from '@tauri-apps/api/primitives';
import { Platform } from '@tauri-apps/plugin-os'; import { Platform } from '@tauri-apps/plugin-os';
import Database from '@tauri-apps/plugin-sql'; import Database from '@tauri-apps/plugin-sql';
import { FULL_RELAYS } from '@utils/constants';
import { rawEvent } from '@utils/transform'; import { rawEvent } from '@utils/transform';
import type { import type {
Account, Account,
@ -399,17 +398,6 @@ export class LumeStorage {
return results.length < 1; return results.length < 1;
} }
public async getExplicitRelayUrls() {
if (!this.account) return FULL_RELAYS;
const result: Relays[] = await this.db.select(
`SELECT * FROM relays WHERE account_id = "${this.account.id}" ORDER BY id DESC LIMIT 50;`
);
if (!result || !result.length) return FULL_RELAYS;
return result.map((el) => el.relay);
}
public async createRelay(relay: string, purpose?: string) { public async createRelay(relay: string, purpose?: string) {
const existRelays: Relays[] = await this.db.select( const existRelays: Relays[] = await this.db.select(
'SELECT * FROM relays WHERE relay = $1 AND account_id = $2 ORDER BY id DESC LIMIT 1;', 'SELECT * FROM relays WHERE relay = $1 AND account_id = $2 ORDER BY id DESC LIMIT 1;',