ef1f9f45d8
Google closed Tenor v2 to new API clients in Jan 2026, so the only people who could use the picker were those with a pre-existing Google Cloud Console key. Swapped to GIPHY's Developer API (still open, free keys at https://developers.giphy.com/dashboard/). - Env var renamed VITE_TENOR_API_KEY → VITE_GIPHY_API_KEY - Endpoint, response mapping, error sentinel updated - File still named tenor.ts for import-path stability — renaming later if it bothers anyone - Public GifResult interface unchanged so the picker UI didn't need edits beyond the error-message switch
apps/desktop/src/lib
Desktop-local helpers that depend on Tauri plugins.
Expected contents:
stronghold.ts— wrapstauri-plugin-strongholdfor secret storage; adapter for@chat-app/shared/auth.sqlite.ts— wrapstauri-plugin-sql(SQLite), exposes migration runner.notifications.ts— wrapstauri-plugin-notification.sodium.ts— bindslibsodium-wrappers(WASM) to the crypto adapter interface.store.ts— Zustand store setup (auth state, chat state slices).