Send heartbeat to lanyard

This commit is contained in:
wont-stream 2025-04-06 21:35:43 -04:00
parent c79ee2b203
commit 99e9be8217

View file

@ -108,6 +108,15 @@ if (userId && instanceUri) {
socket.addEventListener("message", (event) => {
const payload = JSON.parse(event.data);
if (payload.op === 1) {
setInterval(() => {
socket.send(
JSON.stringify({
op: 3
}))
}, payload.d.heartbeat_interval);
}
if (payload.t === "INIT_STATE" || payload.t === "PRESENCE_UPDATE") {
updatePresence(payload.d);
requestAnimationFrame(() => updateElapsedAndProgress());
@ -157,10 +166,10 @@ function buildActivityHTML(activity) {
start && progress === null
? `<div class="activity-timestamp" data-start="${start}">
<span>Since: ${new Date(start).toLocaleTimeString("en-GB", {
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
})} <span class="elapsed"></span></span>
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
})} <span class="elapsed"></span></span>
</div>`
: "";
@ -168,23 +177,23 @@ function buildActivityHTML(activity) {
activity.buttons && activity.buttons.length > 0
? `<div class="activity-buttons">
${activity.buttons
.map((button, index) => {
const label =
typeof button === "string"
? button
: button.label;
let url = null;
if (typeof button === "object" && button.url) {
url = button.url;
} else if (index === 0 && activity.url) {
url = activity.url;
}
return url
? `<a href="${url}" class="activity-button" target="_blank" rel="noopener noreferrer">${label}</a>`
: null;
})
.filter(Boolean)
.join("")}
.map((button, index) => {
const label =
typeof button === "string"
? button
: button.label;
let url = null;
if (typeof button === "object" && button.url) {
url = button.url;
} else if (index === 0 && activity.url) {
url = activity.url;
}
return url
? `<a href="${url}" class="activity-button" target="_blank" rel="noopener noreferrer">${label}</a>`
: null;
})
.filter(Boolean)
.join("")}
</div>`
: "";