client-api: Stabilize MSC2918
This commit is contained in:
parent
05a28c8097
commit
0d71ce17da
@ -8,12 +8,9 @@ Breaking changes:
|
|||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
||||||
* Add unstable support for refresh tokens (MSC2918)
|
* Add support for refresh tokens (MSC2918)
|
||||||
* Add `ErrorKind::{UnableToAuthorizeJoin, UnableToGrantJoin}` encountered for restricted rooms
|
* Add `ErrorKind::{UnableToAuthorizeJoin, UnableToGrantJoin}` encountered for restricted rooms
|
||||||
* Add unstable support for timestamp massaging (MSC3316)
|
* Add unstable support for timestamp massaging (MSC3316)
|
||||||
|
|
||||||
Improvements:
|
|
||||||
|
|
||||||
* Add unstable support for querying relating events (MSC2675)
|
* Add unstable support for querying relating events (MSC2675)
|
||||||
* Move `filter::RelationType` to `ruma_common::events::relations`
|
* Move `filter::RelationType` to `ruma_common::events::relations`
|
||||||
* Add unstable support for discovering an OpenID Connect server (MSC2965)
|
* Add unstable support for discovering an OpenID Connect server (MSC2965)
|
||||||
|
@ -25,7 +25,6 @@ unstable-msc2654 = []
|
|||||||
unstable-msc2675 = []
|
unstable-msc2675 = []
|
||||||
unstable-msc2676 = []
|
unstable-msc2676 = []
|
||||||
unstable-msc2677 = []
|
unstable-msc2677 = []
|
||||||
unstable-msc2918 = []
|
|
||||||
unstable-msc2965 = []
|
unstable-msc2965 = []
|
||||||
unstable-msc3316 = []
|
unstable-msc3316 = []
|
||||||
unstable-msc3440 = []
|
unstable-msc3440 = []
|
||||||
|
@ -7,7 +7,6 @@ pub mod v3 {
|
|||||||
//!
|
//!
|
||||||
//! [spec]: https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3register
|
//! [spec]: https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3register
|
||||||
|
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
use ruma_common::{api::ruma_api, DeviceId, OwnedDeviceId, OwnedUserId};
|
use ruma_common::{api::ruma_api, DeviceId, OwnedDeviceId, OwnedUserId};
|
||||||
@ -85,8 +84,9 @@ pub mod v3 {
|
|||||||
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
|
||||||
pub login_type: Option<&'a LoginType>,
|
pub login_type: Option<&'a LoginType>,
|
||||||
|
|
||||||
/// If set to `true`, the client supports refresh tokens.
|
/// If set to `true`, the client supports [refresh tokens].
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
///
|
||||||
|
/// [refresh tokens]: https://spec.matrix.org/v1.3/client-server-api/#refreshing-access-tokens
|
||||||
#[serde(
|
#[serde(
|
||||||
default,
|
default,
|
||||||
skip_serializing_if = "ruma_common::serde::is_default",
|
skip_serializing_if = "ruma_common::serde::is_default",
|
||||||
@ -115,13 +115,15 @@ pub mod v3 {
|
|||||||
/// Required if the request's `inhibit_login` was set to `false`.
|
/// Required if the request's `inhibit_login` was set to `false`.
|
||||||
pub device_id: Option<OwnedDeviceId>,
|
pub device_id: Option<OwnedDeviceId>,
|
||||||
|
|
||||||
/// A refresh token for the account.
|
/// A [refresh token] for the account.
|
||||||
///
|
///
|
||||||
/// This token can be used to obtain a new access token when it expires by calling the
|
/// This token can be used to obtain a new access token when it expires by calling the
|
||||||
/// `/refresh` endpoint.
|
/// [`refresh_token`] endpoint.
|
||||||
///
|
///
|
||||||
/// Omitted if the request's `inhibit_login` was set to `true`.
|
/// Omitted if the request's `inhibit_login` was set to `true`.
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
///
|
||||||
|
/// [refresh token]: https://spec.matrix.org/v1.3/client-server-api/#refreshing-access-tokens
|
||||||
|
/// [`refresh_token`]: crate::session::refresh_token
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub refresh_token: Option<String>,
|
pub refresh_token: Option<String>,
|
||||||
|
|
||||||
@ -134,7 +136,6 @@ pub mod v3 {
|
|||||||
/// If this is `None`, the client can assume that the access token will not expire.
|
/// If this is `None`, the client can assume that the access token will not expire.
|
||||||
///
|
///
|
||||||
/// Omitted if the request's `inhibit_login` was set to `true`.
|
/// Omitted if the request's `inhibit_login` was set to `true`.
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
#[serde(
|
#[serde(
|
||||||
with = "ruma_common::serde::duration::opt_ms",
|
with = "ruma_common::serde::duration::opt_ms",
|
||||||
default,
|
default,
|
||||||
@ -161,9 +162,7 @@ pub mod v3 {
|
|||||||
access_token: None,
|
access_token: None,
|
||||||
user_id,
|
user_id,
|
||||||
device_id: None,
|
device_id: None,
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
refresh_token: None,
|
refresh_token: None,
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
expires_in: None,
|
expires_in: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ pub mod login;
|
|||||||
pub mod login_fallback;
|
pub mod login_fallback;
|
||||||
pub mod logout;
|
pub mod logout;
|
||||||
pub mod logout_all;
|
pub mod logout_all;
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
pub mod refresh_token;
|
pub mod refresh_token;
|
||||||
pub mod sso_login;
|
pub mod sso_login;
|
||||||
pub mod sso_login_with_provider;
|
pub mod sso_login_with_provider;
|
||||||
|
@ -5,7 +5,6 @@ pub mod v3 {
|
|||||||
//!
|
//!
|
||||||
//! [spec]: https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3login
|
//! [spec]: https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3login
|
||||||
|
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
use ruma_common::{
|
use ruma_common::{
|
||||||
@ -48,8 +47,9 @@ pub mod v3 {
|
|||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub initial_device_display_name: Option<&'a str>,
|
pub initial_device_display_name: Option<&'a str>,
|
||||||
|
|
||||||
/// If set to `true`, the client supports refresh tokens.
|
/// If set to `true`, the client supports [refresh tokens].
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
///
|
||||||
|
/// [refresh tokens]: https://spec.matrix.org/v1.3/client-server-api/#refreshing-access-tokens
|
||||||
#[serde(
|
#[serde(
|
||||||
default,
|
default,
|
||||||
skip_serializing_if = "ruma_common::serde::is_default",
|
skip_serializing_if = "ruma_common::serde::is_default",
|
||||||
@ -85,11 +85,13 @@ pub mod v3 {
|
|||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub well_known: Option<DiscoveryInfo>,
|
pub well_known: Option<DiscoveryInfo>,
|
||||||
|
|
||||||
/// A refresh token for the account.
|
/// A [refresh token] for the account.
|
||||||
///
|
///
|
||||||
/// This token can be used to obtain a new access token when it expires by calling the
|
/// This token can be used to obtain a new access token when it expires by calling the
|
||||||
/// `/refresh` endpoint.
|
/// [`refresh_token`] endpoint.
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
///
|
||||||
|
/// [refresh token]: https://spec.matrix.org/v1.3/client-server-api/#refreshing-access-tokens
|
||||||
|
/// [`refresh_token`]: crate::session::refresh_token
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub refresh_token: Option<String>,
|
pub refresh_token: Option<String>,
|
||||||
|
|
||||||
@ -100,7 +102,6 @@ pub mod v3 {
|
|||||||
/// re-login to obtain a new access token.
|
/// re-login to obtain a new access token.
|
||||||
///
|
///
|
||||||
/// If this is `None`, the client can assume that the access token will not expire.
|
/// If this is `None`, the client can assume that the access token will not expire.
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
#[serde(
|
#[serde(
|
||||||
with = "ruma_common::serde::duration::opt_ms",
|
with = "ruma_common::serde::duration::opt_ms",
|
||||||
default,
|
default,
|
||||||
@ -120,7 +121,6 @@ pub mod v3 {
|
|||||||
login_info,
|
login_info,
|
||||||
device_id: None,
|
device_id: None,
|
||||||
initial_device_display_name: None,
|
initial_device_display_name: None,
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
refresh_token: false,
|
refresh_token: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -135,9 +135,7 @@ pub mod v3 {
|
|||||||
home_server: None,
|
home_server: None,
|
||||||
device_id,
|
device_id,
|
||||||
well_known: None,
|
well_known: None,
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
refresh_token: None,
|
refresh_token: None,
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
expires_in: None,
|
expires_in: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -424,7 +422,6 @@ pub mod v3 {
|
|||||||
login_info: LoginInfo::Token(Token { token: "0xdeadbeef" }),
|
login_info: LoginInfo::Token(Token { token: "0xdeadbeef" }),
|
||||||
device_id: None,
|
device_id: None,
|
||||||
initial_device_display_name: Some("test"),
|
initial_device_display_name: Some("test"),
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
refresh_token: false,
|
refresh_token: false,
|
||||||
}
|
}
|
||||||
.try_into_http_request(
|
.try_into_http_request(
|
||||||
@ -451,7 +448,6 @@ pub mod v3 {
|
|||||||
}),
|
}),
|
||||||
device_id: None,
|
device_id: None,
|
||||||
initial_device_display_name: Some("test"),
|
initial_device_display_name: Some("test"),
|
||||||
#[cfg(feature = "unstable-msc2918")]
|
|
||||||
refresh_token: false,
|
refresh_token: false,
|
||||||
}
|
}
|
||||||
.try_into_http_request(
|
.try_into_http_request(
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
//!
|
//!
|
||||||
//! Application Service identity assertion is disabled for this endpoint.
|
//! Application Service identity assertion is disabled for this endpoint.
|
||||||
|
|
||||||
pub mod unstable {
|
pub mod v3 {
|
||||||
//! `/unstable/` (MSC2918)
|
//! `/v3/` ([spec])
|
||||||
//!
|
//!
|
||||||
//! [MSC2918]: https://github.com/matrix-org/matrix-spec-proposals/pull/2918
|
//! [spec]: https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3refresh
|
||||||
|
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
@ -35,8 +35,10 @@ pub mod unstable {
|
|||||||
method: POST,
|
method: POST,
|
||||||
name: "refresh",
|
name: "refresh",
|
||||||
unstable_path: "/_matrix/client/unstable/org.matrix.msc2918/refresh",
|
unstable_path: "/_matrix/client/unstable/org.matrix.msc2918/refresh",
|
||||||
|
stable_path: "/_matrix/client/v3/refresh",
|
||||||
rate_limited: true,
|
rate_limited: true,
|
||||||
authentication: None,
|
authentication: None,
|
||||||
|
added: 1.3,
|
||||||
}
|
}
|
||||||
|
|
||||||
request: {
|
request: {
|
||||||
|
@ -139,7 +139,6 @@ unstable-msc2677 = [
|
|||||||
]
|
]
|
||||||
unstable-msc2746 = ["ruma-common/unstable-msc2746"]
|
unstable-msc2746 = ["ruma-common/unstable-msc2746"]
|
||||||
unstable-msc2870 = ["ruma-signatures?/unstable-msc2870"]
|
unstable-msc2870 = ["ruma-signatures?/unstable-msc2870"]
|
||||||
unstable-msc2918 = ["ruma-client-api?/unstable-msc2918"]
|
|
||||||
unstable-msc3245 = ["ruma-common/unstable-msc3245"]
|
unstable-msc3245 = ["ruma-common/unstable-msc3245"]
|
||||||
unstable-msc3246 = ["ruma-common/unstable-msc3246"]
|
unstable-msc3246 = ["ruma-common/unstable-msc3246"]
|
||||||
unstable-msc3316 = ["ruma-client-api?/unstable-msc3316"]
|
unstable-msc3316 = ["ruma-client-api?/unstable-msc3316"]
|
||||||
@ -172,7 +171,6 @@ __ci = [
|
|||||||
"unstable-msc2677",
|
"unstable-msc2677",
|
||||||
"unstable-msc2746",
|
"unstable-msc2746",
|
||||||
"unstable-msc2870",
|
"unstable-msc2870",
|
||||||
"unstable-msc2918",
|
|
||||||
"unstable-msc3245",
|
"unstable-msc3245",
|
||||||
"unstable-msc3246",
|
"unstable-msc3246",
|
||||||
"unstable-msc3316",
|
"unstable-msc3316",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user