Loading src/matrix.ts +6 −3 Original line number Diff line number Diff line Loading @@ -41,13 +41,16 @@ class MatrixHandler_ { } for (const event of ephemeral) { console.log("[e:Matrix->]", event); switch (event.type) { case "m.typing": { await this.handleTyping(event); break; } case "m.presence": // ignore presence break; default: console.log("[e:Matrix->]", event); } } Loading @@ -63,7 +66,7 @@ class MatrixHandler_ { if ("redacted_because" in event) { console.log("Received event with redacted_because", event); return; continue; } switch (event.type) { Loading src/routes/matrix.ts +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ export class MatrixRoutes extends Router { res: e.Response ) { try { const { events, "de.sorunome.msc2409.ephemeral": ephemeral } = req.body; const { events, ephemeral } = req.body; await MatrixHandler.handleTransaction( req.params.txnId, Loading src/types/matrix.ts +18 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,9 @@ export interface IEphemeralEvent< content: Content; } export type MatrixEphemeralEvent = MatrixEphemeralTyping; export type MatrixEphemeralEvent = | MatrixEphemeralTyping | MatrixEphemeralPresence; export type MatrixEphemeralTyping = IEphemeralEvent< "m.typing", Loading @@ -59,6 +61,21 @@ export type MatrixEphemeralTyping = IEphemeralEvent< room_id: string; }; export type MatrixEphemeralPresence = IEphemeralEvent< "m.presence", { presence: "online" | "unavailable" | "offline"; /** * The last time seince this user performed some action, in milisecond */ last_active_ago?: number; currently_active?: boolean; displayname?: string; avatar_url?: string; status_msg?: string; } >; export type MatrixUnsignedData<Content = unknown> = { age?: number; prev_content?: Content; Loading Loading
src/matrix.ts +6 −3 Original line number Diff line number Diff line Loading @@ -41,13 +41,16 @@ class MatrixHandler_ { } for (const event of ephemeral) { console.log("[e:Matrix->]", event); switch (event.type) { case "m.typing": { await this.handleTyping(event); break; } case "m.presence": // ignore presence break; default: console.log("[e:Matrix->]", event); } } Loading @@ -63,7 +66,7 @@ class MatrixHandler_ { if ("redacted_because" in event) { console.log("Received event with redacted_because", event); return; continue; } switch (event.type) { Loading
src/routes/matrix.ts +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ export class MatrixRoutes extends Router { res: e.Response ) { try { const { events, "de.sorunome.msc2409.ephemeral": ephemeral } = req.body; const { events, ephemeral } = req.body; await MatrixHandler.handleTransaction( req.params.txnId, Loading
src/types/matrix.ts +18 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,9 @@ export interface IEphemeralEvent< content: Content; } export type MatrixEphemeralEvent = MatrixEphemeralTyping; export type MatrixEphemeralEvent = | MatrixEphemeralTyping | MatrixEphemeralPresence; export type MatrixEphemeralTyping = IEphemeralEvent< "m.typing", Loading @@ -59,6 +61,21 @@ export type MatrixEphemeralTyping = IEphemeralEvent< room_id: string; }; export type MatrixEphemeralPresence = IEphemeralEvent< "m.presence", { presence: "online" | "unavailable" | "offline"; /** * The last time seince this user performed some action, in milisecond */ last_active_ago?: number; currently_active?: boolean; displayname?: string; avatar_url?: string; status_msg?: string; } >; export type MatrixUnsignedData<Content = unknown> = { age?: number; prev_content?: Content; Loading