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)
Timeline / transactional events (no state_key, sent via txnId)
Account data (global or room-scoped, no state_key, delivered via /sync account_data)
To-device events (not /sync timeline, not account_data — via /sync to_device or PUT /sendToDevice)
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.
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.userm.policy.rule.roomm.policy.rule.serverm.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 withm.beacon_info)org.matrix.msc3381.poll.start(MSC3381, unstable-prefixed but widely deployed)org.matrix.msc3381.poll.responseorg.matrix.msc3381.poll.endm.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/syncaccount_data)m.push_rulesm.ignored_user_listm.identity_serverm.secret_storage.key.*m.secret_storage.default_keym.cross_signing.masterm.cross_signing.self_signingm.cross_signing.user_signingm.megolm_backup.v1m.key_backup(new in v1.19, MSC4287)m.recent_emoji(MSC4356 — verify exact landing version)To-device events (not
/synctimeline, not account_data — via/syncto_deviceorPUT /sendToDevice)m.room_keym.room_key_requestm.forwarded_room_keym.dummym.secret.requestm.secret.sendNotes
m.room.aliasesis deprecated — skip, superseded by canonical alias + room directory.rel_type: m.replace) and thread replies (rel_type: m.thread) are not separate event types — they'rem.room.message(etc.) withm.relates_to. No new type needed, just make sure content models handlem.relates_to.m.typing/m.receipt/m.presenceare/syncephemeral, whilem.tag/m.direct/m.fully_readare/syncaccount_data — two different sync sections, worth distinct wrapper types if not already separated.