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,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/room_event.json",
|
|
3
|
+
"type": "m.room.message",
|
|
4
|
+
"content": {
|
|
5
|
+
"body": "Gangnam Style",
|
|
6
|
+
"url": "mxc://example.org/a526eYUSFFxlgbQYZmo442",
|
|
7
|
+
"info": {
|
|
8
|
+
"thumbnail_url": "mxc://example.org/FHyPlCeYUSFFxlgbQYZmoEoe",
|
|
9
|
+
"thumbnail_info": {
|
|
10
|
+
"mimetype": "image/jpeg",
|
|
11
|
+
"size": 46144,
|
|
12
|
+
"w": 300,
|
|
13
|
+
"h": 300
|
|
14
|
+
},
|
|
15
|
+
"w": 480,
|
|
16
|
+
"h": 320,
|
|
17
|
+
"duration": 2140786,
|
|
18
|
+
"size": 1563685,
|
|
19
|
+
"mimetype": "video/mp4"
|
|
20
|
+
},
|
|
21
|
+
"msgtype": "m.video"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/state_event.json",
|
|
3
|
+
"type": "m.room.power_levels",
|
|
4
|
+
"state_key": "",
|
|
5
|
+
"content": {
|
|
6
|
+
"ban": 50,
|
|
7
|
+
"events": {
|
|
8
|
+
"m.room.name": 100,
|
|
9
|
+
"m.room.power_levels": 100
|
|
10
|
+
},
|
|
11
|
+
"events_default": 0,
|
|
12
|
+
"invite": 50,
|
|
13
|
+
"kick": 50,
|
|
14
|
+
"redact": 50,
|
|
15
|
+
"state_default": 50,
|
|
16
|
+
"users": {
|
|
17
|
+
"@example:localhost": 100
|
|
18
|
+
},
|
|
19
|
+
"users_default": 0,
|
|
20
|
+
"notifications": {
|
|
21
|
+
"room": 20
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/state_event.json",
|
|
3
|
+
"type": "m.room.third_party_invite",
|
|
4
|
+
"state_key": "pc98",
|
|
5
|
+
"content": {
|
|
6
|
+
"display_name": "Alice Margatroid",
|
|
7
|
+
"key_validity_url": "https://magic.forest/verifykey",
|
|
8
|
+
"public_key": "abc123",
|
|
9
|
+
"public_keys": [{
|
|
10
|
+
"public_key": "def456",
|
|
11
|
+
"key_validity_url": "https://magic.forest/verifykey"
|
|
12
|
+
}]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/state_event.json",
|
|
3
|
+
"type": "m.room.topic",
|
|
4
|
+
"state_key": "",
|
|
5
|
+
"content": {
|
|
6
|
+
"m.topic": {
|
|
7
|
+
"m.text": [ {
|
|
8
|
+
"mimetype": "text/html",
|
|
9
|
+
"body": "An <em>interesting</em> room topic"
|
|
10
|
+
}, {
|
|
11
|
+
"body": "An interesting room topic"
|
|
12
|
+
}]
|
|
13
|
+
},
|
|
14
|
+
"topic": "An interesting room topic"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/event.json",
|
|
3
|
+
"type": "m.room_key.withheld",
|
|
4
|
+
"content": {
|
|
5
|
+
"algorithm": "m.megolm.v1.aes-sha2",
|
|
6
|
+
"room_id": "!Cuyf34gef24t:localhost",
|
|
7
|
+
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
|
8
|
+
"sender_key": "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU",
|
|
9
|
+
"code": "m.unverified",
|
|
10
|
+
"reason": "Device not verified"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/event.json",
|
|
3
|
+
"type": "m.room_key",
|
|
4
|
+
"content": {
|
|
5
|
+
"algorithm": "m.megolm.v1.aes-sha2",
|
|
6
|
+
"room_id": "!Cuyf34gef24t:localhost",
|
|
7
|
+
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
|
8
|
+
"session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEY..."
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"content": {
|
|
3
|
+
"body": {
|
|
4
|
+
"algorithm": "m.megolm.v1.aes-sha2",
|
|
5
|
+
"room_id": "!Cuyf34gef24t:localhost",
|
|
6
|
+
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
|
7
|
+
"sender_key": "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU"
|
|
8
|
+
},
|
|
9
|
+
"action": "request",
|
|
10
|
+
"requesting_device_id": "RJYKSTBOIE",
|
|
11
|
+
"request_id": "1495474790150.19"
|
|
12
|
+
},
|
|
13
|
+
"type": "m.room_key_request"
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "core/room_event.json",
|
|
3
|
+
"type": "m.sticker",
|
|
4
|
+
"content": {
|
|
5
|
+
"body": "Landing",
|
|
6
|
+
"info": {
|
|
7
|
+
"mimetype": "image/png",
|
|
8
|
+
"thumbnail_info": {
|
|
9
|
+
"mimetype": "image/png",
|
|
10
|
+
"h": 200,
|
|
11
|
+
"w": 140,
|
|
12
|
+
"size": 73602,
|
|
13
|
+
"is_animated": true
|
|
14
|
+
},
|
|
15
|
+
"h": 200,
|
|
16
|
+
"thumbnail_url": "mxc://matrix.org/sHhqkFCvSkFwtmvtETOtKnLP",
|
|
17
|
+
"w": 140,
|
|
18
|
+
"size": 73602
|
|
19
|
+
},
|
|
20
|
+
"url": "mxc://matrix.org/sHhqkFCvSkFwtmvtETOtKnLP"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Copyright 2020 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
15
|
+
|
|
16
|
+
properties:
|
|
17
|
+
entity:
|
|
18
|
+
description: |-
|
|
19
|
+
The entity affected by this rule. Glob characters `*` and `?` can be used
|
|
20
|
+
to match zero or more characters or exactly one character respectively.
|
|
21
|
+
type: string
|
|
22
|
+
recommendation:
|
|
23
|
+
description: The suggested action to take. Currently only `m.ban` is specified.
|
|
24
|
+
type: string
|
|
25
|
+
reason:
|
|
26
|
+
description: The human-readable description for the `recommendation`.
|
|
27
|
+
type: string
|
|
28
|
+
type: object
|
|
29
|
+
required:
|
|
30
|
+
- entity
|
|
31
|
+
- recommendation
|
|
32
|
+
- reason
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type: array
|
|
2
|
+
description: |-
|
|
3
|
+
An ordered array of textual representations in different mimetypes.
|
|
4
|
+
|
|
5
|
+
Senders SHOULD specify at least one representation and SHOULD always
|
|
6
|
+
include a plaintext representation.
|
|
7
|
+
|
|
8
|
+
Receivers SHOULD use the first representation in the array that
|
|
9
|
+
they understand.
|
|
10
|
+
title: TextContentBlock
|
|
11
|
+
items:
|
|
12
|
+
type: object
|
|
13
|
+
title: TextualRepresentation
|
|
14
|
+
properties:
|
|
15
|
+
mimetype:
|
|
16
|
+
type: string
|
|
17
|
+
description: The mimetype. Defaults to `text/plain` if omitted.
|
|
18
|
+
example: "text/html"
|
|
19
|
+
body:
|
|
20
|
+
type: string
|
|
21
|
+
description: |-
|
|
22
|
+
The string content.
|
|
23
|
+
|
|
24
|
+
Clients SHOULD validate and sanitize the content as they do
|
|
25
|
+
for rich content associated with [`msgtype`](/client-server-api/#mroommessage-msgtypes)
|
|
26
|
+
of [`m.room.message`](/client-server-api/#mroommessage).
|
|
27
|
+
required:
|
|
28
|
+
- body
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
type: object
|
|
4
|
+
x-addedInMatrixVersion: "1.10"
|
|
5
|
+
description: |-
|
|
6
|
+
Metadata describing the [streams](/client-server-api/#streams) that will be
|
|
7
|
+
sent.
|
|
8
|
+
|
|
9
|
+
This is a map of stream ID to metadata about the stream.
|
|
10
|
+
additionalProperties:
|
|
11
|
+
type: object
|
|
12
|
+
title: StreamMetadata
|
|
13
|
+
description: Metadata describing a stream.
|
|
14
|
+
properties:
|
|
15
|
+
purpose:
|
|
16
|
+
type: string
|
|
17
|
+
enum:
|
|
18
|
+
- m.usermedia
|
|
19
|
+
- m.screenshare
|
|
20
|
+
description: |-
|
|
21
|
+
The purpose of the stream.
|
|
22
|
+
|
|
23
|
+
The possible values are:
|
|
24
|
+
|
|
25
|
+
* `m.usermedia`: Stream that contains the webcam and/or microphone
|
|
26
|
+
tracks.
|
|
27
|
+
* `m.screenshare`: Stream with the screen-sharing tracks.
|
|
28
|
+
audio_muted:
|
|
29
|
+
type: boolean
|
|
30
|
+
description: |-
|
|
31
|
+
Whether the audio track in the stream is muted.
|
|
32
|
+
|
|
33
|
+
Defaults to `false` if not present.
|
|
34
|
+
x-addedInMatrixVersion: "1.11"
|
|
35
|
+
video_muted:
|
|
36
|
+
type: boolean
|
|
37
|
+
description: |-
|
|
38
|
+
Whether the video track in the stream is muted.
|
|
39
|
+
|
|
40
|
+
Defaults to `false` if not present.
|
|
41
|
+
x-addedInMatrixVersion: "1.11"
|
|
42
|
+
required:
|
|
43
|
+
- purpose
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
title: SignedThirdPartyInvite
|
|
2
|
+
description: |-
|
|
3
|
+
A block of content which has been signed by the identity server, which
|
|
4
|
+
homeservers can use to verify the event. Clients should ignore this.
|
|
5
|
+
type: object
|
|
6
|
+
properties:
|
|
7
|
+
mxid:
|
|
8
|
+
description: |-
|
|
9
|
+
The user ID that has been bound to the third-party identifier.
|
|
10
|
+
type: string
|
|
11
|
+
format: mx-user-id
|
|
12
|
+
pattern: "^@"
|
|
13
|
+
example: "@alice:example.org"
|
|
14
|
+
signatures:
|
|
15
|
+
title: IdentityServerSignatures
|
|
16
|
+
description: |-
|
|
17
|
+
The identity server signatures for this block. This is a map of identity
|
|
18
|
+
server name to signing key identifier to base64-encoded signature.
|
|
19
|
+
|
|
20
|
+
The signatures are calculated using the process described at
|
|
21
|
+
[Signing JSON](/appendices/#signing-json).
|
|
22
|
+
type: object
|
|
23
|
+
patternProperties:
|
|
24
|
+
"":
|
|
25
|
+
x-pattern-format: mx-server-name
|
|
26
|
+
type: object
|
|
27
|
+
additionalProperties:
|
|
28
|
+
type: string
|
|
29
|
+
format: mx-unpadded-base64
|
|
30
|
+
example: {
|
|
31
|
+
"magic.forest": {
|
|
32
|
+
"ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
token:
|
|
36
|
+
description: |-
|
|
37
|
+
The token generated by the identity server at the
|
|
38
|
+
[`/store_invite`](/identity-service-api/#post_matrixidentityv2store-invite)
|
|
39
|
+
endpoint.
|
|
40
|
+
|
|
41
|
+
It matches the `state_key` of the corresponding [`m.room.third_party_invite`](/client-server-api/#mroomthird_party_invite)
|
|
42
|
+
event.
|
|
43
|
+
type: string
|
|
44
|
+
example: "abc123"
|
|
45
|
+
required:
|
|
46
|
+
- mxid
|
|
47
|
+
- signatures
|
|
48
|
+
- token
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
description: "The content of all call events shares a set of common fields: those
|
|
4
|
+
of room events and some additional VoIP specific fields."
|
|
5
|
+
properties:
|
|
6
|
+
call_id:
|
|
7
|
+
type: string
|
|
8
|
+
description: The ID of the call this event relates to.
|
|
9
|
+
version:
|
|
10
|
+
type: string
|
|
11
|
+
description: The version of the VoIP specification this message adheres to.
|
|
12
|
+
This specification is version 1. This field is a string such that experimental
|
|
13
|
+
implementations can use non-integer versions. This field was an integer
|
|
14
|
+
in the previous spec version and implementations must accept an integer
|
|
15
|
+
0.
|
|
16
|
+
party_id:
|
|
17
|
+
type: string
|
|
18
|
+
description: 'This identifies the party that sent this event. A client may
|
|
19
|
+
choose to re-use the device ID from end-to-end cryptography for the value
|
|
20
|
+
of this field.'
|
|
21
|
+
x-addedInMatrixVersion: "1.7"
|
|
22
|
+
required:
|
|
23
|
+
- call_id
|
|
24
|
+
- version
|
|
25
|
+
- party_id
|
|
26
|
+
title: CallEvent
|
|
27
|
+
type: object
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
description: The basic set of fields all events must have.
|
|
4
|
+
properties:
|
|
5
|
+
content:
|
|
6
|
+
description: The fields in this object will vary depending on the type of event.
|
|
7
|
+
When interacting with the REST API, this is the HTTP body.
|
|
8
|
+
type: object
|
|
9
|
+
type:
|
|
10
|
+
description: The type of event, as defined by [the event type specification](/client-server-api/#types-of-room-events).
|
|
11
|
+
type: string
|
|
12
|
+
required:
|
|
13
|
+
- type
|
|
14
|
+
- content
|
|
15
|
+
title: Event
|
|
16
|
+
type: object
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
description: Metadata about an avatar image.
|
|
4
|
+
properties:
|
|
5
|
+
h:
|
|
6
|
+
description: |-
|
|
7
|
+
The intended display height of the image in pixels. This may
|
|
8
|
+
differ from the intrinsic dimensions of the image file.
|
|
9
|
+
type: integer
|
|
10
|
+
w:
|
|
11
|
+
description: |-
|
|
12
|
+
The intended display width of the image in pixels. This may
|
|
13
|
+
differ from the intrinsic dimensions of the image file.
|
|
14
|
+
type: integer
|
|
15
|
+
mimetype:
|
|
16
|
+
description: The mimetype of the image, e.g. `image/jpeg`.
|
|
17
|
+
type: string
|
|
18
|
+
size:
|
|
19
|
+
description: Size of the image in bytes.
|
|
20
|
+
type: integer
|
|
21
|
+
thumbnail_url:
|
|
22
|
+
description: |-
|
|
23
|
+
The URL (typically [`mxc://` URI](/client-server-api/#matrix-content-mxc-uris)) to a thumbnail of the image.
|
|
24
|
+
type: string
|
|
25
|
+
thumbnail_info:
|
|
26
|
+
allOf:
|
|
27
|
+
- $ref: thumbnail_info.yaml
|
|
28
|
+
description: Metadata about the image referred to in `thumbnail_url`.
|
|
29
|
+
title: AvatarInfo
|
|
30
|
+
type: object
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
description: Metadata about an image.
|
|
4
|
+
properties:
|
|
5
|
+
h:
|
|
6
|
+
description: |-
|
|
7
|
+
The intended display height of the image in pixels. This may
|
|
8
|
+
differ from the intrinsic dimensions of the image file.
|
|
9
|
+
type: integer
|
|
10
|
+
w:
|
|
11
|
+
description: |-
|
|
12
|
+
The intended display width of the image in pixels. This may
|
|
13
|
+
differ from the intrinsic dimensions of the image file.
|
|
14
|
+
type: integer
|
|
15
|
+
mimetype:
|
|
16
|
+
description: The mimetype of the image, e.g. `image/jpeg`.
|
|
17
|
+
type: string
|
|
18
|
+
size:
|
|
19
|
+
description: Size of the image in bytes.
|
|
20
|
+
type: integer
|
|
21
|
+
thumbnail_url:
|
|
22
|
+
description: |-
|
|
23
|
+
The URL (typically [`mxc://` URI](/client-server-api/#matrix-content-mxc-uris)) to a thumbnail of the image.
|
|
24
|
+
Only present if the thumbnail is unencrypted.
|
|
25
|
+
type: string
|
|
26
|
+
thumbnail_file:
|
|
27
|
+
description: |-
|
|
28
|
+
Information on the encrypted thumbnail file, as specified in
|
|
29
|
+
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
|
|
30
|
+
Only present if the thumbnail is encrypted.
|
|
31
|
+
title: EncryptedFile
|
|
32
|
+
type: object
|
|
33
|
+
thumbnail_info:
|
|
34
|
+
allOf:
|
|
35
|
+
- $ref: thumbnail_info.yaml
|
|
36
|
+
description: Metadata about the image referred to in `thumbnail_url`.
|
|
37
|
+
is_animated:
|
|
38
|
+
x-addedInMatrixVersion: "1.18"
|
|
39
|
+
description: |-
|
|
40
|
+
If this flag is `true`, the original image SHOULD be assumed to be
|
|
41
|
+
animated. If this flag is `false`, the original image SHOULD be assumed to
|
|
42
|
+
NOT be animated.
|
|
43
|
+
|
|
44
|
+
If a sending client is unable to determine whether an image is animated,
|
|
45
|
+
it SHOULD leave the flag unset.
|
|
46
|
+
|
|
47
|
+
Receiving clients MAY use this flag to optimize whether to download the
|
|
48
|
+
original image rather than a thumbnail if it is animated, but they SHOULD
|
|
49
|
+
NOT trust this flag.
|
|
50
|
+
type: boolean
|
|
51
|
+
title: ImageInfo
|
|
52
|
+
type: object
|
data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
description: Metadata about a thumbnail image.
|
|
4
|
+
properties:
|
|
5
|
+
h:
|
|
6
|
+
description: |-
|
|
7
|
+
The intended display height of the image in pixels. This may
|
|
8
|
+
differ from the intrinsic dimensions of the image file.
|
|
9
|
+
type: integer
|
|
10
|
+
w:
|
|
11
|
+
description: |-
|
|
12
|
+
The intended display width of the image in pixels. This may
|
|
13
|
+
differ from the intrinsic dimensions of the image file.
|
|
14
|
+
type: integer
|
|
15
|
+
mimetype:
|
|
16
|
+
description: The mimetype of the image, e.g. `image/jpeg`.
|
|
17
|
+
type: string
|
|
18
|
+
size:
|
|
19
|
+
description: Size of the image in bytes.
|
|
20
|
+
type: integer
|
|
21
|
+
title: ThumbnailInfo
|
|
22
|
+
type: object
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
|
|
3
|
+
title: RoomEvent
|
|
4
|
+
description: Room Events have the following fields.
|
|
5
|
+
allOf:
|
|
6
|
+
- $ref: sync_room_event.yaml
|
|
7
|
+
- type: object
|
|
8
|
+
properties:
|
|
9
|
+
room_id:
|
|
10
|
+
description: |-
|
|
11
|
+
The ID of the room associated with this event. Will not be present on events
|
|
12
|
+
that arrive through `/sync`, despite being required everywhere else.
|
|
13
|
+
type: string
|
|
14
|
+
format: mx-room-id
|
|
15
|
+
pattern: "^!"
|
|
16
|
+
required:
|
|
17
|
+
- room_id
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
# Note: this, and the example, are in the `event-schemas` directory because
|
|
16
|
+
# the CS API uses a symlink. In order for the `m.room.member` event to
|
|
17
|
+
# reference this, we'd need to use relative pathing. The symlink makes this
|
|
18
|
+
# difficult because the schema would be at two different locations, with
|
|
19
|
+
# different relative pathing.
|
|
20
|
+
|
|
21
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
22
|
+
|
|
23
|
+
title: StrippedStateEvent
|
|
24
|
+
type: object
|
|
25
|
+
description: |-
|
|
26
|
+
A stripped down state event, with only the `type`, `state_key`,
|
|
27
|
+
`sender`, and `content` keys.
|
|
28
|
+
properties:
|
|
29
|
+
content:
|
|
30
|
+
description: The `content` for the event.
|
|
31
|
+
title: EventContent
|
|
32
|
+
type: object
|
|
33
|
+
state_key:
|
|
34
|
+
description: The `state_key` for the event.
|
|
35
|
+
type: string
|
|
36
|
+
type:
|
|
37
|
+
description: The `type` for the event.
|
|
38
|
+
type: string
|
|
39
|
+
sender:
|
|
40
|
+
description: The `sender` for the event.
|
|
41
|
+
type: string
|
|
42
|
+
format: mx-user-id
|
|
43
|
+
pattern: "^@"
|
|
44
|
+
required:
|
|
45
|
+
- type
|
|
46
|
+
- state_key
|
|
47
|
+
- content
|
|
48
|
+
- sender
|