Skip to content

Events: Add support for additional events in extra Modules #44

Description

@hikingc

Some events are still missing, many are from the modules section, this issue was generated to track them.

Missing events

State events (has state_key)

  • m.policy.rule.user
  • m.policy.rule.room
  • m.policy.rule.server
  • m.room.image_pack (new in v1.19, MSC2545)
  • m.image_pack.rooms (new in v1.19, MSC2545)
  • m.room.recommended_packs (MSC2545, widget-facing)
  • m.beacon_info (MSC3489, live location)
  • m.widget / im.vector.modular.widgets (widget state, unstable-ish but widely deployed)

Timeline / transactional events (no state_key, sent via txnId)

  • m.beacon (MSC3489, live location position updates — ephemeral-ish timeline event, pairs with m.beacon_info)
  • org.matrix.msc3381.poll.start (MSC3381, unstable-prefixed but widely deployed)
  • org.matrix.msc3381.poll.response
  • org.matrix.msc3381.poll.end
  • m.key.verification.ready (missing from your verification flow: request → ready → start → accept → key → mac → done/cancel)

Account data (global or room-scoped, no state_key, delivered via /sync account_data)

  • m.push_rules
  • m.ignored_user_list
  • m.identity_server
  • m.secret_storage.key.*
  • m.secret_storage.default_key
  • m.cross_signing.master
  • m.cross_signing.self_signing
  • m.cross_signing.user_signing
  • m.megolm_backup.v1
  • m.key_backup (new in v1.19, MSC4287)
  • m.recent_emoji (MSC4356 — verify exact landing version)

To-device events (not /sync timeline, not account_data — via /sync to_device or PUT /sendToDevice)

  • m.room_key
  • m.room_key_request
  • m.forwarded_room_key
  • m.dummy
  • m.secret.request
  • m.secret.send
  • MSC4268 encrypted-history-sharing to-device types (new in v1.19 — check current spec text for exact event type names)

Notes

  • m.room.aliases is deprecated — skip, superseded by canonical alias + room directory.
  • Message edits (rel_type: m.replace) and thread replies (rel_type: m.thread) are not separate event types — they're m.room.message (etc.) with m.relates_to. No new type needed, just make sure content models handle m.relates_to.
  • m.typing/m.receipt/m.presence are /sync ephemeral, while m.tag/m.direct/m.fully_read are /sync account_data — two different sync sections, worth distinct wrapper types if not already separated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestevent-serviceAny bug or feature that is related to the event servicehelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions