diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-12-20 21:22:31 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-20 21:22:31 +0900 |
| commit | 4c31eb409cd3b2655393ca0a946a1bf110d974f0 (patch) | |
| tree | 48588d7be00638775e1ae6dea1081f84f76e8c80 /packages/frontend/src/utility/storage.ts | |
| parent | fix: admin/queue/deliver-delayedとadmin/queue/inbox-delayedの応答速度... (diff) | |
| download | misskey-4c31eb409cd3b2655393ca0a946a1bf110d974f0.tar.gz misskey-4c31eb409cd3b2655393ca0a946a1bf110d974f0.tar.bz2 misskey-4c31eb409cd3b2655393ca0a946a1bf110d974f0.zip | |
fix(frontend): ストレージが消去される事がある問題を軽減 (#16704)
* fix(frontend): ストレージが消去される事がある問題を軽減
* add comment
* add catch to continue request permissions
* Update Changelog
* update changelog
* fix
通知権限の許可取得はボタン押下時に移動
* fix
* wip
* Update main-boot.ts
* wip
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/utility/storage.ts')
| -rw-r--r-- | packages/frontend/src/utility/storage.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/frontend/src/utility/storage.ts b/packages/frontend/src/utility/storage.ts new file mode 100644 index 0000000000..9df3a251e6 --- /dev/null +++ b/packages/frontend/src/utility/storage.ts @@ -0,0 +1,34 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { computed, ref, shallowRef, watch, defineAsyncComponent } from 'vue'; +import * as os from '@/os.js'; +import { store } from '@/store.js'; +import { i18n } from '@/i18n.js'; + +export const storagePersisted = ref(await navigator.storage.persisted()); + +export async function enableStoragePersistence() { + try { + const persisted = await navigator.storage.persist(); + if (persisted) { + storagePersisted.value = true; + } else { + os.alert({ + type: 'error', + text: i18n.ts.somethingHappened, + }); + } + } catch (err) { + os.alert({ + type: 'error', + text: i18n.ts.somethingHappened, + }); + } +} + +export function skipStoragePersistence() { + store.set('showStoragePersistenceSuggestion', false); +} |