change topic safe in message-delivery-method-web-push
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 59s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 59s
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import webpush, { WebPushError } from "web-push";
|
import webpush, { WebPushError } from "web-push";
|
||||||
|
import { createHash } from "crypto";
|
||||||
|
|
||||||
const heartbeat = Number(process.env.HEARTBEAT_INTERVAL ?? 30_000);
|
const heartbeat = Number(process.env.HEARTBEAT_INTERVAL ?? 30_000);
|
||||||
|
|
||||||
@@ -21,6 +22,11 @@ function limitStringLengthWithEllipsis(str: string, maxLength: number): string {
|
|||||||
return str.length > maxLength ? str.substring(0, maxLength) + "…" : str;
|
return str.length > maxLength ? str.substring(0, maxLength) + "…" : str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTopicSafe(str: string) {
|
||||||
|
const hash = createHash("sha256").update(str).digest("base64");
|
||||||
|
return Buffer.from(hash, "hex").toString("base64").replace(/=+$/, "");
|
||||||
|
}
|
||||||
|
|
||||||
const start = async () => {
|
const start = async () => {
|
||||||
const checkedDatabases = await checkDatabases();
|
const checkedDatabases = await checkDatabases();
|
||||||
await setupVapidDetails();
|
await setupVapidDetails();
|
||||||
@@ -78,9 +84,10 @@ const start = async () => {
|
|||||||
const qrDoc = await qrDb.get(`qr_code:${msgDoc.qr_code_uri}`);
|
const qrDoc = await qrDb.get(`qr_code:${msgDoc.qr_code_uri}`);
|
||||||
const timestamp = new Date(msgDoc.created_at).getTime();
|
const timestamp = new Date(msgDoc.created_at).getTime();
|
||||||
|
|
||||||
const topic = `cht_${msgDoc.qr_code_uri}_${msgDoc.chat}`;
|
const topicUnsafe = `cht_${msgDoc.qr_code_uri}_${msgDoc.chat}`;
|
||||||
|
const topic = getTopicSafe(topicUnsafe);
|
||||||
|
|
||||||
const tag = `${topic}_${(timestamp - new Date(qrDoc.created_at).getTime()).toString(36)}`;
|
const tag = `${topicUnsafe}_${(timestamp - new Date(qrDoc.created_at).getTime()).toString(36)}`;
|
||||||
|
|
||||||
if (msgDoc.from === "guest") {
|
if (msgDoc.from === "guest") {
|
||||||
console.log("FROM GUEST");
|
console.log("FROM GUEST");
|
||||||
|
|||||||
Reference in New Issue
Block a user