Skip to content

Commit

Permalink
Merge pull request #731 from episphere/dev
Browse files Browse the repository at this point in the history
Dev -> Stage Sync (July 2024 Release)
  • Loading branch information
we-ai authored Jul 29, 2024
2 parents 19c061c + 6891c56 commit 57b6a93
Show file tree
Hide file tree
Showing 10 changed files with 227 additions and 151 deletions.
13 changes: 1 addition & 12 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,22 +95,11 @@ <h4 class="modal-title">Barcode Scanner</h4>
<li class="menu-item"><a class="footer-links" href="http://www.usa.gov/">USA.gov</a></li>
</ul>
<p class="menu footer-tagline">NIH…Turning Discovery Into Health<sup>®</sup></p>
<p id="appVersion"></p>
</div>
</div>
</div>
</footer>
<script>
if(location.host !== 'biospecimen-myconnect.cancer.gov') {
(function () {
const sentryScript = document.createElement('script');
sentryScript.src = 'https://browser.sentry-cdn.com/6.13.3/bundle.tracing.min.js';
document.head.appendChild(sentryScript);
sentryScript.addEventListener('load', () => {
Sentry.init({ dsn: 'https://[email protected]/6139072' });
})
})();
}
</script>
<script src="index.js" type="module"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
Expand Down
28 changes: 19 additions & 9 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,25 @@ import { bptlShipReportsScreen } from "./src/pages/reports/shippingReport.js";
import { checkOutReportTemplate } from "./src/pages/checkOutReport.js";
import { dailyReportTemplate } from "./src/pages/dailyReport.js";

if ("serviceWorker" in navigator) {
navigator.serviceWorker.register("./serviceWorker.js").catch((error) => {
console.error("Service worker registration failed.", error);
return;
});

navigator.serviceWorker.ready.then(() => {
if (navigator.serviceWorker.controller) {
navigator.serviceWorker.controller.postMessage({ action: "getAppVersion" });
}
});

navigator.serviceWorker.addEventListener("message", (event) => {
if (event.data.action === "sendAppVersion") {
document.getElementById("appVersion").textContent = event.data.payload;
}
});
}

let auth = '';

const datadogConfig = {
Expand All @@ -48,14 +67,6 @@ const datadogConfig = {
const isLocalDev = location.hostname === 'localhost' || location.hostname === '127.0.0.1';

window.onload = () => {
if ("serviceWorker" in navigator) {
try {
navigator.serviceWorker.register("./serviceWorker.js");
} catch (error) {
console.log(error);
}
}

if(location.host === urls.prod) {
!firebase.apps.length ? firebase.initializeApp(prodFirebaseConfig()) : firebase.app();
window.DD_RUM && window.DD_RUM.init({ ...datadogConfig, env: 'prod' });
Expand Down Expand Up @@ -101,7 +112,6 @@ const manageRoutes = async () => {
else if (route === "#allParticipants") allParticipantsScreen(auth, route);
else if (route === "#addressPrinted") addressesPrintedScreen(auth, route);
else if (route === "#assigned") assignedScreen(auth, route);
else if (route === "#status_shipped") kitStatusReportsShipped(auth, route);
else if (route === "#received") receivedKitsScreen(auth,route);
else if (route === "#kitshipment") kitShipmentScreen(auth, route);
else if (route === "#packagesintransit") packagesInTransitScreen(auth, route);
Expand Down
70 changes: 30 additions & 40 deletions serviceWorker.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');

const appVersion = "v24.7.0";
workbox.setConfig({debug: false});
const { registerRoute } = workbox.routing;
const { CacheFirst, NetworkFirst, StaleWhileRevalidate, NetworkOnly } = workbox.strategies;
const { CacheableResponse, CacheableResponsePlugin } = workbox.cacheableResponse;
const { CacheFirst, NetworkFirst } = workbox.strategies;
const { ExpirationPlugin } = workbox.expiration;
const { BackgroundSyncPlugin } = workbox.backgroundSync
const googleAnalytics = workbox.googleAnalytics;
const cacheNameMapper = {
"static-cache": `static-cache-${appVersion}`,
"images-cache": `images-cache-${appVersion}`,
};
const currCacheNameArray = Object.values(cacheNameMapper);

googleAnalytics.initialize();
registerRoute(/\.(?:js|css)$/, new NetworkFirst({cacheName: 'static-cache'}));
registerRoute(/\.(?:js|css|html)$/, new NetworkFirst({ cacheName: cacheNameMapper["static-cache"] }));
registerRoute(/\.(?:png|jpg|jpeg|svg|gif|ico)$/,
new CacheFirst({
cacheName: 'images-cache',
cacheName: cacheNameMapper["images-cache"],
plugins: [
new ExpirationPlugin({
maxEntries: 30,
Expand All @@ -21,41 +26,26 @@ registerRoute(/\.(?:png|jpg|jpeg|svg|gif|ico)$/,
})
);

registerRoute(
new RegExp('https://us-central1-nih-nci-dceg-connect-dev.cloudfunctions.net/.+'),
new NetworkFirst({
cacheName: 'api-cache',
plugins: [
new CacheableResponsePlugin({
statuses: [200],
})
]
}),
'GET'
);


const bgSyncPlugin = new BackgroundSyncPlugin('connectBiospecimen', {
maxRetentionTime: 24 * 60 // Retry for max of 24 Hours (specified in minutes)
self.addEventListener("install", () => {
self.skipWaiting();
});

registerRoute(
new RegExp('https://us-central1-nih-nci-dceg-connect-dev.cloudfunctions.net/.+'),
new NetworkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
);
self.addEventListener("activate", (event) => {
event.waitUntil(
caches.keys().then((cacheNames) => {
return Promise.all(
cacheNames.map((cacheName) => {
if (!currCacheNameArray.includes(cacheName)) {
return caches.delete(cacheName);
}
})
);
})
);
});

registerRoute(
/index\.html$/,
new NetworkFirst({
cacheName: 'index-html-cache',
networkTimeoutSeconds: 3,
plugins: [
new CacheableResponsePlugin({
statuses: [0, 200],
}),
],
})
);
self.addEventListener("message", (event) => {
if (event.data.action === "getAppVersion") {
event.source.postMessage({ action: "sendAppVersion", payload: appVersion });
}
});
Loading

0 comments on commit 57b6a93

Please sign in to comment.