diff --git a/crates/matrix-sdk/src/http_client/mod.rs b/crates/matrix-sdk/src/http_client/mod.rs index d3c511627..d7a0c1515 100644 --- a/crates/matrix-sdk/src/http_client/mod.rs +++ b/crates/matrix-sdk/src/http_client/mod.rs @@ -179,10 +179,14 @@ impl HttpClient { let method = request.method(); let mut uri_parts = request.uri().clone().into_parts(); + + // Erase the query parameters for the sake of secrecy (in case a token is + // present). if let Some(path_and_query) = &mut uri_parts.path_and_query { *path_and_query = path_and_query.path().try_into().expect("path is valid PathAndQuery"); } + let uri = http::Uri::from_parts(uri_parts).expect("created from valid URI"); span.record("method", debug(method)).record("uri", uri.to_string()); diff --git a/crates/matrix-sdk/src/sliding_sync/mod.rs b/crates/matrix-sdk/src/sliding_sync/mod.rs index 924844631..2f42ae205 100644 --- a/crates/matrix-sdk/src/sliding_sync/mod.rs +++ b/crates/matrix-sdk/src/sliding_sync/mod.rs @@ -400,7 +400,6 @@ impl SlidingSync { Ok(update_summary) } - #[instrument(skip_all)] async fn generate_sync_request( &self, ) -> Result<(http::Request, RequestConfig, OwnedMutexGuard)> { @@ -467,8 +466,6 @@ impl SlidingSync { position_guard.pos.clone() }; - Span::current().record("pos", &pos); - // When the client sends a request with no `pos`, MSC4186 returns no device // lists updates, as it only returns changes since the provided `pos` // (which is `null` in this case); this is in line with sync v2. @@ -496,6 +493,10 @@ impl SlidingSync { PollTimeout::Default => Some(self.inner.poll_timeout), }; + Span::current() + .record("pos", &pos) + .record("timeout", timeout.map(|duration| duration.as_millis())); + let mut request = assign!(http::Request::new(), { conn_id: Some(self.inner.id.clone()), pos, @@ -672,7 +673,7 @@ impl SlidingSync { /// /// Public for testing purposes only. #[doc(hidden)] - #[instrument(skip_all, fields(pos, conn_id = self.inner.id))] + #[instrument(skip_all, fields(conn_id = self.inner.id, pos, timeout))] pub async fn sync_once(&self) -> Result { let (request, request_config, position_guard) = self.generate_sync_request().await?;