don't show non-message to user; fix API server setting; misc doc & task stuff

This commit is contained in:
2023-12-04 09:34:27 -07:00
parent 7335412145
commit 5cbf917ada
4 changed files with 23 additions and 23 deletions

View File

@@ -5,7 +5,7 @@ importScripts(
);
self.addEventListener("install", (event) => {
console.error(event);
console.error("Adding event listener for:", event);
importScripts(
"safari-notifications.js",
"nacl.js",
@@ -23,16 +23,20 @@ self.addEventListener("push", function (event) {
payload = JSON.parse(event.data.text());
}
const message = await self.getNotificationCount();
console.error(message);
const title = payload ? payload.title : "Custom Title";
const options = {
body: message,
icon: payload ? payload.icon : "icon.png",
badge: payload ? payload.badge : "badge.png",
};
await self.registration.showNotification(title, options);
if (message) {
console.log("Will notify user:", message);
const title = payload ? payload.title : "Custom Title";
const options = {
body: message,
icon: payload ? payload.icon : "icon.png",
badge: payload ? payload.badge : "badge.png",
};
await self.registration.showNotification(title, options);
} else {
console.log("No notification message, so will not tell the user.");
}
} catch (error) {
console.error("Error in processing the push event:", error);
console.error("Error processing the push event:", error);
}
})(),
);
@@ -51,7 +55,7 @@ self.addEventListener("activate", (event) => {
});
self.addEventListener("fetch", (event) => {
console.log(event.request);
console.log("Got fetch event", event.request);
});
self.addEventListener("error", (event) => {

View File

@@ -466,6 +466,7 @@ async function getNotificationCount() {
if ("secret" in self) {
secret = self.secret;
const secretUint8Array = self.decodeBase64(secret);
// 1 is our master settings ID; see MASTER_SETTINGS_KEY
const settings = await getSettingById(1);
let lastNotifiedClaimId = null;
if ("lastNotifiedClaimId" in settings) {
@@ -496,7 +497,7 @@ async function getNotificationCount() {
headers["Authorization"] = "Bearer " + (await accessToken(identifier));
let response = await fetch(
"https://test-api.endorser.ch/api/v2/report/claims",
settings["apiServer"] + "/api/v2/report/claims",
{
method: "GET",
headers: headers,
@@ -513,15 +514,13 @@ async function getNotificationCount() {
}
newClaims++;
}
if (newClaims === 0) {
result = "You have no new claims today.";
} else {
result = `${newClaims} have been shared with you`;
if (newClaims > 0) {
result = `There are ${newClaims} new activities on TimeSafari`;
}
const most_recent_notified = claims[0]["id"];
await setMostRecentNotified(most_recent_notified);
} else {
console.error(response.status);
console.error("The service worker got a bad response status when fetching claims:", response.status, response);
}
break;
}