Send heartbeat to lanyard #6

Closed
seth wants to merge 3 commits from (deleted):main into main
Showing only changes of commit 99e9be8217 - Show all commits

View file

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