diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 6854282..ab7edf1 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -168,7 +168,7 @@ jobs: test -d releases find releases -type f | grep -q . - LATEST_PROD_TAG="$(git for-each-ref refs/tags --sort=-creatordate --format='%(refname:short)' | awk '!/-/' | head -n 1 || true)" + LATEST_PROD_TAG="$(git tag --list '*-prod' --sort=-v:refname | head -n 1 || true)" if [ -n "$LATEST_PROD_TAG" ]; then RAW_LOG="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" diff --git a/apps/tauri/android.png b/apps/tauri/android.png deleted file mode 100644 index f77258e..0000000 Binary files a/apps/tauri/android.png and /dev/null differ diff --git a/apps/tauri/background.png b/apps/tauri/background.png deleted file mode 100644 index e6157bd..0000000 Binary files a/apps/tauri/background.png and /dev/null differ diff --git a/apps/tauri/logo.json b/apps/tauri/logo.json deleted file mode 100644 index 9cd2fcb..0000000 --- a/apps/tauri/logo.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "default": "./logo.svg", - - "android_fg": "./android.png", - "android_bg": "./background.png", - "android_fg_scale": 100, - "android_monochrome": "./monochrome.png" -} \ No newline at end of file diff --git a/apps/tauri/monochrome.png b/apps/tauri/monochrome.png deleted file mode 100644 index 04d3abd..0000000 Binary files a/apps/tauri/monochrome.png and /dev/null differ diff --git a/apps/tauri/package.json b/apps/tauri/package.json index a89a309..edde704 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -30,7 +30,7 @@ "build:desktop:raw": "tauri build", "dev:desktop": "if command -v nix >/dev/null 2>&1; then nix develop --command bun dev:desktop:raw; else bun dev:desktop:raw; fi", "build:desktop": "if command -v nix >/dev/null 2>&1; then nix develop --command bun build:desktop:raw; else bun build:desktop:raw; fi", - "gen-icons": "tauri icon ./logo.json", + "gen-icons": "tauri icon ./logo.svg", "format": "bunx prettier --write .", "lint": "eslint src" }, diff --git a/apps/tauri/render-version.ts b/apps/tauri/render-version.ts index 0bd3fca..96f1c10 100644 --- a/apps/tauri/render-version.ts +++ b/apps/tauri/render-version.ts @@ -12,7 +12,9 @@ const tauriConfigPath = path.resolve(__dirname, "./src-tauri/tauri.conf.json"); const isUnrender = process.argv.includes("--unrender"); // Version Source -const packageJson = JSON.parse(fs.readFileSync(rootPackageJsonPath, "utf8")); +const packageJson = JSON.parse( + fs.readFileSync(rootPackageJsonPath, "utf8") +); const packageVersion: string = packageJson.version; @@ -20,7 +22,9 @@ if (!packageVersion && !isUnrender) { throw new Error("No version found in package.json"); } -const targetVersion = isUnrender ? PLACEHOLDER_VERSION : packageVersion; +const targetVersion = isUnrender + ? PLACEHOLDER_VERSION + : packageVersion; // Helpers function updateCargoToml(content: string): string { @@ -30,7 +34,10 @@ function updateCargoToml(content: string): string { throw new Error("Could not find version field in Cargo.toml"); } - return content.replace(regex, `version = "${targetVersion}"`); + return content.replace( + regex, + `version = "${targetVersion}"` + ); } function updateTauriConfig(content: string): string { @@ -40,7 +47,10 @@ function updateTauriConfig(content: string): string { throw new Error("Could not find version field in tauri.conf.json"); } - return content.replace(regex, `"version": "${targetVersion}"`); + return content.replace( + regex, + `"version": "${targetVersion}"` + ); } // Update Cargo.toml @@ -62,4 +72,4 @@ if (isUnrender) { console.log(`Unrendered versions back to ${PLACEHOLDER_VERSION}`); } else { console.log(`Rendered version ${targetVersion}`); -} +} \ No newline at end of file diff --git a/apps/tauri/src-tauri/Cargo.lock b/apps/tauri/src-tauri/Cargo.lock index 77d465a..e65d82e 100644 --- a/apps/tauri/src-tauri/Cargo.lock +++ b/apps/tauri/src-tauri/Cargo.lock @@ -4838,7 +4838,7 @@ dependencies = [ [[package]] name = "tensamin" -version = "0.0.0" +version = "0.1.0" dependencies = [ "base64 0.22.1", "image 0.25.10", diff --git a/apps/tauri/src-tauri/Cargo.toml b/apps/tauri/src-tauri/Cargo.toml index c5b2b18..4349e3b 100644 --- a/apps/tauri/src-tauri/Cargo.toml +++ b/apps/tauri/src-tauri/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tensamin" +name = "Tensamin" version = "0.0.0" description = "Privacy focused messanger" authors = ["methanium"] diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 0343c28..2ffbf24 100644 --- a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,6 +1,5 @@ - - + \ No newline at end of file diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index fbd7184..7ca92f2 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png deleted file mode 100644 index b038821..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index 0eac8d0..95921b1 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png deleted file mode 100644 index b1a2c84..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png index 7b90201..6f6acb3 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 10832d3..e3ccebc 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png deleted file mode 100644 index 5635294..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index b2a3603..cfed569 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png deleted file mode 100644 index b13236e..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png index f5fb52c..f237a2f 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 4a07614..fba4b45 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png deleted file mode 100644 index 16908ba..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index ac4b850..96a1203 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png deleted file mode 100644 index c929b14..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png index 7ed0607..3a1dd10 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 7aee207..75883bf 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png deleted file mode 100644 index 15cf062..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 6ab46b6..0310c75 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png deleted file mode 100644 index 21f0293..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index f596b89..0f39640 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 1030031..5cc280f 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png deleted file mode 100644 index 0b02649..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index f20325b..f8eeb11 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png deleted file mode 100644 index 8c3f92e..0000000 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png and /dev/null differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png index d70a938..1a556d3 100644 Binary files a/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/apps/tauri/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/apps/tauri/src-tauri/gen/android/app/src/main/res/values/strings.xml b/apps/tauri/src-tauri/gen/android/app/src/main/res/values/strings.xml index 2551e9e..e9951d1 100644 --- a/apps/tauri/src-tauri/gen/android/app/src/main/res/values/strings.xml +++ b/apps/tauri/src-tauri/gen/android/app/src/main/res/values/strings.xml @@ -1,4 +1,4 @@ - Tensamin - Tensamin + tensamin + tensamin \ No newline at end of file diff --git a/apps/tauri/src-tauri/icons/icon.icns b/apps/tauri/src-tauri/icons/icon.icns index daf2362..b1ecd70 100644 Binary files a/apps/tauri/src-tauri/icons/icon.icns and b/apps/tauri/src-tauri/icons/icon.icns differ diff --git a/apps/tauri/src/deeplinkHandler.tsx b/apps/tauri/src/deeplinkHandler.tsx index 1053ea3..36def6d 100644 --- a/apps/tauri/src/deeplinkHandler.tsx +++ b/apps/tauri/src/deeplinkHandler.tsx @@ -7,7 +7,6 @@ import { } from "react"; import { getCurrent, onOpenUrl } from "@tauri-apps/plugin-deep-link"; import { isTauri } from "@tauri-apps/api/core"; -import { useIsMobile } from "@tensamin/ui"; type DeeplinkContextValue = { deeplinks: readonly string[]; @@ -32,10 +31,10 @@ export default function DeeplinkProvider({ children: ReactNode; }) { const [deeplinks, setDeeplinks] = useState([]); - const isMobile = useIsMobile(); + const isTauriEnv = isTauri(); useEffect(() => { - if (!isTauri() || !isMobile) return; + if (!isTauriEnv) return; let mounted = true; let unlisten: (() => void) | undefined; @@ -58,7 +57,7 @@ export default function DeeplinkProvider({ mounted = false; unlisten?.(); }; - }, [isMobile]); + }, [isTauriEnv]); return ( -
- - - - {user.display.slice(0, 2).toUpperCase()} - - -
-

