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,692 @@
|
|
|
1
|
+
# Copyright 2016, 2021 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
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server sync API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
/sync:
|
|
20
|
+
get:
|
|
21
|
+
summary: Synchronise the client's state and receive new messages.
|
|
22
|
+
description: |-
|
|
23
|
+
Synchronise the client's state with the latest state on the server.
|
|
24
|
+
Clients use this API when they first log in to get an initial snapshot
|
|
25
|
+
of the state on the server, and then continue to call this API to get
|
|
26
|
+
incremental deltas to the state, and to receive new messages.
|
|
27
|
+
|
|
28
|
+
*Note*: This endpoint supports lazy-loading. See [Filtering](/client-server-api/#filtering)
|
|
29
|
+
for more information. Lazy-loading members is only supported on the `state` part of a
|
|
30
|
+
[`RoomFilter`](#post_matrixclientv3useruseridfilter_request_roomfilter)
|
|
31
|
+
for this endpoint. When lazy-loading is enabled, servers MUST include the
|
|
32
|
+
syncing user's own membership event when they join a room, or when the
|
|
33
|
+
full state of rooms is requested, to aid discovering the user's avatar &
|
|
34
|
+
displayname.
|
|
35
|
+
|
|
36
|
+
Further, like other members, the user's own membership event is eligible
|
|
37
|
+
for being considered redundant by the server. When a sync is `limited`,
|
|
38
|
+
the server MUST return membership events for events in the gap
|
|
39
|
+
(between `since` and the start of the returned timeline), regardless
|
|
40
|
+
as to whether or not they are redundant. This ensures that joins/leaves
|
|
41
|
+
and profile changes which occur during the gap are not lost.
|
|
42
|
+
|
|
43
|
+
Note that the default behaviour of `state` is to include all membership
|
|
44
|
+
events, alongside other state, when lazy-loading is not enabled.
|
|
45
|
+
operationId: sync
|
|
46
|
+
security:
|
|
47
|
+
- accessTokenQuery: []
|
|
48
|
+
- accessTokenBearer: []
|
|
49
|
+
parameters:
|
|
50
|
+
- in: query
|
|
51
|
+
name: filter
|
|
52
|
+
description: |-
|
|
53
|
+
The ID of a filter created using the filter API or a filter JSON
|
|
54
|
+
object encoded as a string. The server will detect whether it is
|
|
55
|
+
an ID or a JSON object by whether the first character is a `"{"`
|
|
56
|
+
open brace. Passing the JSON inline is best suited to one off
|
|
57
|
+
requests. Creating a filter using the filter API is recommended for
|
|
58
|
+
clients that reuse the same filter multiple times, for example in
|
|
59
|
+
long poll requests.
|
|
60
|
+
|
|
61
|
+
See [Filtering](/client-server-api/#filtering) for more information.
|
|
62
|
+
example: 66696p746572
|
|
63
|
+
schema:
|
|
64
|
+
type: string
|
|
65
|
+
- in: query
|
|
66
|
+
name: since
|
|
67
|
+
description: |-
|
|
68
|
+
A point in time to continue a sync from. This should be the
|
|
69
|
+
`next_batch` token returned by an earlier call to this endpoint.
|
|
70
|
+
example: s72594_4483_1934
|
|
71
|
+
schema:
|
|
72
|
+
type: string
|
|
73
|
+
- in: query
|
|
74
|
+
name: full_state
|
|
75
|
+
description: |-
|
|
76
|
+
Controls whether to include the full state for all rooms the user
|
|
77
|
+
is a member of.
|
|
78
|
+
|
|
79
|
+
If this is set to `true`, then all state events will be returned,
|
|
80
|
+
even if `since` is non-empty. The timeline will still be limited
|
|
81
|
+
by the `since` parameter. In this case, the `timeout` parameter
|
|
82
|
+
will be ignored and the query will return immediately, possibly with
|
|
83
|
+
an empty timeline.
|
|
84
|
+
|
|
85
|
+
If `false`, and `since` is non-empty, only state which has
|
|
86
|
+
changed since the point indicated by `since` will be returned.
|
|
87
|
+
|
|
88
|
+
By default, this is `false`.
|
|
89
|
+
example: false
|
|
90
|
+
schema:
|
|
91
|
+
type: boolean
|
|
92
|
+
- in: query
|
|
93
|
+
name: set_presence
|
|
94
|
+
description: |-
|
|
95
|
+
Controls whether the client is automatically marked as online by
|
|
96
|
+
polling this API. If this parameter is omitted then the client is
|
|
97
|
+
automatically marked as online when it uses this API. Otherwise if
|
|
98
|
+
the parameter is set to "offline" then the client is not marked as
|
|
99
|
+
being online when it uses this API. When set to "unavailable", the
|
|
100
|
+
client is marked as being idle.
|
|
101
|
+
example: offline
|
|
102
|
+
schema:
|
|
103
|
+
type: string
|
|
104
|
+
enum:
|
|
105
|
+
- offline
|
|
106
|
+
- online
|
|
107
|
+
- unavailable
|
|
108
|
+
- in: query
|
|
109
|
+
name: timeout
|
|
110
|
+
description: |-
|
|
111
|
+
The maximum time to wait, in milliseconds, before returning this
|
|
112
|
+
request. If no events (or other data) become available before this
|
|
113
|
+
time elapses, the server will return a response with empty fields.
|
|
114
|
+
|
|
115
|
+
By default, this is `0`, so the server will return immediately
|
|
116
|
+
even if the response is empty.
|
|
117
|
+
example: 30000
|
|
118
|
+
schema:
|
|
119
|
+
type: integer
|
|
120
|
+
- in: query
|
|
121
|
+
name: use_state_after
|
|
122
|
+
x-addedInMatrixVersion: "1.16"
|
|
123
|
+
description: |-
|
|
124
|
+
Controls whether to receive state changes between the previous sync
|
|
125
|
+
and the **start** of the timeline, or between the previous sync and
|
|
126
|
+
the **end** of the timeline.
|
|
127
|
+
|
|
128
|
+
If this is set to `true`, servers MUST respond with the state
|
|
129
|
+
between the previous sync and the **end** of the timeline in
|
|
130
|
+
`state_after` and MUST omit `state`.
|
|
131
|
+
|
|
132
|
+
If `false`, servers MUST respond with the state between the previous
|
|
133
|
+
sync and the **start** of the timeline in `state` and MUST omit
|
|
134
|
+
`state_after`.
|
|
135
|
+
|
|
136
|
+
Servers MAY implement this parameter ahead of declaring support for
|
|
137
|
+
the version of the spec in which it was introduced. Consequently,
|
|
138
|
+
clients MAY set this parameter to `true` regardless of the
|
|
139
|
+
[`/versions`](/client-server-api/#get_matrixclientversions) response.
|
|
140
|
+
If they do, they can infer whether the server actually supports this
|
|
141
|
+
parameter from the presence of `state_after` in the response. If
|
|
142
|
+
`state_after` is missing, clients MUST behave as if they had not
|
|
143
|
+
specified the parameter and update their local state with events
|
|
144
|
+
in `state` and `timeline`.
|
|
145
|
+
|
|
146
|
+
By default, this is `false`.
|
|
147
|
+
example: false
|
|
148
|
+
schema:
|
|
149
|
+
type: boolean
|
|
150
|
+
responses:
|
|
151
|
+
"200":
|
|
152
|
+
description: The initial snapshot or delta for the client to use to update their
|
|
153
|
+
state.
|
|
154
|
+
content:
|
|
155
|
+
application/json:
|
|
156
|
+
schema:
|
|
157
|
+
type: object
|
|
158
|
+
properties:
|
|
159
|
+
next_batch:
|
|
160
|
+
type: string
|
|
161
|
+
description: |-
|
|
162
|
+
The batch token to supply in the `since` param of the next
|
|
163
|
+
`/sync` request.
|
|
164
|
+
rooms:
|
|
165
|
+
title: Rooms
|
|
166
|
+
type: object
|
|
167
|
+
description: Updates to rooms.
|
|
168
|
+
properties:
|
|
169
|
+
join:
|
|
170
|
+
title: Joined Rooms
|
|
171
|
+
type: object
|
|
172
|
+
description: |-
|
|
173
|
+
The rooms that the user has joined, mapped as room ID to
|
|
174
|
+
room information.
|
|
175
|
+
patternProperties:
|
|
176
|
+
"^!":
|
|
177
|
+
x-pattern-format: mx-room-id
|
|
178
|
+
title: Joined Room
|
|
179
|
+
type: object
|
|
180
|
+
properties:
|
|
181
|
+
summary:
|
|
182
|
+
title: RoomSummary
|
|
183
|
+
type: object
|
|
184
|
+
description: |-
|
|
185
|
+
Information about the room which clients may need to
|
|
186
|
+
correctly render it to users.
|
|
187
|
+
properties:
|
|
188
|
+
m.heroes:
|
|
189
|
+
type: array
|
|
190
|
+
description: |-
|
|
191
|
+
The users which can be used to generate a room name
|
|
192
|
+
if the room does not have one. Required if the room's
|
|
193
|
+
`m.room.name` or `m.room.canonical_alias` state events
|
|
194
|
+
are unset or empty.
|
|
195
|
+
|
|
196
|
+
This should be the first 5 members of the room, ordered
|
|
197
|
+
by stream ordering, which are joined or invited. The
|
|
198
|
+
list must never include the client's own user ID. When
|
|
199
|
+
no joined or invited members are available, this should
|
|
200
|
+
consist of the banned and left users. More than 5 members
|
|
201
|
+
may be provided, however less than 5 should only be provided
|
|
202
|
+
when there are less than 5 members to represent.
|
|
203
|
+
|
|
204
|
+
When lazy-loading room members is enabled, the membership
|
|
205
|
+
events for the heroes MUST be included in the `state`,
|
|
206
|
+
unless they are redundant. When the list of users changes,
|
|
207
|
+
the server notifies the client by sending a fresh list of
|
|
208
|
+
heroes. If there are no changes since the last sync, this
|
|
209
|
+
field may be omitted.
|
|
210
|
+
items:
|
|
211
|
+
type: string
|
|
212
|
+
format: mx-user-id
|
|
213
|
+
pattern: "^@"
|
|
214
|
+
m.joined_member_count:
|
|
215
|
+
type: integer
|
|
216
|
+
description: |-
|
|
217
|
+
The number of users with `membership` of `join`,
|
|
218
|
+
including the client's own user ID. If this field has
|
|
219
|
+
not changed since the last sync, it may be omitted.
|
|
220
|
+
Required otherwise.
|
|
221
|
+
m.invited_member_count:
|
|
222
|
+
type: integer
|
|
223
|
+
description: |-
|
|
224
|
+
The number of users with `membership` of `invite`.
|
|
225
|
+
If this field has not changed since the last sync, it
|
|
226
|
+
may be omitted. Required otherwise.
|
|
227
|
+
state:
|
|
228
|
+
title: State
|
|
229
|
+
type: object
|
|
230
|
+
description: |-
|
|
231
|
+
Updates to the state, between the time indicated by
|
|
232
|
+
the `since` parameter, and the **start** of the
|
|
233
|
+
`timeline` (or all state up to the **start** of the
|
|
234
|
+
`timeline`, if `since` is not given, or
|
|
235
|
+
`full_state` is true).
|
|
236
|
+
|
|
237
|
+
{{% boxes/note %}}
|
|
238
|
+
State updates for `m.room.member` events will
|
|
239
|
+
be incomplete if `lazy_load_members` is enabled in
|
|
240
|
+
the `/sync` filter, and only return the member events
|
|
241
|
+
required to display the senders of the timeline events
|
|
242
|
+
in this response.
|
|
243
|
+
{{% /boxes/note %}}
|
|
244
|
+
|
|
245
|
+
MUST be omitted if `use_state_after` was set to `true`
|
|
246
|
+
in the request.
|
|
247
|
+
allOf:
|
|
248
|
+
- $ref: definitions/state_event_batch.yaml
|
|
249
|
+
state_after:
|
|
250
|
+
title: State
|
|
251
|
+
type: object
|
|
252
|
+
x-addedInMatrixVersion: "1.16"
|
|
253
|
+
description: |-
|
|
254
|
+
Updates to the state, between the time indicated by
|
|
255
|
+
the `since` parameter, and the **end** of the
|
|
256
|
+
`timeline` (or all state up to the **end** of the
|
|
257
|
+
`timeline`, if `since` is not given, or
|
|
258
|
+
`full_state` is true).
|
|
259
|
+
|
|
260
|
+
{{% boxes/note %}}
|
|
261
|
+
State updates for `m.room.member` events will
|
|
262
|
+
be incomplete if `lazy_load_members` is enabled in
|
|
263
|
+
the `/sync` filter, and only return the member events
|
|
264
|
+
required to display the senders of the timeline events
|
|
265
|
+
in this response.
|
|
266
|
+
{{% /boxes/note %}}
|
|
267
|
+
|
|
268
|
+
If this field is set, even if it is empty, clients MUST
|
|
269
|
+
only update their local state with events in this list,
|
|
270
|
+
and MUST NOT update their local state with events in
|
|
271
|
+
`timeline`. If this field is not set, clients MUST update
|
|
272
|
+
their local state with events in `state` and `timeline`.
|
|
273
|
+
|
|
274
|
+
**Required** if `use_state_after` was set to `true` in the
|
|
275
|
+
request, even if it is empty.
|
|
276
|
+
allOf:
|
|
277
|
+
- $ref: definitions/state_event_batch.yaml
|
|
278
|
+
timeline:
|
|
279
|
+
title: Timeline
|
|
280
|
+
type: object
|
|
281
|
+
description: |-
|
|
282
|
+
The timeline of messages and state changes in the
|
|
283
|
+
room.
|
|
284
|
+
allOf:
|
|
285
|
+
- $ref: definitions/timeline_batch.yaml
|
|
286
|
+
ephemeral:
|
|
287
|
+
title: Ephemeral
|
|
288
|
+
type: object
|
|
289
|
+
description: |-
|
|
290
|
+
The new ephemeral events in the room (events that
|
|
291
|
+
aren't recorded in the timeline or state of the
|
|
292
|
+
room). In this version of the spec, these are
|
|
293
|
+
[typing notification](/client-server-api/#typing-notifications)
|
|
294
|
+
and [read receipt](/client-server-api/#receipts) events.
|
|
295
|
+
allOf:
|
|
296
|
+
- $ref: definitions/event_batch.yaml
|
|
297
|
+
account_data:
|
|
298
|
+
title: Account Data
|
|
299
|
+
type: object
|
|
300
|
+
description: |-
|
|
301
|
+
The private data that this user has attached to
|
|
302
|
+
this room.
|
|
303
|
+
allOf:
|
|
304
|
+
- $ref: definitions/event_batch.yaml
|
|
305
|
+
unread_notifications:
|
|
306
|
+
title: Unread Notification Counts
|
|
307
|
+
type: object
|
|
308
|
+
description: |-
|
|
309
|
+
Counts of unread notifications for this room. See the
|
|
310
|
+
[Receiving notifications](/client-server-api/#receiving-notifications) section
|
|
311
|
+
for more information on how these are calculated.
|
|
312
|
+
|
|
313
|
+
If `unread_thread_notifications` was specified as `true` on the `RoomEventFilter`,
|
|
314
|
+
these counts will only be for the main timeline rather than all events in the room.
|
|
315
|
+
See the [threading module](/client-server-api/#threading) for more information.
|
|
316
|
+
x-changedInMatrixVersion:
|
|
317
|
+
"1.4": |
|
|
318
|
+
Updated to reflect behaviour of having `unread_thread_notifications` as `true` in
|
|
319
|
+
the `RoomEventFilter` for `/sync`.
|
|
320
|
+
properties:
|
|
321
|
+
highlight_count:
|
|
322
|
+
title: Highlighted notification count
|
|
323
|
+
type: integer
|
|
324
|
+
description: The number of unread notifications for this room with the highlight
|
|
325
|
+
flag set.
|
|
326
|
+
notification_count:
|
|
327
|
+
title: Total notification count
|
|
328
|
+
type: integer
|
|
329
|
+
description: The total number of unread notifications for this room.
|
|
330
|
+
unread_thread_notifications:
|
|
331
|
+
title: Unread Thread Notification Counts
|
|
332
|
+
type: object
|
|
333
|
+
description: |-
|
|
334
|
+
If `unread_thread_notifications` was specified as `true` on the `RoomEventFilter`,
|
|
335
|
+
the notification counts for each [thread](/client-server-api/#threading) in this room.
|
|
336
|
+
The object is keyed by thread root ID, with values matching `unread_notifications`.
|
|
337
|
+
|
|
338
|
+
If a thread does not have any notifications it can be omitted from this object. If
|
|
339
|
+
no threads have notification counts, this whole object can be omitted.
|
|
340
|
+
x-addedInMatrixVersion: "1.4"
|
|
341
|
+
patternProperties:
|
|
342
|
+
"^\\$":
|
|
343
|
+
x-pattern-format: mx-event-id
|
|
344
|
+
title: ThreadNotificationCounts
|
|
345
|
+
type: object
|
|
346
|
+
properties:
|
|
347
|
+
highlight_count:
|
|
348
|
+
title: ThreadedHighlightNotificationCount
|
|
349
|
+
type: integer
|
|
350
|
+
description: The number of unread notifications for this *thread* with the
|
|
351
|
+
highlight flag set.
|
|
352
|
+
notification_count:
|
|
353
|
+
title: ThreadedTotalNotificationCount
|
|
354
|
+
type: integer
|
|
355
|
+
description: The total number of unread notifications for this *thread*.
|
|
356
|
+
invite:
|
|
357
|
+
title: Invited Rooms
|
|
358
|
+
type: object
|
|
359
|
+
description: |-
|
|
360
|
+
The rooms that the user has been invited to, mapped as room ID to
|
|
361
|
+
room information.
|
|
362
|
+
patternProperties:
|
|
363
|
+
"^!":
|
|
364
|
+
x-pattern-format: mx-room-id
|
|
365
|
+
title: Invited Room
|
|
366
|
+
type: object
|
|
367
|
+
properties:
|
|
368
|
+
invite_state:
|
|
369
|
+
title: InviteState
|
|
370
|
+
type: object
|
|
371
|
+
description: |-
|
|
372
|
+
The [stripped state](/client-server-api/#stripped-state) of a room that the user has
|
|
373
|
+
been invited to.
|
|
374
|
+
properties:
|
|
375
|
+
events:
|
|
376
|
+
description: |-
|
|
377
|
+
The [stripped state events](/client-server-api/#stripped-state) that form the
|
|
378
|
+
invite state.
|
|
379
|
+
items:
|
|
380
|
+
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
|
|
381
|
+
type: array
|
|
382
|
+
knock:
|
|
383
|
+
title: Knocked rooms
|
|
384
|
+
type: object
|
|
385
|
+
description: The rooms that the user has knocked upon, mapped as room ID to room
|
|
386
|
+
information.
|
|
387
|
+
patternProperties:
|
|
388
|
+
"^!":
|
|
389
|
+
x-pattern-format: mx-room-id
|
|
390
|
+
title: Knocked Room
|
|
391
|
+
type: object
|
|
392
|
+
properties:
|
|
393
|
+
knock_state:
|
|
394
|
+
title: KnockState
|
|
395
|
+
type: object
|
|
396
|
+
description: |-
|
|
397
|
+
The [stripped state](/client-server-api/#stripped-state) of a room that the user has
|
|
398
|
+
knocked upon.
|
|
399
|
+
properties:
|
|
400
|
+
events:
|
|
401
|
+
description: |-
|
|
402
|
+
The [stripped state events](/client-server-api/#stripped-state) that form the
|
|
403
|
+
knock state.
|
|
404
|
+
items:
|
|
405
|
+
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
|
|
406
|
+
type: array
|
|
407
|
+
leave:
|
|
408
|
+
title: Left rooms
|
|
409
|
+
type: object
|
|
410
|
+
description: |-
|
|
411
|
+
The rooms that the user has left or been banned from, mapped as room ID to
|
|
412
|
+
room information.
|
|
413
|
+
patternProperties:
|
|
414
|
+
"^!":
|
|
415
|
+
x-pattern-format: mx-room-id
|
|
416
|
+
title: Left Room
|
|
417
|
+
type: object
|
|
418
|
+
properties:
|
|
419
|
+
state:
|
|
420
|
+
title: State
|
|
421
|
+
type: object
|
|
422
|
+
description: |-
|
|
423
|
+
The state updates for the room up to the **start** of the timeline.
|
|
424
|
+
|
|
425
|
+
MUST be omitted if `use_state_after` was set to `true` in the
|
|
426
|
+
request.
|
|
427
|
+
allOf:
|
|
428
|
+
- $ref: definitions/state_event_batch.yaml
|
|
429
|
+
state_after:
|
|
430
|
+
title: State
|
|
431
|
+
type: object
|
|
432
|
+
x-addedInMatrixVersion: "1.16"
|
|
433
|
+
description: |-
|
|
434
|
+
The state updates for the room up to the **end** of the timeline.
|
|
435
|
+
|
|
436
|
+
If this field is set, even if it is empty, clients MUST only
|
|
437
|
+
update their local state with events in this list, and MUST NOT
|
|
438
|
+
update their local state with events in `timeline`. If this field
|
|
439
|
+
is not set, clients MUST update their local state with events in
|
|
440
|
+
`state` and `timeline`.
|
|
441
|
+
|
|
442
|
+
**Required** if `use_state_after` was set to `true` in the
|
|
443
|
+
request, even if it is empty.
|
|
444
|
+
allOf:
|
|
445
|
+
- $ref: definitions/state_event_batch.yaml
|
|
446
|
+
timeline:
|
|
447
|
+
title: Timeline
|
|
448
|
+
type: object
|
|
449
|
+
description: |-
|
|
450
|
+
The timeline of messages and state changes in the
|
|
451
|
+
room up to the point when the user left.
|
|
452
|
+
allOf:
|
|
453
|
+
- $ref: definitions/timeline_batch.yaml
|
|
454
|
+
account_data:
|
|
455
|
+
title: Account Data
|
|
456
|
+
type: object
|
|
457
|
+
description: |-
|
|
458
|
+
The private data that this user has attached to
|
|
459
|
+
this room.
|
|
460
|
+
allOf:
|
|
461
|
+
- $ref: definitions/event_batch.yaml
|
|
462
|
+
presence:
|
|
463
|
+
title: Presence
|
|
464
|
+
type: object
|
|
465
|
+
description: The updates to the presence status of other users.
|
|
466
|
+
allOf:
|
|
467
|
+
- $ref: definitions/event_batch.yaml
|
|
468
|
+
account_data:
|
|
469
|
+
title: Account Data
|
|
470
|
+
type: object
|
|
471
|
+
description: The global private data created by this user.
|
|
472
|
+
allOf:
|
|
473
|
+
- $ref: definitions/event_batch.yaml
|
|
474
|
+
to_device:
|
|
475
|
+
title: ToDevice
|
|
476
|
+
type: object
|
|
477
|
+
description: |-
|
|
478
|
+
Information on the send-to-device messages for the client
|
|
479
|
+
device, as defined in [Send-to-Device messaging](/client-server-api/#extensions-to-sync).
|
|
480
|
+
device_lists:
|
|
481
|
+
title: DeviceLists
|
|
482
|
+
type: object
|
|
483
|
+
description: |-
|
|
484
|
+
Information on end-to-end device updates, as specified in
|
|
485
|
+
[End-to-end encryption](/client-server-api/#e2e-extensions-to-sync).
|
|
486
|
+
device_one_time_keys_count:
|
|
487
|
+
title: One-time keys count
|
|
488
|
+
type: object
|
|
489
|
+
additionalProperties:
|
|
490
|
+
type: integer
|
|
491
|
+
description: |-
|
|
492
|
+
Information on end-to-end encryption keys, as specified
|
|
493
|
+
in [End-to-end encryption](/client-server-api/#e2e-extensions-to-sync).
|
|
494
|
+
required:
|
|
495
|
+
- next_batch
|
|
496
|
+
examples:
|
|
497
|
+
response:
|
|
498
|
+
value: {
|
|
499
|
+
"next_batch": "s72595_4483_1934",
|
|
500
|
+
"presence": {
|
|
501
|
+
"events": [
|
|
502
|
+
{
|
|
503
|
+
"$ref": "../../event-schemas/examples/m.presence.yaml"
|
|
504
|
+
}
|
|
505
|
+
]
|
|
506
|
+
},
|
|
507
|
+
"account_data": {
|
|
508
|
+
"events": [
|
|
509
|
+
{
|
|
510
|
+
"type": "org.example.custom.config",
|
|
511
|
+
"content": {
|
|
512
|
+
"custom_config_key": "custom_config_value"
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
]
|
|
516
|
+
},
|
|
517
|
+
"rooms": {
|
|
518
|
+
"join": {
|
|
519
|
+
"!726s6s6q:example.com": {
|
|
520
|
+
"summary": {
|
|
521
|
+
"m.heroes": [
|
|
522
|
+
"@alice:example.com",
|
|
523
|
+
"@bob:example.com"
|
|
524
|
+
],
|
|
525
|
+
"m.joined_member_count": 2,
|
|
526
|
+
"m.invited_member_count": 0
|
|
527
|
+
},
|
|
528
|
+
"state": {
|
|
529
|
+
"events": [
|
|
530
|
+
{
|
|
531
|
+
"content": {
|
|
532
|
+
"avatar_url": "mxc://example.org/SFHyPlCeYUSFFxlgbQYZmoEoe",
|
|
533
|
+
"displayname": "Example user",
|
|
534
|
+
"membership": "join"
|
|
535
|
+
},
|
|
536
|
+
"event_id": "$143273976499sgjks:example.org",
|
|
537
|
+
"origin_server_ts": 1432735824653,
|
|
538
|
+
"sender": "@example:example.org",
|
|
539
|
+
"state_key": "@example:example.org",
|
|
540
|
+
"type": "m.room.member",
|
|
541
|
+
"unsigned": {
|
|
542
|
+
"age": 45603,
|
|
543
|
+
"membership": "join"
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
"timeline": {
|
|
549
|
+
"events": [
|
|
550
|
+
{
|
|
551
|
+
"content": {
|
|
552
|
+
"avatar_url": "mxc://example.org/SEsfnsuifSDFSSEF",
|
|
553
|
+
"displayname": "Alice Margatroid",
|
|
554
|
+
"membership": "join",
|
|
555
|
+
"reason": "Looking for support"
|
|
556
|
+
},
|
|
557
|
+
"event_id": "$143273582443PhrSn:example.org",
|
|
558
|
+
"origin_server_ts": 1432735824653,
|
|
559
|
+
"sender": "@alice:example.org",
|
|
560
|
+
"state_key": "@alice:example.org",
|
|
561
|
+
"type": "m.room.member",
|
|
562
|
+
"unsigned": {
|
|
563
|
+
"age": 1234,
|
|
564
|
+
"membership": "join"
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"content": {
|
|
569
|
+
"body": "This is an example text message",
|
|
570
|
+
"format": "org.matrix.custom.html",
|
|
571
|
+
"formatted_body": "<b>This is an example text message</b>",
|
|
572
|
+
"msgtype": "m.text"
|
|
573
|
+
},
|
|
574
|
+
"event_id": "$143273582443PhrSn:example.org",
|
|
575
|
+
"origin_server_ts": 1432735824653,
|
|
576
|
+
"sender": "@example:example.org",
|
|
577
|
+
"type": "m.room.message",
|
|
578
|
+
"unsigned": {
|
|
579
|
+
"age": 1234,
|
|
580
|
+
"membership": "join"
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
],
|
|
584
|
+
"limited": true,
|
|
585
|
+
"prev_batch": "t34-23535_0_0"
|
|
586
|
+
},
|
|
587
|
+
"ephemeral": {
|
|
588
|
+
"events": [
|
|
589
|
+
{
|
|
590
|
+
"$ref": "../../event-schemas/examples/m.typing.yaml"
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"$ref": "../../event-schemas/examples/m.receipt.yaml"
|
|
594
|
+
}
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
"account_data": {
|
|
598
|
+
"events": [
|
|
599
|
+
{
|
|
600
|
+
"$ref": "../../event-schemas/examples/m.tag.yaml"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"type": "org.example.custom.room.config",
|
|
604
|
+
"content": {
|
|
605
|
+
"custom_config_key": "custom_config_value"
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
]
|
|
609
|
+
},
|
|
610
|
+
"unread_notifications": {
|
|
611
|
+
"highlight_count": 1,
|
|
612
|
+
"notification_count": 5
|
|
613
|
+
},
|
|
614
|
+
"unread_thread_notifications": {
|
|
615
|
+
"$threadroot": {
|
|
616
|
+
"highlight_count": 3,
|
|
617
|
+
"notification_count": 6
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
"invite": {
|
|
623
|
+
"!696r7674:example.com": {
|
|
624
|
+
"invite_state": {
|
|
625
|
+
"events": [
|
|
626
|
+
{
|
|
627
|
+
"sender": "@alice:example.com",
|
|
628
|
+
"type": "m.room.name",
|
|
629
|
+
"state_key": "",
|
|
630
|
+
"content": {
|
|
631
|
+
"name": "My Room Name"
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"sender": "@alice:example.com",
|
|
636
|
+
"type": "m.room.member",
|
|
637
|
+
"state_key": "@bob:example.com",
|
|
638
|
+
"content": {
|
|
639
|
+
"membership": "invite"
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
},
|
|
646
|
+
"knock": {
|
|
647
|
+
"!223asd456:example.com": {
|
|
648
|
+
"knock_state": {
|
|
649
|
+
"events": [
|
|
650
|
+
{
|
|
651
|
+
"sender": "@alice:example.com",
|
|
652
|
+
"type": "m.room.name",
|
|
653
|
+
"state_key": "",
|
|
654
|
+
"content": {
|
|
655
|
+
"name": "My Room Name"
|
|
656
|
+
}
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"sender": "@bob:example.com",
|
|
660
|
+
"type": "m.room.member",
|
|
661
|
+
"state_key": "@bob:example.com",
|
|
662
|
+
"content": {
|
|
663
|
+
"membership": "knock"
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
]
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
},
|
|
670
|
+
"leave": {}
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
tags:
|
|
674
|
+
- Room participation
|
|
675
|
+
servers:
|
|
676
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
677
|
+
variables:
|
|
678
|
+
protocol:
|
|
679
|
+
enum:
|
|
680
|
+
- http
|
|
681
|
+
- https
|
|
682
|
+
default: https
|
|
683
|
+
hostname:
|
|
684
|
+
default: localhost:8008
|
|
685
|
+
basePath:
|
|
686
|
+
default: /_matrix/client/v3
|
|
687
|
+
components:
|
|
688
|
+
securitySchemes:
|
|
689
|
+
accessTokenQuery:
|
|
690
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
691
|
+
accessTokenBearer:
|
|
692
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|