Free stroage if it is exceeding disk quota (#7061)
This commit is contained in:
parent
b83ce18b30
commit
1ed1014546
6 changed files with 89 additions and 36 deletions
|
@ -1,3 +1,4 @@
|
|||
import { freeStorage } from '../storage/modifier';
|
||||
import './web_push_notifications';
|
||||
|
||||
function openSystemCache() {
|
||||
|
@ -42,8 +43,10 @@ self.addEventListener('fetch', function(event) {
|
|||
|
||||
event.respondWith(asyncResponse.then(async response => {
|
||||
if (response.ok || response.type === 'opaqueredirect') {
|
||||
const cache = await asyncCache;
|
||||
await cache.delete('/');
|
||||
await Promise.all([
|
||||
asyncCache.then(cache => cache.delete('/')),
|
||||
indexedDB.deleteDatabase('mastodon'),
|
||||
]);
|
||||
}
|
||||
|
||||
return response;
|
||||
|
@ -56,7 +59,11 @@ self.addEventListener('fetch', function(event) {
|
|||
const fetched = await fetch(event.request);
|
||||
|
||||
if (fetched.ok) {
|
||||
await cache.put(event.request.url, fetched.clone());
|
||||
try {
|
||||
await cache.put(event.request.url, fetched.clone());
|
||||
} finally {
|
||||
freeStorage();
|
||||
}
|
||||
}
|
||||
|
||||
return fetched;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue