async-matrix 0.1.2 → 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 +5 -2
- metadata +353 -1
|
@@ -0,0 +1,174 @@
|
|
|
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
|
+
Adjusts the membership state for a user in a room. It is preferable to use the membership APIs
|
|
8
|
+
(`/rooms/<room id>/invite` etc) when performing membership actions rather than adjusting the
|
|
9
|
+
state directly as there are a restricted set of valid transformations. For example, user A cannot
|
|
10
|
+
force user B to join a room, and trying to force this state change directly will fail.
|
|
11
|
+
|
|
12
|
+
The following membership states are specified:
|
|
13
|
+
|
|
14
|
+
- `invite` - The user has been invited to join a room, but has not yet joined it. They may not
|
|
15
|
+
participate in the room until they join.
|
|
16
|
+
- `join` - The user has joined the room (possibly after accepting an invite), and may participate
|
|
17
|
+
in it.
|
|
18
|
+
- `leave` - The user was once joined to the room, but has since left (possibly by choice, or
|
|
19
|
+
possibly by being kicked).
|
|
20
|
+
- `ban` - The user has been banned from the room, and is no longer allowed to join it until they
|
|
21
|
+
are un-banned from the room (by having their membership state set to a value other than `ban`).
|
|
22
|
+
- `knock` - The user has knocked on the room, requesting permission to participate. They may not
|
|
23
|
+
participate in the room until they join.
|
|
24
|
+
|
|
25
|
+
The `third_party_invite` property will be set if this invite is an `invite` event and is the
|
|
26
|
+
successor of an [`m.room.third_party_invite`](/client-server-api/#mroomthird_party_invite) event,
|
|
27
|
+
and absent otherwise.
|
|
28
|
+
|
|
29
|
+
This event may also include an `invite_room_state` key inside the event's `unsigned` data.
|
|
30
|
+
If present, this contains an array of [stripped state events](/client-server-api/#stripped-state)
|
|
31
|
+
to assist the receiver in identifying the room.
|
|
32
|
+
|
|
33
|
+
The user for which a membership applies is represented by the `state_key`. Under some conditions,
|
|
34
|
+
the `sender` and `state_key` may not match - this may be interpreted as the `sender` affecting
|
|
35
|
+
the membership state of the `state_key` user.
|
|
36
|
+
|
|
37
|
+
The `membership` for a given user can change over time. The table below represents the various changes
|
|
38
|
+
over time and how clients and servers must interpret those changes. Previous membership can be retrieved
|
|
39
|
+
from the `prev_content` object on an event. If not present, the user's previous membership must be assumed
|
|
40
|
+
as `leave`.
|
|
41
|
+
|
|
42
|
+
| | to `invite` | to `join` | to `leave` | to `ban` | to `knock` |
|
|
43
|
+
|-------------------|----------------------|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|----------------------|
|
|
44
|
+
| **from `invite`** | No change. | User joined the room. | If the `state_key` is the same as the `sender`, the user rejected the invite. Otherwise, the `state_key` user had their invite revoked. | User was banned. | User is re-knocking. |
|
|
45
|
+
| **from `join`** | Must never happen. | `displayname` or `avatar_url` changed. | If the `state_key` is the same as the `sender`, the user left. Otherwise, the `state_key` user was kicked. | User was kicked and banned. | Must never happen. |
|
|
46
|
+
| **from `leave`** | New invitation sent. | User joined. | No change. | User was banned. | User is knocking. |
|
|
47
|
+
| **from `ban`** | Must never happen. | Must never happen. | User was unbanned. | No change. | Must never happen. |
|
|
48
|
+
| **from `knock`** | Knock accepted. | Must never happen. | If the `state_key` is the same as the `sender`, the user retracted the knock. Otherwise, the `state_key` user had their knock denied. | User was banned. | No change. |
|
|
49
|
+
|
|
50
|
+
properties:
|
|
51
|
+
content:
|
|
52
|
+
properties:
|
|
53
|
+
avatar_url:
|
|
54
|
+
description: 'The avatar URL for this user, if any.'
|
|
55
|
+
type: string
|
|
56
|
+
format: uri
|
|
57
|
+
displayname:
|
|
58
|
+
description: 'The display name for this user, if any.'
|
|
59
|
+
type:
|
|
60
|
+
- "string"
|
|
61
|
+
- "null"
|
|
62
|
+
membership:
|
|
63
|
+
description: The membership state of the user.
|
|
64
|
+
enum:
|
|
65
|
+
- invite
|
|
66
|
+
- join
|
|
67
|
+
- knock
|
|
68
|
+
- leave
|
|
69
|
+
- ban
|
|
70
|
+
type: string
|
|
71
|
+
is_direct:
|
|
72
|
+
description: |-
|
|
73
|
+
Flag indicating if the room containing this event was created with the intention of being
|
|
74
|
+
a direct chat. See [Direct Messaging](/client-server-api/#direct-messaging).
|
|
75
|
+
type: boolean
|
|
76
|
+
join_authorised_via_users_server:
|
|
77
|
+
x-addedInMatrixVersion: "1.2"
|
|
78
|
+
type: string
|
|
79
|
+
format: mx-user-id
|
|
80
|
+
pattern: "^@"
|
|
81
|
+
description: |-
|
|
82
|
+
Usually found on `join` events, this field is used to denote which homeserver (through
|
|
83
|
+
representation of a user with sufficient power level) authorised the user's join. More
|
|
84
|
+
information about this field can be found in the [Restricted Rooms Specification](/client-server-api/#restricted-rooms).
|
|
85
|
+
|
|
86
|
+
Client and server implementations should be aware of the [signing implications](/rooms/v8/#authorization-rules)
|
|
87
|
+
of including this field in further events: in particular, the event must be signed by the
|
|
88
|
+
server which owns the user ID in the field. When copying the membership event's `content`
|
|
89
|
+
(for profile updates and similar) it is therefore encouraged to exclude this field in the
|
|
90
|
+
copy, as otherwise the event might fail event authorization.
|
|
91
|
+
reason:
|
|
92
|
+
x-addedInMatrixVersion: "1.1"
|
|
93
|
+
type: string
|
|
94
|
+
description: |-
|
|
95
|
+
Optional user-supplied text for why their membership has changed. For kicks and bans,
|
|
96
|
+
this is typically the reason for the kick or ban. For other membership changes, this is a
|
|
97
|
+
way for the user to communicate their intent without having to send a message to the
|
|
98
|
+
room, such as in a case where Bob rejects an invite from Alice about an upcoming concert,
|
|
99
|
+
but can't make it that day.
|
|
100
|
+
|
|
101
|
+
Clients are not recommended to show this reason to users when receiving an invite due to
|
|
102
|
+
the potential for spam and abuse. Hiding the reason behind a button or other component is
|
|
103
|
+
recommended.
|
|
104
|
+
third_party_invite:
|
|
105
|
+
title: ThirdPartyInvite
|
|
106
|
+
description: |-
|
|
107
|
+
A third-party invite, if this `m.room.member` is the successor to an
|
|
108
|
+
[`m.room.third_party_invite`](/client-server-api/#mroomthird_party_invite)
|
|
109
|
+
event.
|
|
110
|
+
type: object
|
|
111
|
+
properties:
|
|
112
|
+
display_name:
|
|
113
|
+
description: |-
|
|
114
|
+
A name which can be displayed to represent the user instead of their
|
|
115
|
+
third-party identifier
|
|
116
|
+
type: string
|
|
117
|
+
signed:
|
|
118
|
+
$ref: components/signed_third_party_invite.yaml
|
|
119
|
+
required:
|
|
120
|
+
- display_name
|
|
121
|
+
- signed
|
|
122
|
+
required:
|
|
123
|
+
- membership
|
|
124
|
+
title: EventContent
|
|
125
|
+
type: object
|
|
126
|
+
state_key:
|
|
127
|
+
description: |-
|
|
128
|
+
The `user_id` this membership event relates to. In all cases except for when `membership` is
|
|
129
|
+
`join`, the user ID sending the event does not need to match the user ID in the `state_key`,
|
|
130
|
+
unlike other events. Regular authorisation rules still apply.
|
|
131
|
+
type: string
|
|
132
|
+
format: mx-user-id
|
|
133
|
+
pattern: "^@"
|
|
134
|
+
type:
|
|
135
|
+
enum:
|
|
136
|
+
- m.room.member
|
|
137
|
+
type: string
|
|
138
|
+
unsigned:
|
|
139
|
+
allOf:
|
|
140
|
+
- $ref: "core-event-schema/unsigned_prop.yaml"
|
|
141
|
+
- type: object
|
|
142
|
+
properties:
|
|
143
|
+
invite_room_state:
|
|
144
|
+
x-changedInMatrixVersion:
|
|
145
|
+
"1.16": |
|
|
146
|
+
`m.room.create` was made a required event type for stripped state.
|
|
147
|
+
description: |-
|
|
148
|
+
A subset of the state of the room at the time of the invite, if `membership` is `invite`.
|
|
149
|
+
Note that this state is informational, and SHOULD NOT be trusted; once the client has
|
|
150
|
+
joined the room, it SHOULD fetch the live state from the server and discard the
|
|
151
|
+
invite_room_state. Also, clients must not rely on any particular state being present here;
|
|
152
|
+
they SHOULD behave properly (with possibly a degraded but not a broken experience) in
|
|
153
|
+
the absence of any particular events here. If they are set on the room, at least the
|
|
154
|
+
state for `m.room.avatar`, `m.room.canonical_alias`, `m.room.join_rules`, and `m.room.name`
|
|
155
|
+
SHOULD be included. The `m.room.create` event MUST be included, though MAY be missing if
|
|
156
|
+
the server hasn't updated to support the Matrix 1.16 specification.
|
|
157
|
+
items:
|
|
158
|
+
$ref: "core-event-schema/stripped_state.yaml"
|
|
159
|
+
type: array
|
|
160
|
+
knock_room_state:
|
|
161
|
+
x-changedInMatrixVersion:
|
|
162
|
+
"1.16": |
|
|
163
|
+
`m.room.create` was made a required event type for stripped state.
|
|
164
|
+
description: |-
|
|
165
|
+
A subset of the state of the room at the time of the knock, if `membership` is `knock`.
|
|
166
|
+
This has the same restrictions as `invite_room_state`. If they are set on the room, at least
|
|
167
|
+
the state for `m.room.avatar`, `m.room.canonical_alias`, `m.room.join_rules`, `m.room.name`,
|
|
168
|
+
and `m.room.encryption` SHOULD be included. The `m.room.create` event MUST be included,
|
|
169
|
+
though MAY be missing if the server hasn't updated to support the Matrix 1.16 specification.
|
|
170
|
+
items:
|
|
171
|
+
$ref: "core-event-schema/stripped_state.yaml"
|
|
172
|
+
type: array
|
|
173
|
+
title: The current membership state of a user in the room.
|
|
174
|
+
type: object
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: This message represents a single audio clip.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: |-
|
|
12
|
+
If `filename` is not set or the value of both properties are
|
|
13
|
+
identical, this is the filename of the original upload. Otherwise,
|
|
14
|
+
this is a caption for the audio.
|
|
15
|
+
type: string
|
|
16
|
+
x-changedInMatrixVersion:
|
|
17
|
+
"1.10": This property can act as a caption for the audio.
|
|
18
|
+
format:
|
|
19
|
+
description: |-
|
|
20
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
21
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
22
|
+
type: string
|
|
23
|
+
x-addedInMatrixVersion: "1.10"
|
|
24
|
+
formatted_body:
|
|
25
|
+
description: |-
|
|
26
|
+
The formatted version of the `body`, when it acts as a caption. This
|
|
27
|
+
is required if `format` is specified.
|
|
28
|
+
type: string
|
|
29
|
+
x-addedInMatrixVersion: "1.10"
|
|
30
|
+
filename:
|
|
31
|
+
description: The original filename of the uploaded file.
|
|
32
|
+
type: string
|
|
33
|
+
x-addedInMatrixVersion: "1.10"
|
|
34
|
+
info:
|
|
35
|
+
description: Metadata for the audio clip referred to in `url`.
|
|
36
|
+
properties:
|
|
37
|
+
duration:
|
|
38
|
+
description: The duration of the audio in milliseconds.
|
|
39
|
+
type: integer
|
|
40
|
+
mimetype:
|
|
41
|
+
description: The mimetype of the audio e.g. `audio/aac`.
|
|
42
|
+
type: string
|
|
43
|
+
size:
|
|
44
|
+
description: The size of the audio clip in bytes.
|
|
45
|
+
type: integer
|
|
46
|
+
title: AudioInfo
|
|
47
|
+
type: object
|
|
48
|
+
msgtype:
|
|
49
|
+
enum:
|
|
50
|
+
- m.audio
|
|
51
|
+
type: string
|
|
52
|
+
url:
|
|
53
|
+
description: |-
|
|
54
|
+
Required if the file is unencrypted. The URL (typically [`mxc://` URI](/client-server-api/#matrix-content-mxc-uris))
|
|
55
|
+
to the audio clip.
|
|
56
|
+
type: string
|
|
57
|
+
file:
|
|
58
|
+
description: |-
|
|
59
|
+
Required if the file is encrypted. Information on the encrypted
|
|
60
|
+
file, as specified in
|
|
61
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
62
|
+
title: EncryptedFile
|
|
63
|
+
type: object
|
|
64
|
+
required:
|
|
65
|
+
- msgtype
|
|
66
|
+
- body
|
|
67
|
+
type: object
|
|
68
|
+
type:
|
|
69
|
+
enum:
|
|
70
|
+
- m.room.message
|
|
71
|
+
type: string
|
|
72
|
+
title: AudioMessage
|
|
73
|
+
type: object
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: "This message is similar to `m.text` except that the sender is 'performing' the action contained in the `body` key, similar to `/me` in IRC. This message should be prefixed by the name of the sender. This message could also be represented in a different colour to distinguish it from regular `m.text` messages."
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: The emote action to perform.
|
|
12
|
+
type: string
|
|
13
|
+
msgtype:
|
|
14
|
+
enum:
|
|
15
|
+
- m.emote
|
|
16
|
+
type: string
|
|
17
|
+
format:
|
|
18
|
+
description: |-
|
|
19
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
20
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
21
|
+
type: string
|
|
22
|
+
formatted_body:
|
|
23
|
+
description: |-
|
|
24
|
+
The formatted version of the `body`. This is required if `format`
|
|
25
|
+
is specified.
|
|
26
|
+
type: string
|
|
27
|
+
required:
|
|
28
|
+
- msgtype
|
|
29
|
+
- body
|
|
30
|
+
type: object
|
|
31
|
+
type:
|
|
32
|
+
enum:
|
|
33
|
+
- m.room.message
|
|
34
|
+
type: string
|
|
35
|
+
title: EmoteMessage
|
|
36
|
+
type: object
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: This message represents a generic file.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: |-
|
|
12
|
+
If `filename` is not set or the value of both properties are
|
|
13
|
+
identical, this is the filename of the original upload. Otherwise,
|
|
14
|
+
this is a caption for the file.
|
|
15
|
+
type: string
|
|
16
|
+
x-changedInMatrixVersion:
|
|
17
|
+
"1.10": This property can act as a caption for the file.
|
|
18
|
+
format:
|
|
19
|
+
description: |-
|
|
20
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
21
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
22
|
+
type: string
|
|
23
|
+
x-addedInMatrixVersion: "1.10"
|
|
24
|
+
formatted_body:
|
|
25
|
+
description: |-
|
|
26
|
+
The formatted version of the `body`, when it acts as a caption. This
|
|
27
|
+
is required if `format` is specified.
|
|
28
|
+
type: string
|
|
29
|
+
x-addedInMatrixVersion: "1.10"
|
|
30
|
+
filename:
|
|
31
|
+
description: The original filename of the uploaded file.
|
|
32
|
+
type: string
|
|
33
|
+
info:
|
|
34
|
+
description: Information about the file referred to in `url`.
|
|
35
|
+
properties:
|
|
36
|
+
mimetype:
|
|
37
|
+
description: The mimetype of the file e.g. `application/msword`.
|
|
38
|
+
type: string
|
|
39
|
+
size:
|
|
40
|
+
description: The size of the file in bytes.
|
|
41
|
+
type: integer
|
|
42
|
+
thumbnail_url:
|
|
43
|
+
description: |-
|
|
44
|
+
The URL to the thumbnail of the file. Only present if the
|
|
45
|
+
thumbnail is unencrypted.
|
|
46
|
+
type: string
|
|
47
|
+
thumbnail_file:
|
|
48
|
+
description: |-
|
|
49
|
+
Information on the encrypted thumbnail file, as specified in
|
|
50
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
51
|
+
Only present if the thumbnail is encrypted.
|
|
52
|
+
title: EncryptedFile
|
|
53
|
+
type: object
|
|
54
|
+
thumbnail_info:
|
|
55
|
+
allOf:
|
|
56
|
+
- $ref: core-event-schema/msgtype_infos/thumbnail_info.yaml
|
|
57
|
+
description: Metadata about the image referred to in `thumbnail_url`.
|
|
58
|
+
title: FileInfo
|
|
59
|
+
type: object
|
|
60
|
+
msgtype:
|
|
61
|
+
enum:
|
|
62
|
+
- m.file
|
|
63
|
+
type: string
|
|
64
|
+
url:
|
|
65
|
+
description: |-
|
|
66
|
+
Required if the file is unencrypted. The URL (typically [`mxc://` URI](/client-server-api/#matrix-content-mxc-uris))
|
|
67
|
+
to the file.
|
|
68
|
+
type: string
|
|
69
|
+
file:
|
|
70
|
+
description: |-
|
|
71
|
+
Required if the file is encrypted. Information on the encrypted
|
|
72
|
+
file, as specified in
|
|
73
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
74
|
+
title: EncryptedFile
|
|
75
|
+
type: object
|
|
76
|
+
required:
|
|
77
|
+
- msgtype
|
|
78
|
+
- body
|
|
79
|
+
type: object
|
|
80
|
+
type:
|
|
81
|
+
enum:
|
|
82
|
+
- m.room.message
|
|
83
|
+
type: string
|
|
84
|
+
title: FileMessage
|
|
85
|
+
type: object
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: This message represents a single image and an optional thumbnail.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: |-
|
|
12
|
+
If `filename` is not set or the value of both properties are
|
|
13
|
+
identical, this is the filename of the original upload. Otherwise,
|
|
14
|
+
this is a caption for the image.
|
|
15
|
+
type: string
|
|
16
|
+
x-changedInMatrixVersion:
|
|
17
|
+
"1.10": This property can act as a caption for the image.
|
|
18
|
+
format:
|
|
19
|
+
description: |-
|
|
20
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
21
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
22
|
+
type: string
|
|
23
|
+
x-addedInMatrixVersion: "1.10"
|
|
24
|
+
formatted_body:
|
|
25
|
+
description: |-
|
|
26
|
+
The formatted version of the `body`, when it acts as a caption. This
|
|
27
|
+
is required if `format` is specified.
|
|
28
|
+
type: string
|
|
29
|
+
x-addedInMatrixVersion: "1.10"
|
|
30
|
+
filename:
|
|
31
|
+
description: The original filename of the uploaded file.
|
|
32
|
+
type: string
|
|
33
|
+
x-addedInMatrixVersion: "1.10"
|
|
34
|
+
info:
|
|
35
|
+
allOf:
|
|
36
|
+
- $ref: core-event-schema/msgtype_infos/image_info.yaml
|
|
37
|
+
description: Metadata about the image referred to in `url`.
|
|
38
|
+
msgtype:
|
|
39
|
+
enum:
|
|
40
|
+
- m.image
|
|
41
|
+
type: string
|
|
42
|
+
url:
|
|
43
|
+
description: |-
|
|
44
|
+
Required if the file is unencrypted. The URL (typically [`mxc://` URI](/client-server-api/#matrix-content-mxc-uris))
|
|
45
|
+
to the image.
|
|
46
|
+
type: string
|
|
47
|
+
file:
|
|
48
|
+
description: |-
|
|
49
|
+
Required if the file is encrypted. Information on the encrypted
|
|
50
|
+
file, as specified in
|
|
51
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
52
|
+
title: EncryptedFile
|
|
53
|
+
type: object
|
|
54
|
+
required:
|
|
55
|
+
- msgtype
|
|
56
|
+
- body
|
|
57
|
+
type: object
|
|
58
|
+
type:
|
|
59
|
+
enum:
|
|
60
|
+
- m.room.message
|
|
61
|
+
type: string
|
|
62
|
+
title: ImageMessage
|
|
63
|
+
type: object
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description:
|
|
7
|
+
Requests a key verification in a room. When requesting a key verification
|
|
8
|
+
using to-device messaging, an event with type [`m.key.verification.request`](/client-server-api/#mkeyverificationrequest)
|
|
9
|
+
should be used.
|
|
10
|
+
properties:
|
|
11
|
+
content:
|
|
12
|
+
properties:
|
|
13
|
+
body:
|
|
14
|
+
type: string
|
|
15
|
+
description: |-
|
|
16
|
+
A fallback message to alert users that their client does not support
|
|
17
|
+
the key verification framework, and that they should use a different method
|
|
18
|
+
to verify keys. For example, "Alice is requesting to verify keys with you.
|
|
19
|
+
However, your client does not support this method, so you will need to use
|
|
20
|
+
the legacy method of key verification."
|
|
21
|
+
|
|
22
|
+
Clients that do support the key verification framework should hide the body
|
|
23
|
+
and instead present the user with an interface to accept or reject the key
|
|
24
|
+
verification.
|
|
25
|
+
format:
|
|
26
|
+
description: |-
|
|
27
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
28
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
29
|
+
type: string
|
|
30
|
+
formatted_body:
|
|
31
|
+
description: |-
|
|
32
|
+
The formatted version of the `body`. This is required if `format` is
|
|
33
|
+
specified. As with the `body`, clients that do support the key
|
|
34
|
+
verification framework should hide the formatted body and instead
|
|
35
|
+
present the user with an interface to accept or reject the key
|
|
36
|
+
verification.
|
|
37
|
+
type: string
|
|
38
|
+
from_device:
|
|
39
|
+
type: string
|
|
40
|
+
description: |-
|
|
41
|
+
The device ID which is initiating the request.
|
|
42
|
+
methods:
|
|
43
|
+
type: array
|
|
44
|
+
description: |-
|
|
45
|
+
The verification methods supported by the sender.
|
|
46
|
+
items:
|
|
47
|
+
type: string
|
|
48
|
+
to:
|
|
49
|
+
description: |-
|
|
50
|
+
The user that the verification request is intended for. Users who
|
|
51
|
+
are not named in this field and who did not send this event should
|
|
52
|
+
ignore all other events that have an `m.reference` relationship with
|
|
53
|
+
this event.
|
|
54
|
+
type: string
|
|
55
|
+
msgtype:
|
|
56
|
+
enum:
|
|
57
|
+
- m.key.verification.request
|
|
58
|
+
type: string
|
|
59
|
+
required:
|
|
60
|
+
- from_device
|
|
61
|
+
- methods
|
|
62
|
+
- msgtype
|
|
63
|
+
- to
|
|
64
|
+
type: object
|
|
65
|
+
type:
|
|
66
|
+
enum:
|
|
67
|
+
- m.room.message
|
|
68
|
+
type: string
|
|
69
|
+
title: KeyVerification
|
|
70
|
+
type: object
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: This message represents a real-world location.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: "A description of the location e.g. 'Big Ben, London, UK', or some kind of content description for accessibility e.g. 'location attachment'."
|
|
12
|
+
type: string
|
|
13
|
+
geo_uri:
|
|
14
|
+
description: A [geo URI (RFC5870)](https://datatracker.ietf.org/doc/html/rfc5870) representing this location.
|
|
15
|
+
type: string
|
|
16
|
+
msgtype:
|
|
17
|
+
enum:
|
|
18
|
+
- m.location
|
|
19
|
+
type: string
|
|
20
|
+
info:
|
|
21
|
+
type: object
|
|
22
|
+
properties:
|
|
23
|
+
thumbnail_url:
|
|
24
|
+
description: |-
|
|
25
|
+
The URL to a thumbnail of the location being represented.
|
|
26
|
+
Only present if the thumbnail is unencrypted.
|
|
27
|
+
type: string
|
|
28
|
+
thumbnail_file:
|
|
29
|
+
description: |-
|
|
30
|
+
Information on the encrypted thumbnail file, as specified in
|
|
31
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
32
|
+
Only present if the thumbnail is encrypted.
|
|
33
|
+
title: EncryptedFile
|
|
34
|
+
type: object
|
|
35
|
+
thumbnail_info:
|
|
36
|
+
allOf:
|
|
37
|
+
- $ref: core-event-schema/msgtype_infos/thumbnail_info.yaml
|
|
38
|
+
description: Metadata about the image referred to in `thumbnail_url`.
|
|
39
|
+
title: LocationInfo
|
|
40
|
+
required:
|
|
41
|
+
- msgtype
|
|
42
|
+
- body
|
|
43
|
+
- geo_uri
|
|
44
|
+
type: object
|
|
45
|
+
type:
|
|
46
|
+
enum:
|
|
47
|
+
- m.room.message
|
|
48
|
+
type: string
|
|
49
|
+
title: LocationMessage
|
|
50
|
+
type: object
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: 'The `m.notice` type is primarily intended for responses from automated clients. An `m.notice` message must be treated the same way as a regular `m.text` message with two exceptions. Firstly, clients should present `m.notice` messages to users in a distinct manner, and secondly, `m.notice` messages must never be automatically responded to. This helps to prevent infinite-loop situations where two automated clients continuously exchange messages.'
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: The notice text to send.
|
|
12
|
+
type: string
|
|
13
|
+
msgtype:
|
|
14
|
+
enum:
|
|
15
|
+
- m.notice
|
|
16
|
+
type: string
|
|
17
|
+
format:
|
|
18
|
+
description: |-
|
|
19
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
20
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
21
|
+
type: string
|
|
22
|
+
formatted_body:
|
|
23
|
+
description: |-
|
|
24
|
+
The formatted version of the `body`. This is required if `format`
|
|
25
|
+
is specified.
|
|
26
|
+
type: string
|
|
27
|
+
required:
|
|
28
|
+
- msgtype
|
|
29
|
+
- body
|
|
30
|
+
type: object
|
|
31
|
+
type:
|
|
32
|
+
enum:
|
|
33
|
+
- m.room.message
|
|
34
|
+
type: string
|
|
35
|
+
title: NoticeMessage
|
|
36
|
+
type: object
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: Represents a server notice for a user.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: A human-readable description of the notice.
|
|
12
|
+
type: string
|
|
13
|
+
msgtype:
|
|
14
|
+
enum:
|
|
15
|
+
- m.server_notice
|
|
16
|
+
type: string
|
|
17
|
+
server_notice_type:
|
|
18
|
+
description: |-
|
|
19
|
+
The type of notice being represented.
|
|
20
|
+
type: string
|
|
21
|
+
admin_contact:
|
|
22
|
+
description: |-
|
|
23
|
+
A URI giving a contact method for the server administrator. Required if the
|
|
24
|
+
notice type is `m.server_notice.usage_limit_reached`.
|
|
25
|
+
type: string
|
|
26
|
+
limit_type:
|
|
27
|
+
description: |-
|
|
28
|
+
The kind of usage limit the server has exceeded. Required if the notice type is
|
|
29
|
+
`m.server_notice.usage_limit_reached`.
|
|
30
|
+
type: string
|
|
31
|
+
required:
|
|
32
|
+
- msgtype
|
|
33
|
+
- body
|
|
34
|
+
- server_notice_type
|
|
35
|
+
type: object
|
|
36
|
+
type:
|
|
37
|
+
enum:
|
|
38
|
+
- m.room.message
|
|
39
|
+
type: string
|
|
40
|
+
title: ServerNoticeMessage
|
|
41
|
+
type: object
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/room_event.yaml
|
|
6
|
+
description: This message is the most basic message and is used to represent text.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
properties:
|
|
10
|
+
body:
|
|
11
|
+
description: The body of the message.
|
|
12
|
+
type: string
|
|
13
|
+
msgtype:
|
|
14
|
+
enum:
|
|
15
|
+
- m.text
|
|
16
|
+
type: string
|
|
17
|
+
format:
|
|
18
|
+
description: |-
|
|
19
|
+
The format used in the `formatted_body`. This is required if `formatted_body`
|
|
20
|
+
is specified. Currently only `org.matrix.custom.html` is supported.
|
|
21
|
+
type: string
|
|
22
|
+
formatted_body:
|
|
23
|
+
description: |-
|
|
24
|
+
The formatted version of the `body`. This is required if `format`
|
|
25
|
+
is specified.
|
|
26
|
+
type: string
|
|
27
|
+
required:
|
|
28
|
+
- msgtype
|
|
29
|
+
- body
|
|
30
|
+
type: object
|
|
31
|
+
type:
|
|
32
|
+
enum:
|
|
33
|
+
- m.room.message
|
|
34
|
+
type: string
|
|
35
|
+
title: TextMessage
|
|
36
|
+
type: object
|