async-matrix 0.1.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +131 -0
- data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
- data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
- data/data/matrix-spec/api/client-server/admin.yaml +512 -0
- data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
- data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
- data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
- data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
- data/data/matrix-spec/api/client-server/banning.yaml +177 -0
- data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
- data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
- data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
- data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
- data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
- data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
- data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
- data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
- data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
- data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
- data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
- data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
- data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
- data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
- data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
- data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
- data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
- data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
- data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
- data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
- data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
- data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
- data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
- data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
- data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
- data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
- data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
- data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
- data/data/matrix-spec/api/client-server/directory.yaml +318 -0
- data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
- data/data/matrix-spec/api/client-server/filter.yaml +224 -0
- data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
- data/data/matrix-spec/api/client-server/joining.yaml +238 -0
- data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
- data/data/matrix-spec/api/client-server/keys.yaml +482 -0
- data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
- data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
- data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
- data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
- data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
- data/data/matrix-spec/api/client-server/login.yaml +321 -0
- data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
- data/data/matrix-spec/api/client-server/logout.yaml +86 -0
- data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
- data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
- data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
- data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
- data/data/matrix-spec/api/client-server/openid.yaml +98 -0
- data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
- data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
- data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
- data/data/matrix-spec/api/client-server/presence.yaml +169 -0
- data/data/matrix-spec/api/client-server/profile.yaml +366 -0
- data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
- data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
- data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
- data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
- data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
- data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
- data/data/matrix-spec/api/client-server/registration.yaml +488 -0
- data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
- data/data/matrix-spec/api/client-server/relations.yaml +382 -0
- data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
- data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
- data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
- data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
- data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
- data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
- data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
- data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
- data/data/matrix-spec/api/client-server/search.yaml +385 -0
- data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
- data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
- data/data/matrix-spec/api/client-server/support.yaml +142 -0
- data/data/matrix-spec/api/client-server/sync.yaml +692 -0
- data/data/matrix-spec/api/client-server/tags.yaml +183 -0
- data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
- data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
- data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
- data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
- data/data/matrix-spec/api/client-server/typing.yaml +103 -0
- data/data/matrix-spec/api/client-server/users.yaml +136 -0
- data/data/matrix-spec/api/client-server/versions.yaml +108 -0
- data/data/matrix-spec/api/client-server/voip.yaml +93 -0
- data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
- data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
- data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
- data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
- data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
- data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
- data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
- data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
- data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
- data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
- data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
- data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
- data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
- data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
- data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
- data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
- data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
- data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
- data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
- data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
- data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
- data/lib/async/matrix/api/chain.rb +575 -0
- data/lib/async/matrix/api/concat.rb +105 -0
- data/lib/async/matrix/api/path_tree.rb +208 -0
- data/lib/async/matrix/api.rb +204 -0
- data/lib/async/matrix/application_service/bot.rb +235 -0
- data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
- data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
- data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
- data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
- data/lib/async/matrix/application_service/config/schema/config.json +61 -0
- data/lib/async/matrix/application_service/config/schema/database.json +38 -0
- data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
- data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
- data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
- data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
- data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
- data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
- data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
- data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
- data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
- data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
- data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
- data/lib/async/matrix/application_service/config/vivify.rb +110 -0
- data/lib/async/matrix/application_service/config.rb +214 -123
- data/lib/async/matrix/application_service/dispatcher.rb +115 -113
- data/lib/async/matrix/application_service/error_response.rb +26 -26
- data/lib/async/matrix/application_service/event.rb +217 -1
- data/lib/async/matrix/application_service/server.rb +286 -215
- data/lib/async/matrix/application_service/transaction.rb +52 -52
- data/lib/async/matrix/application_service/transaction_store.rb +62 -62
- data/lib/async/matrix/client.rb +919 -179
- data/lib/async/matrix/connection.rb +8 -8
- data/lib/async/matrix/endpoint.rb +45 -45
- data/lib/async/matrix/error.rb +49 -43
- data/lib/async/matrix/media_client.rb +173 -0
- data/lib/async/matrix/notifier.rb +92 -92
- data/lib/async/matrix/schema/registry.rb +355 -0
- data/lib/async/matrix/schema/validation_error.rb +226 -0
- data/lib/async/matrix/schema.rb +174 -0
- data/lib/async/matrix/server.rb +7 -7
- data/lib/async/matrix/stream.rb +7 -7
- data/lib/async/matrix/version.rb +1 -1
- data/lib/async/matrix.rb +2 -2
- metadata +353 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: A moderation policy rule which affects servers.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
$ref: "../moderation_policy_rule.yaml"
|
|
10
|
+
state_key:
|
|
11
|
+
description: An arbitrary string decided upon by the sender.
|
|
12
|
+
type: string
|
|
13
|
+
type:
|
|
14
|
+
enum:
|
|
15
|
+
- m.policy.rule.server
|
|
16
|
+
type: string
|
|
17
|
+
type: object
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: A moderation policy rule which affects users.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
$ref: "../moderation_policy_rule.yaml"
|
|
10
|
+
state_key:
|
|
11
|
+
description: An arbitrary string decided upon by the sender.
|
|
12
|
+
type: string
|
|
13
|
+
type:
|
|
14
|
+
enum:
|
|
15
|
+
- m.policy.rule.user
|
|
16
|
+
type: string
|
|
17
|
+
type: object
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"title": "Presence Event",
|
|
5
|
+
"description": "Informs the client of a user's presence state change.",
|
|
6
|
+
"allOf": [{
|
|
7
|
+
"$ref": "core-event-schema/event.yaml"
|
|
8
|
+
}],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"avatar_url": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The current avatar URL for this user, if any."
|
|
16
|
+
},
|
|
17
|
+
"displayname": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "The current display name for this user, if any."
|
|
20
|
+
},
|
|
21
|
+
"last_active_ago": {
|
|
22
|
+
"type": "number",
|
|
23
|
+
"description": "The last time since this used performed some action, in milliseconds."
|
|
24
|
+
},
|
|
25
|
+
"presence": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The presence state for this user.",
|
|
28
|
+
"enum": ["online", "offline", "unavailable"]
|
|
29
|
+
},
|
|
30
|
+
"currently_active": {
|
|
31
|
+
"type": boolean,
|
|
32
|
+
"description": "Whether the user is currently active"
|
|
33
|
+
},
|
|
34
|
+
"status_msg": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "An optional description to accompany the presence."
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"required": ["presence"]
|
|
40
|
+
},
|
|
41
|
+
"type": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": ["m.presence"]
|
|
44
|
+
},
|
|
45
|
+
"sender": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": ["sender", "type", "content"]
|
|
50
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
description: Describes all push rules for this user.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
global:
|
|
11
|
+
type: object
|
|
12
|
+
title: Ruleset
|
|
13
|
+
description: The global ruleset
|
|
14
|
+
allOf:
|
|
15
|
+
- $ref: ../../api/client-server/definitions/push_ruleset.yaml
|
|
16
|
+
type: object
|
|
17
|
+
type:
|
|
18
|
+
enum:
|
|
19
|
+
- m.push_rules
|
|
20
|
+
type: string
|
|
21
|
+
title: Push rules
|
|
22
|
+
type: object
|
|
23
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
allOf:
|
|
4
|
+
- $ref: core-event-schema/room_event.yaml
|
|
5
|
+
description: |-
|
|
6
|
+
Indicates a reaction to a previous event.
|
|
7
|
+
|
|
8
|
+
Has no defined `content` properties of its own. Its only purpose is to hold an
|
|
9
|
+
[`m.relates_to`](/client-server-api/#definition-mrelates_to) property.
|
|
10
|
+
|
|
11
|
+
Since they contain no content other than `m.relates_to`, `m.reaction` events
|
|
12
|
+
are normally not encrypted, as there would be no benefit in doing so.
|
|
13
|
+
type: object
|
|
14
|
+
properties:
|
|
15
|
+
content:
|
|
16
|
+
type: object
|
|
17
|
+
properties:
|
|
18
|
+
m.relates_to:
|
|
19
|
+
description: |-
|
|
20
|
+
Indicates the event being reacted to, and the type of reaction.
|
|
21
|
+
type: object
|
|
22
|
+
title: ReactionRelatesTo
|
|
23
|
+
properties:
|
|
24
|
+
rel_type:
|
|
25
|
+
type: string
|
|
26
|
+
enum: ["m.annotation"]
|
|
27
|
+
event_id:
|
|
28
|
+
type: string
|
|
29
|
+
description: |-
|
|
30
|
+
The event ID of the event that this is a reaction to.
|
|
31
|
+
example: "$some_event_id"
|
|
32
|
+
key:
|
|
33
|
+
type: string
|
|
34
|
+
description: |-
|
|
35
|
+
The reaction being made, usually an emoji.
|
|
36
|
+
|
|
37
|
+
If this is an emoji, it should include the unicode emoji
|
|
38
|
+
presentation selector (`\uFE0F`) for codepoints which allow it
|
|
39
|
+
(see the [emoji variation sequences
|
|
40
|
+
list](https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-variation-sequences.txt)).
|
|
41
|
+
example: "👍"
|
|
42
|
+
type:
|
|
43
|
+
enum:
|
|
44
|
+
- m.reaction
|
|
45
|
+
type: string
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
type: object
|
|
4
|
+
title: Receipt Event
|
|
5
|
+
description: Informs the client of new receipts.
|
|
6
|
+
x-changedInMatrixVersion:
|
|
7
|
+
"1.4": |
|
|
8
|
+
Added `m.read.private` receipts to the event's `content`.
|
|
9
|
+
allOf:
|
|
10
|
+
- $ref: "core-event-schema/event.yaml"
|
|
11
|
+
properties:
|
|
12
|
+
content:
|
|
13
|
+
type: object
|
|
14
|
+
description: |-
|
|
15
|
+
The mapping of event ID to a collection of receipts for this
|
|
16
|
+
event ID. The event ID is the ID of the event being acknowledged
|
|
17
|
+
and *not* an ID for the receipt itself.
|
|
18
|
+
patternProperties:
|
|
19
|
+
"^\\$":
|
|
20
|
+
type: object
|
|
21
|
+
x-pattern-format: "mx-event-id"
|
|
22
|
+
title: Event Receipts
|
|
23
|
+
description: |-
|
|
24
|
+
The collection of receipts for this event ID.
|
|
25
|
+
properties:
|
|
26
|
+
"m.read":
|
|
27
|
+
type: object
|
|
28
|
+
description: |-
|
|
29
|
+
A collection of users who have sent `m.read` receipts for
|
|
30
|
+
this event. The string key is the user ID the receipt
|
|
31
|
+
belongs to.
|
|
32
|
+
patternProperties:
|
|
33
|
+
"^@": &receiptUserMap
|
|
34
|
+
type: object
|
|
35
|
+
title: Receipt
|
|
36
|
+
description: |-
|
|
37
|
+
The mapping of user ID to receipt. The user ID is the
|
|
38
|
+
entity who sent this receipt.
|
|
39
|
+
x-pattern-format: "mx-user-id"
|
|
40
|
+
properties:
|
|
41
|
+
ts:
|
|
42
|
+
type: integer
|
|
43
|
+
format: int64
|
|
44
|
+
description: The timestamp the receipt was sent at.
|
|
45
|
+
thread_id:
|
|
46
|
+
type: string
|
|
47
|
+
x-addedInMatrixVersion: "1.4"
|
|
48
|
+
description: |-
|
|
49
|
+
The root thread event's ID (or `main`) for which
|
|
50
|
+
thread this receipt is intended to be under. If
|
|
51
|
+
not specified, the read receipt is *unthreaded*
|
|
52
|
+
(default).
|
|
53
|
+
"m.read.private":
|
|
54
|
+
type: object
|
|
55
|
+
description: |-
|
|
56
|
+
Similar to `m.read`, the users who have sent `m.read.private`
|
|
57
|
+
receipts for this event. Due to the nature of private read
|
|
58
|
+
receipts, this should only ever have the current user's ID.
|
|
59
|
+
patternProperties:
|
|
60
|
+
"^@": *receiptUserMap
|
|
61
|
+
additionalProperties: false
|
|
62
|
+
type:
|
|
63
|
+
type: string
|
|
64
|
+
enum: ["m.receipt", "m.receipt.private"]
|
|
65
|
+
required: ["type", "content"]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"title": "Recent Emoji Event",
|
|
5
|
+
"description": "Lets clients maintain a list of recently used emoji.",
|
|
6
|
+
"allOf": [{
|
|
7
|
+
"$ref": "core-event-schema/event.yaml"
|
|
8
|
+
}],
|
|
9
|
+
"properties": {
|
|
10
|
+
"type": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": ["m.recent_emoji"]
|
|
13
|
+
},
|
|
14
|
+
"content": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"recent_emoji": {
|
|
18
|
+
"description": "The list of recently used emoji. Elements in the list are ordered descendingly by last usage time.",
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"$ref": "../../api/client-server/definitions/recent_emoji.yaml"
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": ["recent_emoji"]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": ["type", "content"]
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: A picture that is associated with the room. This can be displayed alongside the room information.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
info:
|
|
11
|
+
allOf:
|
|
12
|
+
- $ref: core-event-schema/msgtype_infos/avatar_info.yaml
|
|
13
|
+
description: Metadata about the image referred to in `url`.
|
|
14
|
+
url:
|
|
15
|
+
description: |-
|
|
16
|
+
The URL to the image. If this property is not present, the room has no avatar. This can be useful
|
|
17
|
+
to remove a previous room avatar.
|
|
18
|
+
type: string
|
|
19
|
+
type: object
|
|
20
|
+
state_key:
|
|
21
|
+
description: A zero-length string.
|
|
22
|
+
pattern: '^$'
|
|
23
|
+
type: string
|
|
24
|
+
type:
|
|
25
|
+
enum:
|
|
26
|
+
- m.room.avatar
|
|
27
|
+
type: string
|
|
28
|
+
title: RoomAvatar
|
|
29
|
+
type: object
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: |-
|
|
7
|
+
This event is used to inform the room about which alias should be
|
|
8
|
+
considered the canonical one, and which other aliases point to the room.
|
|
9
|
+
This could be for display purposes or as suggestion to users which alias
|
|
10
|
+
to use to advertise and access the room.
|
|
11
|
+
properties:
|
|
12
|
+
content:
|
|
13
|
+
properties:
|
|
14
|
+
alias:
|
|
15
|
+
description: |
|
|
16
|
+
The canonical alias for the room. If not present, null, or empty the
|
|
17
|
+
room should be considered to have no canonical alias.
|
|
18
|
+
type: string
|
|
19
|
+
format: mx-room-alias
|
|
20
|
+
pattern: "^#"
|
|
21
|
+
alt_aliases:
|
|
22
|
+
description: |
|
|
23
|
+
Alternative aliases the room advertises. This list can have aliases
|
|
24
|
+
despite the `alias` field being null, empty, or otherwise not present.
|
|
25
|
+
type: array
|
|
26
|
+
items:
|
|
27
|
+
type: string
|
|
28
|
+
format: mx-room-alias
|
|
29
|
+
pattern: "^#"
|
|
30
|
+
type: object
|
|
31
|
+
state_key:
|
|
32
|
+
description: A zero-length string.
|
|
33
|
+
pattern: '^$'
|
|
34
|
+
type: string
|
|
35
|
+
type:
|
|
36
|
+
enum:
|
|
37
|
+
- m.room.canonical_alias
|
|
38
|
+
type: string
|
|
39
|
+
title: Informs the room as to which alias is the canonical one.
|
|
40
|
+
type: object
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: This is the first event in a room and cannot be changed. It acts as the root of all other events.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
creator:
|
|
11
|
+
description: |-
|
|
12
|
+
The `user_id` of the room creator. **Required** for, and only present in, room versions 1 - 10. Starting with
|
|
13
|
+
room version 11 the event `sender` should be used instead.
|
|
14
|
+
type: string
|
|
15
|
+
format: mx-user-id
|
|
16
|
+
pattern: "^@"
|
|
17
|
+
m.federate:
|
|
18
|
+
description: Whether users on other servers can join this room. Defaults to `true` if key does not exist.
|
|
19
|
+
type: boolean
|
|
20
|
+
room_version:
|
|
21
|
+
description: The version of the room. Defaults to `"1"` if the key does not exist.
|
|
22
|
+
type: string
|
|
23
|
+
type:
|
|
24
|
+
description: |-
|
|
25
|
+
Optional [room type](/client-server-api/#types) to denote a room's intended function outside of traditional
|
|
26
|
+
conversation.
|
|
27
|
+
|
|
28
|
+
Unspecified room types are possible using [Namespaced Identifiers](/appendices/#common-namespaced-identifier-grammar).
|
|
29
|
+
type: string
|
|
30
|
+
predecessor:
|
|
31
|
+
description: A reference to the room this room replaces, if the previous room was upgraded.
|
|
32
|
+
type: object
|
|
33
|
+
title: Previous Room
|
|
34
|
+
properties:
|
|
35
|
+
room_id:
|
|
36
|
+
type: string
|
|
37
|
+
format: mx-room-id
|
|
38
|
+
pattern: "^!"
|
|
39
|
+
description: The ID of the old room.
|
|
40
|
+
event_id:
|
|
41
|
+
type: string
|
|
42
|
+
format: mx-event-id
|
|
43
|
+
pattern: "^\\$"
|
|
44
|
+
deprecated: true
|
|
45
|
+
x-changedInMatrixVersion:
|
|
46
|
+
"1.16": |-
|
|
47
|
+
This field became deprecated and may not be present in all cases. It SHOULD still
|
|
48
|
+
be populated where possible/practical. Previously, it was required.
|
|
49
|
+
description: |-
|
|
50
|
+
The event ID of the last known event in the old room, if known.
|
|
51
|
+
|
|
52
|
+
If not set, clients SHOULD search for the `m.room.tombstone` state event to navigate to
|
|
53
|
+
when directing the user to the old room (potentially after joining the room, if requested
|
|
54
|
+
by the user).
|
|
55
|
+
required: [room_id]
|
|
56
|
+
additional_creators:
|
|
57
|
+
type: array
|
|
58
|
+
items:
|
|
59
|
+
type: string
|
|
60
|
+
format: mx-user-id
|
|
61
|
+
pattern: "^@"
|
|
62
|
+
description: Additional user ID to consider a creator of the room, if supported by the room version.
|
|
63
|
+
x-addedInMatrixVersion: "1.16"
|
|
64
|
+
description: |-
|
|
65
|
+
Starting with room version 12, the other user IDs to consider as creators for the room in
|
|
66
|
+
addition to the `sender` of this event. Each string MUST be a valid [user ID](/appendices#user-identifiers)
|
|
67
|
+
for the room version.
|
|
68
|
+
|
|
69
|
+
When not present or empty, the `sender` of the event is the only creator.
|
|
70
|
+
|
|
71
|
+
In room versions 1 through 11, this field serves no purpose and is not validated. Clients
|
|
72
|
+
SHOULD NOT attempt to parse or understand this field in these room versions.
|
|
73
|
+
|
|
74
|
+
**Note**: Because `creator` was removed in room version 11, the field is not used to determine
|
|
75
|
+
which user(s) are room creators in room version 12 and beyond either.
|
|
76
|
+
type: object
|
|
77
|
+
state_key:
|
|
78
|
+
description: A zero-length string.
|
|
79
|
+
pattern: '^$'
|
|
80
|
+
type: string
|
|
81
|
+
type:
|
|
82
|
+
enum:
|
|
83
|
+
- m.room.create
|
|
84
|
+
type: string
|
|
85
|
+
title: The first event in the room.
|
|
86
|
+
type: object
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
This event type is used when sending encrypted events. It can be used either
|
|
9
|
+
within a room (in which case it will have all of the normal properties in
|
|
10
|
+
[Room events](/client-server-api/#room-event-format)), or
|
|
11
|
+
as a [to-device](/client-server-api/#send-to-device-messaging) event.
|
|
12
|
+
|
|
13
|
+
properties:
|
|
14
|
+
content:
|
|
15
|
+
properties:
|
|
16
|
+
algorithm:
|
|
17
|
+
type: string
|
|
18
|
+
enum:
|
|
19
|
+
- m.olm.v1.curve25519-aes-sha2
|
|
20
|
+
- m.megolm.v1.aes-sha2
|
|
21
|
+
description: |-
|
|
22
|
+
The encryption algorithm used to encrypt this event. The
|
|
23
|
+
value of this field determines which other properties will be
|
|
24
|
+
present.
|
|
25
|
+
ciphertext:
|
|
26
|
+
oneOf:
|
|
27
|
+
- type: string
|
|
28
|
+
- type: object
|
|
29
|
+
additionalProperties:
|
|
30
|
+
type: object
|
|
31
|
+
title: CiphertextInfo
|
|
32
|
+
properties:
|
|
33
|
+
body:
|
|
34
|
+
type: string
|
|
35
|
+
description: The encrypted payload.
|
|
36
|
+
type:
|
|
37
|
+
type: integer
|
|
38
|
+
description: The Olm message type.
|
|
39
|
+
description: |-
|
|
40
|
+
The encrypted content of the event. Either the encrypted payload
|
|
41
|
+
itself, in the case of a Megolm event, or a map from the recipient
|
|
42
|
+
Curve25519 identity key to ciphertext information, in the case of an
|
|
43
|
+
Olm event. For more details, see [Messaging Algorithms](/client-server-api/#messaging-algorithms).
|
|
44
|
+
sender_key:
|
|
45
|
+
type: string
|
|
46
|
+
deprecated: true
|
|
47
|
+
x-changedInMatrixVersion:
|
|
48
|
+
"1.3": |-
|
|
49
|
+
Previously this field was required, however given it offers no additional
|
|
50
|
+
security or privacy benefit it has been deprecated for Megolm messages.
|
|
51
|
+
See [`m.megolm.v1.aes-sha2`](/client-server-api/#mmegolmv1aes-sha2) for
|
|
52
|
+
more information.
|
|
53
|
+
description: |-
|
|
54
|
+
The Curve25519 key of the sender. Required (not deprecated) if not using Megolm.
|
|
55
|
+
|
|
56
|
+
**Deprecated**: This field provides no additional security or privacy benefit
|
|
57
|
+
for Megolm messages and must not be read from if the encrypted event is using
|
|
58
|
+
Megolm. It should still be included on outgoing messages, however must not be
|
|
59
|
+
used to find the corresponding session. See [`m.megolm.v1.aes-sha2`](/client-server-api/#mmegolmv1aes-sha2)
|
|
60
|
+
for more information.
|
|
61
|
+
device_id:
|
|
62
|
+
type: string
|
|
63
|
+
deprecated: true
|
|
64
|
+
x-changedInMatrixVersion:
|
|
65
|
+
"1.3": |-
|
|
66
|
+
Previously this field was required for Megolm messages, however given it
|
|
67
|
+
offers no additional security or privacy benefit it has been deprecated
|
|
68
|
+
for Megolm messages. See [`m.megolm.v1.aes-sha2`](/client-server-api/#mmegolmv1aes-sha2)
|
|
69
|
+
for more information.
|
|
70
|
+
description: |-
|
|
71
|
+
The ID of the sending device.
|
|
72
|
+
|
|
73
|
+
**Deprecated**: This field provides no additional security or privacy benefit
|
|
74
|
+
for Megolm messages and must not be read from if the encrypted event is using
|
|
75
|
+
Megolm. It should still be included on outgoing messages, however must not be
|
|
76
|
+
used to find the corresponding session. See [`m.megolm.v1.aes-sha2`](/client-server-api/#mmegolmv1aes-sha2)
|
|
77
|
+
for more information.
|
|
78
|
+
session_id:
|
|
79
|
+
type: string
|
|
80
|
+
description: |-
|
|
81
|
+
The ID of the session used to encrypt the message. Required with
|
|
82
|
+
Megolm.
|
|
83
|
+
required:
|
|
84
|
+
- algorithm
|
|
85
|
+
- ciphertext
|
|
86
|
+
type: object
|
|
87
|
+
type:
|
|
88
|
+
enum:
|
|
89
|
+
- m.room.encrypted
|
|
90
|
+
type: string
|
|
91
|
+
type: object
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: Defines how messages sent in this room should be encrypted.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
algorithm:
|
|
11
|
+
type: string
|
|
12
|
+
enum:
|
|
13
|
+
- "m.megolm.v1.aes-sha2"
|
|
14
|
+
description: |-
|
|
15
|
+
The encryption algorithm to be used to encrypt messages sent in this
|
|
16
|
+
room.
|
|
17
|
+
rotation_period_ms:
|
|
18
|
+
type: integer
|
|
19
|
+
description: |-
|
|
20
|
+
How long the session should be used before changing it. `604800000`
|
|
21
|
+
(a week) is the recommended default.
|
|
22
|
+
rotation_period_msgs:
|
|
23
|
+
type: integer
|
|
24
|
+
description: |-
|
|
25
|
+
How many messages should be sent before changing the session. `100` is the
|
|
26
|
+
recommended default.
|
|
27
|
+
required:
|
|
28
|
+
- algorithm
|
|
29
|
+
type: object
|
|
30
|
+
state_key:
|
|
31
|
+
description: A zero-length string.
|
|
32
|
+
pattern: '^$'
|
|
33
|
+
type: string
|
|
34
|
+
type:
|
|
35
|
+
enum:
|
|
36
|
+
- m.room.encryption
|
|
37
|
+
type: string
|
|
38
|
+
type: object
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: 'This event controls whether guest users are allowed to join rooms. If this event is absent, servers should act as if it is present and has the guest_access value "forbidden".'
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
guest_access:
|
|
11
|
+
description: Whether guests can join the room.
|
|
12
|
+
enum:
|
|
13
|
+
- can_join
|
|
14
|
+
- forbidden
|
|
15
|
+
type: string
|
|
16
|
+
required:
|
|
17
|
+
- guest_access
|
|
18
|
+
type: object
|
|
19
|
+
state_key:
|
|
20
|
+
description: A zero-length string.
|
|
21
|
+
pattern: '^$'
|
|
22
|
+
type: string
|
|
23
|
+
type:
|
|
24
|
+
enum:
|
|
25
|
+
- m.room.guest_access
|
|
26
|
+
type: string
|
|
27
|
+
title: Controls whether guest users are allowed to join rooms.
|
|
28
|
+
type: object
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: This event controls whether a user can see the events that happened in a room from before they joined.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
history_visibility:
|
|
11
|
+
description: Who can see the room history.
|
|
12
|
+
enum:
|
|
13
|
+
- invited
|
|
14
|
+
- joined
|
|
15
|
+
- shared
|
|
16
|
+
- world_readable
|
|
17
|
+
type: string
|
|
18
|
+
required:
|
|
19
|
+
- history_visibility
|
|
20
|
+
type: object
|
|
21
|
+
state_key:
|
|
22
|
+
description: A zero-length string.
|
|
23
|
+
pattern: '^$'
|
|
24
|
+
type: string
|
|
25
|
+
type:
|
|
26
|
+
enum:
|
|
27
|
+
- m.room.history_visibility
|
|
28
|
+
type: string
|
|
29
|
+
title: Controls visibility of history.
|
|
30
|
+
type: object
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: |
|
|
7
|
+
A room may have one of the following designations:
|
|
8
|
+
* `public` - anyone can join the room without any prior action.
|
|
9
|
+
* `invite` - a user must first receive an invite from someone already in the room
|
|
10
|
+
in order to join.
|
|
11
|
+
* `knock` - a user can request an invite to the room. They can be allowed (invited)
|
|
12
|
+
or denied (kicked/banned) access. Otherwise, users need to be invited in. Only
|
|
13
|
+
available in rooms [which support knocking](/rooms/#feature-matrix).
|
|
14
|
+
* `restricted` - anyone able to satisfy at least one of the allow conditions is
|
|
15
|
+
able to join the room without prior action. Otherwise, an invite is required.
|
|
16
|
+
Only available in rooms [which support the join rule](/rooms/#feature-matrix).
|
|
17
|
+
* `knock_restricted` - a user can request an invite using the same functions offered
|
|
18
|
+
by the `knock` join rule, or can attempt to join having satisfied an allow condition
|
|
19
|
+
per the `restricted` join rule. Only available in rooms
|
|
20
|
+
[which support the join rule](/rooms/#feature-matrix).
|
|
21
|
+
* `private` - reserved without implementation. No significant meaning.
|
|
22
|
+
properties:
|
|
23
|
+
content:
|
|
24
|
+
properties:
|
|
25
|
+
join_rule:
|
|
26
|
+
description: The type of rules used for users wishing to join this room.
|
|
27
|
+
enum:
|
|
28
|
+
- public
|
|
29
|
+
- knock
|
|
30
|
+
- invite
|
|
31
|
+
- private
|
|
32
|
+
- restricted
|
|
33
|
+
- knock_restricted
|
|
34
|
+
type: string
|
|
35
|
+
allow:
|
|
36
|
+
x-addedInMatrixVersion: "1.2"
|
|
37
|
+
description: |-
|
|
38
|
+
For `restricted` rooms, the conditions the user will be tested against. The
|
|
39
|
+
user needs only to satisfy one of the conditions to join the `restricted`
|
|
40
|
+
room. If the user fails to meet any condition, or the condition is unable
|
|
41
|
+
to be confirmed as satisfied, then the user requires an invite to join the
|
|
42
|
+
room. Improper or no `allow` conditions on a `restricted` join rule imply
|
|
43
|
+
the room is effectively invite-only (no conditions can be satisfied).
|
|
44
|
+
type: array
|
|
45
|
+
items:
|
|
46
|
+
type: object
|
|
47
|
+
title: AllowCondition
|
|
48
|
+
properties:
|
|
49
|
+
type:
|
|
50
|
+
type: string
|
|
51
|
+
description: |-
|
|
52
|
+
The type of condition:
|
|
53
|
+
* `m.room_membership` - the user satisfies the condition if they are
|
|
54
|
+
joined to the referenced room.
|
|
55
|
+
enum: ['m.room_membership']
|
|
56
|
+
room_id:
|
|
57
|
+
type: string
|
|
58
|
+
format: mx-room-id
|
|
59
|
+
pattern: "^!"
|
|
60
|
+
description: |-
|
|
61
|
+
Required if `type` is `m.room_membership`. The room ID to check the
|
|
62
|
+
user's membership against. If the user is joined to this room, they
|
|
63
|
+
satisfy the condition and thus are permitted to join the `restricted`
|
|
64
|
+
room.
|
|
65
|
+
required: ['type']
|
|
66
|
+
required:
|
|
67
|
+
- join_rule
|
|
68
|
+
type: object
|
|
69
|
+
state_key:
|
|
70
|
+
description: A zero-length string.
|
|
71
|
+
pattern: '^$'
|
|
72
|
+
type: string
|
|
73
|
+
type:
|
|
74
|
+
enum:
|
|
75
|
+
- m.room.join_rules
|
|
76
|
+
type: string
|
|
77
|
+
title: Describes how users are allowed to join the room.
|
|
78
|
+
type: object
|