mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 03:51:07 +08:00
FIX: ensures last read is updated on exit (#26691)
This commit is contained in:
@ -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;
|
||||||
|
Reference in New Issue
Block a user