diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.js index 0b7c8d7c8d3bd8d21265ae132898f8e9d35de031..e2ff6b40017894fbe158d1d76d519b978dd94995 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.js +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.js @@ -272,48 +272,43 @@ .then(function () { if (!CACHE_KEY) { // CLIENT_CACHE_MAPPING_NAME stores CACHE_KEY of each client. - return caches.open(CLIENT_CACHE_MAPPING_NAME); - } - }) - .then(function (erp5js_cache) { - if (erp5js_cache) { - // Service worker forget everything when it stops. So, when it started - // again, CACHE_MAP is empty, get the associated CACHE_KEY from the - // special Cache named CLIENT_CACHE_MAPPING_NAME. - ERP5JS_CACHE = erp5js_cache; - return erp5js_cache.match(client_id); - } - }) - .then(function (response) { - if (response) { - // We use Cache Storage as a persistent database. - CACHE_KEY = response.statusText; - CACHE_MAP[client_id] = CACHE_KEY; - console.log("CACHE_KEY from Cache Storage " + CACHE_KEY); + return caches.open(CLIENT_CACHE_MAPPING_NAME) + .then(function (erp5js_cache) { + // Service worker forget everything when it stops. So, when it started + // again, CACHE_MAP is empty, get the associated CACHE_KEY from the + // special Cache named CLIENT_CACHE_MAPPING_NAME. + ERP5JS_CACHE = erp5js_cache; + return erp5js_cache.match(client_id) + .then(function (response) { + if (response) { + // We use Cache Storage as a persistent database. + CACHE_KEY = response.statusText; + CACHE_MAP[client_id] = CACHE_KEY; + console.log("CACHE_KEY from Cache Storage " + CACHE_KEY); + } + }) + }) } }) .then(function () { - if (CACHE_KEY) { - return []; - } - // If associated CACHE_KEY is not found, it means this client is a new one. - // Let's find the latest Cache. - return caches.keys(); - }) - .then(function (keys) { if (!CACHE_KEY) { - keys = keys.filter(function (key) {return key.startsWith(prefix); }); - console.log("KEYS = " + keys); - if (keys.length) { - CACHE_KEY = keys.sort().reverse()[0]; - CACHE_MAP[client_id] = CACHE_KEY; - } else { - CACHE_KEY = CACHE_NAME; - CACHE_MAP[client_id] = CACHE_NAME; - } - // Save the associated CACHE_KEY in a persistent database because service - // worker forget everything when it stops. - ERP5JS_CACHE.put(client_id, new Response(null, {"statusText": CACHE_KEY})); + // If associated CACHE_KEY is not found, it means this client is a new one. + // Let's find the latest Cache. + return caches.keys() + .then(function (keys) { + keys = keys.filter(function (key) {return key.startsWith(prefix); }); + console.log("KEYS = " + keys); + if (keys.length) { + CACHE_KEY = keys.sort().reverse()[0]; + CACHE_MAP[client_id] = CACHE_KEY; + } else { + CACHE_KEY = CACHE_NAME; + CACHE_MAP[client_id] = CACHE_NAME; + } + // Save the associated CACHE_KEY in a persistent database because service + // worker forget everything when it stops. + ERP5JS_CACHE.put(client_id, new Response(null, {"statusText": CACHE_KEY})); + }) } }) .then(function () { diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.xml index 0e0dc433dbbb0d2717f233dec6e1ef538675a694..0f402143f2d55ddb5dc47ecd0a154ccd4126a26c 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.xml +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_serviceworker.xml @@ -228,7 +228,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>976.15482.50361.52206</string> </value> + <value> <string>976.15605.32654.49476</string> </value> </item> <item> <key> <string>state</string> </key> @@ -246,7 +246,7 @@ </tuple> <state> <tuple> - <float>1559917201.4</float> + <float>1559924528.42</float> <string>UTC</string> </tuple> </state>