diff --git a/apps/tauri/src/deeplinkHandler.tsx b/apps/tauri/src/deeplinkHandler.tsx
index b375771..36def6d 100644
--- a/apps/tauri/src/deeplinkHandler.tsx
+++ b/apps/tauri/src/deeplinkHandler.tsx
@@ -59,10 +59,6 @@ export default function DeeplinkProvider({
};
}, [isTauriEnv]);
- useEffect(() => {
- console.log(deeplinks);
- }, [deeplinks]);
-
return (
-
+
+
+
diff --git a/bun.lock b/bun.lock
index 5d6c6fa..286109d 100644
--- a/bun.lock
+++ b/bun.lock
@@ -7,6 +7,7 @@
"dependencies": {
"@tensamin/ttp-core": "*",
"@tensamin/ui": "*",
+ "sonner": "^2.0.7",
},
"devDependencies": {
"@eslint/js": "^10.0.1",
@@ -54,6 +55,7 @@
"@tensamin/call": "workspace:*",
"@tensamin/chat": "workspace:*",
"@tensamin/crypto": "workspace:*",
+ "@tensamin/notifications": "workspace:*",
"@tensamin/shared": "workspace:*",
"@tensamin/storage": "workspace:*",
"@tensamin/tauri": "workspace:*",
@@ -164,7 +166,11 @@
"name": "@tensamin/notifications",
"version": "0.0.0",
"dependencies": {
- "@tensamin/ttp": "git+https://github.com/Tensamin/TTP.git",
+ "@tensamin/crypto": "workspace:*",
+ "@tensamin/shared": "workspace:*",
+ "@tensamin/storage": "workspace:*",
+ "@tensamin/ttp": "workspace:*",
+ "@tensamin/user": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
@@ -244,7 +250,7 @@
},
},
"overrides": {
- "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.12.tar.gz",
+ "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.13.tar.gz",
"@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.30.tar.gz",
},
"packages": {
@@ -696,7 +702,7 @@
"@tensamin/ttp": ["@tensamin/ttp@workspace:packages/ttp"],
- "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.12.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@typescript-eslint/parser": "^8.58.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.2", "typescript-eslint": "^8.58.1", "zod": "^4.3.6" } }, "sha512-YdwOocPnNMoE0N/yqksJM9JizkhmNv7q8sc7JMI/TOKM/0wDlQqHLqJBMd7fAGkGLCSx+DKx5z8SJbrA9YlzVg=="],
+ "@tensamin/ttp-core": ["@tensamin/ttp-core@https://git.methanium.net/tensamin/ttp/archive/0.0.13.tar.gz", { "dependencies": { "@eslint/js": "^10.0.1", "@typescript-eslint/parser": "^8.58.1", "@webtransport-bun/webtransport": "^0.3.0", "globals": "^17.5.0", "typescript": "^6.0.2", "typescript-eslint": "^8.58.1", "zod": "^4.3.6" } }, "sha512-ib5E8n9IfMzai+ucOXwTNMtu4j6m1RSHANGbFVJxP1VwJDtqIVMqpg/NtTKdRNXQYM1hK5WAScfl6r+aeyaj4g=="],
"@tensamin/ui": ["@tensamin/ui@https://git.methanium.net/tensamin/ui/archive/0.0.30.tar.gz", { "dependencies": { "@base-ui/react": "^1.3.0", "@fontsource-variable/inter": "^5.2.6", "@tauri-apps/api": "^2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", "lucide-react": "^1.8.0", "next-themes": "^0.4.6", "react-day-picker": "^9.14.0", "react-resizable-panels": "^4.10.0", "recharts": "3.8.0", "shadcn": "^3.5.0", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tw-animate-css": "^1.3.0", "vaul": "^1.1.2" }, "peerDependencies": { "react": "^19.2.0", "react-dom": "^19.2.0" } }, "sha512-Eh/ko+4x4gF/25JyB38PNN2n/UVUIR6yxxZTpyZPx4maL00992pGmFt62kb1ejJQoooEpEfSo/ALtQDF5cjdoA=="],
@@ -1662,8 +1668,6 @@
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
- "@tensamin/notifications/@tensamin/ttp": ["TTP@github:Tensamin/TTP#e246d1a", {}, "Tensamin-TTP-e246d1a", "sha512-ECvnNMtGemIawk/F1FcuOPwMmNgMUaAzcRZiEwHGuG1DtjcbQ8BSF1ZG9ZpGA/9HqcnHmoreG+QGjF6uLKbi+w=="],
-
"@tensamin/shared/sonner": ["sonner@1.7.4", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw=="],
"@tensamin/tauri/lucide-react": ["lucide-react@1.8.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-WuvlsjngSk7TnTBJ1hsCy3ql9V9VOdcPkd3PKcSmM34vJD8KG6molxz7m7zbYFgICwsanQWmJ13JlYs4Zp7Arw=="],
diff --git a/licenses/@tensamin_ttp-core@0.0.12/LICENSE b/licenses/@tensamin_ttp-core@0.0.13/LICENSE
similarity index 100%
rename from licenses/@tensamin_ttp-core@0.0.12/LICENSE
rename to licenses/@tensamin_ttp-core@0.0.13/LICENSE
diff --git a/licenses/THIRD_PARTY_NOTICES.md b/licenses/THIRD_PARTY_NOTICES.md
index 8a00b6f..6a51341 100644
--- a/licenses/THIRD_PARTY_NOTICES.md
+++ b/licenses/THIRD_PARTY_NOTICES.md
@@ -173,11 +173,11 @@ Generated from bun.lock and installed packages in workspace node_modules folders
- Folder: `licenses/@tauri-apps_plugin-opener@2.5.3`
- Source package dir: `apps/tauri/node_modules/@tauri-apps/plugin-opener`
-## @tensamin/ttp-core@0.0.12
+## @tensamin/ttp-core@0.0.13
- License: UNKNOWN
- Included files: LICENSE
-- Folder: `licenses/@tensamin_ttp-core@0.0.12`
+- Folder: `licenses/@tensamin_ttp-core@0.0.13`
- Source package dir: `packages/ttp/node_modules/@tensamin/ttp-core`
## @tensamin/ui@0.0.30
@@ -401,6 +401,26 @@ Generated from bun.lock and installed packages in workspace node_modules folders
- Folder: `licenses/react-dom@19.2.5`
- Source package dir: `apps/tauri/node_modules/react-dom`
+## recharts@3.8.1
+
+- License: MIT
+- Homepage: https://github.com/recharts/recharts
+- Repository: git+https://github.com/recharts/recharts.git
+- Description: React charts
+- Included files: LICENSE
+- Folder: `licenses/recharts@3.8.1`
+- Source package dir: `packages/call/node_modules/recharts`
+
+## recharts@3.8.1
+
+- License: MIT
+- Homepage: https://github.com/recharts/recharts
+- Repository: git+https://github.com/recharts/recharts.git
+- Description: React charts
+- Included files: LICENSE
+- Folder: `licenses/recharts@3.8.1`
+- Source package dir: `packages/call/node_modules/recharts`
+
## shadcn@4.2.0
- License: MIT
@@ -547,3 +567,13 @@ Generated from bun.lock and installed packages in workspace node_modules folders
- Included files: LICENSE
- Folder: `licenses/zod@4.3.6`
- Source package dir: `apps/web/node_modules/zod`
+
+## zustand@5.0.12
+
+- License: MIT
+- Homepage: https://github.com/pmndrs/zustand
+- Repository: git+https://github.com/pmndrs/zustand.git
+- Description: 🐻 Bear necessities for state management in React
+- Included files: LICENSE
+- Folder: `licenses/zustand@5.0.12`
+- Source package dir: `packages/call/node_modules/zustand`
diff --git a/licenses/recharts@3.8.1/LICENSE b/licenses/recharts@3.8.1/LICENSE
new file mode 100644
index 0000000..88a9b03
--- /dev/null
+++ b/licenses/recharts@3.8.1/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-present recharts
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/licenses/sbom.cyclonedx.json b/licenses/sbom.cyclonedx.json
index dc9fa15..95ac8de 100644
--- a/licenses/sbom.cyclonedx.json
+++ b/licenses/sbom.cyclonedx.json
@@ -3,7 +3,7 @@
"specVersion": "1.5",
"version": 1,
"metadata": {
- "timestamp": "2026-04-28T17:49:46.479Z",
+ "timestamp": "2026-04-29T21:21:16.348Z",
"tools": [
{
"vendor": "OpenAI",
@@ -615,15 +615,15 @@
},
{
"type": "library",
- "bomRef": "pkg:npm/%40tensamin/ttp-core@0.0.12",
+ "bomRef": "pkg:npm/%40tensamin/ttp-core@0.0.13",
"name": "@tensamin/ttp-core",
- "version": "0.0.12",
- "purl": "pkg:npm/%40tensamin/ttp-core@0.0.12",
+ "version": "0.0.13",
+ "purl": "pkg:npm/%40tensamin/ttp-core@0.0.13",
"externalReferences": [],
"properties": [
{
"name": "local:licenseFolder",
- "value": "licenses/@tensamin_ttp-core@0.0.12"
+ "value": "licenses/@tensamin_ttp-core@0.0.13"
},
{
"name": "local:sourcePackageDir",
@@ -1395,6 +1395,76 @@
}
]
},
+ {
+ "type": "library",
+ "bomRef": "pkg:npm/recharts@3.8.1",
+ "name": "recharts",
+ "version": "3.8.1",
+ "purl": "pkg:npm/recharts@3.8.1",
+ "description": "React charts",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "externalReferences": [
+ {
+ "type": "website",
+ "url": "https://github.com/recharts/recharts"
+ },
+ {
+ "type": "vcs",
+ "url": "git+https://github.com/recharts/recharts.git"
+ }
+ ],
+ "properties": [
+ {
+ "name": "local:licenseFolder",
+ "value": "licenses/recharts@3.8.1"
+ },
+ {
+ "name": "local:sourcePackageDir",
+ "value": "packages/call/node_modules/recharts"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "bomRef": "pkg:npm/recharts@3.8.1",
+ "name": "recharts",
+ "version": "3.8.1",
+ "purl": "pkg:npm/recharts@3.8.1",
+ "description": "React charts",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "externalReferences": [
+ {
+ "type": "website",
+ "url": "https://github.com/recharts/recharts"
+ },
+ {
+ "type": "vcs",
+ "url": "git+https://github.com/recharts/recharts.git"
+ }
+ ],
+ "properties": [
+ {
+ "name": "local:licenseFolder",
+ "value": "licenses/recharts@3.8.1"
+ },
+ {
+ "name": "local:sourcePackageDir",
+ "value": "packages/call/node_modules/recharts"
+ }
+ ]
+ },
{
"type": "library",
"bomRef": "pkg:npm/shadcn@4.2.0",
@@ -1907,6 +1977,41 @@
"value": "apps/web/node_modules/zod"
}
]
+ },
+ {
+ "type": "library",
+ "bomRef": "pkg:npm/zustand@5.0.12",
+ "name": "zustand",
+ "version": "5.0.12",
+ "purl": "pkg:npm/zustand@5.0.12",
+ "description": "🐻 Bear necessities for state management in React",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "externalReferences": [
+ {
+ "type": "website",
+ "url": "https://github.com/pmndrs/zustand"
+ },
+ {
+ "type": "vcs",
+ "url": "git+https://github.com/pmndrs/zustand.git"
+ }
+ ],
+ "properties": [
+ {
+ "name": "local:licenseFolder",
+ "value": "licenses/zustand@5.0.12"
+ },
+ {
+ "name": "local:sourcePackageDir",
+ "value": "packages/call/node_modules/zustand"
+ }
+ ]
}
]
}
\ No newline at end of file
diff --git a/licenses/third-party-credits.json b/licenses/third-party-credits.json
index dc54f2f..af70eb5 100644
--- a/licenses/third-party-credits.json
+++ b/licenses/third-party-credits.json
@@ -1,6 +1,6 @@
{
- "generatedAt": "2026-04-28T17:49:46.477Z",
- "packageCount": 57,
+ "generatedAt": "2026-04-29T21:21:16.347Z",
+ "packageCount": 60,
"packages": [
{
"name": "@codemirror/commands",
@@ -240,7 +240,7 @@
},
{
"name": "@tensamin/ttp-core",
- "version": "0.0.12",
+ "version": "0.0.13",
"license": "UNKNOWN",
"homepage": null,
"repository": null,
@@ -248,7 +248,7 @@
"files": [
"LICENSE"
],
- "licenseFolder": "licenses/@tensamin_ttp-core@0.0.12",
+ "licenseFolder": "licenses/@tensamin_ttp-core@0.0.13",
"sourcePackageDir": "packages/ttp/node_modules/@tensamin/ttp-core"
},
{
@@ -549,6 +549,32 @@
"licenseFolder": "licenses/react-dom@19.2.5",
"sourcePackageDir": "apps/tauri/node_modules/react-dom"
},
+ {
+ "name": "recharts",
+ "version": "3.8.1",
+ "license": "MIT",
+ "homepage": "https://github.com/recharts/recharts",
+ "repository": "git+https://github.com/recharts/recharts.git",
+ "description": "React charts",
+ "files": [
+ "LICENSE"
+ ],
+ "licenseFolder": "licenses/recharts@3.8.1",
+ "sourcePackageDir": "packages/call/node_modules/recharts"
+ },
+ {
+ "name": "recharts",
+ "version": "3.8.1",
+ "license": "MIT",
+ "homepage": "https://github.com/recharts/recharts",
+ "repository": "git+https://github.com/recharts/recharts.git",
+ "description": "React charts",
+ "files": [
+ "LICENSE"
+ ],
+ "licenseFolder": "licenses/recharts@3.8.1",
+ "sourcePackageDir": "packages/call/node_modules/recharts"
+ },
{
"name": "shadcn",
"version": "4.2.0",
@@ -743,6 +769,19 @@
],
"licenseFolder": "licenses/zod@4.3.6",
"sourcePackageDir": "apps/web/node_modules/zod"
+ },
+ {
+ "name": "zustand",
+ "version": "5.0.12",
+ "license": "MIT",
+ "homepage": "https://github.com/pmndrs/zustand",
+ "repository": "git+https://github.com/pmndrs/zustand.git",
+ "description": "🐻 Bear necessities for state management in React",
+ "files": [
+ "LICENSE"
+ ],
+ "licenseFolder": "licenses/zustand@5.0.12",
+ "sourcePackageDir": "packages/call/node_modules/zustand"
}
]
}
\ No newline at end of file
diff --git a/licenses/zustand@5.0.12/LICENSE b/licenses/zustand@5.0.12/LICENSE
new file mode 100644
index 0000000..a2c2649
--- /dev/null
+++ b/licenses/zustand@5.0.12/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Paul Henschel
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/package.json b/package.json
index adbdc09..53a31ac 100644
--- a/package.json
+++ b/package.json
@@ -38,10 +38,11 @@
},
"overrides": {
"@tensamin/ui": "https://git.methanium.net/tensamin/ui/archive/0.0.30.tar.gz",
- "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.12.tar.gz"
+ "@tensamin/ttp-core": "https://git.methanium.net/tensamin/ttp/archive/0.0.13.tar.gz"
},
"dependencies": {
"@tensamin/ttp-core": "*",
- "@tensamin/ui": "*"
+ "@tensamin/ui": "*",
+ "sonner": "^2.0.7"
}
}
diff --git a/packages/call/src/components/actions.tsx b/packages/call/src/components/actions.tsx
index 5d9c8ad..29290d4 100644
--- a/packages/call/src/components/actions.tsx
+++ b/packages/call/src/components/actions.tsx
@@ -5,14 +5,20 @@ import ScreenshareButton from "./buttons/screenshare";
import LeaveButton from "./buttons/leave";
export default function Actions() {
+ const sharedClasses = "w-14 h-10";
+ const sharedIconSize = 15;
+
return (
-
-
-
-
+
+
+
+
diff --git a/packages/call/src/components/buttons/leave.tsx b/packages/call/src/components/buttons/leave.tsx
index 8165fca..ac38546 100644
--- a/packages/call/src/components/buttons/leave.tsx
+++ b/packages/call/src/components/buttons/leave.tsx
@@ -1,6 +1,6 @@
import { LeaveIcon } from "@livekit/components-react";
import { Button } from "@tensamin/ui";
-import { disconnect } from "../../store";
+import { disconnect, useCall } from "../../store";
export default function LeaveButton({
className,
@@ -9,10 +9,13 @@ export default function LeaveButton({
className?: string;
iconSize?: number;
}) {
+ const state = useCall((store) => store.state);
+
return (