diff --git a/package.json b/package.json index 40c89666..f36b456d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "typescript": "^5.2.2" }, "devDependencies": { - "@tauri-apps/cli": "^1.5.11", + "@tauri-apps/cli": "^1.5.14", "typedoc": "^0.25.7" } } diff --git a/packages/app/package.json b/packages/app/package.json index 325258a3..e0c41934 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -4,11 +4,11 @@ "dependencies": { "@cashu/cashu-ts": "^1.0.0-rc.3", "@here/maps-api-for-javascript": "^1.50.0", - "@noble/curves": "^1.0.0", - "@noble/hashes": "^1.3.3", - "@scure/base": "^1.1.1", - "@scure/bip32": "^1.3.0", - "@scure/bip39": "^1.1.1", + "@noble/curves": "^1.4.0", + "@noble/hashes": "^1.4.0", + "@scure/base": "^1.1.6", + "@scure/bip32": "^1.4.0", + "@scure/bip39": "^1.3.0", "@snort/shared": "workspace:*", "@snort/system": "workspace:*", "@snort/system-react": "workspace:*", @@ -16,7 +16,7 @@ "@snort/system-web": "workspace:*", "@snort/wallet": "workspace:*", "@snort/worker-relay": "workspace:*", - "@szhsin/react-menu": "^3.3.1", + "@szhsin/react-menu": "^3.5.3", "@uidotdev/usehooks": "^2.4.1", "@void-cat/api": "^1.0.12", "classnames": "^2.3.2", @@ -102,7 +102,7 @@ "@typescript-eslint/eslint-plugin": "^6.1.0", "@typescript-eslint/parser": "^6.1.0", "@vitejs/plugin-react": "^4.2.0", - "@webbtc/webln-types": "^2.1.0", + "@webbtc/webln-types": "^3.0.0", "@webscopeio/react-textarea-autocomplete": "^4.9.2", "@welldone-software/why-did-you-render": "^8.0.1", "autoprefixer": "^10.4.16", diff --git a/packages/app/src/Pages/CacheDebug.tsx b/packages/app/src/Pages/CacheDebug.tsx new file mode 100644 index 00000000..7636df99 --- /dev/null +++ b/packages/app/src/Pages/CacheDebug.tsx @@ -0,0 +1,59 @@ +import { NostrEvent, TaggedNostrEvent } from "@snort/system"; +import { SnortContext } from "@snort/system-react"; +import { useContext, useState } from "react"; + +import AsyncButton from "@/Components/Button/AsyncButton"; + +export function DebugPage() { + const system = useContext(SnortContext); + const [filter, setFilter] = useState(""); + const [event, setEvent] = useState(""); + const [results, setResult] = useState>([]); + + async function search() { + if (filter && system.cacheRelay) { + const r = await system.cacheRelay.query(["REQ", "test", JSON.parse(filter)]); + setResult(r.map(a => ({ ...a, relays: [] }))); + } + } + + async function insert() { + if (event && system.cacheRelay) { + const r = await system.cacheRelay.event(JSON.parse(event) as NostrEvent); + setResult([ + { + content: JSON.stringify(r), + } as unknown as TaggedNostrEvent, + ]); + } + } + + async function removeEvents() { + if (filter && system.cacheRelay) { + const r = await system.cacheRelay.delete(["REQ", "delete-events", JSON.parse(filter)]); + setResult(r.map(a => ({ id: a }) as TaggedNostrEvent)); + } + } + return ( +
+

Cache Query

+