Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion src/client/app_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1110,11 +1110,12 @@ impl Client {
let result = async {
self.ensure_e2e_sessions(std::slice::from_ref(&peer))
.await?;
let request_id = self.generate_message_id();
self.send_message_impl(
peer,
msg,
crate::send::SendPipelineOptions {
request_id: Some(self.generate_message_id()),
request_id: Some(&request_id),
peer: true,
..Default::default()
},
Expand Down
7 changes: 1 addition & 6 deletions src/client/context_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,6 @@ impl SendContextResolver for Client {
}
// Reuse the DM path's helpers so both lock the identical per-device mutexes.
let keys = self.build_session_lock_keys(device_jids).await;
let mutexes = self.session_mutexes_for(&keys).await;
let mut guards = Vec::with_capacity(mutexes.len());
for mutex in &mutexes {
guards.push(mutex.lock_arc().await);
}
SessionLockGuard::hold(Box::new(guards))
SessionLockGuard::hold(Box::new(self.session_guards_for(&keys).await))
}
}
2 changes: 1 addition & 1 deletion src/client/messaging.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ impl Client {
&edit_container_message,
crate::send::SendPipelineOptions {
edit: Some(crate::types::message::EditAttribute::MessageEdit),
request_id,
request_id: request_id.as_deref(),
borrowed_message_id,
..Default::default()
},
Expand Down
4 changes: 2 additions & 2 deletions src/client/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1478,7 +1478,7 @@ async fn cleanup_connection_state_flushes_dirty_signal_state() {
let client = create_offline_sync_test_client().await;

// A dirty identity lives only in the write-back cache until flushed.
let addr = ProtocolAddress::new("5550001000@s.whatsapp.net".to_string(), 1u32.into());
let addr = ProtocolAddress::new("5550001000@s.whatsapp.net", 1u32.into());
client.signal_cache.put_identity(&addr, &[7u8; 32]).await;

client.cleanup_connection_state().await;
Expand Down Expand Up @@ -1579,7 +1579,7 @@ async fn cleanup_connection_state_keeps_state_when_flush_fails() {

// A malformed identity (not 32 bytes) makes flush() error out, standing
// in for a transient backend write failure during cleanup.
let bad = ProtocolAddress::new("5550002000@s.whatsapp.net".to_string(), 1u32.into());
let bad = ProtocolAddress::new("5550002000@s.whatsapp.net", 1u32.into());
client.signal_cache.put_identity(&bad, &[0u8; 16]).await;

// A valid dirty sender key that must not be dropped when the flush fails.
Expand Down
2 changes: 1 addition & 1 deletion src/features/groups.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1400,7 +1400,7 @@ impl<'a> Groups<'a> {
group_jid.clone(),
&msg,
crate::send::SendPipelineOptions {
request_id: Some(message_id.clone()),
request_id: Some(&message_id),
extra_stanza_nodes: meta.into_iter().collect(),
..Default::default()
},
Expand Down
6 changes: 1 addition & 5 deletions src/features/signal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -649,11 +649,7 @@ impl<'a> Signal<'a> {

// Acquire per-device session locks before encrypting (matches DM send path)
let lock_jids = self.client.build_session_lock_keys(&device_jids).await;
let session_mutexes = self.client.session_mutexes_for(&lock_jids).await;
let mut _session_guards = Vec::with_capacity(session_mutexes.len());
for mutex in &session_mutexes {
_session_guards.push(mutex.lock().await);
}
let _session_guards = self.client.session_guards_for(&lock_jids).await;

let plaintext = MessageUtils::encode_and_pad(message);
let mut adapter = self.client.signal_adapter().await;
Expand Down
2 changes: 1 addition & 1 deletion src/message/special.rs
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ impl Client {
requester.clone(),
message,
crate::send::SendPipelineOptions {
request_id: Some(message_id.to_owned()),
request_id: Some(message_id),
peer: true,
..Default::default()
},
Expand Down
2 changes: 1 addition & 1 deletion src/pdo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ impl Client {
to,
msg,
crate::send::SendPipelineOptions {
request_id: Some(msg_id.clone()),
request_id: Some(&msg_id),
peer: true,
..Default::default()
},
Expand Down
Loading
Loading