mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-07 09:25:27 +00:00
chore: handle all updates to messages
This commit is contained in:
@@ -34,19 +34,19 @@ export class ChannelRenderer {
|
||||
});
|
||||
|
||||
this.receive = this.receive.bind(this);
|
||||
this.edit = this.edit.bind(this);
|
||||
this.updated = this.updated.bind(this);
|
||||
this.delete = this.delete.bind(this);
|
||||
|
||||
const client = this.channel.client;
|
||||
client.addListener("message", this.receive);
|
||||
client.addListener("message/update", this.edit);
|
||||
client.addListener("message/updated", this.updated);
|
||||
client.addListener("message/delete", this.delete);
|
||||
}
|
||||
|
||||
destroy() {
|
||||
const client = this.channel.client;
|
||||
client.removeListener("message", this.receive);
|
||||
client.removeListener("message/update", this.edit);
|
||||
client.removeListener("message/updated", this.updated);
|
||||
client.removeListener("message/delete", this.delete);
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ export class ChannelRenderer {
|
||||
this.currentRenderer.receive(this, message);
|
||||
}
|
||||
|
||||
private edit(id: string, patch: Partial<Message>) {
|
||||
this.currentRenderer.edit(this, id, patch);
|
||||
private updated(id: string, message: Message) {
|
||||
this.currentRenderer.updated(this, id, message);
|
||||
}
|
||||
|
||||
private delete(id: string) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { runInAction } from "mobx";
|
||||
|
||||
import { noopAsync } from "../../js";
|
||||
import { SMOOTH_SCROLL_ON_RECEIVE } from "../Singleton";
|
||||
import { RendererRoutines } from "../types";
|
||||
|
||||
@@ -72,7 +71,7 @@ export const SimpleRenderer: RendererRoutines = {
|
||||
});
|
||||
});
|
||||
},
|
||||
edit: async (renderer) => {
|
||||
updated: async (renderer) => {
|
||||
renderer.emitScroll({
|
||||
type: "StayAtBottom",
|
||||
smooth: false,
|
||||
|
||||
@@ -29,10 +29,10 @@ export interface RendererRoutines {
|
||||
) => Promise<void>;
|
||||
|
||||
receive: (renderer: ChannelRenderer, message: Message) => Promise<void>;
|
||||
edit: (
|
||||
updated: (
|
||||
renderer: ChannelRenderer,
|
||||
id: string,
|
||||
partial: Partial<Message>,
|
||||
message: Message,
|
||||
) => Promise<void>;
|
||||
delete: (renderer: ChannelRenderer, id: string) => Promise<void>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user