mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-20 15:06:15 -04:00
put files into innodb instead of to cache
This commit is contained in:
parent
766b5d3dd7
commit
6bc1bcf743
2 changed files with 39 additions and 20 deletions
|
@ -1191,12 +1191,17 @@ class WebShareTargetUI {
|
||||||
console.log('Shared Target Text:', '"' + shareTargetText + '"');
|
console.log('Shared Target Text:', '"' + shareTargetText + '"');
|
||||||
Events.fire('activate-paste-mode', {files: [], text: shareTargetText})
|
Events.fire('activate-paste-mode', {files: [], text: shareTargetText})
|
||||||
} else if (share_target_type === "files") {
|
} else if (share_target_type === "files") {
|
||||||
caches.match("share_target_files")
|
const openRequest = window.indexedDB.open('pairdrop_store')
|
||||||
.then(files => {
|
openRequest.onsuccess( db => {
|
||||||
console.debug(files)
|
const tx = db.transaction('share_target_files', 'readwrite');
|
||||||
Events.fire('activate-paste-mode', {files: files, text: ""})
|
const store = tx.objectStore('share_target_files');
|
||||||
})
|
const request = store.getAll();
|
||||||
caches.delete("share_target_files").then( _ => console.log("shared files deleted from cache"));
|
request.onsuccess = _ => {
|
||||||
|
Events.fire('activate-paste-mode', {files: request.result, text: ""})
|
||||||
|
const clearRequest = store.clear()
|
||||||
|
clearRequest.onsuccess = _ => db.close();
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
window.history.replaceState({}, "Rewrite URL", '/');
|
window.history.replaceState({}, "Rewrite URL", '/');
|
||||||
}
|
}
|
||||||
|
@ -1251,7 +1256,7 @@ class PersistentStorage {
|
||||||
this.logBrowserNotCapable();
|
this.logBrowserNotCapable();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const DBOpenRequest = window.indexedDB.open('pairdrop_store');
|
const DBOpenRequest = window.indexedDB.open('pairdrop_store', 2);
|
||||||
DBOpenRequest.onerror = (e) => {
|
DBOpenRequest.onerror = (e) => {
|
||||||
this.logBrowserNotCapable();
|
this.logBrowserNotCapable();
|
||||||
console.log('Error initializing database: ');
|
console.log('Error initializing database: ');
|
||||||
|
@ -1263,9 +1268,24 @@ class PersistentStorage {
|
||||||
DBOpenRequest.onupgradeneeded = (e) => {
|
DBOpenRequest.onupgradeneeded = (e) => {
|
||||||
const db = e.target.result;
|
const db = e.target.result;
|
||||||
db.onerror = e => console.log('Error loading database: ' + e);
|
db.onerror = e => console.log('Error loading database: ' + e);
|
||||||
db.createObjectStore('keyval');
|
try {
|
||||||
const roomSecretsObjectStore = db.createObjectStore('room_secrets', {autoIncrement: true});
|
db.createObjectStore('keyval');
|
||||||
roomSecretsObjectStore.createIndex('secret', 'secret', { unique: true });
|
} catch (error) {
|
||||||
|
console.log("Object store named 'keyval' already exists")
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const roomSecretsObjectStore = db.createObjectStore('room_secrets', {autoIncrement: true});
|
||||||
|
roomSecretsObjectStore.createIndex('secret', 'secret', { unique: true });
|
||||||
|
} catch (error) {
|
||||||
|
console.log("Object store named 'room_secrets' already exists")
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
db.createObjectStore('share_target_files');
|
||||||
|
} catch (error) {
|
||||||
|
console.log("Object store named 'share_target_files' already exists")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1310,6 +1330,7 @@ class PersistentStorage {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static delete(key) {
|
static delete(key) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const DBOpenRequest = window.indexedDB.open('pairdrop_store');
|
const DBOpenRequest = window.indexedDB.open('pairdrop_store');
|
||||||
|
|
|
@ -36,19 +36,17 @@ self.addEventListener('fetch', function(event) {
|
||||||
const text = formData.get("text");
|
const text = formData.get("text");
|
||||||
const url = formData.get("url");
|
const url = formData.get("url");
|
||||||
const files = formData.get("files");
|
const files = formData.get("files");
|
||||||
console.debug(title)
|
|
||||||
console.debug(text)
|
|
||||||
console.debug(url)
|
|
||||||
console.debug(files)
|
|
||||||
let share_url = "/";
|
let share_url = "/";
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
// Save to Cache?
|
|
||||||
caches.open("share_target_files")
|
|
||||||
.then(cache => {
|
|
||||||
cache.addAll(files)
|
|
||||||
console.debug("files added to cache")
|
|
||||||
});
|
|
||||||
share_url = "/?share-target=files";
|
share_url = "/?share-target=files";
|
||||||
|
const db = await window.indexedDB.open('pairdrop_store');
|
||||||
|
const tx = db.transaction('share_target_files', 'readwrite');
|
||||||
|
const store = tx.objectStore('share_target_files');
|
||||||
|
for (let i=0; i<files.length; i++) {
|
||||||
|
await store.add(files[i]);
|
||||||
|
}
|
||||||
|
await tx.complete
|
||||||
|
db.close()
|
||||||
} else if (title.length > 0 || text.length > 0 || url.length) {
|
} else if (title.length > 0 || text.length > 0 || url.length) {
|
||||||
share_url = `/?share-target=text&title=${title}&text=${text}&url=${url}`;
|
share_url = `/?share-target=text&title=${title}&text=${text}&url=${url}`;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue