Rename ChromeStorageBackend to WebExtensionStorageBackend for cross-browser support

- Rename chrome-storage-backend.ts to web-extension-storage-backend.ts
- Update to use globalThis.browser || globalThis.chrome for Firefox/Chrome compatibility
- Export both names for backward compatibility
- Fix tsc --preserveWatchOutput in web-ui dev script to prevent console clearing

This fixes the "browser is not defined" error in Chrome extensions.
This commit is contained in:
Mario Zechner 2025-10-06 23:48:43 +02:00
parent bcd109f2e9
commit f7878c3c71
6 changed files with 95 additions and 91 deletions

View file

@ -205,7 +205,7 @@ setAppStorage(storage);
- `LocalStorageBackend` - Uses browser localStorage
- `IndexedDBBackend` - Uses IndexedDB for larger data
- `SessionIndexedDBBackend` - Specialized for session storage
- `ChromeStorageBackend` - For browser extensions using chrome.storage API
- `WebExtensionStorageBackend` - For browser extensions using chrome.storage API
### Session Management
@ -293,11 +293,11 @@ await PersistentStorageDialog.request();
### Browser Extension
```typescript
import { AppStorage, ChromeStorageBackend, Agent, ProviderTransport } from '@mariozechner/pi-web-ui';
import { AppStorage, WebExtensionStorageBackend, Agent, ProviderTransport } from '@mariozechner/pi-web-ui';
const storage = new AppStorage({
providerKeys: new ChromeStorageBackend(),
settings: new ChromeStorageBackend(),
providerKeys: new WebExtensionStorageBackend(),
settings: new WebExtensionStorageBackend(),
});
setAppStorage(storage);
```