Skip to content

Commit 985f46a

Browse files
committed
fixed realtime cursor disappearing bug
1 parent a82734f commit 985f46a

2 files changed

Lines changed: 15 additions & 10 deletions

File tree

public/crucial.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const configurations = {
2222
};
2323

2424
const configuration = "public";
25-
const version = "1.6.80"; // Big Update . Small Feature Release . Bug Fix
25+
const version = "1.6.81"; // Big Update . Small Feature Release . Bug Fix
2626
const domain = "markifyapp.com";
2727

2828
let config = configurations[configuration];

public/modules/editor/realtime.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -415,14 +415,15 @@ modules["editor/realtime"] = class {
415415
}
416416
return this.removeRealtime(memberID);
417417
}
418-
clearInterval(member.interval);
419-
member.interval = setInterval(() => {
418+
clearTimeout(member.timeout);
419+
member.timeout = setTimeout(() => {
420420
this.removeRealtime(memberID);
421421
}, 120000); // Remove realtime member elements if inactive for 2 minutes
422422
let cursorHolder = member.elements.cursor;
423423
if (cursorHolder == null) {
424-
realtimeHolder.insertAdjacentHTML("beforeend", `<div class="eCursor" member="${memberID}" scale notransition></div>`);
425-
cursorHolder = realtimeHolder.querySelector('.eCursor[member="' + memberID + '"]');
424+
realtimeHolder.insertAdjacentHTML("beforeend", `<div class="eCursor" member="${memberID}" scale notransition new></div>`);
425+
cursorHolder = realtimeHolder.querySelector('.eCursor[member="' + memberID + '"][new]');
426+
cursorHolder.removeAttribute("new");
426427
member.elements.cursor = cursorHolder;
427428
cursorHolder.offsetHeight;
428429
cursorHolder.style.opacity = 1;
@@ -847,15 +848,19 @@ modules["editor/realtime"] = class {
847848
if (editor.realtime.observing == memberID) {
848849
this.exitObserve();
849850
}
850-
if (member == null || member.elements == null) {
851+
if (member == null) {
851852
return;
852853
}
853-
let memberElements = [];
854-
let elementKeys = Object.keys(member.elements);
855-
for (let i = 0; i < elementKeys.length; i++) {
856-
memberElements.push(member.elements[elementKeys[i]]);
854+
855+
clearTimeout(member.timeout);
856+
857+
if (member.elements == null) {
858+
return;
857859
}
860+
861+
let memberElements = Object.values(member.elements);
858862
member.elements = {};
863+
859864
(async function () {
860865
for (let i = 0; i < memberElements.length; i++) {
861866
let elem = memberElements[i];

0 commit comments

Comments
 (0)