Skip to content

Commit 47fe587

Browse files
authored
Merge pull request #3 from lockdown-systems/merge-2.64.1
Merge 2.64.1
2 parents 1ea8b5e + 9271e41 commit 47fe587

20 files changed

Lines changed: 290 additions & 174 deletions

File tree

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## v2.64.1
4+
5+
- Fix bug in starting peek after receiving device_joined_or_left
6+
7+
## v2.64.0
8+
9+
- Update to webrtc 7444f
10+
- Send DTX TOC only in lieu of refresh packets
11+
- Update logging in connection.cc to log ICE failures
12+
13+
- Desktop: Rename rttMedianConnection to rttMedianConnectionMillis survey field
14+
15+
- iOS: Add ifdef'd support for video file input
16+
17+
- Call Sim: Minor improvements and fixes
18+
319
## v2.63.0
420

521
- Desktop: Always disable mic and camera on call end

Cargo.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ members = [
1313
]
1414

1515
[workspace.package]
16-
version = "2.63.0"
16+
version = "2.64.1"
1717
authors = ["Calling Team <callingteam@signal.org>"]
1818

1919
[patch.crates-io]

SignalRingRTC.podspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = "SignalRingRTC"
11-
s.version = "2.63.0"
11+
s.version = "2.64.1"
1212
s.summary = "A Swift & Objective-C library used by the Signal iOS app for WebRTC interactions."
1313

1414
s.description = <<-DESC
@@ -56,6 +56,7 @@ Pod::Spec.new do |s|
5656
'CARGO_BUILD_TARGET[sdk=iphonesimulator*][arch=arm64]' => 'aarch64-apple-ios-sim',
5757
'CARGO_BUILD_TARGET[sdk=iphonesimulator*][arch=*]' => 'x86_64-apple-ios',
5858
'CARGO_BUILD_TARGET[sdk=iphoneos*]' => 'aarch64-apple-ios',
59+
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => ENV.include?('RINGRTC_USE_FILE_BASED_CAMERA') ? 'USE_FILE_BASED_CAMERA' : '',
5960
}
6061

