Commit 4a3570e2 authored by Grant's avatar Grant
Browse files

ignore ephemeral presence messages

parent 14d9345b
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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);
      }
    }

@@ -63,7 +66,7 @@ class MatrixHandler_ {

      if ("redacted_because" in event) {
        console.log("Received event with redacted_because", event);
        return;
        continue;
      }

      switch (event.type) {
+1 −1
Original line number Diff line number Diff line
@@ -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,
+18 −1
Original line number Diff line number Diff line
@@ -48,7 +48,9 @@ export interface IEphemeralEvent<
  content: Content;
}

export type MatrixEphemeralEvent = MatrixEphemeralTyping;
export type MatrixEphemeralEvent =
  | MatrixEphemeralTyping
  | MatrixEphemeralPresence;

export type MatrixEphemeralTyping = IEphemeralEvent<
  "m.typing",
@@ -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;