1let getTokens = function () { 2 return new Promise((resolve, reject) => { 3 let db; 4 let db_request = indexedDB.open("fcm_token_details_db"); 5 db_request.onblocked = function () { 6 console.log("client getTokens blocked"); 7 }; 8 db_request.onerror = function () { 9 console.log("client getTokens error"); 10 reject("fcm_token_details_db connection error"); 11 }; 12 db_request.onsuccess = function (event) { 13 console.log('client getTokens success'); 14 15 try { 16 db = event.target.result; 17 18 let transaction = db.transaction("fcm_token_object_Store", IDBTransaction.READ_ONLY); 19 let objectStore = transaction.objectStore("fcm_token_object_Store"); 20 let request = objectStore.getAll(); 21 request.onerror = function (event) { 22 console.log('client fcm_token_object_Store request error'); 23 reject("fcm_token_object_Store error"); 24 }; 25 request.onsuccess = function (event) { 26 let result = event.target.result; 27 resolve(result); 28 }; 29 } catch (e) { 30 console.log('client getTokens success catch', e.code, e.message, e.stack); 31 32 if (e.code == 8) resolve([]); 33 reject(e.message); 34 } 35 }; 36 }); 37}; 38 39function deleteTokensDB() { 40 console.log('provo a cancellare il db'); 41 42 var req = indexedDB.deleteDatabase('fcm_token_details_db'); 43 req.onsuccess = function () { 44 initFirebase(); 45 console.log("fcm_token_details_db: cancellazione eseguita"); 46 }; 47 req.onerror = function () { 48 console.log("fcm_token_details_db: cancellazione fallita"); 49 }; 50 req.onblocked = function (e) { 51 console.log("fcm_token_details_db: cancellazione bloccata"); 52 }; 53} 54 55function tryFixFirebase() { 56 getTokens().then(function (tokens) { 57 console.log('tokens', tokens); 58 if (tokens.length == 0) { 59 deleteTokensDB(); 60 } else { 61 initFirebase(); 62 } 63 }).catch(function (text) { 64 console.log('catch tokens '+text); 65 deleteTokensDB(); 66 }); 67} 68 69tryFixFirebase(); 70 71window.firebase = firebase; 72 73 74 75function initFirebase() { 76 console.log('inizializzo firebase'); 77 78 // Initialize Firebase 79 var config = { 80 apiKey: "AIzaSyAuWrJN7NRHIggG8jMPLMbDnRx301hUy-M", 81 authDomain: "av-test-f4c9c.firebaseapp.com", 82 databaseURL: "https://av-test-f4c9c.firebaseio.com", 83 projectId: "av-test-f4c9c", 84 storageBucket: "", 85 messagingSenderId: "43975754916" 86 }; 87 firebase.initializeApp(config); 88 89 const messaging = firebase.messaging(); 90 if ('serviceWorker' in navigator) { 91 push_notification.supported = true; 92 //https://stackoverflow.com/questions/30336685/404-error-when-trying-to-register-serviceworker 93 var sw_url = push_notification_client_data.service_worker_url; 94 console.log('sw_url', sw_url); 95 //navigator.serviceWorker.register(sw_url, { scope: '/' }).then(function(registration) { 96 navigator.serviceWorker.register(sw_url).then(function(registration) { 97 console.log('Service worker registration succeeded:', registration); 98 99 //window.dispatchEvent(new Event("service_worker_refresh")); //per lanciare l'aggiornamento del sw dalla pagina 100 window.addEventListener('service_worker_refresh', function (e) { 101 registration.update(); 102 console.log('Service worker refresh:', registration); 103 }, false); 104 105 firebase.messaging().useServiceWorker(registration); 106 push_notification.get_token(false); 107 }).catch(function(error) { 108 console.log('Service worker registration failed:', error.message); 109 }); 110 111 navigator.serviceWorker.addEventListener('message', function(event){ 112 console.log("Client message received", event.data); 113 /* 114 if (typeof event.data.action !== 'undefined') { 115 if (event.data.action == 'require_token') { 116 push_notification.sent_token_to_service_worker(); 117 } 118 } 119 */ 120 }); 121 } else { 122 console.log('Service workers are not supported.'); 123 if (typeof push_notification.onUnsupported === 'function') { 124 push_notification.onUnsupported(); 125 } 126 } 127 128 messaging.onTokenRefresh(function() { 129 console.log('refresh token'); 130 push_notification.get_token(false); 131 }); 132 133 messaging.onMessage(function(payload) { 134 console.log("Message received. ", payload); 135 }); 136
137 // messaging.setBackgroundMessageHandler(function(payload) { 138 // console.log('[firebase-messaging-sw.js] Received background message ', payload); 139 // // Customize notification here 140 // const notificationTitle = 'Background Message Title'; 141 // const notificationOptions = { 142 // body: 'Background Message body.', 143 // icon: '/firebase-logo.png' 144 // }; 145 // 146 // return self.registration.showNotification(notificationTitle, notificationOptions); 147 // }); 148}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.