6162
s.script_phases = [

acknowledgments/acknowledgments.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -734,9 +734,9 @@ <h4>Used by:</h4>
734734
<ul class="license-used-by">
735735
<li><a href="https://crates.io/crates/libsignal-account-keys">libsignal-account-keys 0.1.0</a></li>
736736
<li><a href="https://crates.io/crates/libsignal-core">libsignal-core 0.1.0</a></li>
737-
<li><a href="https://crates.io/crates/mrp">mrp 2.63.0</a></li>
738-
<li><a href="https://crates.io/crates/protobuf">protobuf 2.63.0</a></li>
739-
<li><a href="https://crates.io/crates/ringrtc">ringrtc 2.63.0</a></li>
737+
<li><a href="https://crates.io/crates/mrp">mrp 2.64.1</a></li>
738+
<li><a href="https://crates.io/crates/protobuf">protobuf 2.64.1</a></li>
739+
<li><a href="https://crates.io/crates/ringrtc">ringrtc 2.64.1</a></li>
740740
<li><a href="https://crates.io/crates/regex-aot">regex-aot 0.1.0</a></li>
741741
<li><a href="https://github.com/signalapp/partial-default">partial-default-derive 0.1.0</a></li>
742742
<li><a href="https://github.com/signalapp/partial-default">partial-default 0.1.0</a></li>

acknowledgments/acknowledgments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669669
670670
```
671671

672-
## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.63.0, protobuf 2.63.0, ringrtc 2.63.0, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0
672+
## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.64.1, protobuf 2.64.1, ringrtc 2.64.1, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0
673673

674674
```
675675
GNU AFFERO GENERAL PUBLIC LICENSE

acknowledgments/acknowledgments.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,7 @@ You should also get your employer (if you work as a programmer) or school, if an
924924
<key>License</key>
925925
<string>GNU Affero General Public License v3.0 only</string>
926926
<key>Title</key>
927-
<string>libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.63.0, protobuf 2.63.0, ringrtc 2.63.0, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0</string>
927+
<string>libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.64.1, protobuf 2.64.1, ringrtc 2.64.1, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0</string>
928928
<key>Type</key>
929929
<string>PSGroupSpecifier</string>
930930
</dict>

bin/fetch-artifact.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
UNVERIFIED_DOWNLOAD_NAME = "unverified.tmp"
2020

2121
PREBUILD_CHECKSUMS = {
22-
'android': 'f746796a0494f005d9a032bcec5a811522089658fb3bcffb172b50f918bfbe74',
23-
'ios': '3b2c249daeac4b3ee25d11d1b1659ba0f0405b1ae0230da91cc73ac7c1b24ff2',
24-
'linux-x64': '497531230622c2a934be55ddc7c9f7c7ac2ce4577e87201f2492e3febdf1d694',
25-
'linux-arm64': 'c585cc746a94f37f9a40fbbae92c544d2a2552f5b6f8e006effe7b42add3b1d6',
26-
'mac-x64': '6728ee6e3dd29f291237359d2d69100c935be8e8cce0cf78efb7b282a506d64d',
27-
'mac-arm64': 'a839ed44de14330d6fd33f8d074bcef40abf1ad6dca276898a319188e2784326',
28-
'windows-x64': 'e76f45191fa48f1a66b82d80f41b9045b89a11caeb47e7fd83d64fda58960be0',
29-
'windows-arm64': 'd0fcb0081e3c5ff0e716003f824672fdafd265e275eba8a6f4ed61298005c28c',
22+
'android': '520be7a10fa6c796cba29a790c8bf839b2e9f08b06b9314ebb165f0d76bbf7f9',
23+
'ios': '5421d640ce6f598a42cbc22eeb74223135d6d9869f8929d6bd5acaf0722527ff',
24+
'linux-x64': '9135254b5b230b50ddbe6787d85715676ccc41636af331bef670303762153c99',
25+
'linux-arm64': '3e9a4eab524c386fa87a30f3ff2156f375e563bed2b9e3ba5a78917f8dd76e70',
26+
'mac-x64': '36d19d0ee14a0bbe45dc24298b1b211ec4ee11b7d891c585feb43383e4d8920f',
27+
'mac-arm64': '30cd81aca0f9c8f971895b584104f8412abd3c7a067f49c5b8322e1b7beebf2f',
28+
'windows-x64': '51fa1684901009f04684c45f039a9cbf48be2b7cf5242ad730b203adf69bd0c0',
29+
'windows-arm64': '5cf450c5fc0cb50840e5c18dc97afeb9a17c5ea7b359949b8c9af62adcf7770a',
3030
}
3131

3232

call_sim/docker/signaling_server/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

call_sim/src/docker.rs

Lines changed: 59 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ use bollard::{
1010
Docker,
1111
models::ContainerMemoryStats,
1212
query_parameters,
13-
secret::{ContainerCpuStats, ContainerCpuUsage, ContainerStatsResponse},
13+
secret::{ContainerCpuStats, ContainerCpuUsage},
1414
};
1515
use chrono::DateTime;
16-
use futures_util::stream::TryStreamExt;
16+
use futures_util::stream::StreamExt;
1717
use itertools::Itertools;
1818
use tokio::{
1919
fs::OpenOptions,
@@ -1595,36 +1595,37 @@ impl DockerStats {
15951595
let path = path.to_string();
15961596

15971597
tokio::spawn(async move {
1598+
// Setup to stream statistics from Docker (default: every 1 second).
15981599
let query_parameters = query_parameters::StatsOptionsBuilder::new()
15991600
.stream(true)
16001601
.build();
1601-
let stream = &mut docker.stats(&name, Some(query_parameters));
1602-
1603-
// Collect the stats. This will await until the container is stopped then dump
1604-
// all the stats to a log.
1605-
match stream.try_collect::<Vec<ContainerStatsResponse>>().await {
1606-
Ok(responses) => {
1607-
match OpenOptions::new()
1608-
.write(true)
1609-
.create(true)
1610-
.truncate(true)
1611-
.open(format!("{}/{}_stats.log", path, name))
1612-
.await
1613-
{
1614-
Ok(mut file) => {
1615-
let _ = file
1616-
.write_all(b"Timestamp\tCPU\tMEM\tTX_Bitrate\tRX_Bitrate\n")
1617-
.await;
1618-
1619-
let mut prev_timestamp = 0i64;
1620-
1621-
let mut prev_tx_bytes = 0u64;
1622-
let mut prev_rx_bytes = 0u64;
1623-
1624-
let mut prev_total_cpu_usage = 0u64;
1625-
let mut prev_system_cpu_usage = 0u64;
1626-
1627-
for response in responses {
1602+
let mut stream = docker.stats(&name, Some(query_parameters));
1603+
1604+
// Collect the stats. Open a file and write the values as they arrive.
1605+
match OpenOptions::new()
1606+
.write(true)
1607+
.create(true)
1608+
.truncate(true)
1609+
.open(format!("{}/{}_stats.log", path, name))
1610+
.await
1611+
{
1612+
Ok(mut file) => {
1613+
let _ = file
1614+
.write_all(b"Timestamp\tCPU\tMEM\tTX_Bitrate\tRX_Bitrate\n")
1615+
.await;
1616+
1617+
let mut prev_timestamp = 0i64;
1618+
1619+
let mut prev_tx_bytes = 0u64;
1620+
let mut prev_rx_bytes = 0u64;
1621+
1622+
let mut prev_total_cpu_usage = 0u64;
1623+
let mut prev_system_cpu_usage = 0u64;
1624+
1625+
// Process stats as they arrive.
1626+
while let Some(result) = stream.next().await {
1627+
match result {
1628+
Ok(response) => {
16281629
match (response.cpu_stats, response.memory_stats, response.networks)
16291630
{
16301631
(
@@ -1655,25 +1656,29 @@ impl DockerStats {
16551656
Some(network) => {
16561657
let tx_bytes = network.tx_bytes.unwrap();
16571658
let rx_bytes = network.rx_bytes.unwrap();
1658-
let time_delta =
1659-
(timestamp - prev_timestamp) as f32 / 1000.0;
1660-
let tx_bitrate = (tx_bytes - prev_tx_bytes) as f32
1661-
* 8.0
1662-
/ time_delta;
1663-
let rx_bitrate = (rx_bytes - prev_rx_bytes) as f32
1664-
* 8.0
1665-
/ time_delta;
1659+
1660+
let (tx_bitrate, rx_bitrate) =
1661+
if prev_timestamp == 0 {
1662+
// Ignore the first data point since there was no reference.
1663+
(0.0, 0.0)
1664+
} else {
1665+
let time_delta =
1666+
(timestamp - prev_timestamp) as f32
1667+
/ 1000.0;
1668+
let tx_bitrate =
1669+
(tx_bytes - prev_tx_bytes) as f32 * 8.0
1670+
/ time_delta;
1671+
let rx_bitrate =
1672+
(rx_bytes - prev_rx_bytes) as f32 * 8.0
1673+
/ time_delta;
1674+
(tx_bitrate, rx_bitrate)
1675+
};
16661676

16671677
prev_timestamp = timestamp;
16681678
prev_tx_bytes = tx_bytes;
16691679
prev_rx_bytes = rx_bytes;
16701680

1671-
if prev_timestamp == 0 {
1672-
// Ignore the first data point since there was no reference.
1673-
(0.0, 0.0)
1674-
} else {
1675-
(tx_bitrate, rx_bitrate)
1676-
}
1681+
(tx_bitrate, rx_bitrate)
16771682
}
16781683
None => {
16791684
println!("Error: stat missing eth0!");
@@ -1692,8 +1697,12 @@ impl DockerStats {
16921697
// grow over time and doesn't directly reflect RingRTC's
16931698
// memory usage.
16941699
// https://docs.docker.com/engine/reference/commandline/stats/#description
1695-
let memory = memory_usage
1696-
- memory_stats.get("total_inactive_file").unwrap();
1700+
let cache_usage = *memory_stats
1701+
.get("total_inactive_file")
1702+
.or_else(|| memory_stats.get("inactive_file"))
1703+
.unwrap_or(&0);
1704+
1705+
let memory = memory_usage.saturating_sub(cache_usage);
16971706
let _ = file
16981707
.write_all(
16991708
format!(
@@ -1717,14 +1726,15 @@ impl DockerStats {
17171726
}
17181727
}
17191728
}
1720-
}
1721-
Err(err) => {
1722-
println!("Error creating stats file: {:?}", err);
1729+
Err(err) => {
1730+
println!("Error collecting stats for {}: {:?}", name, err);
1731+
break;
1732+
}
17231733
}
17241734
}
17251735
}
17261736
Err(err) => {
1727-
println!("Error collecting stats for {}: {:?}", name, err);
1737+
println!("Error creating stats file: {:?}", err);
17281738
}
17291739
}
17301740
});

0 commit comments

Comments
 (0)