generated from t/malachite
add: increase group maximum, better read receipts
This commit is contained in:
parent
0b242ac5f0
commit
9546c580e7
4 changed files with 41 additions and 18 deletions
|
@ -13,11 +13,11 @@ function create_streamer(chat_id, hook_element) {
|
|||
STATE.stream_element = hook_element.parentElement;
|
||||
|
||||
STATE.observer = new IntersectionObserver(
|
||||
() => {
|
||||
(entries) => {
|
||||
load_messages();
|
||||
},
|
||||
{
|
||||
root: STATE.stream_element,
|
||||
root: document.body,
|
||||
rootMargin: "0px",
|
||||
scrollMargin: "0px",
|
||||
threshold: 1.0,
|
||||
|
@ -52,8 +52,6 @@ function load_messages() {
|
|||
.getAttribute("data-first-message-time"),
|
||||
);
|
||||
|
||||
// STATE.stream_element.scrollTo(0, STATE.stream_element.scrollHeight);
|
||||
|
||||
if (document.getElementById(`msgs_quit_${STATE.id}`)) {
|
||||
STATE.observer.disconnect();
|
||||
console.log("quit");
|
||||
|
@ -64,6 +62,10 @@ function load_messages() {
|
|||
),
|
||||
);
|
||||
|
||||
STATE.stream_element
|
||||
.querySelector("[ui_ident=data_marker]")
|
||||
.remove();
|
||||
|
||||
const element = document.createElement("div");
|
||||
element.setAttribute("ui_ident", "data_marker");
|
||||
STATE.stream_element.append(element);
|
||||
|
@ -80,10 +82,21 @@ function render_message(id) {
|
|||
STATE.is_loading = false;
|
||||
STATE.stream_element.innerHTML = `${res}${STATE.stream_element.innerHTML}`;
|
||||
mark_message_read();
|
||||
STATE.stream_element.scrollTo(0, STATE.stream_element.scrollHeight);
|
||||
scroll_bottom();
|
||||
|
||||
if (document.getElementById("delivered_read_status")) {
|
||||
document.getElementById("delivered_read_status").remove(); // clear read receipt box
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function scroll_bottom() {
|
||||
STATE.stream_element.parentElement.scrollTo(
|
||||
0,
|
||||
STATE.stream_element.parentElement.scrollHeight,
|
||||
);
|
||||
}
|
||||
|
||||
function sock_con() {
|
||||
const socket = new WebSocket(
|
||||
`//${window.location.origin.split("//")[1]}/api/v1/chats/${STATE.chat_id}/_connect`,
|
||||
|
@ -109,7 +122,7 @@ function sock_con() {
|
|||
} else if (msg.method === "ReadReceipt") {
|
||||
setTimeout(() => {
|
||||
read_receipt();
|
||||
}, 1500);
|
||||
}, 150);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -164,7 +177,7 @@ function read_receipt() {
|
|||
fetch(`/chats/_templates/chat/${STATE.chat_id}/read_receipt`)
|
||||
.then((res) => res.text())
|
||||
.then((res) => {
|
||||
STATE.stream_element.innerHTML = `${res}${STATE.stream_element.innerHTML}`;
|
||||
document.getElementById("read_receipt_zone").innerHTML = res;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue