FIX: ensures last read is updated on exit (#26691)

This commit is contained in:
Joffrey JAFFEUX
2024-04-20 10:50:32 +02:00
committed by GitHub
parent a5ef7b1999
commit 08ff0bac29

View File

@ -111,6 +111,7 @@ export default class ChatChannel extends Component {
this.#cancelHandlers(); this.#cancelHandlers();
removeOnPresenceChange(this.onPresenceChangeCallback); removeOnPresenceChange(this.onPresenceChangeCallback);
this.subscriptionManager.teardown(); this.subscriptionManager.teardown();
this.updateLastReadMessage();
} }
@action @action
@ -415,15 +416,12 @@ export default class ChatChannel extends Component {
} }
schedule("afterRender", () => { schedule("afterRender", () => {
let lastFullyVisibleMessageNode = null; const messages = this.scrollable.querySelectorAll(
".chat-message-container"
this.scrollable );
.querySelectorAll(".chat-message-container") let lastFullyVisibleMessageNode = Array.from(messages)
.forEach((item) => { .reverse()
if (checkMessageBottomVisibility(this.scrollable, item)) { .find((item) => checkMessageBottomVisibility(this.scrollable, item));
lastFullyVisibleMessageNode = item;
}
});
if (!lastFullyVisibleMessageNode) { if (!lastFullyVisibleMessageNode) {
return; return;