(feat): add cache package
All checks were successful
/ build-web (push) Successful in 7m26s
/ build-desktop (linux) (push) Successful in 11m29s
/ build-mobile (push) Successful in 19m15s
/ release (push) Successful in 3m3s

(feat): improve local storage security
(feat): move settings to dedicated settings package
This commit is contained in:
Alois 2026-07-11 22:08:01 +02:00
commit 790a1db788
54 changed files with 1984 additions and 947 deletions

View file

@ -1,4 +1,5 @@
import { log } from "@tensamin/shared/log";
import type {} from "@tensamin/shared/desktopMedia";
import {
type LocalTrack,
Room,
@ -21,46 +22,6 @@ type ScreenShareStoreSetState = (
| ((state: ScreenShareStoreState) => Partial<ScreenShareStoreState>),
) => void;
declare global {
interface Window {
tensaminDesktop?: {
media?: {
getScreenShareCapabilities?: () => Promise<{
runtime?: "electron" | "tauri";
platform: "linux" | "macos" | "windows" | "other";
showAudioOutputSelector: boolean;
showAudioSwitch: boolean;
hasReliableSystemAudio: boolean;
}>;
listScreenShareSources?: () => Promise<
Array<{
id: string;
kind: "screen" | "window";
name: string;
subtitle?: string | null;
thumbnail?: string | null;
}>
>;
listScreenShareAudioOutputs?: () => Promise<
Array<{
id: string;
name: string;
isDefault: boolean;
}>
>;
selectScreenShareSource?: (sourceId: string) => Promise<boolean>;
};
call?: {
setStatus?: (status: {
inCall: boolean;
speaking: boolean;
iconDataUrl?: string;
}) => Promise<void>;
};
};
}
}
type ScreenShareControllerOptions = {
room: Room;
getState: () => ScreenShareStoreState;