{user.display}

-

{user.username}

-
-
- -
-

- iota: {user.iota_id} -

-

- user: {user.user_id} -

-

- pub key: {user.public_key} -

-
- - ); -} diff --git a/apps/web/src/components/navbar.tsx b/apps/web/src/components/navbar.tsx index a49a318..9e3ec9d 100644 --- a/apps/web/src/components/navbar.tsx +++ b/apps/web/src/components/navbar.tsx @@ -1,8 +1,7 @@ -import { Button, Popover, PopoverContent, PopoverTrigger } from "@tensamin/ui"; +import { Button } from "@tensamin/ui"; import { ArrowLeft, ChevronDown, - ChevronUp, House, Phone, Settings, @@ -18,7 +17,6 @@ import { useState } from "react"; import { SidebarTrigger, useSidebar } from "@tensamin/ui"; import { WindowControls as Controls } from "@tensamin/ui"; import { useSession } from "@tensamin/storage/session"; -import Profile from "./modals/profile"; export default function Navbar({ forMobile }: { forMobile: boolean }) { const navigate = useNavigate(); @@ -35,8 +33,6 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { const [selectOpen, setSelectOpen] = useState(false); - const [userInfoOpen, setUserInfoOpen] = useState(false); - return (
( - <> - - -

{user?.display}

- {userInfoOpen ? : } - - } - /> - - - -
- + )} loading={} /> @@ -156,7 +141,7 @@ export default function Navbar({ forMobile }: { forMobile: boolean }) { )} )} - +
); diff --git a/apps/web/src/components/screens/login/form.tsx b/apps/web/src/components/screens/login/form.tsx index e318c4b..f275840 100644 --- a/apps/web/src/components/screens/login/form.tsx +++ b/apps/web/src/components/screens/login/form.tsx @@ -1,4 +1,4 @@ -import { Button, cn, useIsMobile } from "@tensamin/ui"; +import { Button, cn } from "@tensamin/ui"; import { Input } from "@tensamin/ui"; import { Label } from "@tensamin/ui"; import { useStorage } from "@tensamin/storage/context"; @@ -84,7 +84,6 @@ function parseTuFileContent(rawFileContent: string): { } export default function Form() { - const isMobile = useIsMobile(); const uploadRef = React.useRef(null); const [isDragging, setIsDragging] = React.useState(false); const { save } = useStorage(); @@ -267,7 +266,7 @@ export default function Form() { return (
- {isTauri() && isMobile ? ( + {isTauri() ? ( <> { diff --git a/bun.lock b/bun.lock index 1f1b34a..a15bdbe 100644 --- a/bun.lock +++ b/bun.lock @@ -171,7 +171,6 @@ "name": "@tensamin/notifications", "version": "0.0.0", "dependencies": { - "@tanstack/react-router": "^1.169.1", "@tauri-apps/api": "^2.11.0", "@tensamin/chat": "workspace:*", "@tensamin/crypto": "workspace:*", diff --git a/packages/call/src/store.tsx b/packages/call/src/store.tsx index 5398e70..5b49603 100644 --- a/packages/call/src/store.tsx +++ b/packages/call/src/store.tsx @@ -295,15 +295,13 @@ async function updateLocalParticipantAttributes( screenSharePreviewLength: attributes.screenSharePreview?.length ?? 0, }); - await getRoom() - .localParticipant.setAttributes(attributes) - .catch((error) => { - log(1, "call", "red", "Failed to update local participant attributes", { - attributes: Object.keys(attributes), - error, - }); - throw error; + await getRoom().localParticipant.setAttributes(attributes).catch((error) => { + log(1, "call", "red", "Failed to update local participant attributes", { + attributes: Object.keys(attributes), + error, }); + throw error; + }); log(2, "call", "purple", "Updated local participant attributes", { attributeKeys: Object.keys(attributes), @@ -797,13 +795,11 @@ export async function connect(callId: string) { syncAllRemoteTrackSubscriptions(); - await getRoom() - .localParticipant.setMicrophoneEnabled(true) - .catch((error) => { - log(1, "call", "red", "Failed to enable microphone", error); - toast("error", "Failed to enable microphone."); - throw error; - }); + await getRoom().localParticipant.setMicrophoneEnabled(true).catch((error) => { + log(1, "call", "red", "Failed to enable microphone", error); + toast("error", "Failed to enable microphone."); + throw error; + }); syncParticipantState(); } diff --git a/packages/call/todo.md b/packages/call/todo.md index 4db4db0..61d70ed 100644 --- a/packages/call/todo.md +++ b/packages/call/todo.md @@ -11,3 +11,4 @@ - Desktop-App screenshares - Context menus - Popout Window +- If micGated=true & isSpeaking=false for 5 seconds show banner with mic detection diff --git a/packages/chat/src/components/input.tsx b/packages/chat/src/components/input.tsx index cf74848..b2aef9e 100644 --- a/packages/chat/src/components/input.tsx +++ b/packages/chat/src/components/input.tsx @@ -97,7 +97,6 @@ export default function InputComponent({ > { + messagesRef.current = messages; + }, [messages]); + const getItemKey = React.useCallback( (index: number) => { if (shouldShowConversationStart && index === 0) { @@ -109,9 +114,9 @@ export default function Screen() { } const messageIndex = shouldShowConversationStart ? index - 1 : index; - return messages[messageIndex]?.send_time ?? index; + return messagesRef.current[messageIndex]?.send_time ?? index; }, - [shouldShowConversationStart, messages], + [shouldShowConversationStart], ); const setMeasurementRef = React.useCallback( @@ -355,38 +360,9 @@ export default function Screen() { return; } - let rafId: number; - let stableFrames = 0; - let lastScrollHeight = 0; - - const settleToBottom = () => { - if (!scrollRef.current || hasScrolledToBottomInitially) { - return; - } - - scrollRef.current.scrollTop = scrollRef.current.scrollHeight; - const currentScrollHeight = scrollRef.current.scrollHeight; - - if (currentScrollHeight === lastScrollHeight) { - stableFrames++; - } else { - stableFrames = 0; - lastScrollHeight = currentScrollHeight; - } - - if (stableFrames >= 2) { - isAtBottomRef.current = true; - setHasScrolledToBottomInitially(true); - } else { - rafId = requestAnimationFrame(settleToBottom); - } - }; - - settleToBottom(); - - return () => { - cancelAnimationFrame(rafId); - }; + scrollRef.current.scrollTop = scrollRef.current.scrollHeight; + isAtBottomRef.current = true; + setHasScrolledToBottomInitially(true); }, [hasScrolledToBottomInitially, virtualRowCount]); React.useLayoutEffect(() => { @@ -466,19 +442,6 @@ export default function Screen() { }} onScroll={handleContainerScroll} > - {messagesQuery.isPending && ( -
-

- - Loading... -

-
- )} - {messagesQuery.isFetchingNextPage && ( -
- -
- )}
(undefined); -async function requestNotificationPermission() { - if (!("Notification" in window)) return false; - - if (Notification.permission === "granted") return true; - - const permission = await Notification.requestPermission(); - return permission === "granted"; +function reduceDisplay(display: string) { + const words = display.split(" "); + if (words.length === 1) { + return display.slice(0, 2).toUpperCase(); + } else { + return words[0].charAt(0).toUpperCase() + words[1].charAt(0).toUpperCase(); + } } export default function Provider(props: { children: React.ReactNode }) { @@ -30,7 +29,6 @@ export default function Provider(props: { children: React.ReactNode }) { const { decryptText, getSharedSecret } = useCrypto(); const { addLiveMessage, userId } = useChat(); const { moveUserIdToTop } = useSession(); - const navigate = useNavigate(); useEffect(() => { return subscribePush(async (ttpMessage) => { @@ -56,7 +54,7 @@ export default function Provider(props: { children: React.ReactNode }) { (await load("settings.read_confirmations")) && userId === sender_id ) { - void send( + await send( "message_state", { message_state: "read", @@ -66,7 +64,7 @@ export default function Provider(props: { children: React.ReactNode }) { }, ); } else { - void send( + await send( "message_state", { message_state: "received", @@ -94,41 +92,18 @@ export default function Provider(props: { children: React.ReactNode }) { if (isTauri()) { console.log("weewoo"); } else { - const hasPermissions = await requestNotificationPermission(); - - if (hasPermissions) { - const notification = new Notification(user.display, { - body: decryptedContent, - icon: user.avatar || user.display.slice(0, 2).toUpperCase(), - badge: user.avatar || user.display.slice(0, 2).toUpperCase(), - tag: `message-${user.user_id}`, - silent: true, - }); - - notification.onclick = () => { - window.focus(); - navigate({ - to: `/chat?id=${user.user_id}`, - }); - - notification.close(); - }; - } else { - sonnerToast(user.display, { - classNames: { - content: "pl-4", - }, - description: decryptedContent, - icon: ( - - - - {user.display.slice(0, 2).toUpperCase()} - - - ), - }); - } + sonnerToast(user.display, { + classNames: { + content: "pl-4", + }, + description: decryptedContent, + icon: ( + + + {reduceDisplay(user.display)} + + ), + }); } } }); @@ -142,7 +117,6 @@ export default function Provider(props: { children: React.ReactNode }) { userId, moveUserIdToTop, send, - navigate, ]); return ( diff --git a/packages/ttp/src/context.tsx b/packages/ttp/src/context.tsx index d33313d..2f8fc40 100644 --- a/packages/ttp/src/context.tsx +++ b/packages/ttp/src/context.tsx @@ -257,7 +257,7 @@ export function Provider(props: { setErrorDescription( "You could try to restart your Iota, check for updates or check your network connection.", ); - }); + }) }, [connected, subscribePush]); useEffect(() => {