From 00c912ab7b2b5fe54ddd6cd16f8f1d3ec31a9da6 Mon Sep 17 00:00:00 2001 From: Chris Smith <1979423+chris13524@users.noreply.github.com> Date: Wed, 8 May 2024 15:41:05 +0100 Subject: [PATCH] Revert "fix: SDK analytics (#545)" (#549) This reverts commit afad3cccf39afa01200804ce94a19f3aaae31f83. --- src/analytics/relay_request.rs | 4 -- src/auth.rs | 70 ++----------------- src/publish_relay_message.rs | 3 - .../handlers/relay_webhook/error.rs | 3 - .../relay_webhook/handlers/notify_delete.rs | 27 +------ .../handlers/notify_get_notifications.rs | 20 ++---- .../notify_mark_notifications_as_read.rs | 20 ++---- .../handlers/notify_subscribe.rs | 17 ----- .../relay_webhook/handlers/notify_update.rs | 27 +------ .../handlers/notify_watch_subscriptions.rs | 22 +----- src/services/publisher_service/mod.rs | 2 +- terraform/README.md | 2 +- tests/integration.rs | 5 -- tests/utils/notify_relay_api.rs | 2 - 14 files changed, 21 insertions(+), 203 deletions(-) diff --git a/src/analytics/relay_request.rs b/src/analytics/relay_request.rs index 2c6b933b..7abf8403 100644 --- a/src/analytics/relay_request.rs +++ b/src/analytics/relay_request.rs @@ -9,7 +9,6 @@ use { pub struct RelayResponseParams { pub request: Arc, - pub request_sdk: Option>, pub response_message_id: Arc, pub response_topic: Topic, @@ -32,8 +31,6 @@ pub struct RelayRequest { pub request_tag: u32, /// Time at which the request was received pub request_received_at: NaiveDateTime, - /// The SDK information of the request - pub request_sdk: Option>, /// Relay message ID of response pub response_message_id: Arc, @@ -58,7 +55,6 @@ impl From for RelayRequest { request_topic: params.request.topic.value().clone(), request_tag: params.request.tag, request_received_at: params.request.received_at.naive_utc(), - request_sdk: params.request_sdk, response_message_id: params.response_message_id.clone(), response_topic: params.response_topic.value().clone(), diff --git a/src/auth.rs b/src/auth.rs index bb5d28f2..6b7a60fa 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -89,7 +89,7 @@ pub trait GetSharedClaims { fn get_shared_claims(&self) -> &SharedClaims; } -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct WatchSubscriptionsRequestAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -100,16 +100,6 @@ pub struct WatchSubscriptionsRequestAuth { /// did:web of app domain to watch, or `null` for all domains #[serde(default)] pub app: Option, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, -} - -impl WatchSubscriptionsRequestAuth { - pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(&self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string())) - } } impl GetSharedClaims for WatchSubscriptionsRequestAuth { @@ -186,7 +176,7 @@ pub struct WatchSubscriptionsChangedResponseAuth { // Note: MessageAuth is different since it doesn't have `aud` // pub struct MessageAuth { -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct MessageResponseAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -196,16 +186,6 @@ pub struct MessageResponseAuth { pub sub: String, /// did:web of app domain pub app: DidWeb, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, -} - -impl MessageResponseAuth { - pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(&self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string())) - } } impl GetSharedClaims for MessageResponseAuth { @@ -214,7 +194,7 @@ impl GetSharedClaims for MessageResponseAuth { } } -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct SubscriptionRequestAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -226,16 +206,6 @@ pub struct SubscriptionRequestAuth { pub app: DidWeb, /// space-delimited scope of notification types authorized by the user pub scp: String, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, -} - -impl SubscriptionRequestAuth { - pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(&self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string())) - } } impl GetSharedClaims for SubscriptionRequestAuth { @@ -263,7 +233,7 @@ impl GetSharedClaims for SubscriptionResponseAuth { } } -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct SubscriptionUpdateRequestAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -275,16 +245,6 @@ pub struct SubscriptionUpdateRequestAuth { pub app: DidWeb, /// space-delimited scope of notification types authorized by the user pub scp: String, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, -} - -impl SubscriptionUpdateRequestAuth { - pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(&self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string())) - } } impl GetSharedClaims for SubscriptionUpdateRequestAuth { @@ -311,7 +271,7 @@ impl GetSharedClaims for SubscriptionUpdateResponseAuth { } } -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct SubscriptionDeleteRequestAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -321,16 +281,6 @@ pub struct SubscriptionDeleteRequestAuth { pub sub: String, /// did:web of app domain pub app: DidWeb, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, -} - -impl SubscriptionDeleteRequestAuth { - pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(&self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string())) - } } impl GetSharedClaims for SubscriptionDeleteRequestAuth { @@ -370,9 +320,6 @@ pub struct SubscriptionGetNotificationsRequestAuth { #[serde(flatten)] #[validate(nested)] pub params: GetNotificationsParams, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, } impl SubscriptionGetNotificationsRequestAuth { @@ -406,7 +353,7 @@ impl GetSharedClaims for SubscriptionGetNotificationsResponseAuth { } } -#[derive(Debug, Clone, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct SubscriptionMarkNotificationsAsReadRequestAuth { #[serde(flatten)] pub shared_claims: SharedClaims, @@ -418,15 +365,10 @@ pub struct SubscriptionMarkNotificationsAsReadRequestAuth { pub app: DidWeb, #[serde(flatten)] pub params: MarkNotificationsAsReadParams, - /// Arbitrary-format platform and version of the SDK being used - #[validate(length(min = 1, max = 16))] - pub sdk: Option, } impl SubscriptionMarkNotificationsAsReadRequestAuth { pub fn validate(&self) -> Result<(), NotifyServerError> { - Validate::validate(self) - .map_err(|error| NotifyServerError::UnprocessableEntity(error.to_string()))?; self.params .validate_with_args(&MarkNotificationsAsReadParamsValidatorContext { all: self.params.all, diff --git a/src/publish_relay_message.rs b/src/publish_relay_message.rs index 668f8e8a..2992a20f 100644 --- a/src/publish_relay_message.rs +++ b/src/publish_relay_message.rs @@ -31,7 +31,6 @@ pub async fn publish_relay_message( relay_client: &Client, publish: &Publish, relay_request: Option>, - sdk: Option>, metrics: Option<&Metrics>, analytics: &NotifyAnalytics, ) -> Result<(), Error> { @@ -93,7 +92,6 @@ pub async fn publish_relay_message( let finished = Utc::now(); analytics.relay_request(RelayResponseParams { request: relay_request, - request_sdk: sdk, response_message_id: get_message_id(&publish.message).into(), response_topic: publish.topic.clone(), response_tag: publish.tag, @@ -124,7 +122,6 @@ pub async fn publish_relay_message( let finished = Utc::now(); analytics.relay_request(RelayResponseParams { request: relay_request, - request_sdk: sdk, response_message_id: get_message_id(&publish.message).into(), response_topic: publish.topic.clone(), response_tag: publish.tag, diff --git a/src/services/public_http_server/handlers/relay_webhook/error.rs b/src/services/public_http_server/handlers/relay_webhook/error.rs index 2f474b57..7d91845d 100644 --- a/src/services/public_http_server/handlers/relay_webhook/error.rs +++ b/src/services/public_http_server/handlers/relay_webhook/error.rs @@ -118,9 +118,6 @@ pub enum RelayMessageServerError { #[error("Subscription watcher send: {0}")] SubscriptionWatcherSend(SubscriptionWatcherSendError), - - #[error("Error sending sdk info via oneshot channel")] - SdkOneshotSend, } #[derive(Debug, thiserror::Error)] diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_delete.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_delete.rs index a1d1e560..ad585509 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_delete.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_delete.rs @@ -46,7 +46,6 @@ use { rpc::Publish, }, std::{collections::HashSet, sync::Arc}, - tokio::sync::oneshot, tracing::{info, warn}, }; @@ -88,12 +87,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, msg: &RelayIncomingMessage, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, subscriber: &SubscriberWithScope, project: &Project, project_client_id: DecodedClientId, @@ -114,14 +111,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -242,16 +231,7 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R Ok((ResponseAuth { response_auth }, watchers_with_subscriptions)) } - let result = handle( - state, - &msg, - &req, - sdk_tx, - &subscriber, - &project, - project_client_id, - ) - .await; + let result = handle(state, &msg, &req, &subscriber, &project, project_client_id).await; let (response, watchers_with_subscriptions, result) = match result { Ok((result, watchers_with_subscriptions)) => ( @@ -268,13 +248,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R ), }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let msg = Arc::from(msg); let response_fut = { let msg = msg.clone(); - let sdk = sdk.clone(); async { let envelope = Envelope::::new(&sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; @@ -291,7 +268,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(msg), - sdk, state.metrics.as_ref(), &state.analytics, ) @@ -309,7 +285,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R &state.notify_keys.authentication_client_id, &state.relay_client, msg, - sdk, state.metrics.as_ref(), &state.analytics, ) diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_get_notifications.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_get_notifications.rs index d6db8c8e..8b560126 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_get_notifications.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_get_notifications.rs @@ -41,7 +41,6 @@ use { rpc::{msg_id::get_message_id, Publish}, }, std::sync::Arc, - tokio::sync::oneshot, tracing::info, }; @@ -80,12 +79,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, msg: &RelayIncomingMessage, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, subscriber: &SubscriberWithScope, project: &Project, ) -> Result { @@ -99,14 +96,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -152,6 +141,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R (account, Arc::::from(domain)) }; + request_auth + .validate() + .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? + let data = get_notifications_for_subscriber( subscriber.id, request_auth.params, @@ -225,7 +218,7 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R Ok(AuthMessage { auth }) } - let result = handle(state, &msg, &req, sdk_tx, &subscriber, &project).await; + let result = handle(state, &msg, &req, &subscriber, &project).await; let response = match &result { Ok(result) => serde_json::to_vec(&JsonRpcResponse::new(req.id, result)) @@ -234,8 +227,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R .map_err(RelayMessageServerError::JsonRpcResponseErrorSerialization)?, }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let envelope = Envelope::::new(&sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; @@ -251,7 +242,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(Arc::new(msg)), - sdk, state.metrics.as_ref(), &state.analytics, ) diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_mark_notifications_as_read.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_mark_notifications_as_read.rs index 34e99be8..8762e6c9 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_mark_notifications_as_read.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_mark_notifications_as_read.rs @@ -39,7 +39,6 @@ use { rpc::{msg_id::get_message_id, Publish}, }, std::sync::Arc, - tokio::sync::oneshot, tracing::info, }; @@ -79,12 +78,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, msg: &RelayIncomingMessage, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, subscriber: &SubscriberWithScope, project: &Project, ) -> Result { @@ -99,14 +96,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -152,6 +141,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R (account, Arc::::from(domain)) }; + request_auth + .validate() + .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? + let data = mark_notifications_as_read( subscriber.id, request_auth.params.ids, @@ -212,7 +205,7 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R Ok(AuthMessage { auth }) } - let result = handle(state, &msg, &req, sdk_tx, &subscriber, &project).await; + let result = handle(state, &msg, &req, &subscriber, &project).await; let response = match &result { Ok(result) => serde_json::to_vec(&JsonRpcResponse::new(req.id, result)) @@ -221,8 +214,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R .map_err(RelayMessageServerError::JsonRpcResponseErrorSerialization)?, }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let envelope = Envelope::::new(&sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; @@ -238,7 +229,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(Arc::new(msg)), - sdk, state.metrics.as_ref(), &state.analytics, ) diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_subscribe.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_subscribe.rs index 8e4fe81f..f1e5e06d 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_subscribe.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_subscribe.rs @@ -49,7 +49,6 @@ use { rpc::Publish, }, std::{collections::HashSet, sync::Arc}, - tokio::sync::oneshot, tracing::{info, instrument}, uuid::Uuid, x25519_dalek::{PublicKey, StaticSecret}, @@ -106,12 +105,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, msg: &RelayIncomingMessage, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, project: &Project, project_client_id: DecodedClientId, client_public_key: &PublicKey, @@ -132,14 +129,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -335,7 +324,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R state, &msg, &req, - sdk_tx, &project, project_client_id, &client_public_key, @@ -357,13 +345,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R ), }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let msg = Arc::new(msg); let response_fut = { let msg = msg.clone(); - let sdk = sdk.clone(); async { let envelope = Envelope::::new(&sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; @@ -381,7 +366,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(msg), - sdk, state.metrics.as_ref(), &state.analytics, ) @@ -401,7 +385,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R &state.notify_keys.authentication_client_id, &state.relay_client, msg, - sdk, state.metrics.as_ref(), &state.analytics, ) diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_update.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_update.rs index ab8fdec2..720898e3 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_update.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_update.rs @@ -44,7 +44,6 @@ use { rpc::Publish, }, std::{collections::HashSet, sync::Arc}, - tokio::sync::oneshot, tracing::info, }; @@ -86,12 +85,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, msg: &RelayIncomingMessage, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, subscriber: &SubscriberWithScope, project: &Project, project_client_id: DecodedClientId, @@ -112,14 +109,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -237,16 +226,7 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R Ok((ResponseAuth { response_auth }, watchers_with_subscriptions)) } - let result = handle( - state, - &msg, - &req, - sdk_tx, - &subscriber, - &project, - project_client_id, - ) - .await; + let result = handle(state, &msg, &req, &subscriber, &project, project_client_id).await; let (response, watchers_with_subscriptions, result) = match result { Ok((result, watchers_with_subscriptions)) => ( @@ -263,13 +243,10 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R ), }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let msg = Arc::new(msg); let response_fut = { let msg = msg.clone(); - let sdk = sdk.clone(); async { let envelope = Envelope::::new(&sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; @@ -286,7 +263,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(msg), - sdk, state.metrics.as_ref(), &state.analytics, ) @@ -304,7 +280,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R &state.notify_keys.authentication_client_id, &state.relay_client, msg, - sdk, state.metrics.as_ref(), &state.analytics, ) diff --git a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_watch_subscriptions.rs b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_watch_subscriptions.rs index 951ceb13..3ea9ca1d 100644 --- a/src/services/public_http_server/handlers/relay_webhook/handlers/notify_watch_subscriptions.rs +++ b/src/services/public_http_server/handlers/relay_webhook/handlers/notify_watch_subscriptions.rs @@ -47,7 +47,6 @@ use { sqlx::PgPool, std::sync::Arc, thiserror::Error, - tokio::sync::oneshot, tracing::{info, instrument}, x25519_dalek::PublicKey, }; @@ -81,11 +80,9 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R let req = decrypt_message::(envelope, &response_sym_key)?; - let (sdk_tx, mut sdk_rx) = oneshot::channel(); async fn handle( state: &AppState, req: &JsonRpcRequest, - sdk_tx: oneshot::Sender>>, response_sym_key: &[u8; 32], ) -> Result { info!("req.id: {}", req.id); @@ -99,14 +96,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R "request_auth.shared_claims.iss: {:?}", request_auth.shared_claims.iss ); - - request_auth - .validate() - .map_err(RelayMessageServerError::NotifyServer)?; // TODO change to client error? - - sdk_tx - .send(request_auth.sdk.map(Into::into)) - .map_err(|_| RelayMessageServerError::SdkOneshotSend)?; let request_iss_client_id = DecodedClientId::try_from_did_key(&request_auth.shared_claims.iss) .map_err(AuthError::JwtIssNotDidKey) @@ -216,7 +205,7 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R Ok(ResponseAuth { response_auth }) } - let result = handle(state, &req, sdk_tx, &response_sym_key).await; + let result = handle(state, &req, &response_sym_key).await; let response = match &result { Ok(result) => serde_json::to_vec(&JsonRpcResponse::new(req.id, result)) @@ -225,8 +214,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R .map_err(RelayMessageServerError::JsonRpcResponseErrorSerialization)?, }; - let sdk = sdk_rx.try_recv().unwrap_or(None); - let envelope = Envelope::::new(&response_sym_key, response) .map_err(RelayMessageServerError::EnvelopeEncryption)?; let base64_notification = base64::engine::general_purpose::STANDARD.encode(envelope.to_bytes()); @@ -242,7 +229,6 @@ pub async fn handle(msg: RelayIncomingMessage, state: &AppState) -> Result<(), R prompt: false, }, Some(Arc::new(msg)), - sdk, state.metrics.as_ref(), &state.analytics, ) @@ -432,7 +418,6 @@ pub async fn prepare_subscription_watchers( Ok((source_subscriptions, watchers_with_subscriptions)) } -#[allow(clippy::too_many_arguments)] #[instrument(skip_all)] pub async fn send_to_subscription_watchers( watchers_with_subscriptions: Vec<(SubscriptionWatcherQuery, Vec)>, @@ -440,14 +425,12 @@ pub async fn send_to_subscription_watchers( authentication_client_id: &DecodedClientId, http_client: &relay_client::http::Client, relay_request: Arc, - sdk: Option>, metrics: Option<&Metrics>, analytics: &NotifyAnalytics, ) -> Result<(), SubscriptionWatcherSendError> { let results = futures_util::stream::iter(watchers_with_subscriptions) .map(|(watcher, subscriptions)| { let relay_request = relay_request.clone(); - let sdk = sdk.clone(); async move { info!( "Timing: Sending watchSubscriptionsChanged to watcher.did_key: {}", @@ -462,7 +445,6 @@ pub async fn send_to_subscription_watchers( authentication_client_id, http_client, relay_request, - sdk, metrics, analytics, ) @@ -512,7 +494,6 @@ async fn send( authentication_client_id: &DecodedClientId, http_client: &relay_client::http::Client, relay_request: Arc, - sdk: Option>, metrics: Option<&Metrics>, analytics: &NotifyAnalytics, ) -> Result<(), SubscriptionWatcherSendError> { @@ -558,7 +539,6 @@ async fn send( prompt: false, }, Some(relay_request), - sdk, metrics, analytics, ) diff --git a/src/services/publisher_service/mod.rs b/src/services/publisher_service/mod.rs index 73cde5f2..88889316 100644 --- a/src/services/publisher_service/mod.rs +++ b/src/services/publisher_service/mod.rs @@ -354,7 +354,7 @@ async fn process_notification( prompt: true, }; let message_id = publish.msg_id(); - publish_relay_message(relay_client, &publish, None, None, metrics, analytics) + publish_relay_message(relay_client, &publish, None, metrics, analytics) .await .map_err(ProcessNotificationError::RelayPublish)?; diff --git a/terraform/README.md b/terraform/README.md index 4613e79d..c773f9f5 100644 --- a/terraform/README.md +++ b/terraform/README.md @@ -19,7 +19,7 @@ To authenticate, run `terraform login` and follow the instructions. | Name | Version | |------|---------| -| [aws](#provider\_aws) | 5.48.0 | +| [aws](#provider\_aws) | 5.47.0 | | [random](#provider\_random) | 3.6.1 | | [terraform](#provider\_terraform) | n/a | ## Modules diff --git a/tests/integration.rs b/tests/integration.rs index 567945c8..ef95ba7b 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -2845,7 +2845,6 @@ async fn publish_notify_message_response( ksu: identity_key_details.keys_server_url.to_string(), sub: account.to_did_pkh(), app: did_web, - sdk: None, }, &identity_key_details.signing_key, ), @@ -2923,7 +2922,6 @@ async fn publish_update_request( sub: account.to_did_pkh(), app, scp: encode_scope(notification_types), - sdk: None, }, &identity_key_details.signing_key, ), @@ -3050,7 +3048,6 @@ async fn publish_delete_request( ksu: identity_key_details.keys_server_url.to_string(), sub: account.to_did_pkh(), app, - sdk: None, }, &identity_key_details.signing_key, ), @@ -3172,7 +3169,6 @@ async fn publish_get_notifications_request( sub: account.to_did_pkh(), app, params, - sdk: None, }, &identity_key_details.signing_key, ), @@ -3267,7 +3263,6 @@ async fn publish_mark_notifications_as_read_request( sub: account.to_did_pkh(), app, params, - sdk: None, }, &identity_key_details.signing_key, ), diff --git a/tests/utils/notify_relay_api.rs b/tests/utils/notify_relay_api.rs index 527e2815..e2812345 100644 --- a/tests/utils/notify_relay_api.rs +++ b/tests/utils/notify_relay_api.rs @@ -73,7 +73,6 @@ async fn publish_watch_subscriptions_request( ksu: identity_key_details.keys_server_url.to_string(), sub: account.to_did_pkh(), app, - sdk: None, }, &identity_key_details.signing_key, ), @@ -253,7 +252,6 @@ async fn publish_subscribe_request( .collect::>() .join(" "), app, - sdk: None, }, &identity_key_details.signing_key, ),