Compare commits

...

124 Commits

Author SHA1 Message Date
Greyson Parrelli
abdad4cde8 Bump version to 8.4.2 2026-03-30 12:51:59 -04:00
Greyson Parrelli
fecb30a86e Update website variant manifest. 2026-03-30 12:51:17 -04:00
Michelle Tang
c7ec3ab837 Bump version to 8.4.1 2026-03-19 17:09:55 -04:00
Michelle Tang
2a7b58bf46 Update baseline profile. 2026-03-19 17:02:55 -04:00
Michelle Tang
7d5b0b1565 Update translations and other static files. 2026-03-19 16:52:44 -04:00
Cody Henthorne
3620db3a92 Make max compressed video size remote configurable. 2026-03-19 16:47:35 -04:00
andrew-signal
69cad04875 Bump to libsignal v0.89.1. 2026-03-19 12:23:30 -04:00
Michelle Tang
d533cdc619 Bump version to 8.4.0 2026-03-18 15:16:15 -04:00
Michelle Tang
ae455d2615 Update baseline profile. 2026-03-18 15:06:42 -04:00
Michelle Tang
7f27e52e58 Update translations and other static files. 2026-03-18 14:57:29 -04:00
Greyson Parrelli
4b10c19569 Validate individual APNG frame dimensions. 2026-03-18 13:30:11 -04:00
Greyson Parrelli
3f7f43d506 Show author of message in search results. 2026-03-18 13:15:49 -04:00
Cody Henthorne
b4296c1e4b Fix name collision clean up bug and flakey test. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
b62b5ea8ef Add ability to open a chat incognito. 2026-03-18 13:15:49 -04:00
jeffrey-signal
db5cced91b Show mark read action on admin-only group notifications for non-admin members. 2026-03-18 13:15:49 -04:00
Michelle Tang
b677827c86 Inline pinned message config. 2026-03-18 13:15:49 -04:00
Alex Hart
fc0e902cbf Parallelize all-files. 2026-03-18 13:15:49 -04:00
jeffrey-signal
6fbf4d4ae6 Fix chevron appearing below the recipient name. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
95149764eb Add a new internal-only 'labs' setting screen. 2026-03-18 13:15:49 -04:00
Cody Henthorne
a37680685f Fix flakey getAndPossiblyMerge test. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
2b163a9acd Add the ability to do an export of a single chat. 2026-03-18 13:15:49 -04:00
Alex Hart
2f41d15a41 Add progress phases for initialization and finalization for local backups. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
d2c8b6e14c Improve the storage controller for regV5. 2026-03-18 13:15:49 -04:00
Alex Hart
6877b9163b Resolve ANR when deleting local backup. 2026-03-18 13:15:49 -04:00
jeffrey-signal
6ee14d5e7c Fix closed conversation reopening after changing the device orientation. 2026-03-18 13:15:49 -04:00
andrew-signal
824ff18ba5 Bump libsignal to 0.88.3 2026-03-18 13:15:49 -04:00
emir-signal
548adb831d Update to RingRTC v2.67.0 2026-03-18 13:15:49 -04:00
Cody Henthorne
501ef69f97 Fix session establishment in message processing benchmark tests. 2026-03-18 13:15:49 -04:00
Cody Henthorne
a62f07db11 Reintroduce preliminary telecom support for 1:1 calling. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
1b6cfe9fc6 Re-order megaphones so backups are above PIN reminders. 2026-03-18 13:15:49 -04:00
Alex Hart
eaa1124e71 Fix voice message waveform only showing activity at the beginning.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:49 -04:00
Michelle Tang
380036195a Update deleted string. 2026-03-18 13:15:49 -04:00
andrew-signal
d2619a6abd Use app locale when formatting LocalTime, rather than system locale. 2026-03-18 13:15:49 -04:00
Cody Henthorne
4d2f23ec37 Use libsignal-net for multi-recipient send. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
6c1897d8d5 Add infra for regV5 restore flows. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
39de824bf0 Add quick restore flow and DebugLoggableModel to regV5.
Renames restore → quickrestore package, adds QuickRestoreQrViewModel,
introduces DebugLoggableModel for safe toString in release builds,
updates all State/Events classes to extend it, switches previews to
AllDevicePreviews, and enables BuildConfig for the registration module.
2026-03-18 13:15:49 -04:00
Alex Hart
889ebcadd4 Prevent remove from call button from displaying in group calls.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:49 -04:00
Alex Hart
db17d1fd24 Unify backup creation progress model for local backups. 2026-03-18 13:15:48 -04:00
Alex Hart
cc282276c8 Disable proximity sensor during outgoing video call ringing.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:48 -04:00
jeffrey-signal
a5e00c4319 Inline the send member labels feature flag. 2026-03-18 13:15:48 -04:00
Alex Hart
dba5252be6 Move fetch of first emission to the observeInAppPaymentRedemption call. 2026-03-18 13:15:48 -04:00
Michelle Tang
874bc1a1c9 Bump version to 8.3.4 2026-03-18 13:12:06 -04:00
Michelle Tang
4b95851ae5 Update translations and other static files. 2026-03-18 13:07:28 -04:00
Greyson Parrelli
fbe907f1e9 Temporarily revert nickname bug to fix potential database churn. 2026-03-18 12:02:43 -04:00
Michelle Tang
cf0157c59d Bump version to 8.3.3 2026-03-17 13:35:15 -04:00
Michelle Tang
8f4dff8d53 Update translations and other static files. 2026-03-17 13:21:27 -04:00
Michelle Tang
1b3fb60cb0 Add more pin message checks. 2026-03-17 11:54:38 -04:00
Michelle Tang
ecbf9d60cb Add back remote deleted column. 2026-03-17 11:53:46 -04:00
jeffrey-signal
117c3ac2db Bump version to 8.3.2 2026-03-16 11:18:10 -04:00
jeffrey-signal
9571215175 Update baseline profile. 2026-03-16 11:06:50 -04:00
jeffrey-signal
754dc8dab4 Update translations and other static files. 2026-03-16 10:49:26 -04:00
Michelle Tang
7caccd341b Add more admin delete checks. 2026-03-13 18:03:42 -04:00
jeffrey-signal
ef6c69a960 Bump version to 8.3.1 2026-03-12 18:04:30 -04:00
jeffrey-signal
e82d11e035 Update baseline profile. 2026-03-12 18:01:28 -04:00
jeffrey-signal
a687fe09ff Update translations and other static files. 2026-03-12 17:54:00 -04:00
jeffrey-signal
d19c536000 Fix about sheet member label emoji not respecting 'use system emoji' preference. 2026-03-12 17:47:02 -04:00
jeffrey-signal
55e029e81d Treat member labels as unset if they can't be decrypted. 2026-03-12 17:33:54 -04:00
Greyson Parrelli
df89f8879d Simplify archiving in chat list, fixing unarchive bug. 2026-03-12 11:51:20 -04:00
jeffrey-signal
2b1db2943c Bump version to 8.3.0 2026-03-11 16:35:07 -04:00
jeffrey-signal
1687f6966b Update baseline profile. 2026-03-11 16:12:45 -04:00
jeffrey-signal
2b685fb42e Update translations and other static files. 2026-03-11 15:48:15 -04:00
jeffrey-signal
73f5a3398c Show warning when group changes would clear member labels. 2026-03-11 15:41:47 -04:00
Alex Hart
35cf24b577 Fix messages not marked as read in split pane mode. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
be920148e7 Copy quotes to the archive as they're received. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
456aaa54f1 Update to SQLCipher 4.13.0 with workaround for FTS issue. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
a872097c31 Update SQLCipher to 4.11.0 to fix FTS issue. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
33c3c48bd5 Make regV5 edge-to-edge. 2026-03-11 15:41:45 -04:00
Greyson Parrelli
cd24691130 Improve welcome bottom sheet UI in regV5. 2026-03-11 15:41:45 -04:00
Cody Henthorne
5d92fb1cc4 Apply body text max length in V2 conversation item to prevent ANR. 2026-03-11 15:41:45 -04:00
Alex Hart
c9e6204a8d Add proper retry for CC Fragment. 2026-03-11 15:41:45 -04:00
Alex Hart
b4ec935762 Fix share sheet ordering.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-11 15:41:45 -04:00
Jesse Weinstein
30426ee42a Remove some unused classes.
Resolves signalapp/Signal-Android#14636
2026-03-11 15:41:44 -04:00
Michelle Tang
1a70449c4c Remove remote_deleted column. 2026-03-11 15:41:44 -04:00
jeffrey-signal
374347da04 Inline the receive member labels feaure flag. 2026-03-11 15:41:44 -04:00
Greyson Parrelli
276662026e Fix potential username link desync after backup restore. 2026-03-11 15:41:44 -04:00
Greyson Parrelli
cd3e9a4009 Add some tests for CameraScreenViewModel. 2026-03-11 15:41:44 -04:00
Alex Hart
7fb866fcfb Utilize InAppPaymentTable as the SSOT for ManageDonationsFragment. 2026-03-11 15:41:44 -04:00
adel-signal
d06febd5b5 Update RingRTC to v2.66.0 2026-03-11 15:41:43 -04:00
Michelle Tang
04813fe345 Sync education sheet seen status for admin delete. 2026-03-11 15:41:43 -04:00
Cody Henthorne
6a3d1634b9 Show warning dialog when attempting to save optimized media. 2026-03-11 15:41:43 -04:00
Alex Hart
c554c0d456 Update string resource references from backup key to recovery key. 2026-03-11 15:41:43 -04:00
Greyson Parrelli
e88f63f54d Improve video capture experience when we can't multi-bind. 2026-03-11 15:41:42 -04:00
jeffrey-signal
7ff051a638 Show other group members with labels. 2026-03-11 15:41:42 -04:00
Cody Henthorne
ac9405e874 Fix skiped ktlint checks in qa task. 2026-03-11 15:41:42 -04:00
Jesse Weinstein
d18c5a7fad Exclude duplicate files from the sourcesJar task.
Resolves #14653
2026-03-11 15:41:42 -04:00
Greyson Parrelli
bdc90f3c02 Update SQLCipher to 4.13.0 2026-03-11 15:41:42 -04:00
jeffrey-signal
94e28eddd0 Enforce member label access control and handle insufficient permission error. 2026-03-11 15:41:41 -04:00
jeffrey-signal
6100664287 Show group update messages for member label permission changes. 2026-03-11 15:41:41 -04:00
Cody Henthorne
54aa477b28 Fix local archive attachment data inconsistency bug. 2026-03-11 15:41:41 -04:00
Greyson Parrelli
3c5774960a Automatically reduce camera use cases on error. 2026-03-11 15:41:41 -04:00
Alex Hart
5140c41c58 Move VM setup code from onCreate to onPreCreate in MediaSelectionActivity.kt. 2026-03-11 15:41:41 -04:00
jeffrey-signal
2b9bb3fb5c Support member labels access control in backups. 2026-03-11 15:41:40 -04:00
jeffrey-signal
9500f4a59c Add support for app version-based remote configs. 2026-03-11 15:41:40 -04:00
andrew-signal
a64b77d6f2 Bump to libsignal v0.88.1 2026-03-11 15:41:40 -04:00
Cody Henthorne
4f9e77e7cd Add additional decryption benchmark trace. 2026-03-11 15:41:40 -04:00
jeffrey-signal
13444136bd Introduce new add member labels permission. 2026-03-11 15:41:40 -04:00
Cody Henthorne
7beb4dd939 Allow calling related network calls to run in parallel. 2026-03-09 12:24:14 -04:00
Michelle Tang
51e6ae8f03 Fix cut-off profile picture options. 2026-03-09 12:24:14 -04:00
Cody Henthorne
7aca5f77f6 Consolidate profile update operations to improve large batch fetching. 2026-03-09 12:24:14 -04:00
Cody Henthorne
02ce6c62a8 Add additional thread delete performance improvements. 2026-03-09 12:24:14 -04:00
Cody Henthorne
b0b2c32a6f Prevent main thread posts when unobserved LiveRecipients change. 2026-03-09 12:24:14 -04:00
Michelle Tang
cf7fee2de8 Use shorten display name. 2026-03-09 12:24:13 -04:00
Cody Henthorne
bb730c137f Improve incoming group receipt processing. 2026-03-09 12:24:13 -04:00
Cody Henthorne
da2eb02cde Fix crash for incoming calls when running in private spaces. 2026-03-09 12:24:13 -04:00
Michelle Tang
f271c85aef Update backup support url. 2026-03-09 12:24:13 -04:00
Michelle Tang
bd5f25ffc7 Fix deleting a disappeared message. 2026-03-09 12:24:12 -04:00
Cody Henthorne
3d78d5473e Improve group conversation open performance by prefetching member labels. 2026-03-09 12:24:12 -04:00
Cody Henthorne
49d3f7652d Prevent change animation from firing on thread updates. 2026-03-09 12:24:12 -04:00
Cody Henthorne
5b543c5212 Fix release channel recipient ID surviving failed backup imports. 2026-03-09 12:24:12 -04:00
Greyson Parrelli
2356bb6da2 Fix ScreenDensity calculation. 2026-03-09 12:24:12 -04:00
Cody Henthorne
c2bdc11832 Fix GIF preview not animating after leaving media viewer. 2026-03-09 12:24:11 -04:00
Greyson Parrelli
2bd440e07c Cap the number of incrementalMacs populated in an envelope.
Add a remote config `global.maxIncrementalMacsPerEnvelope` (client
fallback of 10) that limits how many attachment pointers in a single
envelope can have their incrementalMac field populated. Each
incrementalMac can be up to 8 KiB, so having too many risks exceeding
the 96 KiB envelope size threshold. Excess attachment pointers have
their incrementalMac and chunkSize fields stripped.
2026-03-09 12:24:11 -04:00
Greyson Parrelli
6eee4db87b Use stronger alarm signal for exact alarms. 2026-03-09 12:24:11 -04:00
Greyson Parrelli
e7d1db446b Add support for story archiving. 2026-03-09 12:24:11 -04:00
Cody Henthorne
ff50755ba2 Add sealed sender certificate validity constraint to send jobs. 2026-03-09 12:24:10 -04:00
Greyson Parrelli
f8ef262b3d Tweak some backup megaphone strings. 2026-03-09 12:24:10 -04:00
jeffrey-signal
f8737995fa Bump version to 8.2.2 2026-03-09 12:17:17 -04:00
jeffrey-signal
1bbefea857 Update baseline profile. 2026-03-09 12:13:20 -04:00
jeffrey-signal
143630c41b Update translations and other static files. 2026-03-09 12:05:25 -04:00
Michelle Tang
577eaa1eae Avoid dropping column in message table. 2026-03-09 10:45:27 -04:00
Greyson Parrelli
316b071c81 Bump version to 8.2.1 2026-03-06 16:34:51 -05:00
Greyson Parrelli
5a6f55c0a8 Update baseline profile. 2026-03-06 16:34:32 -05:00
Greyson Parrelli
e008a50acc Update translations and other static files. 2026-03-06 16:18:53 -05:00
Michelle Tang
41c3913482 Update notification on admin delete. 2026-03-06 13:39:53 -05:00
789 changed files with 30140 additions and 8800 deletions

