summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/idb-proxy.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/idb-proxy.ts')
-rw-r--r--packages/frontend/src/scripts/idb-proxy.ts53
1 files changed, 0 insertions, 53 deletions
diff --git a/packages/frontend/src/scripts/idb-proxy.ts b/packages/frontend/src/scripts/idb-proxy.ts
deleted file mode 100644
index 20f51660c7..0000000000
--- a/packages/frontend/src/scripts/idb-proxy.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * SPDX-FileCopyrightText: syuilo and misskey-project
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-// FirefoxのプライベートモードなどではindexedDBが使用不可能なので、
-// indexedDBが使えない環境ではlocalStorageを使う
-import {
- get as iget,
- set as iset,
- del as idel,
-} from 'idb-keyval';
-import { miLocalStorage } from '@/local-storage.js';
-
-const PREFIX = 'idbfallback::';
-
-let idbAvailable = typeof window !== 'undefined' ? !!(window.indexedDB && typeof window.indexedDB.open === 'function') : true;
-
-// iframe.contentWindow.indexedDB.deleteDatabase() がchromeのバグで使用できないため、indexedDBを無効化している。
-// バグが治って再度有効化するのであれば、cypressのコマンド内のコメントアウトを外すこと
-// see https://github.com/misskey-dev/misskey/issues/13605#issuecomment-2053652123
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-expect-error
-if (window.Cypress) {
- idbAvailable = false;
- console.log('Cypress detected. It will use localStorage.');
-}
-
-if (idbAvailable) {
- await iset('idb-test', 'test')
- .catch(err => {
- console.error('idb error', err);
- console.error('indexedDB is unavailable. It will use localStorage.');
- idbAvailable = false;
- });
-} else {
- console.error('indexedDB is unavailable. It will use localStorage.');
-}
-
-export async function get(key: string) {
- if (idbAvailable) return iget(key);
- return miLocalStorage.getItemAsJson(`${PREFIX}${key}`);
-}
-
-export async function set(key: string, val: any) {
- if (idbAvailable) return iset(key, val);
- return miLocalStorage.setItemAsJson(`${PREFIX}${key}`, val);
-}
-
-export async function del(key: string) {
- if (idbAvailable) return idel(key);
- return miLocalStorage.removeItem(`${PREFIX}${key}`);
-}