From 0d366c18b8ac6ebde724c97086a45d502531d40b Mon Sep 17 00:00:00 2001 From: BlowaterNostr <127284497+BlowaterNostr@users.noreply.github.com> Date: Tue, 2 Jan 2024 01:28:10 +0800 Subject: [PATCH] reorganize project structure (#366) --- .github/workflows/deno.yml | 8 +- .gitignore | 3 + .gitmodules | 4 +- DevOps/stats.ts | 4 +- UI/_compile-ui-tests.ts | 8 - UI/makefile | 25 - UI/note-card.test.tsx | 76 -- UI/search.test.tsx | 26 - _build-common.ts | 2 + UI/_build-extension.ts => _build-extension.ts | 4 +- UI/_build-pwa.ts => _build-pwa.ts | 5 +- {UI => app/UI}/.vscode/settings.json | 0 app/UI/_compile-ui-tests.ts | 7 + {UI => app/UI}/_helper.ts | 0 {UI => app/UI}/_main.tsx | 2 +- {UI => app/UI}/_setup.test.ts | 2 +- {UI => app/UI}/about.tsx | 6 +- {UI => app/UI}/account-context.ts | 4 +- {UI => app/UI}/app.tsx | 56 +- {UI => app/UI}/app_model.ts | 2 +- {UI => app/UI}/app_update.tsx | 62 +- .../UI/assets}/.well-known/assetlinks.json | 0 {UI/deploy => app/UI/assets}/alby-logo.svg | 0 .../UI/assets}/index-extension.html | 0 {UI/deploy => app/UI/assets}/index.html | 0 {UI/deploy => app/UI/assets}/logo.webp | Bin .../UI/assets}/manifest-extension.json | 0 {UI/deploy => app/UI/assets}/manifest.json | 0 {UI/deploy => app/UI/assets}/tailwind.js | 0 {UI => app/UI}/components/avatar.test.tsx | 0 {UI => app/UI}/components/avatar.tsx | 0 {UI => app/UI}/components/copy-button.tsx | 0 {UI => app/UI}/components/loading.test.tsx | 0 {UI => app/UI}/components/loading.tsx | 0 {UI => app/UI}/components/popover.test.tsx | 0 {UI => app/UI}/components/popover.tsx | 0 {UI => app/UI}/components/toast.test.tsx | 0 {UI => app/UI}/components/toast.tsx | 0 {UI => app/UI}/components/tw.ts | 0 {UI => app/UI}/config-other.test.ts | 4 +- {UI => app/UI}/config-other.ts | 15 +- {UI => app/UI}/config.js | 0 {UI => app/UI}/conversation-list.test.tsx | 24 +- {UI => app/UI}/conversation-list.ts | 8 +- {UI => app/UI}/conversation-list.tsx | 29 +- {UI => app/UI}/create-group.test.tsx | 0 {UI => app/UI}/create-group.tsx | 0 {UI => app/UI}/deno.json | 0 {UI => app/UI}/deno.lock | 45 + {UI => app/UI}/dexie-db.ts | 14 +- {UI => app/UI}/dm.test.tsx | 43 +- {UI => app/UI}/dm.tsx | 47 +- {UI => app/UI}/edit-group.test.tsx | 2 +- {UI => app/UI}/edit-group.tsx | 2 +- {UI => app/UI}/edit-profile.test.tsx | 2 +- {UI => app/UI}/edit-profile.tsx | 2 +- {UI => app/UI}/editor.test.tsx | 4 +- {UI => app/UI}/editor.tsx | 2 +- {UI => app/UI}/event-detail.test.tsx | 14 +- {UI => app/UI}/event-detail.tsx | 0 {UI => app/UI}/event_syncer.ts | 4 +- {UI => app/UI}/icons/about-icon.tsx | 0 {UI => app/UI}/icons/add-icon.tsx | 0 {UI => app/UI}/icons/app-list-icon.tsx | 0 {UI => app/UI}/icons/chat-icon.tsx | 0 {UI => app/UI}/icons/check-icon.tsx | 0 {UI => app/UI}/icons/close-icon.tsx | 0 {UI => app/UI}/icons/copy-icon.tsx | 0 {UI => app/UI}/icons/delete-icon.tsx | 0 {UI => app/UI}/icons/download-icon.tsx | 0 {UI => app/UI}/icons/group-icon.tsx | 0 {UI => app/UI}/icons/home-icon.tsx | 0 {UI => app/UI}/icons/image-icon.tsx | 0 {UI => app/UI}/icons/invite-icon.tsx | 0 {UI => app/UI}/icons/key-icon.tsx | 0 {UI => app/UI}/icons/left-arrow-icon.tsx | 0 {UI => app/UI}/icons/pin-icon.tsx | 0 {UI => app/UI}/icons/relay-icon.tsx | 0 {UI => app/UI}/icons/remove-icon.tsx | 0 {UI => app/UI}/icons/send-icon.tsx | 0 {UI => app/UI}/icons/setting-icon.tsx | 0 {UI => app/UI}/icons/social-icon.tsx | 0 {UI => app/UI}/icons/unpin-icon.tsx | 0 {UI => app/UI}/icons/user-icon.tsx | 0 {UI => app/UI}/invite-button.test.tsx | 14 +- {UI => app/UI}/invite-button.tsx | 2 +- {UI => app/UI}/invite-card.test.tsx | 0 {UI => app/UI}/invite-card.tsx | 2 +- {UI => app/UI}/key-view.test.tsx | 2 +- {UI => app/UI}/key-view.tsx | 2 +- {UI => app/UI}/message-panel.test.tsx | 36 +- {UI => app/UI}/message-panel.tsx | 46 +- {UI => app/UI}/message.test.ts | 6 +- {UI => app/UI}/message.ts | 6 +- {UI => app/UI}/nav.tsx | 2 +- {UI => app/UI}/note-card.tsx | 4 +- {UI => app/UI}/notification.test.tsx | 0 {UI => app/UI}/notification.ts | 0 {UI => app/UI}/profile-card.test.tsx | 4 +- {UI => app/UI}/profile-card.tsx | 2 +- {UI => app/UI}/relay-config.test.ts | 6 +- {UI => app/UI}/relay-config.ts | 8 +- {UI => app/UI}/relay-detail.test.tsx | 0 {UI => app/UI}/relay-detail.tsx | 2 +- {UI => app/UI}/right-panel.test.tsx | 0 {UI => app/UI}/right-panel.tsx | 0 {UI => app/UI}/search.tsx | 2 +- {UI => app/UI}/search_model.ts | 2 +- {UI => app/UI}/setting.test.tsx | 8 +- {UI => app/UI}/setting.tsx | 9 +- {UI => app/UI}/signIn.test.tsx | 2 +- {UI => app/UI}/signIn.tsx | 4 +- {UI => app/UI}/style/colors.ts | 0 {UI => app/UI}/tw.config.ts | 0 {UI => app/UI}/user-detail.tsx | 2 +- database.test.ts => app/database.test.ts | 6 +- database.ts => app/database.ts | 4 +- event-bus.ts => app/event-bus.ts | 0 {features => app/features}/dm.test.ts | 4 +- {features => app/features}/dm.ts | 32 +- {features => app/features}/gm.test.ts | 4 +- {features => app/features}/gm.ts | 22 +- {features => app/features}/profile.ts | 6 +- nostr.test.ts => app/nostr.test.ts | 8 +- nostr.ts => app/nostr.ts | 8 +- time.ts => app/time.ts | 2 +- deno.json | 2 +- deno.lock | 47 + lib/nostr-ts => libs/nostr.ts | 0 makefile | 30 + tauri-app/.gitignore | 24 + tauri-app/.vscode/extensions.json | 3 + {src-tauri => tauri-app/src-tauri}/.gitignore | 0 {src-tauri => tauri-app/src-tauri}/Cargo.lock | 990 ++++++++++-------- {src-tauri => tauri-app/src-tauri}/Cargo.toml | 4 +- {src-tauri => tauri-app/src-tauri}/build.rs | 0 .../src-tauri}/src/main.rs | 6 - .../src-tauri}/tauri.conf.json | 11 +- 138 files changed, 1069 insertions(+), 884 deletions(-) delete mode 100644 UI/_compile-ui-tests.ts delete mode 100644 UI/makefile delete mode 100644 UI/note-card.test.tsx delete mode 100644 UI/search.test.tsx create mode 100644 _build-common.ts rename UI/_build-extension.ts => _build-extension.ts (90%) rename UI/_build-pwa.ts => _build-pwa.ts (90%) rename {UI => app/UI}/.vscode/settings.json (100%) create mode 100644 app/UI/_compile-ui-tests.ts rename {UI => app/UI}/_helper.ts (100%) rename {UI => app/UI}/_main.tsx (100%) rename {UI => app/UI}/_setup.test.ts (96%) rename {UI => app/UI}/about.tsx (97%) rename {UI => app/UI}/account-context.ts (97%) rename {UI => app/UI}/app.tsx (95%) rename {UI => app/UI}/app_model.ts (100%) rename {UI => app/UI}/app_update.tsx (97%) rename {UI/deploy => app/UI/assets}/.well-known/assetlinks.json (100%) rename {UI/deploy => app/UI/assets}/alby-logo.svg (100%) rename {UI/deploy => app/UI/assets}/index-extension.html (100%) rename {UI/deploy => app/UI/assets}/index.html (100%) rename {UI/deploy => app/UI/assets}/logo.webp (100%) rename {UI/deploy => app/UI/assets}/manifest-extension.json (100%) rename {UI/deploy => app/UI/assets}/manifest.json (100%) rename {UI/deploy => app/UI/assets}/tailwind.js (100%) rename {UI => app/UI}/components/avatar.test.tsx (100%) rename {UI => app/UI}/components/avatar.tsx (100%) rename {UI => app/UI}/components/copy-button.tsx (100%) rename {UI => app/UI}/components/loading.test.tsx (100%) rename {UI => app/UI}/components/loading.tsx (100%) rename {UI => app/UI}/components/popover.test.tsx (100%) rename {UI => app/UI}/components/popover.tsx (100%) rename {UI => app/UI}/components/toast.test.tsx (100%) rename {UI => app/UI}/components/toast.tsx (100%) rename {UI => app/UI}/components/tw.ts (100%) rename {UI => app/UI}/config-other.test.ts (94%) rename {UI => app/UI}/config-other.ts (96%) rename {UI => app/UI}/config.js (100%) rename {UI => app/UI}/conversation-list.test.tsx (89%) rename {UI => app/UI}/conversation-list.ts (97%) rename {UI => app/UI}/conversation-list.tsx (99%) rename {UI => app/UI}/create-group.test.tsx (100%) rename {UI => app/UI}/create-group.tsx (100%) rename {UI => app/UI}/deno.json (100%) rename {UI => app/UI}/deno.lock (57%) rename {UI => app/UI}/dexie-db.ts (84%) rename {UI => app/UI}/dm.test.tsx (86%) rename {UI => app/UI}/dm.tsx (94%) rename {UI => app/UI}/edit-group.test.tsx (90%) rename {UI => app/UI}/edit-group.tsx (94%) rename {UI => app/UI}/edit-profile.test.tsx (90%) rename {UI => app/UI}/edit-profile.tsx (99%) rename {UI => app/UI}/editor.test.tsx (80%) rename {UI => app/UI}/editor.tsx (99%) rename {UI => app/UI}/event-detail.test.tsx (65%) rename {UI => app/UI}/event-detail.tsx (100%) rename {UI => app/UI}/event_syncer.ts (87%) rename {UI => app/UI}/icons/about-icon.tsx (100%) rename {UI => app/UI}/icons/add-icon.tsx (100%) rename {UI => app/UI}/icons/app-list-icon.tsx (100%) rename {UI => app/UI}/icons/chat-icon.tsx (100%) rename {UI => app/UI}/icons/check-icon.tsx (100%) rename {UI => app/UI}/icons/close-icon.tsx (100%) rename {UI => app/UI}/icons/copy-icon.tsx (100%) rename {UI => app/UI}/icons/delete-icon.tsx (100%) rename {UI => app/UI}/icons/download-icon.tsx (100%) rename {UI => app/UI}/icons/group-icon.tsx (100%) rename {UI => app/UI}/icons/home-icon.tsx (100%) rename {UI => app/UI}/icons/image-icon.tsx (100%) rename {UI => app/UI}/icons/invite-icon.tsx (100%) rename {UI => app/UI}/icons/key-icon.tsx (100%) rename {UI => app/UI}/icons/left-arrow-icon.tsx (100%) rename {UI => app/UI}/icons/pin-icon.tsx (100%) rename {UI => app/UI}/icons/relay-icon.tsx (100%) rename {UI => app/UI}/icons/remove-icon.tsx (100%) rename {UI => app/UI}/icons/send-icon.tsx (100%) rename {UI => app/UI}/icons/setting-icon.tsx (100%) rename {UI => app/UI}/icons/social-icon.tsx (100%) rename {UI => app/UI}/icons/unpin-icon.tsx (100%) rename {UI => app/UI}/icons/user-icon.tsx (100%) rename {UI => app/UI}/invite-button.test.tsx (77%) rename {UI => app/UI}/invite-button.tsx (98%) rename {UI => app/UI}/invite-card.test.tsx (100%) rename {UI => app/UI}/invite-card.tsx (97%) rename {UI => app/UI}/key-view.test.tsx (80%) rename {UI => app/UI}/key-view.tsx (97%) rename {UI => app/UI}/message-panel.test.tsx (78%) rename {UI => app/UI}/message-panel.tsx (98%) rename {UI => app/UI}/message.test.ts (98%) rename {UI => app/UI}/message.ts (97%) rename {UI => app/UI}/nav.tsx (99%) rename {UI => app/UI}/note-card.tsx (93%) rename {UI => app/UI}/notification.test.tsx (100%) rename {UI => app/UI}/notification.ts (100%) rename {UI => app/UI}/profile-card.test.tsx (86%) rename {UI => app/UI}/profile-card.tsx (96%) rename {UI => app/UI}/relay-config.test.ts (87%) rename {UI => app/UI}/relay-config.ts (92%) rename {UI => app/UI}/relay-detail.test.tsx (100%) rename {UI => app/UI}/relay-detail.tsx (99%) rename {UI => app/UI}/right-panel.test.tsx (100%) rename {UI => app/UI}/right-panel.tsx (100%) rename {UI => app/UI}/search.tsx (98%) rename {UI => app/UI}/search_model.ts (90%) rename {UI => app/UI}/setting.test.tsx (69%) rename {UI => app/UI}/setting.tsx (97%) rename {UI => app/UI}/signIn.test.tsx (86%) rename {UI => app/UI}/signIn.tsx (99%) rename {UI => app/UI}/style/colors.ts (100%) rename {UI => app/UI}/tw.config.ts (100%) rename {UI => app/UI}/user-detail.tsx (98%) rename database.test.ts => app/database.test.ts (96%) rename database.ts => app/database.ts (98%) rename event-bus.ts => app/event-bus.ts (100%) rename {features => app/features}/dm.test.ts (93%) rename {features => app/features}/dm.ts (94%) rename {features => app/features}/gm.test.ts (98%) rename {features => app/features}/gm.ts (98%) rename {features => app/features}/profile.ts (92%) rename nostr.test.ts => app/nostr.test.ts (90%) rename nostr.ts => app/nostr.ts (96%) rename time.ts => app/time.ts (88%) rename lib/nostr-ts => libs/nostr.ts (100%) create mode 100644 tauri-app/.gitignore create mode 100644 tauri-app/.vscode/extensions.json rename {src-tauri => tauri-app/src-tauri}/.gitignore (100%) rename {src-tauri => tauri-app/src-tauri}/Cargo.lock (77%) rename {src-tauri => tauri-app/src-tauri}/Cargo.toml (88%) rename {src-tauri => tauri-app/src-tauri}/build.rs (100%) rename {src-tauri => tauri-app/src-tauri}/src/main.rs (66%) rename {src-tauri => tauri-app/src-tauri}/tauri.conf.json (82%) diff --git a/.github/workflows/deno.yml b/.github/workflows/deno.yml index 541ca06..31faed9 100644 --- a/.github/workflows/deno.yml +++ b/.github/workflows/deno.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - deno-version: [1.38.2] + deno-version: [1.39.1] steps: - name: Setup repo @@ -44,7 +44,7 @@ jobs: run: make test - name: UI test - run: cd UI && make compile-all-tests + run: make compile-all-ui-tests deploy: timeout-minutes: 1 @@ -63,11 +63,11 @@ jobs: uses: denoland/setup-deno@v1 - name: Bundle - run: cd UI && make build-pwa + run: make build - name: Upload to Deno Deploy uses: denoland/deployctl@v1 with: project: "blowater" entrypoint: https://raw.githubusercontent.com/denoland/deno_std/0.196.0/http/file_server.ts - root: UI/build-pwa + root: build-pwa diff --git a/.gitignore b/.gitignore index b75cff1..ccb7c7a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ test.ts *.log # Bundle *.mjs +main.js cov_profile* Elm DevOps/stats.sqlite @@ -12,3 +13,5 @@ DevOps/stats.sqlite build-pwa build-extension *.zip +# tauri +tauri-app/src-tauri/icons diff --git a/.gitmodules b/.gitmodules index 47ee93a..4db1c0b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "lib/nostr-ts"] - path = lib/nostr-ts +[submodule "libs/nostr.ts"] + path = libs/nostr.ts url = https://github.com/BlowaterNostr/nostr.ts diff --git a/DevOps/stats.ts b/DevOps/stats.ts index 64718c1..62718a3 100644 --- a/DevOps/stats.ts +++ b/DevOps/stats.ts @@ -1,6 +1,6 @@ import { DB } from "https://deno.land/x/sqlite@v3.7.2/mod.ts"; -import { NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { NostrKind } from "../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../libs/nostr.ts/relay-pool.ts"; // Open a database const db = new DB("stats.sqlite"); diff --git a/UI/_compile-ui-tests.ts b/UI/_compile-ui-tests.ts deleted file mode 100644 index 9925d19..0000000 --- a/UI/_compile-ui-tests.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { walk } from "https://deno.land/std@0.202.0/fs/walk.ts"; -import { bundle } from "https://deno.land/x/emit@0.31.0/mod.ts"; - -for await (const entry of walk("./", { exts: [".test.tsx"] })) { - const url = new URL(entry.path, import.meta.url); - console.log("bundling", url.pathname); - await bundle(url); -} diff --git a/UI/makefile b/UI/makefile deleted file mode 100644 index c0116f4..0000000 --- a/UI/makefile +++ /dev/null @@ -1,25 +0,0 @@ -# https://stackoverflow.com/questions/3931741/why-does-make-think-the-target-is-up-to-date -.PHONY: build-pwa build-extension -page=app -port=4507 - -test: fmt bundle - file_server ./deploy - -bundle: - deno bundle --config=./deno.json $(page).test.tsx deploy/main.mjs - -app: fmt build-pwa - file_server --port=$(port) ./build-pwa - -compile-all-tests: - deno run --allow-read --allow-env --allow-write --allow-net _compile-ui-tests.ts - -build-extension: - deno run --allow-read --allow-env --allow-write --allow-net _build-extension.ts - -build-pwa: - deno run --allow-read --allow-env --allow-write --allow-net _build-pwa.ts - -fmt: - deno fmt --options-indent-width 4 --options-line-width 110 diff --git a/UI/note-card.test.tsx b/UI/note-card.test.tsx deleted file mode 100644 index 1283aea..0000000 --- a/UI/note-card.test.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/** @jsx h */ -import { Fragment, h, render } from "https://esm.sh/preact@10.17.1"; -import { NoteCard } from "./note-card.tsx"; -import { prepareEncryptedNostrEvent, prepareNormalNostrEvent } from "../lib/nostr-ts/event.ts"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { parseJSON } from "../features/profile.ts"; -import { testEventBus, testEventsAdapter } from "./_setup.test.ts"; -import { fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { originalEventToUnencryptedEvent, parseDM } from "../database.ts"; -import { getTags } from "../nostr.ts"; - -const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); -const socialEvent = await prepareNormalNostrEvent( - ctx, - NostrKind.TEXT_NOTE, - [], - `Edge`, -); -const profileEvent = await prepareNormalNostrEvent( - ctx, - NostrKind.META_DATA, - [], - `{"name":"mike"}`, -); -const DMEvent = await prepareEncryptedNostrEvent( - ctx, - ctx.publicKey, - NostrKind.DIRECT_MESSAGE, - [ - [ - "p", - ctx.publicKey.hex, - ], - ], - "maybe we can finish it first", -); -if (DMEvent instanceof Error) fail(DMEvent.message); - -const decryptDMEvent = await parseDM( - DMEvent, - ctx, - getTags(DMEvent), - ctx.publicKey, - testEventsAdapter, -); -if (decryptDMEvent instanceof Error) fail(decryptDMEvent.message); -if (decryptDMEvent == false) fail(); - -const parsedSocialEvent = originalEventToUnencryptedEvent(socialEvent, getTags(socialEvent), ctx.publicKey); -if (parsedSocialEvent instanceof Error) fail(parsedSocialEvent.message); - -const profileData = parseJSON(profileEvent.content); -if (profileData instanceof Error) fail(profileData.message); - -render( - - - - , - document.body, -); - -for await (const e of testEventBus.onChange()) { - console.log(e); -} diff --git a/UI/search.test.tsx b/UI/search.test.tsx deleted file mode 100644 index fb7b6ff..0000000 --- a/UI/search.test.tsx +++ /dev/null @@ -1,26 +0,0 @@ -/** @jsx h */ -import { h, render } from "https://esm.sh/preact@10.17.1"; -import { Search } from "./search.tsx"; -import { testEventBus, testEventsAdapter } from "./_setup.test.ts"; -import { Datebase_View } from "../database.ts"; -import { InMemoryAccountContext, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { prepareNormalNostrEvent } from "../lib/nostr-ts/event.ts"; - -const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); -await testEventsAdapter.put(await prepareNormalNostrEvent(ctx, NostrKind.META_DATA, [], `{"name":"mike"}`)); - -const db = await Datebase_View.New(testEventsAdapter, ctx); - -render( - , - document.body, -); - -for await (const e of testEventBus.onChange()) { - console.log(e); -} diff --git a/_build-common.ts b/_build-common.ts new file mode 100644 index 0000000..efa93d8 --- /dev/null +++ b/_build-common.ts @@ -0,0 +1,2 @@ +export const logo = "./deploy/logo.webp"; +export const main_module = "./1_app/UI/_main.tsx"; diff --git a/UI/_build-extension.ts b/_build-extension.ts similarity index 90% rename from UI/_build-extension.ts rename to _build-extension.ts index f96b9ca..4578209 100644 --- a/UI/_build-extension.ts +++ b/_build-extension.ts @@ -1,5 +1,5 @@ import { bundle } from "https://deno.land/x/emit@0.31.0/mod.ts"; -import { logo } from "./_build-pwa.ts"; +import { logo, main_module } from "./_build-common.ts"; const exists = async (filename: string): Promise => { try { @@ -20,7 +20,7 @@ if (await exists(folderName)) { } await Deno.mkdir(folderName); -const url = new URL("./_main.tsx", import.meta.url); +const url = new URL(main_module, import.meta.url); const res = await bundle(url); await Deno.writeTextFile(`./${folderName}/main.mjs`, res.code); await Deno.copyFile("./deploy/alby-logo.svg", `./${folderName}/alby-logo.svg`); diff --git a/UI/_build-pwa.ts b/_build-pwa.ts similarity index 90% rename from UI/_build-pwa.ts rename to _build-pwa.ts index d14ad63..9202372 100644 --- a/UI/_build-pwa.ts +++ b/_build-pwa.ts @@ -1,4 +1,5 @@ import { bundle } from "https://deno.land/x/emit@0.31.0/mod.ts"; +import { logo, main_module } from "./_build-common.ts"; const exists = async (filename: string): Promise => { try { @@ -18,10 +19,8 @@ if (await exists(folderName)) { await Deno.remove(folderName, { recursive: true }); } -export const logo = "./deploy/logo.webp"; - await Deno.mkdir(folderName); -const url = new URL("./_main.tsx", import.meta.url); +const url = new URL(main_module, import.meta.url); const res = await bundle(url); await Deno.writeTextFile(`./${folderName}/main.mjs`, res.code); await Deno.copyFile("./deploy/alby-logo.svg", `./${folderName}/alby-logo.svg`); diff --git a/UI/.vscode/settings.json b/app/UI/.vscode/settings.json similarity index 100% rename from UI/.vscode/settings.json rename to app/UI/.vscode/settings.json diff --git a/app/UI/_compile-ui-tests.ts b/app/UI/_compile-ui-tests.ts new file mode 100644 index 0000000..08a82f5 --- /dev/null +++ b/app/UI/_compile-ui-tests.ts @@ -0,0 +1,7 @@ +import { walk } from "https://deno.land/std@0.202.0/fs/walk.ts"; +import * as emit from "https://deno.land/x/emit@0.32.0/mod.ts"; + +for await (const entry of walk("./", { exts: [".test.tsx"] })) { + console.log("compiling", entry.path); + await emit.transpile(entry.path); +} diff --git a/UI/_helper.ts b/app/UI/_helper.ts similarity index 100% rename from UI/_helper.ts rename to app/UI/_helper.ts diff --git a/UI/_main.tsx b/app/UI/_main.tsx similarity index 100% rename from UI/_main.tsx rename to app/UI/_main.tsx index 85c62d1..deeba12 100644 --- a/UI/_main.tsx +++ b/app/UI/_main.tsx @@ -2,8 +2,8 @@ import { h, render } from "https://esm.sh/preact@10.17.1"; import { setup } from "https://esm.sh/twind@0.16.16"; import { NewIndexedDB } from "./dexie-db.ts"; -import { Start } from "./app.tsx"; import { TWConfig } from "./tw.config.ts"; +import { Start } from "./app.tsx"; setup(TWConfig); diff --git a/UI/_setup.test.ts b/app/UI/_setup.test.ts similarity index 96% rename from UI/_setup.test.ts rename to app/UI/_setup.test.ts index 4b67cbd..b3aff8c 100644 --- a/UI/_setup.test.ts +++ b/app/UI/_setup.test.ts @@ -1,6 +1,6 @@ import { Datebase_View, EventMark, EventMarker, EventsAdapter, Indices, RelayRecorder } from "../database.ts"; import { EventBus } from "../event-bus.ts"; -import { NostrEvent } from "../lib/nostr-ts/nostr.ts"; +import { NostrEvent } from "../../libs/nostr.ts/nostr.ts"; import { UI_Interaction_Event } from "./app_update.tsx"; export const testEventBus = new EventBus(); diff --git a/UI/about.tsx b/app/UI/about.tsx similarity index 97% rename from UI/about.tsx rename to app/UI/about.tsx index 7452765..28edf3e 100644 --- a/UI/about.tsx +++ b/app/UI/about.tsx @@ -1,10 +1,10 @@ /** @jsx h */ import { h } from "https://esm.sh/preact@10.17.1"; -import { DividerClass } from "./components/tw.ts"; -import { LinkColor, PrimaryTextColor, SecondaryBackgroundColor } from "./style/colors.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { emitFunc } from "../event-bus.ts"; +import { DividerClass } from "./components/tw.ts"; import { SelectConversation } from "./search_model.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { LinkColor, PrimaryTextColor, SecondaryBackgroundColor } from "./style/colors.ts"; export function About(emit: emitFunc) { return ( diff --git a/UI/account-context.ts b/app/UI/account-context.ts similarity index 97% rename from UI/account-context.ts rename to app/UI/account-context.ts index 00563c7..ea0b0d6 100644 --- a/UI/account-context.ts +++ b/app/UI/account-context.ts @@ -1,12 +1,12 @@ import { chan, closed, sleep } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { PrivateKey, PublicKey } from "../lib/nostr-ts/key.ts"; +import { PrivateKey, PublicKey } from "../../libs/nostr.ts/key.ts"; import { InMemoryAccountContext, NostrAccountContext, NostrEvent, NostrKind, UnsignedNostrEvent, -} from "../lib/nostr-ts/nostr.ts"; +} from "../../libs/nostr.ts/nostr.ts"; type NIP07 = { getPublicKey(): Promise; diff --git a/UI/app.tsx b/app/UI/app.tsx similarity index 95% rename from UI/app.tsx rename to app/UI/app.tsx index 66d9b52..2b3603f 100644 --- a/UI/app.tsx +++ b/app/UI/app.tsx @@ -1,40 +1,38 @@ /** @jsx h */ import { h, render } from "https://esm.sh/preact@10.17.1"; -import * as dm from "../features/dm.ts"; -import { DirectMessageContainer } from "./dm.tsx"; import { tw } from "https://esm.sh/twind@0.16.16"; -import { EditProfile } from "./edit-profile.tsx"; -import * as nav from "./nav.tsx"; -import { EventBus } from "../event-bus.ts"; -import { Setting } from "./setting.tsx"; +import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { NostrAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; import { Datebase_View } from "../database.ts"; -import { DM_List } from "./conversation-list.ts"; -import { new_DM_EditorModel } from "./editor.tsx"; +import { EventBus } from "../event-bus.ts"; +import { DirectedMessageController, getAllEncryptedMessagesOf, InvalidEvent } from "../features/dm.ts"; +import { group_GM_events, GroupChatSyncer, GroupMessageController } from "../features/gm.ts"; +import { ProfileSyncer } from "../features/profile.ts"; +import { About } from "./about.tsx"; import { initialModel, Model } from "./app_model.ts"; import { AppEventBus, Database_Update, UI_Interaction_Event, UI_Interaction_Update } from "./app_update.tsx"; -import * as time from "../time.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { NostrAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { getCurrentSignInCtx, setSignInState, SignIn } from "./signIn.tsx"; -import { SecondaryBackgroundColor } from "./style/colors.ts"; +import { Popover, PopOverInputChannel } from "./components/popover.tsx"; +import { OtherConfig } from "./config-other.ts"; +import { DM_List } from "./conversation-list.ts"; +import { DexieDatabase } from "./dexie-db.ts"; +import { DirectMessageContainer } from "./dm.tsx"; +import { EditProfile } from "./edit-profile.tsx"; +import { new_DM_EditorModel } from "./editor.tsx"; import { EventSyncer } from "./event_syncer.ts"; import { RelayConfig } from "./relay-config.ts"; -import { DexieDatabase } from "./dexie-db.ts"; -import { About } from "./about.tsx"; -import { ProfileSyncer } from "../features/profile.ts"; -import { Popover, PopOverInputChannel } from "./components/popover.tsx"; -import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { group_GM_events, GroupChatSyncer, GroupMessageController } from "../features/gm.ts"; -import { OtherConfig } from "./config-other.ts"; import { ProfileGetter } from "./search.tsx"; -import { DirectedMessageController, InvalidEvent } from "../features/dm.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { Setting } from "./setting.tsx"; +import { getCurrentSignInCtx, setSignInState, SignIn } from "./signIn.tsx"; +import { SecondaryBackgroundColor } from "./style/colors.ts"; import { LamportTime } from "../time.ts"; +import { InstallPrompt, NavBar } from "./nav.tsx"; export async function Start(database: DexieDatabase) { console.log("Start the application"); - const installPrompt: nav.InstallPrompt = { + const installPrompt: InstallPrompt = { event: undefined, }; window.addEventListener("beforeinstallprompt", async (event) => { @@ -131,7 +129,7 @@ export class App { public readonly conversationLists: DM_List, public readonly relayConfig: RelayConfig, public readonly groupChatController: GroupMessageController, - public readonly lamport: time.LamportTime, + public readonly lamport: LamportTime, public readonly dmController: DirectedMessageController, ) {} @@ -144,7 +142,7 @@ export class App { popOverInputChan: PopOverInputChannel; otherConfig: OtherConfig; lamport: LamportTime; - installPrompt: nav.InstallPrompt; + installPrompt: InstallPrompt; }) { args.lamport.fromEvents(args.database.getAllEvents()); const eventSyncer = new EventSyncer(args.pool, args.database); @@ -238,7 +236,7 @@ export class App { return app; } - private initApp = async (installPrompt: nav.InstallPrompt) => { + private initApp = async (installPrompt: InstallPrompt) => { console.log("App.initApp"); // configurations: pin list @@ -308,7 +306,7 @@ export class App { ctx: NostrAccountContext, pool: ConnectionPool, ) { - const messageStream = dm.getAllEncryptedMessagesOf( + const messageStream = getAllEncryptedMessagesOf( ctx.publicKey, pool, ); @@ -396,7 +394,7 @@ export function AppComponent(props: { eventBus: AppEventBus; pool: ConnectionPool; popOverInputChan: PopOverInputChannel; - installPrompt: nav.InstallPrompt; + installPrompt: InstallPrompt; }) { const t = Date.now(); const model = props.model; @@ -446,7 +444,7 @@ export function AppComponent(props: { const final = (
- { const ctx = InMemoryAccountContext.Generate(); diff --git a/UI/config-other.ts b/app/UI/config-other.ts similarity index 96% rename from UI/config-other.ts rename to app/UI/config-other.ts index 091bfd8..9998335 100644 --- a/UI/config-other.ts +++ b/app/UI/config-other.ts @@ -1,15 +1,10 @@ -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; -import { NostrAccountContext, NostrEvent, NostrKind, verifyEvent } from "../lib/nostr-ts/nostr.ts"; -import { PinListGetter } from "./conversation-list.tsx"; -import { parseJSON } from "../features/profile.ts"; import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { - PinConversation, - PinConversationRelay, - UnpinConversation, - UnpinConversationRelay, -} from "../nostr.ts"; +import { prepareEncryptedNostrEvent } from "../../libs/nostr.ts/event.ts"; +import { NostrAccountContext, NostrEvent, NostrKind, verifyEvent } from "../../libs/nostr.ts/nostr.ts"; +import { parseJSON } from "../features/profile.ts"; +import { PinConversationRelay, UnpinConversationRelay } from "../nostr.ts"; import { LamportTime } from "../time.ts"; +import { PinListGetter } from "./conversation-list.tsx"; export type NostrEventAdder = { addEvent(event: NostrEvent): Promise; diff --git a/UI/config.js b/app/UI/config.js similarity index 100% rename from UI/config.js rename to app/UI/config.js diff --git a/UI/conversation-list.test.tsx b/app/UI/conversation-list.test.tsx similarity index 89% rename from UI/conversation-list.test.tsx rename to app/UI/conversation-list.test.tsx index d1e91be..07bee1c 100644 --- a/UI/conversation-list.test.tsx +++ b/app/UI/conversation-list.test.tsx @@ -1,20 +1,20 @@ /** @jsx h */ import { h, render } from "https://esm.sh/preact@10.17.1"; -import { ConversationList } from "./conversation-list.tsx"; +import { InMemoryAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { Datebase_View } from "../database.ts"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { testEventBus } from "./_setup.test.ts"; -import { DM_List } from "./conversation-list.ts"; -import { NewIndexedDB } from "./dexie-db.ts"; -import { ProfileSyncer } from "../features/profile.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; -import { OtherConfig } from "./config-other.ts"; -import { GroupChatSyncer, GroupMessageController } from "../features/gm.ts"; import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { prepareEncryptedNostrEvent } from "../../libs/nostr.ts/event.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; +import { Datebase_View } from "../database.ts"; +import { GroupChatSyncer, GroupMessageController } from "../features/gm.ts"; +import { ProfileSyncer } from "../features/profile.ts"; import { LamportTime } from "../time.ts"; -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; +import { testEventBus } from "./_setup.test.ts"; +import { OtherConfig } from "./config-other.ts"; +import { DM_List } from "./conversation-list.ts"; +import { ConversationList } from "./conversation-list.tsx"; +import { NewIndexedDB } from "./dexie-db.ts"; const ctx = InMemoryAccountContext.Generate(); const db = NewIndexedDB(); diff --git a/UI/conversation-list.ts b/app/UI/conversation-list.ts similarity index 97% rename from UI/conversation-list.ts rename to app/UI/conversation-list.ts index a933b9b..82c670b 100644 --- a/UI/conversation-list.ts +++ b/app/UI/conversation-list.ts @@ -1,8 +1,8 @@ -import { ConversationListRetriever, NewMessageChecker } from "./conversation-list.tsx"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { NostrAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { getTags, Parsed_Event } from "../nostr.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { NostrAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { InvalidEvent } from "../features/dm.ts"; +import { getTags } from "../nostr.ts"; +import { ConversationListRetriever, NewMessageChecker } from "./conversation-list.tsx"; export interface ConversationSummary { pubkey: PublicKey; diff --git a/UI/conversation-list.tsx b/app/UI/conversation-list.tsx similarity index 99% rename from UI/conversation-list.tsx rename to app/UI/conversation-list.tsx index d299b8a..7fd9ae5 100644 --- a/UI/conversation-list.tsx +++ b/app/UI/conversation-list.tsx @@ -1,24 +1,23 @@ /** @jsx h */ -import { Fragment, h } from "https://esm.sh/preact@10.17.1"; +import { Component, Fragment, h } from "https://esm.sh/preact@10.17.1"; import { tw } from "https://esm.sh/twind@0.16.16"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { emitFunc, EventSubscriber } from "../event-bus.ts"; +import { ProfileData } from "../features/profile.ts"; +import { PinConversation, UnpinConversation } from "../nostr.ts"; +import { UI_Interaction_Event } from "./app_update.tsx"; import { Avatar } from "./components/avatar.tsx"; import { CenterClass, IconButtonClass, LinearGradientsClass } from "./components/tw.ts"; -import { ConversationSummary, sortUserInfo } from "./conversation-list.ts"; -import { emitFunc, EventSubscriber } from "../event-bus.ts"; -import { SearchUpdate, SelectConversation } from "./search_model.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { PinConversation, UnpinConversation } from "../nostr.ts"; -import { ErrorColor, PrimaryTextColor, SecondaryBackgroundColor } from "./style/colors.ts"; -import { ChatIcon } from "./icons/chat-icon.tsx"; -import { StartCreateGroupChat } from "./create-group.tsx"; -import { GroupIcon } from "./icons/group-icon.tsx"; -import { Component } from "https://esm.sh/preact@10.17.1"; -import { UI_Interaction_Event } from "./app_update.tsx"; -import { ProfileData } from "../features/profile.ts"; -import { ProfileGetter } from "./search.tsx"; import { IS_BETA_VERSION } from "./config.js"; -import { UnpinIcon } from "./icons/unpin-icon.tsx"; +import { ConversationSummary, sortUserInfo } from "./conversation-list.ts"; +import { StartCreateGroupChat } from "./create-group.tsx"; +import { ChatIcon } from "./icons/chat-icon.tsx"; +import { GroupIcon } from "./icons/group-icon.tsx"; import { PinIcon } from "./icons/pin-icon.tsx"; +import { UnpinIcon } from "./icons/unpin-icon.tsx"; +import { ProfileGetter } from "./search.tsx"; +import { SearchUpdate, SelectConversation } from "./search_model.ts"; +import { ErrorColor, PrimaryTextColor, SecondaryBackgroundColor } from "./style/colors.ts"; export interface ConversationListRetriever { getContacts: () => Iterable; diff --git a/UI/create-group.test.tsx b/app/UI/create-group.test.tsx similarity index 100% rename from UI/create-group.test.tsx rename to app/UI/create-group.test.tsx diff --git a/UI/create-group.tsx b/app/UI/create-group.tsx similarity index 100% rename from UI/create-group.tsx rename to app/UI/create-group.tsx diff --git a/UI/deno.json b/app/UI/deno.json similarity index 100% rename from UI/deno.json rename to app/UI/deno.json diff --git a/UI/deno.lock b/app/UI/deno.lock similarity index 57% rename from UI/deno.lock rename to app/UI/deno.lock index e53b0b7..80a8378 100644 --- a/UI/deno.lock +++ b/app/UI/deno.lock @@ -32,6 +32,46 @@ "https://deno.land/std@0.186.0/path/posix.ts": "8b7c67ac338714b30c816079303d0285dd24af6b284f7ad63da5b27372a2c94d", "https://deno.land/std@0.186.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", "https://deno.land/std@0.186.0/path/win32.ts": "d186344e5583bcbf8b18af416d13d82b35a317116e6460a5a3953508c3de5bba", + "https://deno.land/std@0.202.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", + "https://deno.land/std@0.202.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", + "https://deno.land/std@0.202.0/fs/_util.ts": "fbf57dcdc9f7bc8128d60301eece608246971a7836a3bb1e78da75314f08b978", + "https://deno.land/std@0.202.0/fs/walk.ts": "a16146724a6aaf9efdb92023a74e9805195c3469900744ce5de4113b07b29779", + "https://deno.land/std@0.202.0/path/_basename.ts": "057d420c9049821f983f784fd87fa73ac471901fb628920b67972b0f44319343", + "https://deno.land/std@0.202.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.202.0/path/_dirname.ts": "355e297236b2218600aee7a5301b937204c62e12da9db4b0b044993d9e658395", + "https://deno.land/std@0.202.0/path/_extname.ts": "eaaa5aae1acf1f03254d681bd6a8ce42a9cb5b7ff2213a9d4740e8ab31283664", + "https://deno.land/std@0.202.0/path/_format.ts": "4a99270d6810f082e614309164fad75d6f1a483b68eed97c830a506cc589f8b4", + "https://deno.land/std@0.202.0/path/_from_file_url.ts": "6eadfae2e6f63ad9ee46b26db4a1b16583055c0392acedfb50ed2fc694b6f581", + "https://deno.land/std@0.202.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.202.0/path/_is_absolute.ts": "05dac10b5e93c63198b92e3687baa2be178df5321c527dc555266c0f4f51558c", + "https://deno.land/std@0.202.0/path/_join.ts": "815f5e85b042285175b1492dd5781240ce126c23bd97bad6b8211fe7129c538e", + "https://deno.land/std@0.202.0/path/_normalize.ts": "a19ec8706b2707f9dd974662a5cd89fad438e62ab1857e08b314a8eb49a34d81", + "https://deno.land/std@0.202.0/path/_os.ts": "30b0c2875f360c9296dbe6b7f2d528f0f9c741cecad2e97f803f5219e91b40a2", + "https://deno.land/std@0.202.0/path/_parse.ts": "0f9b0ff43682dd9964eb1c4398610c4e165d8db9d3ac9d594220217adf480cfa", + "https://deno.land/std@0.202.0/path/_relative.ts": "27bdeffb5311a47d85be26d37ad1969979359f7636c5cd9fcf05dcd0d5099dc5", + "https://deno.land/std@0.202.0/path/_resolve.ts": "7a3616f1093735ed327e758313b79c3c04ea921808ca5f19ddf240cb68d0adf6", + "https://deno.land/std@0.202.0/path/_to_file_url.ts": "a141e4a525303e1a3a0c0571fd024552b5f3553a2af7d75d1ff3a503dcbb66d8", + "https://deno.land/std@0.202.0/path/_to_namespaced_path.ts": "0d5f4caa2ed98ef7a8786286df6af804b50e38859ae897b5b5b4c8c5930a75c8", + "https://deno.land/std@0.202.0/path/_util.ts": "4e191b1bac6b3bf0c31aab42e5ca2e01a86ab5a0d2e08b75acf8585047a86221", + "https://deno.land/std@0.202.0/path/basename.ts": "bdfa5a624c6a45564dc6758ef2077f2822978a6dbe77b0a3514f7d1f81362930", + "https://deno.land/std@0.202.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.202.0/path/dirname.ts": "b6533f4ee4174a526dec50c279534df5345836dfdc15318400b08c62a62a39dd", + "https://deno.land/std@0.202.0/path/extname.ts": "62c4b376300795342fe1e4746c0de518b4dc9c4b0b4617bfee62a2973a9555cf", + "https://deno.land/std@0.202.0/path/format.ts": "110270b238514dd68455a4c54956215a1aff7e37e22e4427b7771cefe1920aa5", + "https://deno.land/std@0.202.0/path/from_file_url.ts": "9f5cb58d58be14c775ec2e57fc70029ac8b17ed3bd7fe93e475b07280adde0ac", + "https://deno.land/std@0.202.0/path/glob.ts": "593e2c3573883225c25c5a21aaa8e9382a696b8e175ea20a3b6a1471ad17aaed", + "https://deno.land/std@0.202.0/path/is_absolute.ts": "0b92eb35a0a8780e9f16f16bb23655b67dace6a8e0d92d42039e518ee38103c1", + "https://deno.land/std@0.202.0/path/join.ts": "31c5419f23d91655b08ec7aec403f4e4cd1a63d39e28f6e42642ea207c2734f8", + "https://deno.land/std@0.202.0/path/mod.ts": "6e1efb0b13121463aedb53ea51dabf5639a3172ab58c89900bbb72b486872532", + "https://deno.land/std@0.202.0/path/normalize.ts": "6ea523e0040979dd7ae2f1be5bf2083941881a252554c0f32566a18b03021955", + "https://deno.land/std@0.202.0/path/parse.ts": "be8de342bb9e1924d78dc4d93c45215c152db7bf738ec32475560424b119b394", + "https://deno.land/std@0.202.0/path/posix.ts": "0a1c1952d132323a88736d03e92bd236f3ed5f9f079e5823fae07c8d978ee61b", + "https://deno.land/std@0.202.0/path/relative.ts": "8bedac226afd360afc45d451a6c29fabceaf32978526bcb38e0c852661f66c61", + "https://deno.land/std@0.202.0/path/resolve.ts": "133161e4949fc97f9ca67988d51376b0f5eef8968a6372325ab84d39d30b80dc", + "https://deno.land/std@0.202.0/path/separator.ts": "40a3e9a4ad10bef23bc2cd6c610291b6c502a06237c2c4cd034a15ca78dedc1f", + "https://deno.land/std@0.202.0/path/to_file_url.ts": "00e6322373dd51ad109956b775e4e72e5f9fa68ce2c6b04e4af2a6eed3825d31", + "https://deno.land/std@0.202.0/path/to_namespaced_path.ts": "1b1db3055c343ab389901adfbda34e82b7386bcd1c744d54f9c1496ee0fd0c3d", + "https://deno.land/std@0.202.0/path/win32.ts": "8b3f80ef7a462511d5e8020ff490edcaa0a0d118f1b1e9da50e2916bdd73f9dd", "https://deno.land/x/deno_cache@0.5.2/auth_tokens.ts": "5d1d56474c54a9d152e44d43ea17c2e6a398dd1e9682c69811a313567c01ee1e", "https://deno.land/x/deno_cache@0.5.2/cache.ts": "92ce8511e1e5c00fdf53a41619aa77d632ea8e0fc711324322e4d5ebf8133911", "https://deno.land/x/deno_cache@0.5.2/deno_dir.ts": "1ea355b8ba11c630d076b222b197cfc937dd81e5a4a260938997da99e8ff93a0", @@ -48,8 +88,13 @@ "https://deno.land/x/emit@0.31.0/_utils.ts": "98412edc7aa29e77d592b54fbad00bdec1b05d0c25eb772a5f8edc9813e08d88", "https://deno.land/x/emit@0.31.0/emit.generated.js": "f2453b4a5243f2f5377e70e4577de0be57f99384c1a773bc5b786ad324739dac", "https://deno.land/x/emit@0.31.0/mod.ts": "326c48e48f3f3c83c11b089aec803e6270bcd64493f250aeb56f46f6960a8458", + "https://deno.land/x/emit@0.32.0/_utils.ts": "98412edc7aa29e77d592b54fbad00bdec1b05d0c25eb772a5f8edc9813e08d88", + "https://deno.land/x/emit@0.32.0/emit.generated.js": "8c8e1fed94f6b742042897312ad223fff0f5d3c92317ff9970a5b7e8b2bd9441", + "https://deno.land/x/emit@0.32.0/mod.ts": "326c48e48f3f3c83c11b089aec803e6270bcd64493f250aeb56f46f6960a8458", "https://deno.land/x/wasmbuild@0.14.1/cache.ts": "89eea5f3ce6035a1164b3e655c95f21300498920575ade23161421f5b01967f4", "https://deno.land/x/wasmbuild@0.14.1/loader.ts": "d98d195a715f823151cbc8baa3f32127337628379a02d9eb2a3c5902dbccfc02", + "https://deno.land/x/wasmbuild@0.15.1/cache.ts": "9d01b5cb24e7f2a942bbd8d14b093751fa690a6cde8e21709ddc97667e6669ed", + "https://deno.land/x/wasmbuild@0.15.1/loader.ts": "8c2fc10e21678e42f84c5135d8ab6ab7dc92424c3f05d2354896a29ccfd02a63", "https://esm.sh/dexie@3.2.4": "c47d1a2d892e605fde24fd9900602b11808018d5fb11a1c6ad91cec6bb0bf828", "https://esm.sh/preact@10.11.3": "ad3c24796c4132c84b4b392f812228d53a0fd600fa64648f27aebd05ec09b24e", "https://esm.sh/preact@10.17.1": "d9d10d95cd047fd2c26bb68e760a87d3747fafc64a1e54049095682c69c7491a", diff --git a/UI/dexie-db.ts b/app/UI/dexie-db.ts similarity index 84% rename from UI/dexie-db.ts rename to app/UI/dexie-db.ts index 705ee09..4aa6ecd 100644 --- a/UI/dexie-db.ts +++ b/app/UI/dexie-db.ts @@ -1,19 +1,19 @@ -import * as dexie from "https://esm.sh/dexie@3.2.4"; -import { NostrEvent, NostrKind, Tag } from "../lib/nostr-ts/nostr.ts"; +import { Dexie, Table } from "https://esm.sh/v135/dexie@3.2.4/dist/dexie.js"; +import { NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { EventMark, EventMarker, EventRemover, EventsAdapter, Indices, RelayRecorder } from "../database.ts"; +import { Tag } from "../nostr.ts"; export type RelayRecord = { url: string; event_id: string; }; -export class DexieDatabase extends dexie.Dexie - implements EventsAdapter, RelayRecorder, EventMarker, EventRemover { +export class DexieDatabase extends Dexie implements EventsAdapter, RelayRecorder, EventMarker, EventRemover { // 'events' is added by dexie when declaring the stores() // We just tell the typing system this is the case - events!: dexie.Table; - relayRecords!: dexie.Table; - eventMarks!: dexie.Table; + events!: Table; + relayRecords!: Table; + eventMarks!: Table; constructor() { super("Events"); diff --git a/UI/dm.test.tsx b/app/UI/dm.test.tsx similarity index 86% rename from UI/dm.test.tsx rename to app/UI/dm.test.tsx index 67f24dc..70134cf 100644 --- a/UI/dm.test.tsx +++ b/app/UI/dm.test.tsx @@ -1,25 +1,24 @@ /** @jsx h */ -import { h, render } from "https://esm.sh/preact@10.17.1"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { Datebase_View } from "../database.ts"; -import { testEventBus } from "./_setup.test.ts"; -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; -import { DM_List } from "./conversation-list.ts"; -import { EventSyncer } from "./event_syncer.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; -import { ProfileSyncer } from "../features/profile.ts"; -import { handle_SendMessage } from "./app_update.tsx"; -import { LamportTime } from "../time.ts"; -import { initialModel } from "./app_model.ts"; -import { relays } from "../lib/nostr-ts/relay-list.test.ts"; -import { DirectMessageContainer } from "./dm.tsx"; import { fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { NewIndexedDB } from "./dexie-db.ts"; -import { OtherConfig } from "./config-other.ts"; +import { h, render } from "https://esm.sh/preact@10.17.1"; +import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { prepareEncryptedNostrEvent } from "../../libs/nostr.ts/event.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; +import { InMemoryAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; +import { relays } from "../../libs/nostr.ts/relay-list.test.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; +import { Datebase_View } from "../database.ts"; import { DirectedMessageController } from "../features/dm.ts"; import { GroupMessageController } from "../features/gm.ts"; -import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { ProfileSyncer } from "../features/profile.ts"; +import { LamportTime } from "../time.ts"; +import { testEventBus } from "./_setup.test.ts"; +import { initialModel } from "./app_model.ts"; +import { OtherConfig } from "./config-other.ts"; +import { DM_List } from "./conversation-list.ts"; +import { NewIndexedDB } from "./dexie-db.ts"; +import { DirectMessageContainer } from "./dm.tsx"; +import { EventSyncer } from "./event_syncer.ts"; const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); const indexedDB = NewIndexedDB(); @@ -43,8 +42,8 @@ if (!e || e instanceof Error) { } const dm_list = new DM_List(ctx); -dm_list.addEvents([e]); -dm_list.addEvents(Array.from(database.getAllEvents())); +dm_list.addEvents([e], true); +dm_list.addEvents(Array.from(database.getAllEvents()), true); for (let i = 0; i < 20; i++) { const event = await prepareEncryptedNostrEvent(ctx, { @@ -55,7 +54,7 @@ for (let i = 0; i < 20; i++) { ["p", PrivateKey.Generate().toPublicKey().hex], ], }) as NostrEvent; - const err = dm_list.addEvents([event]); + const err = dm_list.addEvents([event], true); if (err instanceof Error) { fail(err.message); } @@ -99,6 +98,6 @@ render( if (event == null) { continue; } - dm_list.addEvents([event]); + dm_list.addEvents([event], true); } })(); diff --git a/UI/dm.tsx b/app/UI/dm.tsx similarity index 94% rename from UI/dm.tsx rename to app/UI/dm.tsx index e12001e..9b9248c 100644 --- a/UI/dm.tsx +++ b/app/UI/dm.tsx @@ -1,28 +1,33 @@ /** @jsx h */ import { Component, h, VNode } from "https://esm.sh/preact@10.17.1"; -import * as cl from "./conversation-list.tsx"; -import { MessagePanel, NewMessageListener } from "./message-panel.tsx"; +import { PopChannel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { NostrAccountContext, NostrEvent } from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; +import { RelayRecordGetter } from "../database.ts"; import { EventBus } from "../event-bus.ts"; -import { CenterClass, IconButtonClass } from "./components/tw.ts"; -import { ChatMessagesGetter, UI_Interaction_Event } from "./app_update.tsx"; -import { NostrAccountContext, NostrEvent } from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { GroupMessageController } from "../features/gm.ts"; import { ProfileSyncer } from "../features/profile.ts"; import { getFocusedContent } from "./app.tsx"; -import { EventSyncer } from "./event_syncer.ts"; -import { PrimaryTextColor } from "./style/colors.ts"; -import { SettingIcon } from "./icons/setting-icon.tsx"; -import { GroupMessageController } from "../features/gm.ts"; -import { ProfileGetter } from "./search.tsx"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { EditorModel } from "./editor.tsx"; -import { InviteButton } from "./invite-button.tsx"; +import { ChatMessagesGetter, UI_Interaction_Event } from "./app_update.tsx"; +import { CenterClass, IconButtonClass } from "./components/tw.ts"; import { IS_BETA_VERSION } from "./config.js"; -import { UserIcon } from "./icons/user-icon.tsx"; +import { EditorModel } from "./editor.tsx"; +import { EventSyncer } from "./event_syncer.ts"; import { LeftArrowIcon } from "./icons/left-arrow-icon.tsx"; -import { RelayRecordGetter } from "../database.ts"; +import { SettingIcon } from "./icons/setting-icon.tsx"; +import { UserIcon } from "./icons/user-icon.tsx"; +import { InviteButton } from "./invite-button.tsx"; +import { MessagePanel, NewMessageListener } from "./message-panel.tsx"; import { RightPanelModel } from "./right-panel.tsx"; -import { Channel, PopChannel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { ProfileGetter } from "./search.tsx"; +import { PrimaryTextColor } from "./style/colors.ts"; +import { + ConversationList, + ConversationListRetriever, + NewMessageChecker, + PinListGetter, +} from "./conversation-list.tsx"; export type DM_Model = { currentEditor: EditorModel | undefined; @@ -42,9 +47,9 @@ type DirectMessageContainerProps = { profileGetter: ProfileGetter; messageGetter: ChatMessagesGetter; newMessageListener: NewMessageListener; - pinListGetter: cl.PinListGetter; - conversationLists: cl.ConversationListRetriever; - newMessageChecker: cl.NewMessageChecker; + pinListGetter: PinListGetter; + conversationLists: ConversationListRetriever; + newMessageChecker: NewMessageChecker; relayRecordGetter: RelayRecordGetter; } & DM_Model; @@ -155,7 +160,7 @@ export class DirectMessageContainer extends Component - { myPublicKey={ctx.publicKey} profilesSyncer={new ProfileSyncer(database, pool)} emit={testEventBus.emit} - messages={[]} rightPanelModel={{ show: true, }} - isGroupChat={false} + isGroupMessage={true} + messageGetter={groupMessageController} + newMessageListener={new DirectedMessageController(ctx)} + relayRecordGetter={database} /> ); }; diff --git a/UI/message-panel.tsx b/app/UI/message-panel.tsx similarity index 98% rename from UI/message-panel.tsx rename to app/UI/message-panel.tsx index b3a5b98..3665c00 100644 --- a/UI/message-panel.tsx +++ b/app/UI/message-panel.tsx @@ -1,13 +1,23 @@ /** @jsx h */ -import { Component, ComponentChildren, createRef, h } from "https://esm.sh/preact@10.17.1"; +import { Component, createRef, h } from "https://esm.sh/preact@10.17.1"; import { tw } from "https://esm.sh/twind@0.16.16"; -import { Editor, EditorEvent, EditorModel } from "./editor.tsx"; - +import { Channel, sleep } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { NoteID } from "../../libs/nostr.ts/nip19.ts"; +import { NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; +import { RelayRecordGetter } from "../database.ts"; +import { emitFunc } from "../event-bus.ts"; +import { ProfileData, ProfileSyncer } from "../features/profile.ts"; +import { Parsed_Event, PinConversation, UnpinConversation } from "../nostr.ts"; +import { isMobile } from "./_helper.ts"; +import { ChatMessagesGetter } from "./app_update.tsx"; import { Avatar } from "./components/avatar.tsx"; import { IconButtonClass } from "./components/tw.ts"; -import { Channel, sleep } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { emitFunc } from "../event-bus.ts"; - +import { Editor, EditorEvent, EditorModel } from "./editor.tsx"; +import { EventSyncer } from "./event_syncer.ts"; +import { AboutIcon } from "./icons/about-icon.tsx"; +import { LeftArrowIcon } from "./icons/left-arrow-icon.tsx"; +import { InviteCard } from "./invite-card.tsx"; import { ChatMessage, groupContinuousMessages, @@ -16,26 +26,12 @@ import { urlIsImage, urlIsVideo, } from "./message.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { Parsed_Event, PinConversation, UnpinConversation } from "../nostr.ts"; -import { ProfileData, ProfileSyncer } from "../features/profile.ts"; - -import { DividerBackgroundColor, ErrorColor, LinkColor, PrimaryTextColor } from "./style/colors.ts"; -import { EventSyncer } from "./event_syncer.ts"; -import { ProfileCard } from "./profile-card.tsx"; import { NoteCard } from "./note-card.tsx"; -import { ProfileGetter } from "./search.tsx"; -import { InviteCard } from "./invite-card.tsx"; -import { SelectConversation } from "./search_model.ts"; -import { AboutIcon } from "./icons/about-icon.tsx"; -import { CloseIcon } from "./icons/close-icon.tsx"; -import { LeftArrowIcon } from "./icons/left-arrow-icon.tsx"; -import { NoteID } from "../lib/nostr-ts/nip19.ts"; -import { ChatMessagesGetter } from "./app_update.tsx"; -import { isMobile } from "./_helper.ts"; -import { RelayRecordGetter } from "../database.ts"; +import { ProfileCard } from "./profile-card.tsx"; import { RightPanel, RightPanelModel } from "./right-panel.tsx"; +import { ProfileGetter } from "./search.tsx"; +import { SelectConversation } from "./search_model.ts"; +import { DividerBackgroundColor, ErrorColor, LinkColor, PrimaryTextColor } from "./style/colors.ts"; import { UserDetail } from "./user-detail.tsx"; export type DirectMessagePanelUpdate = @@ -493,7 +489,7 @@ export function ParseMessageContent( } else if (message.event.kind == NostrKind.Group_Message) { parsedContentItems = parseContent(message.content); } else { - parsedContentItems = message.event.parsedContentItems; + parsedContentItems = parseContent(message.content); } const vnode = []; diff --git a/UI/message.test.ts b/app/UI/message.test.ts similarity index 98% rename from UI/message.test.ts rename to app/UI/message.test.ts index 6691b4e..c0dee21 100644 --- a/UI/message.test.ts +++ b/app/UI/message.test.ts @@ -1,8 +1,8 @@ import { assertEquals } from "https://deno.land/std@0.176.0/testing/asserts.ts"; import { ChatMessage, findUrlInString, groupContinuousMessages, parseContent } from "./message.ts"; -import { PrivateKey, PublicKey } from "../lib/nostr-ts/key.ts"; -import { Nevent, NostrAddress } from "../lib/nostr-ts/nip19.ts"; -import { NostrKind } from "../lib/nostr-ts/nostr.ts"; +import { PrivateKey, PublicKey } from "../../libs/nostr.ts/key.ts"; +import { Nevent, NostrAddress } from "../../lib/nostr-ts/nip19.ts"; +import { NostrKind } from "../../libs/nostr.ts/nostr.ts"; Deno.test("inline parse", async (t) => { const data = [ diff --git a/UI/message.ts b/app/UI/message.ts similarity index 97% rename from UI/message.ts rename to app/UI/message.ts index 4c6e12c..898239b 100644 --- a/UI/message.ts +++ b/app/UI/message.ts @@ -1,7 +1,7 @@ -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { DirectedMessage_Event, Parsed_Event } from "../nostr.ts"; -import { Nevent, NostrAddress, NostrProfile, NoteID } from "../lib/nostr-ts/nip19.ts"; -import { NostrKind } from "../lib/nostr-ts/nostr.ts"; +import { Nevent, NostrAddress, NostrProfile, NoteID } from "../../libs/nostr.ts/nip19.ts"; +import { NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { gm_Invitation } from "../features/gm.ts"; export function* parseContent(content: string) { diff --git a/UI/nav.tsx b/app/UI/nav.tsx similarity index 99% rename from UI/nav.tsx rename to app/UI/nav.tsx index d114aa0..4ce0e6f 100644 --- a/UI/nav.tsx +++ b/app/UI/nav.tsx @@ -1,7 +1,7 @@ /** @jsx h */ import { ComponentChild, Fragment, h } from "https://esm.sh/preact@10.17.1"; import { Avatar } from "./components/avatar.tsx"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { PrimaryBackgroundColor, PrimaryTextColor, diff --git a/UI/note-card.tsx b/app/UI/note-card.tsx similarity index 93% rename from UI/note-card.tsx rename to app/UI/note-card.tsx index 63d5711..3ea8b96 100644 --- a/UI/note-card.tsx +++ b/app/UI/note-card.tsx @@ -10,8 +10,8 @@ import { } from "./style/colors.ts"; import { emitFunc } from "../event-bus.ts"; import { OpenNote, ViewUserDetail } from "./message-panel.tsx"; -import { NostrEvent } from "../lib/nostr-ts/nostr.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { NostrEvent } from "../../libs/nostr.ts/nostr.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; export function NoteCard(props: { profileData?: ProfileData; diff --git a/UI/notification.test.tsx b/app/UI/notification.test.tsx similarity index 100% rename from UI/notification.test.tsx rename to app/UI/notification.test.tsx diff --git a/UI/notification.ts b/app/UI/notification.ts similarity index 100% rename from UI/notification.ts rename to app/UI/notification.ts diff --git a/UI/profile-card.test.tsx b/app/UI/profile-card.test.tsx similarity index 86% rename from UI/profile-card.test.tsx rename to app/UI/profile-card.test.tsx index 75bd9d8..62268df 100644 --- a/UI/profile-card.test.tsx +++ b/app/UI/profile-card.test.tsx @@ -1,7 +1,7 @@ /** @jsx h */ import { h, render } from "https://esm.sh/preact@10.17.1"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrKind } from "../lib/nostr-ts/nostr.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; +import { InMemoryAccountContext, NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { ProfileCard } from "./profile-card.tsx"; import { testEventBus } from "./_setup.test.ts"; diff --git a/UI/profile-card.tsx b/app/UI/profile-card.tsx similarity index 96% rename from UI/profile-card.tsx rename to app/UI/profile-card.tsx index f797f5a..8cf6e1c 100644 --- a/UI/profile-card.tsx +++ b/app/UI/profile-card.tsx @@ -2,7 +2,7 @@ import { h } from "https://esm.sh/preact@10.17.1"; import { emitFunc } from "../event-bus.ts"; import { ProfileData } from "../features/profile.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { Avatar } from "./components/avatar.tsx"; import { DividerClass } from "./components/tw.ts"; import { ViewUserDetail } from "./message-panel.tsx"; diff --git a/UI/relay-config.test.ts b/app/UI/relay-config.test.ts similarity index 87% rename from UI/relay-config.test.ts rename to app/UI/relay-config.test.ts index 60119e0..d24746f 100644 --- a/UI/relay-config.test.ts +++ b/app/UI/relay-config.test.ts @@ -1,8 +1,8 @@ import { assertEquals, assertInstanceOf, fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { InMemoryAccountContext } from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { InMemoryAccountContext } from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../../lib/nostr-ts/relay-pool.ts"; import { RelayConfig, RemoveBlowaterRelay } from "./relay-config.ts"; -import { blowater, damus } from "../lib/nostr-ts/relay-list.test.ts"; +import { blowater, damus } from "../../lib/nostr-ts/relay-list.test.ts"; Deno.test("relay config", async () => { const pool = new ConnectionPool(); diff --git a/UI/relay-config.ts b/app/UI/relay-config.ts similarity index 92% rename from UI/relay-config.ts rename to app/UI/relay-config.ts index 428050f..392e753 100644 --- a/UI/relay-config.ts +++ b/app/UI/relay-config.ts @@ -1,9 +1,9 @@ -import { NostrAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool, RelayAdder, RelayGetter, RelayRemover } from "../lib/nostr-ts/relay-pool.ts"; +import { NostrAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool, RelayAdder, RelayGetter, RelayRemover } from "../../libs/nostr.ts/relay-pool.ts"; import { parseJSON } from "../features/profile.ts"; -import { SingleRelayConnection } from "../lib/nostr-ts/relay-single.ts"; +import { SingleRelayConnection } from "../../libs/nostr.ts/relay-single.ts"; import { RelayConfigChange } from "./setting.tsx"; -import { blowater, damus } from "../lib/nostr-ts/relay-list.test.ts"; +import { blowater, damus } from "../../libs/nostr.ts/relay-list.test.ts"; export const defaultRelays = [ "wss://relay.blowater.app", diff --git a/UI/relay-detail.test.tsx b/app/UI/relay-detail.test.tsx similarity index 100% rename from UI/relay-detail.test.tsx rename to app/UI/relay-detail.test.tsx diff --git a/UI/relay-detail.tsx b/app/UI/relay-detail.tsx similarity index 99% rename from UI/relay-detail.tsx rename to app/UI/relay-detail.tsx index e1ee85b..40341bc 100644 --- a/UI/relay-detail.tsx +++ b/app/UI/relay-detail.tsx @@ -11,7 +11,7 @@ import { } from "./style/colors.ts"; import { Avatar } from "./components/avatar.tsx"; import { ProfileGetter } from "./search.tsx"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { Loading } from "./components/loading.tsx"; import { RelayIcon } from "./icons/relay-icon.tsx"; diff --git a/UI/right-panel.test.tsx b/app/UI/right-panel.test.tsx similarity index 100% rename from UI/right-panel.test.tsx rename to app/UI/right-panel.test.tsx diff --git a/UI/right-panel.tsx b/app/UI/right-panel.tsx similarity index 100% rename from UI/right-panel.tsx rename to app/UI/right-panel.tsx diff --git a/UI/search.tsx b/app/UI/search.tsx similarity index 98% rename from UI/search.tsx rename to app/UI/search.tsx index 6cdf869..b4b6ce8 100644 --- a/UI/search.tsx +++ b/app/UI/search.tsx @@ -12,7 +12,7 @@ import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/mas import { emitFunc } from "../event-bus.ts"; import { SearchUpdate } from "./search_model.ts"; import { Profile_Nostr_Event } from "../nostr.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; export type SearchResultChannel = Channel; diff --git a/UI/search_model.ts b/app/UI/search_model.ts similarity index 90% rename from UI/search_model.ts rename to app/UI/search_model.ts index 480d46e..2cd5009 100644 --- a/UI/search_model.ts +++ b/app/UI/search_model.ts @@ -1,4 +1,4 @@ -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { ProfileData } from "../features/profile.ts"; export type SearchUpdate = Cancel | SelectConversation | Start; diff --git a/UI/setting.test.tsx b/app/UI/setting.test.tsx similarity index 69% rename from UI/setting.test.tsx rename to app/UI/setting.test.tsx index df7fb3a..31cd93c 100644 --- a/UI/setting.test.tsx +++ b/app/UI/setting.test.tsx @@ -1,15 +1,15 @@ /** @jsx h */ import { h, render } from "https://esm.sh/preact@10.17.1"; import { Setting } from "./setting.tsx"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; import { defaultRelays, RelayConfig } from "./relay-config.ts"; -import { InMemoryAccountContext } from "../lib/nostr-ts/nostr.ts"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; +import { InMemoryAccountContext } from "../../libs/nostr.ts/nostr.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; import { testEventBus } from "./_setup.test.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; const pool = new ConnectionPool(); const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); -const relayConfig = RelayConfig.Default(ctx, pool); +const relayConfig = RelayConfig.Default({ ctx, relayPool: pool }); for (const url of defaultRelays) { relayConfig.add(url); } diff --git a/UI/setting.tsx b/app/UI/setting.tsx similarity index 97% rename from UI/setting.tsx rename to app/UI/setting.tsx index 8505ff8..81bdb21 100644 --- a/UI/setting.tsx +++ b/app/UI/setting.tsx @@ -9,8 +9,7 @@ import { NoOutlineClass, } from "./components/tw.ts"; import KeyView from "./key-view.tsx"; -import { InMemoryAccountContext, NostrAccountContext } from "../lib/nostr-ts/nostr.ts"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; + import { DividerBackgroundColor, ErrorColor, @@ -24,10 +23,12 @@ import { import { RelayIcon } from "./icons/relay-icon.tsx"; import { DeleteIcon } from "./icons/delete-icon.tsx"; import { RelayConfig, RemoveBlowaterRelay } from "./relay-config.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; import { emitFunc } from "../event-bus.ts"; import { sleep } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { blowater } from "../lib/nostr-ts/relay-list.test.ts"; +import { blowater } from "../../libs/nostr.ts/relay-list.test.ts"; +import { InMemoryAccountContext, NostrAccountContext } from "../../libs/nostr.ts/nostr.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; export interface SettingProps { logout: () => void; diff --git a/UI/signIn.test.tsx b/app/UI/signIn.test.tsx similarity index 86% rename from UI/signIn.test.tsx rename to app/UI/signIn.test.tsx index e31fe56..6018b1d 100644 --- a/UI/signIn.test.tsx +++ b/app/UI/signIn.test.tsx @@ -1,7 +1,7 @@ /** @jsx h */ import { h } from "https://esm.sh/preact@10.17.1"; import { render } from "https://esm.sh/preact@10.17.1"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; import { testEventBus } from "./_setup.test.ts"; import { SignIn } from "./signIn.tsx"; diff --git a/UI/signIn.tsx b/app/UI/signIn.tsx similarity index 99% rename from UI/signIn.tsx rename to app/UI/signIn.tsx index a98b0bf..a4b4f31 100644 --- a/UI/signIn.tsx +++ b/app/UI/signIn.tsx @@ -3,8 +3,6 @@ import { Component, h } from "https://esm.sh/preact@10.17.1"; import { GetLocalStorageAccountContext, Nip7ExtensionContext } from "./account-context.ts"; import { ButtonClass, CenterClass, LinearGradientsClass, NoOutlineClass } from "./components/tw.ts"; import KeyView from "./key-view.tsx"; -import { PrivateKey } from "../lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrAccountContext } from "../lib/nostr-ts/nostr.ts"; import { emitFunc } from "../event-bus.ts"; import { ErrorColor, @@ -15,6 +13,8 @@ import { PrimaryTextColor, SecondaryBackgroundColor, } from "./style/colors.ts"; +import { PrivateKey } from "../../libs/nostr.ts/key.ts"; +import { InMemoryAccountContext, NostrAccountContext } from "../../libs/nostr.ts/nostr.ts"; export type SignInEvent = { type: "SignInEvent"; diff --git a/UI/style/colors.ts b/app/UI/style/colors.ts similarity index 100% rename from UI/style/colors.ts rename to app/UI/style/colors.ts diff --git a/UI/tw.config.ts b/app/UI/tw.config.ts similarity index 100% rename from UI/tw.config.ts rename to app/UI/tw.config.ts diff --git a/UI/user-detail.tsx b/app/UI/user-detail.tsx similarity index 98% rename from UI/user-detail.tsx rename to app/UI/user-detail.tsx index c1bd5c3..0d40c25 100644 --- a/UI/user-detail.tsx +++ b/app/UI/user-detail.tsx @@ -1,7 +1,7 @@ /** @jsx h */ import { h } from "https://esm.sh/preact@10.17.1"; import { Avatar } from "./components/avatar.tsx"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; import { ProfileData } from "../features/profile.ts"; import { emitFunc } from "../event-bus.ts"; import { DirectMessagePanelUpdate } from "./message-panel.tsx"; diff --git a/database.test.ts b/app/database.test.ts similarity index 96% rename from database.test.ts rename to app/database.test.ts index b881361..902a2ca 100644 --- a/database.test.ts +++ b/app/database.test.ts @@ -1,7 +1,7 @@ import { not_cancelled, sleep } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { prepareNormalNostrEvent } from "./lib/nostr-ts/event.ts"; -import { PrivateKey } from "./lib/nostr-ts/key.ts"; -import { InMemoryAccountContext, NostrEvent, NostrKind } from "./lib/nostr-ts/nostr.ts"; +import { prepareNormalNostrEvent } from "../libs/nostr.ts/event.ts"; +import { PrivateKey } from "../libs/nostr.ts/key.ts"; +import { InMemoryAccountContext, NostrEvent, NostrKind } from "../libs/nostr.ts/nostr.ts"; import { assertEquals, fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; import { test_db_view } from "./UI/_setup.test.ts"; diff --git a/database.ts b/app/database.ts similarity index 98% rename from database.ts rename to app/database.ts index 36e31bf..12d42b5 100644 --- a/database.ts +++ b/app/database.ts @@ -1,8 +1,8 @@ import { getTags, Parsed_Event, Profile_Nostr_Event } from "./nostr.ts"; import * as csp from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; import { parseJSON, ProfileData } from "./features/profile.ts"; -import { NostrEvent, NostrKind, Tag, verifyEvent } from "./lib/nostr-ts/nostr.ts"; -import { PublicKey } from "./lib/nostr-ts/key.ts"; +import { NostrEvent, NostrKind, Tag, verifyEvent } from "../libs/nostr.ts/nostr.ts"; +import { PublicKey } from "../libs/nostr.ts/key.ts"; import { ProfileController } from "./UI/search.tsx"; const buffer_size = 2000; diff --git a/event-bus.ts b/app/event-bus.ts similarity index 100% rename from event-bus.ts rename to app/event-bus.ts diff --git a/features/dm.test.ts b/app/features/dm.test.ts similarity index 93% rename from features/dm.test.ts rename to app/features/dm.test.ts index c999b59..978ed83 100644 --- a/features/dm.test.ts +++ b/app/features/dm.test.ts @@ -1,7 +1,7 @@ import { assertEquals, fail } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { InMemoryAccountContext, NostrKind } from "../lib/nostr-ts/nostr.ts"; +import { InMemoryAccountContext, NostrKind } from "../../libs/nostr.ts/nostr.ts"; import { DirectedMessageController } from "./dm.ts"; -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; +import { prepareEncryptedNostrEvent } from "../../lib/nostr-ts/event.ts"; import { ChatMessage } from "../UI/message.ts"; Deno.test("DirectedMessageController", async () => { diff --git a/features/dm.ts b/app/features/dm.ts similarity index 94% rename from features/dm.ts rename to app/features/dm.ts index cefa3d9..3fe1ee3 100644 --- a/features/dm.ts +++ b/app/features/dm.ts @@ -1,14 +1,18 @@ -import * as csp from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { NostrAccountContext, NostrEvent, NostrKind } from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; -import { compare, getTags, Parsed_Event, prepareNostrImageEvent, Tag, Tags } from "../nostr.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; +import { prepareEncryptedNostrEvent } from "../../libs/nostr.ts/event.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { NostrAccountContext, NostrEvent, NostrKind } from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; import { DirectMessageGetter } from "../UI/app_update.tsx"; -import { ChatMessage, parseContent } from "../UI/message.ts"; -import { decodeInvitation, gmEventType } from "./gm.ts"; -import { Channel } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; import { NewMessageListener } from "../UI/message-panel.tsx"; +import { ChatMessage, parseContent } from "../UI/message.ts"; +import { compare, getTags, Parsed_Event, prepareNostrImageEvent, Tag, Tags } from "../nostr.ts"; +import { decodeInvitation, gmEventType } from "./gm.ts"; +import { + chan, + Channel, + Multicaster, + PutToClosedChannelError, +} from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; export async function sendDMandImages(args: { sender: NostrAccountContext; @@ -118,17 +122,17 @@ async function* getAllEncryptedMessagesReceivedBy( } function merge(...iters: AsyncIterable[]) { - let merged = csp.chan(); + let merged = chan(); async function coroutine( source: AsyncIterable, - destination: csp.Channel, + destination: Channel, ) { for await (let ele of source) { if (destination.closed()) { return; } let err = await destination.put(ele); - if (err instanceof csp.PutToClosedChannelError) { + if (err instanceof PutToClosedChannelError) { // this means the merged channel was not closed when // line 319 is called, // but during waiting time of line 319, no consumer pops it and it was closed. @@ -153,7 +157,7 @@ export class DirectedMessageController implements DirectMessageGetter, NewMessag private readonly directed_messages = new Map(); private readonly new_message_chan = new Channel(); - private readonly caster = new csp.Multicaster(this.new_message_chan); + private readonly caster = new Multicaster(this.new_message_chan); // get the direct messages between me and this pubkey public getChatMessages(pubkey: string): ChatMessage[] { @@ -173,7 +177,7 @@ export class DirectedMessageController implements DirectMessageGetter, NewMessag for await (const message of this.caster.copy()) { if (is_DM_between(message.event, this.ctx.publicKey.hex, pubkey)) { const err = await messages.put(message); - if (err instanceof csp.PutToClosedChannelError) { + if (err instanceof PutToClosedChannelError) { // the channel is closed by external code, most likely the caller return; } diff --git a/features/gm.test.ts b/app/features/gm.test.ts similarity index 98% rename from features/gm.test.ts rename to app/features/gm.test.ts index c54c44d..4d5cc64 100644 --- a/features/gm.test.ts +++ b/app/features/gm.test.ts @@ -4,8 +4,8 @@ import { assertNotInstanceOf, fail, } from "https://deno.land/std@0.176.0/testing/asserts.ts"; -import { PublicKey } from "../lib/nostr-ts/key.ts"; -import { blobToBase64, InMemoryAccountContext } from "../lib/nostr-ts/nostr.ts"; +import { PublicKey } from "../../libs/nostr.ts/key.ts"; +import { blobToBase64, InMemoryAccountContext } from "../../libs/nostr.ts/nostr.ts"; import { gmEventType, GroupMessageController } from "./gm.ts"; import { getTags } from "../nostr.ts"; import { DirectedMessageController } from "./dm.ts"; diff --git a/features/gm.ts b/app/features/gm.ts similarity index 98% rename from features/gm.ts rename to app/features/gm.ts index 457a97e..5be2410 100644 --- a/features/gm.ts +++ b/app/features/gm.ts @@ -1,23 +1,23 @@ import { z } from "https://esm.sh/zod@3.22.4"; import { Channel, semaphore } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; -import { ChatMessagesGetter } from "../UI/app_update.tsx"; -import { ConversationSummary } from "../UI/conversation-list.ts"; -import { GroupMessageListGetter } from "../UI/conversation-list.tsx"; -import { ChatMessage } from "../UI/message.ts"; -import { Datebase_View } from "../database.ts"; -import { prepareEncryptedNostrEvent } from "../lib/nostr-ts/event.ts"; -import { PrivateKey, PublicKey } from "../lib/nostr-ts/key.ts"; +import { prepareEncryptedNostrEvent } from "../../libs/nostr.ts/event.ts"; +import { PrivateKey, PublicKey } from "../../libs/nostr.ts/key.ts"; import { blobToBase64, InMemoryAccountContext, NostrAccountContext, NostrEvent, NostrKind, -} from "../lib/nostr-ts/nostr.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; -import { getTags, Parsed_Event, Tag } from "../nostr.ts"; -import { parseJSON } from "./profile.ts"; +} from "../../libs/nostr.ts/nostr.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; +import { ChatMessagesGetter } from "../UI/app_update.tsx"; +import { ConversationSummary } from "../UI/conversation-list.ts"; +import { GroupMessageListGetter } from "../UI/conversation-list.tsx"; import { NewMessageListener } from "../UI/message-panel.tsx"; +import { ChatMessage } from "../UI/message.ts"; +import { Datebase_View } from "../database.ts"; +import { getTags, Parsed_Event } from "../nostr.ts"; +import { parseJSON } from "./profile.ts"; export type GM_Types = "gm_creation" | "gm_message" | "gm_invitation"; diff --git a/features/profile.ts b/app/features/profile.ts similarity index 92% rename from features/profile.ts rename to app/features/profile.ts index 5a80ebf..1020207 100644 --- a/features/profile.ts +++ b/app/features/profile.ts @@ -1,10 +1,10 @@ import { Datebase_View } from "../database.ts"; -import { NostrAccountContext, NostrKind } from "../lib/nostr-ts/nostr.ts"; import { Parsed_Event, Profile_Nostr_Event } from "../nostr.ts"; -import { prepareNormalNostrEvent } from "../lib/nostr-ts/event.ts"; +import { prepareNormalNostrEvent } from "../../libs/nostr.ts/event.ts"; import { semaphore } from "https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts"; import { ProfileAdder } from "./gm.ts"; -import { ConnectionPool } from "../lib/nostr-ts/relay-pool.ts"; +import { ConnectionPool } from "../../libs/nostr.ts/relay-pool.ts"; +import { NostrAccountContext, NostrKind } from "../../libs/nostr.ts/nostr.ts"; export class ProfileSyncer implements ProfileAdder { readonly userSet = new Set(); diff --git a/nostr.test.ts b/app/nostr.test.ts similarity index 90% rename from nostr.test.ts rename to app/nostr.test.ts index dc51cca..1fce303 100644 --- a/nostr.test.ts +++ b/app/nostr.test.ts @@ -5,11 +5,11 @@ import { InMemoryAccountContext, NostrEvent, NostrKind, -} from "./lib/nostr-ts/nostr.ts"; +} from "../libs/nostr.ts/nostr.ts"; import { prepareNostrImageEvent, prepareReplyEvent } from "./nostr.ts"; -import { PrivateKey } from "./lib/nostr-ts/key.ts"; -import { utf8Decode } from "./lib/nostr-ts/ende.ts"; -import { prepareNormalNostrEvent } from "./lib/nostr-ts/event.ts"; +import { PrivateKey } from "../libs/nostr.ts/key.ts"; +import { utf8Decode } from "../libs/nostr.ts/ende.ts"; +import { prepareNormalNostrEvent } from "../libs/nostr.ts/event.ts"; Deno.test("prepareNostrImageEvent", async (t) => { const pri = PrivateKey.Generate(); diff --git a/nostr.ts b/app/nostr.ts similarity index 96% rename from nostr.ts rename to app/nostr.ts index 2918ef7..98e3bac 100644 --- a/nostr.ts +++ b/app/nostr.ts @@ -1,12 +1,12 @@ /* Extension to common Nostr types */ -import { PublicKey } from "./lib/nostr-ts/key.ts"; -import * as nostr from "./lib/nostr-ts/nostr.ts"; -import { NostrKind, TagPubKey } from "./lib/nostr-ts/nostr.ts"; +import { PublicKey } from "../libs/nostr.ts/key.ts"; +import * as nostr from "../libs/nostr.ts/nostr.ts"; +import { NostrKind, TagPubKey } from "../libs/nostr.ts/nostr.ts"; import { ProfileData } from "./features/profile.ts"; import { ContentItem } from "./UI/message.ts"; -import { prepareEncryptedNostrEvent, prepareNormalNostrEvent } from "./lib/nostr-ts/event.ts"; +import { prepareEncryptedNostrEvent, prepareNormalNostrEvent } from "../libs/nostr.ts/event.ts"; type TotolChunks = string; type ChunkIndex = string; // 0-indexed diff --git a/time.ts b/app/time.ts similarity index 88% rename from time.ts rename to app/time.ts index 3792f98..e1c6743 100644 --- a/time.ts +++ b/app/time.ts @@ -1,4 +1,4 @@ -import { NostrEvent } from "./lib/nostr-ts/nostr.ts"; +import { NostrEvent } from "../libs/nostr.ts/nostr.ts"; import { getTags } from "./nostr.ts"; export class LamportTime { diff --git a/deno.json b/deno.json index 6572e9f..bdd890d 100644 --- a/deno.json +++ b/deno.json @@ -16,6 +16,6 @@ } }, "fmt": { - "exclude": ["UI/vendor/", "vendor"] + "exclude": ["UI/vendor/", "vendor", "cov_profile", "*tauri-app"] } } diff --git a/deno.lock b/deno.lock index cc2fee1..ba84159 100644 --- a/deno.lock +++ b/deno.lock @@ -1,14 +1,59 @@ { "version": "3", "remote": { + "https://deno.land/std@0.140.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.140.0/_util/os.ts": "3b4c6e27febd119d36a416d7a97bd3b0251b77c88942c8f16ee5953ea13e2e49", + "https://deno.land/std@0.140.0/bytes/bytes_list.ts": "67eb118e0b7891d2f389dad4add35856f4ad5faab46318ff99653456c23b025d", + "https://deno.land/std@0.140.0/bytes/equals.ts": "fc16dff2090cced02497f16483de123dfa91e591029f985029193dfaa9d894c9", + "https://deno.land/std@0.140.0/bytes/mod.ts": "763f97d33051cc3f28af1a688dfe2830841192a9fea0cbaa55f927b49d49d0bf", + "https://deno.land/std@0.140.0/fmt/colors.ts": "30455035d6d728394781c10755351742dd731e3db6771b1843f9b9e490104d37", + "https://deno.land/std@0.140.0/fs/_util.ts": "0fb24eb4bfebc2c194fb1afdb42b9c3dda12e368f43e8f2321f84fc77d42cb0f", + "https://deno.land/std@0.140.0/fs/ensure_dir.ts": "9dc109c27df4098b9fc12d949612ae5c9c7169507660dcf9ad90631833209d9d", + "https://deno.land/std@0.140.0/io/buffer.ts": "bd0c4bf53db4b4be916ca5963e454bddfd3fcd45039041ea161dbf826817822b", + "https://deno.land/std@0.140.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.140.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.140.0/path/_util.ts": "c1e9686d0164e29f7d880b2158971d805b6e0efc3110d0b3e24e4b8af2190d2b", + "https://deno.land/std@0.140.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.140.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.140.0/path/mod.ts": "d3e68d0abb393fb0bf94a6d07c46ec31dc755b544b13144dee931d8d5f06a52d", + "https://deno.land/std@0.140.0/path/posix.ts": "293cdaec3ecccec0a9cc2b534302dfe308adb6f10861fa183275d6695faace44", + "https://deno.land/std@0.140.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.140.0/path/win32.ts": "31811536855e19ba37a999cd8d1b62078235548d67902ece4aa6b814596dd757", + "https://deno.land/std@0.140.0/streams/conversion.ts": "712585bfa0172a97fb68dd46e784ae8ad59d11b88079d6a4ab098ff42e697d21", "https://deno.land/std@0.176.0/encoding/hex.ts": "50f8c95b52eae24395d3dfcb5ec1ced37c5fe7610ef6fffdcc8b0fdc38e3b32f", "https://deno.land/std@0.176.0/fmt/colors.ts": "938c5d44d889fb82eff6c358bea8baa7e85950a16c9f6dae3ec3a7a729164471", "https://deno.land/std@0.176.0/testing/_diff.ts": "1a3c044aedf77647d6cac86b798c6417603361b66b54c53331b312caeb447aea", "https://deno.land/std@0.176.0/testing/_format.ts": "a69126e8a469009adf4cf2a50af889aca364c349797e63174884a52ff75cf4c7", "https://deno.land/std@0.176.0/testing/asserts.ts": "984ab0bfb3faeed92ffaa3a6b06536c66811185328c5dd146257c702c41b01ab", + "https://deno.land/std@0.186.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", + "https://deno.land/std@0.186.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", "https://deno.land/std@0.186.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", "https://deno.land/std@0.186.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", "https://deno.land/std@0.186.0/path/_util.ts": "d7abb1e0dea065f427b89156e28cdeb32b045870acdf865833ba808a73b576d0", + "https://deno.land/std@0.186.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.186.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1", + "https://deno.land/std@0.186.0/path/mod.ts": "ee161baec5ded6510ee1d1fb6a75a0f5e4b41f3f3301c92c716ecbdf7dae910d", + "https://deno.land/std@0.186.0/path/posix.ts": "8b7c67ac338714b30c816079303d0285dd24af6b284f7ad63da5b27372a2c94d", + "https://deno.land/std@0.186.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", + "https://deno.land/std@0.186.0/path/win32.ts": "d186344e5583bcbf8b18af416d13d82b35a317116e6460a5a3953508c3de5bba", + "https://deno.land/x/deno_cache@0.5.2/auth_tokens.ts": "5d1d56474c54a9d152e44d43ea17c2e6a398dd1e9682c69811a313567c01ee1e", + "https://deno.land/x/deno_cache@0.5.2/cache.ts": "92ce8511e1e5c00fdf53a41619aa77d632ea8e0fc711324322e4d5ebf8133911", + "https://deno.land/x/deno_cache@0.5.2/deno_dir.ts": "1ea355b8ba11c630d076b222b197cfc937dd81e5a4a260938997da99e8ff93a0", + "https://deno.land/x/deno_cache@0.5.2/deps.ts": "26a75905652510b76e54b6d5ef3cf824d1062031e00782efcd768978419224e7", + "https://deno.land/x/deno_cache@0.5.2/dirs.ts": "009c6f54e0b610914d6ce9f72f6f6ccfffd2d47a79a19061e0a9eb4253836069", + "https://deno.land/x/deno_cache@0.5.2/disk_cache.ts": "66a1e604a8d564b6dd0500326cac33d08b561d331036bf7272def80f2f7952aa", + "https://deno.land/x/deno_cache@0.5.2/file_fetcher.ts": "89616c50b6df73fb04e73d0b7cd99e5f2ed7967386913d65b9e8baa4238501f7", + "https://deno.land/x/deno_cache@0.5.2/http_cache.ts": "407135eaf2802809ed373c230d57da7ef8dff923c4abf205410b9b99886491fd", + "https://deno.land/x/deno_cache@0.5.2/lib/deno_cache_dir.generated.js": "18b6526d0c50791a73dd0eb894e99de1ac05ee79dcbd53298ff5b5b6b0757fe6", + "https://deno.land/x/deno_cache@0.5.2/lib/snippets/deno_cache_dir-77bed54ace8005e0/fs.js": "cbe3a976ed63c72c7cb34ef845c27013033a3b11f9d8d3e2c4aa5dda2c0c7af6", + "https://deno.land/x/deno_cache@0.5.2/mod.ts": "0b4d071ad095128bdc2b1bc6e5d2095222dcbae08287261690ee9757e6300db6", + "https://deno.land/x/deno_cache@0.5.2/util.ts": "f3f5a0cfc60051f09162942fb0ee87a0e27b11a12aec4c22076e3006be4cc1e2", + "https://deno.land/x/dir@1.5.1/data_local_dir/mod.ts": "91eb1c4bfadfbeda30171007bac6d85aadacd43224a5ed721bbe56bc64e9eb66", + "https://deno.land/x/emit@0.31.0/_utils.ts": "98412edc7aa29e77d592b54fbad00bdec1b05d0c25eb772a5f8edc9813e08d88", + "https://deno.land/x/emit@0.31.0/emit.generated.js": "f2453b4a5243f2f5377e70e4577de0be57f99384c1a773bc5b786ad324739dac", + "https://deno.land/x/emit@0.31.0/mod.ts": "326c48e48f3f3c83c11b089aec803e6270bcd64493f250aeb56f46f6960a8458", + "https://deno.land/x/wasmbuild@0.14.1/cache.ts": "89eea5f3ce6035a1164b3e655c95f21300498920575ade23161421f5b01967f4", + "https://deno.land/x/wasmbuild@0.14.1/loader.ts": "d98d195a715f823151cbc8baa3f32127337628379a02d9eb2a3c5902dbccfc02", "https://esm.sh/@noble/hashes@1.3.2/utils": "20c519683900b5873b16ff15377049f6e86e183b612a0e442f6acbc056667e6a", "https://esm.sh/@scure/bip32@1.3.2": "8f8111ae2b0865644daf69d6b0d8ea76bb15112453f5dc697ba29b44b527b26c", "https://esm.sh/@scure/bip39@1.2.1": "7d6cdfce191281c81406e55de5216714dd22b19790123b652421bbf9718e5057", @@ -34,6 +79,8 @@ "https://esm.sh/v134/@scure/bip39@1.2.1/denonext/bip39.mjs": "2b99a6aac64caae58b2fe1e74576f047b2d787942091f11e3b1a55afa487bd5e", "https://esm.sh/v134/@scure/bip39@1.2.1/denonext/wordlists/english.js": "c606099d820c43e10e7c466571850947405da72f24f9b6bd859685a1610a6840", "https://esm.sh/v135/dexie@3.2.4/denonext/dexie.mjs": "1ce1770b71be61358f3bbaf5b0667b395cf30052872e66d312178ebe0a72cca1", + "https://esm.sh/v135/dexie@3.2.4/denonext/dist/dexie.js": "20d7fea3aad3a1b5d91b7d43590df26f3132c429b731d2dd77697d2a60f67a79", + "https://esm.sh/v135/dexie@3.2.4/dist/dexie.js": "09d2f84b77cc12ac170004634c8560bc7d40a43920ff99166a269a034c48704b", "https://esm.sh/v135/style-vendorizer@2.2.3/denonext/style-vendorizer.mjs": "121455e7b04b631ef6463ce63cdcd29febd74d88c37713c774ceca8a1561c83d", "https://esm.sh/v135/twind@0.16.16/denonext/twind.mjs": "857319af660b8bae96d20737a4f9a9b4ce909fcb47e0552abd559216824fe795", "https://esm.sh/v135/zod@3.22.4/denonext/zod.mjs": "660128af5d1e921745c4d452472d103d9f2fc5afa508bbf233b83d35a272ad67", diff --git a/lib/nostr-ts b/libs/nostr.ts similarity index 100% rename from lib/nostr-ts rename to libs/nostr.ts diff --git a/makefile b/makefile index 5b46ae4..2f00572 100644 --- a/makefile +++ b/makefile @@ -1,5 +1,11 @@ +# https://stackoverflow.com/questions/3931741/why-does-make-think-the-target-is-up-to-date +.PHONY: build-pwa build-extension + +page=app +port=4507 file = * coverage_dir = cov_profile + test: clear-coverage deno test --config=deno.json --coverage=$(coverage_dir) --allow-net --allow-read --allow-env --trace-ops *.test.ts **/*.test.ts @@ -36,3 +42,27 @@ clear-coverage: stats: cd DevOps && deno run --unstable --allow-net --allow-write --allow-read stats.ts + + +# build the web application +build: fmt + cp -rv app/UI/assets/ build-pwa/ + deno bundle app/UI/_main.tsx build-pwa/main.mjs + +test-ui: + deno bundle --config=./deno.json app/UI/$(page).test.tsx build-pwa/main.mjs + file_server -p $(port) build-pwa + +dev: build + file_server -p $(port) build-pwa + +compile-all-ui-tests: + deno run --allow-read --allow-env --allow-write --allow-net app/UI/_compile-ui-tests.ts + +# build the tauri application +tauri-dev: + cargo tauri dev + +tauri-build: fmt + deno bundle 1_app/UI/_main.tsx build-pwa/main.mjs + cargo tauri build diff --git a/tauri-app/.gitignore b/tauri-app/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/tauri-app/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/tauri-app/.vscode/extensions.json b/tauri-app/.vscode/extensions.json new file mode 100644 index 0000000..b82ce04 --- /dev/null +++ b/tauri-app/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/src-tauri/.gitignore b/tauri-app/src-tauri/.gitignore similarity index 100% rename from src-tauri/.gitignore rename to tauri-app/src-tauri/.gitignore diff --git a/src-tauri/Cargo.lock b/tauri-app/src-tauri/Cargo.lock similarity index 77% rename from src-tauri/Cargo.lock rename to tauri-app/src-tauri/Cargo.lock index bda8e0a..b0fb5d0 100644 --- a/src-tauri/Cargo.lock +++ b/tauri-app/src-tauri/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -58,9 +58,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "ca87830a3e3fb156dc96cfbd31cb620265dd053be734723f22b760d6cc3c3051" [[package]] name = "app" @@ -93,7 +93,7 @@ dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -104,9 +104,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -125,9 +125,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "bitflags" @@ -137,9 +137,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "block" @@ -158,9 +158,9 @@ dependencies = [ [[package]] name = "brotli" -version = "3.3.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -169,9 +169,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.3.4" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.6.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" dependencies = [ "memchr", "serde", @@ -189,27 +189,27 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cairo-rs" @@ -232,7 +232,7 @@ checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" dependencies = [ "glib-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -242,14 +242,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" dependencies = [ "serde", - "toml 0.7.6", + "toml 0.7.8", ] [[package]] name = "cc" -version = "1.0.80" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f1226cd9da55587234753d1245dd5b132343ea240f26b6a9003d68706141ba" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "libc", ] @@ -282,9 +282,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" +checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" dependencies = [ "smallvec", "target-lexicon", @@ -298,15 +298,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "winapi", + "windows-targets 0.48.5", ] [[package]] @@ -327,15 +327,14 @@ dependencies = [ [[package]] name = "cocoa-foundation" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" dependencies = [ "bitflags 1.3.2", "block", "core-foundation", "core-graphics-types", - "foreign-types", "libc", "objc", ] @@ -364,9 +363,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -374,9 +373,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" @@ -393,9 +392,9 @@ dependencies = [ [[package]] name = "core-graphics-types" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -404,9 +403,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -422,19 +421,41 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2" dependencies = [ "cfg-if", "crossbeam-utils", ] [[package]] -name = "crossbeam-utils" -version = "0.8.16" +name = "crossbeam-deque" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c" dependencies = [ "cfg-if", ] @@ -473,17 +494,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "ctor" -version = "0.1.26" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.44", ] [[package]] @@ -507,7 +528,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] @@ -518,15 +539,16 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "deranged" -version = "0.3.6" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ + "powerfmt", "serde", ] @@ -603,13 +625,13 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "embed-resource" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a" +checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2" dependencies = [ "cc", "rustc_version", - "toml 0.7.6", + "toml 0.8.8", "vswhom", "winreg", ] @@ -622,9 +644,9 @@ checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] @@ -637,36 +659,25 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fdeflate" -version = "0.3.0" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" dependencies = [ "simd-adler32", ] @@ -683,21 +694,21 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", - "windows-sys", + "redox_syscall", + "windows-sys 0.52.0", ] [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -726,9 +737,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -745,24 +756,24 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -771,32 +782,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-macro", @@ -854,7 +865,7 @@ dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -871,7 +882,7 @@ dependencies = [ "libc", "pango-sys", "pkg-config", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -885,7 +896,7 @@ dependencies = [ "gobject-sys", "libc", "pkg-config", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -897,7 +908,7 @@ dependencies = [ "gdk-sys", "glib-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", "x11", ] @@ -937,9 +948,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -948,9 +959,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "gio" @@ -978,7 +989,7 @@ dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", "winapi", ] @@ -1024,7 +1035,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" dependencies = [ "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -1035,15 +1046,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -1054,7 +1065,7 @@ checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" dependencies = [ "glib-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -1095,7 +1106,7 @@ dependencies = [ "gobject-sys", "libc", "pango-sys", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -1120,9 +1131,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "heck" @@ -1141,9 +1152,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -1153,9 +1164,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "html5ever" -version = "0.25.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" dependencies = [ "log", "mac", @@ -1167,13 +1178,13 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", - "itoa 1.0.9", + "itoa 1.0.10", ] [[package]] @@ -1184,16 +1195,16 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows 0.48.0", + "windows-core", ] [[package]] @@ -1223,9 +1234,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1233,26 +1244,25 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060" dependencies = [ + "crossbeam-deque", "globset", - "lazy_static", "log", "memchr", - "regex", + "regex-automata 0.4.3", "same-file", - "thread_local", "walkdir", "winapi-util", ] [[package]] name = "image" -version = "0.24.6" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" dependencies = [ "bytemuck", "byteorder", @@ -1274,19 +1284,20 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.3", + "serde", ] [[package]] name = "infer" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" +checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" dependencies = [ "cfb", ] @@ -1308,9 +1319,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "javascriptcore-rs" @@ -1357,18 +1368,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] [[package]] name = "json-patch" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658" +checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" dependencies = [ "serde", "serde_json", @@ -1377,13 +1388,14 @@ dependencies = [ ] [[package]] -name = "kuchiki" -version = "0.8.1" +name = "kuchikiki" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" dependencies = [ "cssparser", "html5ever", + "indexmap 1.9.3", "matches", "selectors", ] @@ -1396,9 +1408,20 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", +] [[package]] name = "line-wrap" @@ -1411,15 +1434,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -1427,9 +1450,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "loom" @@ -1463,13 +1486,13 @@ dependencies = [ [[package]] name = "markup5ever" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" dependencies = [ "log", - "phf 0.8.0", - "phf_codegen", + "phf 0.10.1", + "phf_codegen 0.10.0", "string_cache", "string_cache_codegen", "tendril", @@ -1492,9 +1515,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -1588,9 +1611,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -1656,18 +1679,18 @@ dependencies = [ [[package]] name = "object" -version = "0.31.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "overload" @@ -1697,7 +1720,7 @@ dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -1712,22 +1735,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "phf" @@ -1746,9 +1769,17 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ - "phf_macros 0.10.0", "phf_shared 0.10.0", - "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros 0.11.2", + "phf_shared 0.11.2", ] [[package]] @@ -1761,6 +1792,16 @@ dependencies = [ "phf_shared 0.8.0", ] +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + [[package]] name = "phf_generator" version = "0.8.0" @@ -1781,6 +1822,16 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + [[package]] name = "phf_macros" version = "0.8.0" @@ -1797,16 +1848,15 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", + "phf_generator 0.11.2", + "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.44", ] [[package]] @@ -1828,10 +1878,19 @@ dependencies = [ ] [[package]] -name = "pin-project-lite" -version = "0.2.10" +name = "phf_shared" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -1841,18 +1900,18 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "plist" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ - "base64 0.21.2", - "indexmap 1.9.3", + "base64 0.21.5", + "indexmap 2.1.0", "line-wrap", "quick-xml", "serde", @@ -1861,9 +1920,9 @@ dependencies = [ [[package]] name = "png" -version = "0.17.9" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11" +checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -1872,6 +1931,12 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1891,7 +1956,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] @@ -1926,27 +1991,27 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "2dd5e8a1f1029c43224ad5898e50140c2aebb1705f19e67c918ebf5b9e797fe1" dependencies = [ "unicode-ident", ] [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "22a37c9326af5ed140c86a46655b5278de879853be5573c01df185b6f49a580a" dependencies = [ "proc-macro2", ] @@ -2011,7 +2076,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", ] [[package]] @@ -2040,43 +2105,34 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom 0.2.11", + "libredox", "thiserror", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.4", - "regex-syntax 0.7.4", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -2090,13 +2146,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax 0.8.2", ] [[package]] @@ -2107,9 +2163,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rustc-demangle" @@ -2128,15 +2184,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2147,9 +2203,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "safemem" @@ -2191,7 +2247,7 @@ dependencies = [ "log", "matches", "phf 0.8.0", - "phf_codegen", + "phf_codegen 0.8.0", "precomputed-hash", "servo_arc", "smallvec", @@ -2200,74 +2256,75 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.180" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea67f183f058fe88a4e3ec6e2788e003840893b91bac4559cabedd00863b3ed" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.180" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e744d7782b686ab3b73267ef05697159cc0e5abbed3f47f9933165e5219036" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "serde_json" -version = "1.0.104" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9" dependencies = [ - "itoa 1.0.9", + "itoa 1.0.10", "ryu", "serde", ] [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] [[package]] name = "serde_with" -version = "3.1.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e47d95bc83ed33b2ecf84f4187ad1ab9685d18ff28db000c99deac8ce180e3" +checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" dependencies = [ - "base64 0.21.2", + "base64 0.21.5", "chrono", "hex", "indexmap 1.9.3", + "indexmap 2.1.0", "serde", "serde_json", "serde_with_macros", @@ -2276,14 +2333,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.1.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3cee93715c2e266b9338b7544da68a9f24e227722ba482bd1c024367c77c65" +checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] @@ -2320,9 +2377,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2331,9 +2388,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -2346,24 +2403,24 @@ checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "soup2" @@ -2453,9 +2510,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "92d27c2c202598d05175a6dd3af46824b7f747f8d8e9b14c623f19fa5069735d" dependencies = [ "proc-macro2", "quote", @@ -2477,22 +2534,22 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.1.1" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" +checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" dependencies = [ - "cfg-expr 0.15.4", + "cfg-expr 0.15.5", "heck 0.4.1", "pkg-config", - "toml 0.7.6", + "toml 0.8.8", "version-compare 0.1.1", ] [[package]] name = "tao" -version = "0.16.2" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31" +checksum = "75f5aefd6be4cd3ad3f047442242fd9f57cbfb3e565379f66b5e14749364fa4f" dependencies = [ "bitflags 1.3.2", "cairo-rs", @@ -2537,9 +2594,9 @@ dependencies = [ [[package]] name = "tao-macros" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27a4bcc5eb524658234589bdffc7e7bfb996dbae6ce9393bfd39cb4159b445" +checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" dependencies = [ "proc-macro2", "quote", @@ -2548,9 +2605,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" dependencies = [ "filetime", "libc", @@ -2559,15 +2616,15 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" -version = "1.4.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e" +checksum = "fd27c04b9543776a972c86ccf70660b517ecabbeced9fb58d8b961a13ad129af" dependencies = [ "anyhow", "cocoa", @@ -2610,12 +2667,13 @@ dependencies = [ [[package]] name = "tauri-build" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b" +checksum = "e9914a4715e0b75d9f387a285c7e26b5bbfeb1249ad9f842675a82481565c532" dependencies = [ "anyhow", "cargo_toml", + "dirs-next", "heck 0.4.1", "json-patch", "semver", @@ -2623,15 +2681,16 @@ dependencies = [ "serde_json", "tauri-utils", "tauri-winres", + "walkdir", ] [[package]] name = "tauri-codegen" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a" +checksum = "a1554c5857f65dbc377cefb6b97c8ac77b1cb2a90d30d3448114d5d6b48a77fc" dependencies = [ - "base64 0.21.2", + "base64 0.21.5", "brotli", "ico", "json-patch", @@ -2652,9 +2711,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "1.4.0" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7" +checksum = "277abf361a3a6993ec16bcbb179de0d6518009b851090a01adfea12ac89fa875" dependencies = [ "heck 0.4.1", "proc-macro2", @@ -2666,9 +2725,9 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769" +checksum = "cf2d0652aa2891ff3e9caa2401405257ea29ab8372cce01f186a5825f1bd0e76" dependencies = [ "gtk", "http", @@ -2687,9 +2746,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b" +checksum = "6cae61fbc731f690a4899681c9052dde6d05b159b44563ace8186fc1bfb7d158" dependencies = [ "cocoa", "gtk", @@ -2707,9 +2766,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "1.4.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84" +checksum = "ece74810b1d3d44f29f732a7ae09a63183d63949bbdd59c61f8ed2a1b70150db" dependencies = [ "brotli", "ctor", @@ -2719,9 +2778,10 @@ dependencies = [ "html5ever", "infer", "json-patch", - "kuchiki", + "kuchikiki", + "log", "memchr", - "phf 0.10.1", + "phf 0.11.2", "proc-macro2", "quote", "semver", @@ -2731,7 +2791,7 @@ dependencies = [ "thiserror", "url", "walkdir", - "windows 0.39.0", + "windows-version", ] [[package]] @@ -2741,20 +2801,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" dependencies = [ "embed-resource", - "toml 0.7.6", + "toml 0.7.8", ] [[package]] name = "tempfile" -version = "3.7.0" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2776,22 +2836,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "b2cd5904763bad08ad5513ddbb12cf2ae273ca53fa9f68e843e236ec6dfccc09" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "3dcf4a824cce0aeacd6f38ae6f24234c8e80d68632338ebaa1443b5df9e29e19" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] @@ -2806,12 +2866,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.24" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", - "itoa 1.0.9", + "itoa 1.0.10", + "powerfmt", "serde", "time-core", "time-macros", @@ -2819,15 +2880,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.11" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -2849,11 +2910,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ - "autocfg", "backtrace", "bytes", "num_cpus", @@ -2871,32 +2931,57 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.21.0", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.14" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -2905,11 +2990,10 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2917,20 +3001,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -2938,20 +3022,20 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -2976,21 +3060,21 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -3009,9 +3093,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "url" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -3027,11 +3111,11 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.4.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", ] [[package]] @@ -3080,9 +3164,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -3102,9 +3186,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3112,24 +3196,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3137,22 +3221,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.44", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "webkit2gtk" @@ -3198,7 +3282,7 @@ dependencies = [ "pango-sys", "pkg-config", "soup2-sys", - "system-deps 6.1.1", + "system-deps 6.2.0", ] [[package]] @@ -3257,9 +3341,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -3290,7 +3374,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3303,6 +3387,15 @@ dependencies = [ "windows-tokens", ] +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-implement" version = "0.39.0" @@ -3325,22 +3418,46 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", ] [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", ] [[package]] @@ -3350,10 +3467,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" [[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" +name = "windows-version" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" [[package]] name = "windows_aarch64_msvc" @@ -3363,9 +3495,15 @@ checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" [[package]] name = "windows_i686_gnu" @@ -3375,9 +3513,15 @@ checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" [[package]] name = "windows_i686_msvc" @@ -3387,9 +3531,15 @@ checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" [[package]] name = "windows_x86_64_gnu" @@ -3399,15 +3549,27 @@ checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" [[package]] name = "windows_x86_64_msvc" @@ -3417,34 +3579,40 @@ checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.3" +version = "0.5.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46aab759304e4d7b2075a9aecba26228bb073ee8c50db796b2c72c676b5d807" +checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.11.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189" +checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" dependencies = [ "cfg-if", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "wry" -version = "0.24.3" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea" +checksum = "6ad85d0e067359e409fcb88903c3eac817c392e5d638258abfb3da5ad8ba6fc4" dependencies = [ "base64 0.13.1", "block", @@ -3458,7 +3626,7 @@ dependencies = [ "gtk", "html5ever", "http", - "kuchiki", + "kuchikiki", "libc", "log", "objc", @@ -3501,9 +3669,11 @@ dependencies = [ [[package]] name = "xattr" -version = "0.2.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" dependencies = [ "libc", + "linux-raw-sys", + "rustix", ] diff --git a/src-tauri/Cargo.toml b/tauri-app/src-tauri/Cargo.toml similarity index 88% rename from src-tauri/Cargo.toml rename to tauri-app/src-tauri/Cargo.toml index bfa310a..972a486 100644 --- a/src-tauri/Cargo.toml +++ b/tauri-app/src-tauri/Cargo.toml @@ -12,12 +12,12 @@ rust-version = "1.60" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [build-dependencies] -tauri-build = { version = "1.4.0", features = [] } +tauri-build = { version = "1.5.1", features = [] } [dependencies] serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.4.0", features = [] } +tauri = { version = "1.5.4", features = [] } [features] # this feature is used for production builds or when `devPath` points to the filesystem and the built-in dev server is disabled. diff --git a/src-tauri/build.rs b/tauri-app/src-tauri/build.rs similarity index 100% rename from src-tauri/build.rs rename to tauri-app/src-tauri/build.rs diff --git a/src-tauri/src/main.rs b/tauri-app/src-tauri/src/main.rs similarity index 66% rename from src-tauri/src/main.rs rename to tauri-app/src-tauri/src/main.rs index 2e25862..f5c5be2 100644 --- a/src-tauri/src/main.rs +++ b/tauri-app/src-tauri/src/main.rs @@ -1,14 +1,8 @@ // Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -#[tauri::command] -fn greet(name: &str) -> String { - format!("Hello, {}!", name) -} - fn main() { tauri::Builder::default() - .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } diff --git a/src-tauri/tauri.conf.json b/tauri-app/src-tauri/tauri.conf.json similarity index 82% rename from src-tauri/tauri.conf.json rename to tauri-app/src-tauri/tauri.conf.json index a40b18d..9578c7f 100644 --- a/src-tauri/tauri.conf.json +++ b/tauri-app/src-tauri/tauri.conf.json @@ -1,13 +1,10 @@ { "build": { - "beforeBuildCommand": "cd UI && mkae bundle-app", - "beforeDevCommand": "cd UI && make app", "devPath": "http://localhost:4507", - "distDir": "UI/deploy", - "withGlobalTauri": true + "distDir": "../../UI/build-pwa" }, "package": { - "productName": "blowater", + "productName": "Blowater", "version": "0.1.0" }, "tauri": { @@ -23,9 +20,9 @@ }, "externalBin": [], "icon": [ - "../UI/deploy/logo.webp" + "../../UI/build-pwa/logo.webp" ], - "identifier": "com.tauri.dev", + "identifier": "app.blowater", "longDescription": "", "macOS": { "entitlements": null,