chore: handle all updates to messages

This commit is contained in:
Paul Makles 2022-07-31 12:20:25 +02:00
parent ca69a0b4c5
commit 11a17feaae
5 changed files with 14 additions and 15 deletions

View file

@ -141,7 +141,7 @@
"remark-math": "^5.1.1", "remark-math": "^5.1.1",
"remark-parse": "^10.0.1", "remark-parse": "^10.0.1",
"remark-rehype": "^10.1.0", "remark-rehype": "^10.1.0",
"revolt.js": "6.0.12", "revolt.js": "6.0.13",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"sass": "^1.35.1", "sass": "^1.35.1",
"semver": "^7.3.7", "semver": "^7.3.7",

View file

@ -34,19 +34,19 @@ export class ChannelRenderer {
}); });
this.receive = this.receive.bind(this); this.receive = this.receive.bind(this);
this.edit = this.edit.bind(this); this.updated = this.updated.bind(this);
this.delete = this.delete.bind(this); this.delete = this.delete.bind(this);
const client = this.channel.client; const client = this.channel.client;
client.addListener("message", this.receive); client.addListener("message", this.receive);
client.addListener("message/update", this.edit); client.addListener("message/updated", this.updated);
client.addListener("message/delete", this.delete); client.addListener("message/delete", this.delete);
} }
destroy() { destroy() {
const client = this.channel.client; const client = this.channel.client;
client.removeListener("message", this.receive); client.removeListener("message", this.receive);
client.removeListener("message/update", this.edit); client.removeListener("message/updated", this.updated);
client.removeListener("message/delete", this.delete); client.removeListener("message/delete", this.delete);
} }
@ -54,8 +54,8 @@ export class ChannelRenderer {
this.currentRenderer.receive(this, message); this.currentRenderer.receive(this, message);
} }
private edit(id: string, patch: Partial<Message>) { private updated(id: string, message: Message) {
this.currentRenderer.edit(this, id, patch); this.currentRenderer.updated(this, id, message);
} }
private delete(id: string) { private delete(id: string) {

View file

@ -1,6 +1,5 @@
import { runInAction } from "mobx"; import { runInAction } from "mobx";
import { noopAsync } from "../../js";
import { SMOOTH_SCROLL_ON_RECEIVE } from "../Singleton"; import { SMOOTH_SCROLL_ON_RECEIVE } from "../Singleton";
import { RendererRoutines } from "../types"; import { RendererRoutines } from "../types";
@ -72,7 +71,7 @@ export const SimpleRenderer: RendererRoutines = {
}); });
}); });
}, },
edit: async (renderer) => { updated: async (renderer) => {
renderer.emitScroll({ renderer.emitScroll({
type: "StayAtBottom", type: "StayAtBottom",
smooth: false, smooth: false,

View file

@ -29,10 +29,10 @@ export interface RendererRoutines {
) => Promise<void>; ) => Promise<void>;
receive: (renderer: ChannelRenderer, message: Message) => Promise<void>; receive: (renderer: ChannelRenderer, message: Message) => Promise<void>;
edit: ( updated: (
renderer: ChannelRenderer, renderer: ChannelRenderer,
id: string, id: string,
partial: Partial<Message>, message: Message,
) => Promise<void>; ) => Promise<void>;
delete: (renderer: ChannelRenderer, id: string) => Promise<void>; delete: (renderer: ChannelRenderer, id: string) => Promise<void>;

View file

@ -3696,7 +3696,7 @@ __metadata:
remark-math: ^5.1.1 remark-math: ^5.1.1
remark-parse: ^10.0.1 remark-parse: ^10.0.1
remark-rehype: ^10.1.0 remark-rehype: ^10.1.0
revolt.js: 6.0.12 revolt.js: 6.0.13
rimraf: ^3.0.2 rimraf: ^3.0.2
sass: ^1.35.1 sass: ^1.35.1
semver: ^7.3.7 semver: ^7.3.7
@ -7890,9 +7890,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"revolt.js@npm:6.0.12": "revolt.js@npm:6.0.13":
version: 6.0.12 version: 6.0.13
resolution: "revolt.js@npm:6.0.12" resolution: "revolt.js@npm:6.0.13"
dependencies: dependencies:
"@insertish/exponential-backoff": 3.1.0-patch.2 "@insertish/exponential-backoff": 3.1.0-patch.2
"@insertish/isomorphic-ws": ^4.0.1 "@insertish/isomorphic-ws": ^4.0.1
@ -7906,7 +7906,7 @@ __metadata:
revolt-api: 0.5.5 revolt-api: 0.5.5
ulid: ^2.3.0 ulid: ^2.3.0
ws: ^8.2.2 ws: ^8.2.2
checksum: 1ff667daf3e7c9b32ee383d56f79db9d5112b1ca87eb406c749fa3ce5f8adb59cd48ec3cb935932a5cc5da0af6f82e2dd7b5b83fa0705e02f66c050bc848401a checksum: 15fae99ced07c93942122bcc190bb03c62bf6c9bb90ca35aec5c1ed12f547e1dad7b596c549784ba8bf38ebbb96e62af195305ec92ec9fadf69969a1681b8e23
languageName: node languageName: node
linkType: hard linkType: hard