View File

@@ -24,9 +24,9 @@ plugins {
apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1661
val canonicalVersionName = "8.2.0"
val currentHotfixVersion = 0
val canonicalVersionCode = 1670
val canonicalVersionName = "8.4.2"
val currentHotfixVersion = 1
val maxHotfixVersions = 100
// We don't want versions to ever end in 0 so that they don't conflict with nightly versions
@@ -51,6 +51,7 @@ val localProperties: Properties? = if (localPropertiesFile.exists()) {
null
}
val quickstartCredentialsDir: String? = localProperties?.getProperty("quickstart.credentials.dir")
val benchmarkBackupFile: String? = localProperties?.getProperty("benchmark.backup.file")
val selectableVariants = listOf(
"nightlyProdSpinner",
@@ -531,6 +532,15 @@ android {
}
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
}
onVariants(selector().withBuildType("benchmark")) { variant ->
val taskProvider = tasks.register<CopyBenchmarkBackupTask>("copyBenchmarkBackup${variant.name.capitalize()}") {
if (benchmarkBackupFile != null) {
inputFile.set(File(benchmarkBackupFile))
}
}
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
}
}
val releaseDir = "$projectDir/src/release/java"
@@ -644,6 +654,7 @@ dependencies {
implementation(libs.androidx.concurrent.futures)
implementation(libs.androidx.autofill)
implementation(libs.androidx.biometric)
implementation(libs.androidx.core.telecom)
implementation(libs.androidx.sharetarget)
implementation(libs.androidx.profileinstaller)
implementation(libs.androidx.asynclayoutinflater)
@@ -902,3 +913,27 @@ abstract class CopyQuickstartCredentialsTask : DefaultTask() {
chosen.copyTo(dest.resolve(chosen.name), overwrite = true)
}
}
abstract class CopyBenchmarkBackupTask : DefaultTask() {
@get:InputFile
@get:Optional
abstract val inputFile: RegularFileProperty
@get:OutputDirectory
abstract val outputDir: DirectoryProperty
@TaskAction
fun copy() {
val dest = outputDir.get().asFile.resolve("backups")
dest.mkdirs()
if (!inputFile.isPresent) {
logger.lifecycle("benchmark.backup.file is not set in local.properties. Benchmark tests using backup data will crash at runtime.")
return
}
val backupFile = inputFile.get().asFile
logger.lifecycle("Using benchmark backup: ${backupFile.absolutePath} (${backupFile.length() / 1024}KB)")
backupFile.copyTo(dest.resolve("backup.binproto"), overwrite = true)
}
}

Some files were not shown because too many files have changed in this diff Show More