Compare commits

...

885 Commits

Author SHA1 Message Date
Greyson Parrelli
9f54de8b39 Bump version to 7.44.2 2025-06-09 20:19:31 -04:00
Greyson Parrelli
976d3670c9 Update translations and other static files. 2025-06-09 20:19:00 -04:00
Greyson Parrelli
ef797f6ed8 Fix possible crash in story send. 2025-06-09 20:08:47 -04:00
Michelle Tang
59cc8c636d Ignore non-existing recipients in notification profiles storage sync. 2025-06-09 14:59:28 -04:00
Cody Henthorne
e147d4762d Bump version to 7.44.1 2025-06-06 13:57:51 -04:00
Cody Henthorne
d3b7219352 Update baseline profile. 2025-06-06 13:33:50 -04:00
Cody Henthorne
6abf55dc55 Update translations and other static files. 2025-06-06 13:29:01 -04:00
andrew-signal
7bd52e661d Refactor LibSignalChatConnection to use an explicit queue sendRequest handling while CONNECTING. 2025-06-06 08:14:20 -04:00
Cody Henthorne
89944d778b Bump version to 7.44.0 2025-06-04 15:42:03 -04:00
Cody Henthorne
357f82809a Update baseline profile. 2025-06-04 15:34:00 -04:00
Cody Henthorne
4222c70b4a Update translations and other static files. 2025-06-04 15:28:35 -04:00
lisa-signal
a66031cfce Fix chat folder to not show mute option if there isn't any chat. 2025-06-04 15:17:37 -04:00
Alex Hart
cf0dfdceb1 Display resume over cellular only if awaiting wifi. 2025-06-04 15:17:37 -04:00
Cody Henthorne
26b6019b28 Add internal backup stats tab. 2025-06-04 15:17:37 -04:00
Cody Henthorne
be4af1d560 Use dynamic quality and webp for archive thumbnail generation. 2025-06-04 15:17:37 -04:00
Michelle Tang
e3ee3d3dba Add notification profiles to storage service. 2025-06-04 15:17:37 -04:00
lisa-signal
07d961fc09 Fix cut off string in stories. 2025-06-04 15:17:37 -04:00
andrew-signal
7bcb3fa4d9 Make .tool-versions more specific. 2025-06-04 15:17:37 -04:00
Alex Hart
5e07e428c0 Fix instrumentation tests for message backups checkout flow. 2025-06-04 15:17:37 -04:00
Alex Hart
a85b8c49d9 Rework billing client integration. 2025-06-04 15:17:37 -04:00
Alex Hart
c3dcdd2010 Check network tier on export. 2025-06-04 15:17:37 -04:00
lisa-signal
74d9195d94 Fix action mode to use our own action mode toolbar instead of the built in androidx one. 2025-06-04 15:17:37 -04:00
lisa-signal
4db60ac63f Fix select all count in conversation list to be accurate. 2025-06-04 15:17:37 -04:00
jeffrey-signal
17bfb118d8 Update missing password manager dialog copy.
Updates the copy of the dialog that shows when attempting to save a backup key, but there is no credential manager configured on the device that supports saving passwords.
2025-06-04 15:17:37 -04:00
Alex Hart
d6dd2cc633 Polish backup type selection UI. 2025-06-04 15:17:37 -04:00
Alex Hart
dd2e219272 Add additional method tracing. 2025-06-04 15:17:37 -04:00
Alex Hart
88ec96bf2d Ensure connection status logs are kept for monitoring in debug logs. 2025-06-04 15:17:37 -04:00
Alex Hart
e17a4c80b2 Various UI polish items for backups. 2025-06-04 15:17:37 -04:00
Alex Hart
c0f3189a5b Add restore type check and download specific messaging. 2025-06-04 15:17:36 -04:00
Alex Hart
ac9f6c0b4a Fix spelling error. 2025-06-04 15:17:36 -04:00
Alex Hart
5903551cdb When we move to awaiting download state, display dialog. 2025-06-04 15:17:36 -04:00
Cody Henthorne
54a2628797 Do not send app level keep-alives for unauth WebSocket. 2025-06-04 15:17:36 -04:00
Cody Henthorne
0f2a066a30 Increase WebSocket idle delayed disconnect timings. 2025-06-04 15:17:36 -04:00
Alex Hart
2ff0df9ef6 Add skip dialog for during deletion. 2025-06-04 15:17:36 -04:00
Alex Hart
ad652dbaf2 Backup delete resub flow state fix. 2025-06-04 15:17:36 -04:00
lisa-signal
109d37c0d2 Fix audio duck due to MP4 gif. 2025-06-04 15:17:36 -04:00
jeffrey-signal
015fc9be2c Add ability to save remote backup key to device password manager.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-06-04 15:17:36 -04:00
Alex Hart
7616ec1fd2 Add rememberRecipientField composable function for reading live recipient fields. 2025-06-04 15:17:36 -04:00
Alex Hart
df170dac32 Polish deletion UX. 2025-06-04 15:17:36 -04:00
andrew-signal
ccce37d023 Bump to libsignal v0.73.2; revert ProGuard workaround. 2025-06-04 15:17:36 -04:00
Cody Henthorne
13ddd067ef Update to latest backup protos; Bump to libsignal v0.73.1 2025-06-04 15:17:36 -04:00
Miriam Zimmerman
340b94f849 Improve handling of missing camera during calls. 2025-06-04 15:17:36 -04:00
Greyson Parrelli
faf0b630c1 Move profile fetches to ProfileApi. 2025-06-04 15:17:36 -04:00
Cody Henthorne
b2f1867787 Exclude remote megaphones from local backups. 2025-06-04 15:17:36 -04:00
Greyson Parrelli
3bd4e39093 Add more backup cancellation checks. 2025-06-04 15:17:36 -04:00
Alex Hart
98e06081af Fix advanced pin settings routing. 2025-06-04 15:17:36 -04:00
Alex Hart
0d51faf618 Fix rendering after rotation. 2025-06-04 15:17:36 -04:00
Cody Henthorne
21e53e360e Remove Media tab from backup playground. 2025-06-04 15:17:36 -04:00
andrew-signal
9083359b33 Silence noisy double stack trace when a LibSignalChatConnection connect() is canceled. 2025-05-29 11:57:30 -04:00
Cody Henthorne
7b30ac1524 Fix various archive related attachment bugs.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2025-05-29 11:34:09 -04:00
andrew-signal
4b41d7afaa Only fetch profiles if we haven't fetched them in the last five minutes. 2025-05-29 11:00:15 -04:00
Alex Hart
38a9452de0 Cache product pricing for 24hrs. 2025-05-29 11:10:23 -03:00
Alex Hart
1bd638be46 Allow badge to update in toolbar when user changes their featured badge. 2025-05-28 16:26:39 -03:00
Cody Henthorne
e912bf3bc8 Attempt to fix reproducible build issue caused by EditProxyFragment. 2025-05-28 14:52:25 -04:00
Greyson Parrelli
13d7bc54d3 Re-run the e164 formatting application migration. 2025-05-28 13:33:58 -04:00
Greyson Parrelli
5bdf10b1bd Fix crash in storage sync validation. 2025-05-28 12:26:16 -04:00
Alex Hart
6a40f4a4f4 Perform backup deletion in a durable job. 2025-05-28 13:07:09 -03:00
lisa-signal
8900721064 Fix scheduled message logo from Signal logo to Calendar logo. 2025-05-28 09:59:53 -04:00
lisa-signal
7738e6bc9a Fix backtrack symbol to change from ic_arrow_left_24 to symbol_arrow_start_24. 2025-05-28 09:39:12 -04:00
Alex Hart
7c7833263a Fix possible crash in conversation activity. 2025-05-27 14:33:47 -03:00
Alex Hart
96d6a0e68d Launch checkout flow on renew press. 2025-05-27 13:20:08 -03:00
Greyson Parrelli
7c04b56a32 Fix validation errors around bad e164s in SSE's and merge events. 2025-05-27 10:29:13 -04:00
Jim Gustafson
5009e86d56 Update to RingRTC v2.52.3 2025-05-27 10:03:11 -04:00
Alex Hart
daa3e5d95a Convert InternalConversationSettings to compose. 2025-05-27 10:48:34 -03:00
Michelle Tang
6879778f4b Fix missing avatars in notifications. 2025-05-22 14:32:11 -04:00
Jeffrey Starke
de12691cfe Add new sticker pack preview screen.
Adds a new jetpack compose and kotlin implementation of the sticker pack preview screen, which will soon replace `StickerPackPreviewActivity.java` and `StickerPackPreviewViewModel.java`.
2025-05-22 11:23:23 -04:00
lisa-signal
dce883bcf5 Fix clear filter position. 2025-05-22 11:23:23 -04:00
Michelle Tang
be02c1bc0a Update editorconfig with new ktlint rules. 2025-05-22 11:23:23 -04:00
Cody Henthorne
52c7a9a214 Add copy media backup id to backup playground. 2025-05-22 11:23:23 -04:00
Alex Bakon
ea0b8fc594 Remove unused code. 2025-05-22 11:23:23 -04:00
Jeffrey Starke
15aa941436 Limit delete archived media requests to 1000 items at a time.
Fixes an error that occurs when attempting to delete all archived media caused by exceeding the API's 1000 item limit.
2025-05-22 11:23:23 -04:00
Alex Hart
8e92ddbd53 Fix skipping subsequent call links. 2025-05-21 15:49:20 -04:00
Michelle Tang
23669c3c37 Bump version to 7.43.1 2025-05-21 15:20:18 -04:00
Michelle Tang
ea970c1936 Update translations and other static files. 2025-05-21 15:17:26 -04:00
Cody Henthorne
52ffe4408d Fix NoSuchMethodError on CompletableFuture crash. 2025-05-21 15:14:03 -04:00
Michelle Tang
b753990ee3 Bump version to 7.43.0 2025-05-21 12:20:12 -04:00
Michelle Tang
9642e19d53 Update translations and other static files. 2025-05-21 12:02:05 -04:00
Michelle Tang
7dc4cb4ce7 Ensure default chat folder exists. 2025-05-21 11:33:13 -04:00
andrew-signal
4f6bedf323 Rotate key for libsignalWebSocket RemoteConfig. 2025-05-21 11:28:08 -04:00
Cody Henthorne
ca16d0e6f8 Fix decryption errors post remote restore. 2025-05-21 09:24:33 -04:00
Cody Henthorne
690b171d57 Default remote backups to daily. 2025-05-21 08:58:17 -04:00
Alex Bakon
2254b7f680 Remove unused CdsiSocket class. 2025-05-21 07:49:04 -04:00
andrew-signal
a6540880c9 Cancel chatConnectionFuture when we get disconnect() while CONNECTING. 2025-05-21 07:43:18 -04:00
andrew-signal
e7e59d9481 Bump to libsignal v0.73.0 2025-05-21 07:41:02 -04:00
lisa-signal
b5b71c6464 Fix ability to remove link preview without changing message text. 2025-05-20 15:47:07 -04:00
lisa-signal
437a1755ce Fixed color of Get started text. 2025-05-20 15:33:19 -04:00
Cody Henthorne
14dbaa7d05 Prevent safety number changes during quick restore flow. 2025-05-20 15:14:29 -04:00
Alex Hart
58e462de06 Fix scrolling highlight on backups checkout page. 2025-05-20 16:10:43 -03:00
Alex Hart
b6b6f7a527 Allow free tier subscription if Google Play Billing is not available. 2025-05-20 16:09:43 -03:00
Alex Hart
09e47dba3a Add support for cancelling an in-progress archive upload.
Co-authored-by: Jeffrey Starke <jeffrey@signal.org>
2025-05-20 15:46:24 -03:00
Cody Henthorne
3751052697 Force new auth WebSocket during various IMO recovery flows. 2025-05-20 14:42:54 -04:00
Cody Henthorne
da639d086f Attempt to fix duplicate e164s due to short codes. 2025-05-19 14:45:34 -04:00
Sagar
59a9a38c1f Fix country code filtering by removing "+" prefix handling.
Closes #14137
2025-05-19 14:45:34 -04:00
Alex Hart
dd634343d7 Change button size on backups management screen. 2025-05-19 14:45:34 -04:00
Alex Hart
7ee1b1386b Backups ui polish. 2025-05-19 14:45:34 -04:00
Alex Hart
0e4c09224c Ensure all billing states are emitted. 2025-05-19 14:45:34 -04:00
Alex Hart
fc5aae34f3 Add cancellation support and renew support for canceled subscriptions. 2025-05-19 14:45:34 -04:00
Alex Hart
1aa2c85edd Fix alignment of progress spinner when waiting for network.: 2025-05-19 14:45:34 -04:00
Alex Hart
a6bfeebb24 Add UI for when the user's grace period expires or while they are in the grace period. 2025-05-19 14:45:34 -04:00
Alex Bakon
5e9824a180 Update test client prekey usage to include kyber keys. 2025-05-19 14:45:34 -04:00
Cody Henthorne
3644466263 Bump version to 7.42.2 2025-05-19 14:44:07 -04:00
Cody Henthorne
e9b43e7c25 Update baseline profile. 2025-05-19 14:43:05 -04:00
Cody Henthorne
e9e53d6d84 Update translations and other static files. 2025-05-19 14:38:15 -04:00
Cody Henthorne
03f2feb335 Fix megaphone missing asset crash. 2025-05-19 14:31:48 -04:00
Cody Henthorne
3b657ea7bd Bump version to 7.42.1 2025-05-16 13:32:56 -04:00
Cody Henthorne
2635ffcbc9 Update baseline profile. 2025-05-16 13:29:24 -04:00
Cody Henthorne
927c079cc4 Update translations and other static files. 2025-05-16 13:23:44 -04:00
Cody Henthorne
a2f7afcb68 Detect and recycle WebSockets stuck in connecting state. 2025-05-16 13:13:32 -04:00
Alex Hart
b6c033b075 Fix timer updating on chats list. 2025-05-15 13:52:18 -03:00
Jeffrey Starke
31d0b81624 Sticker Management v2 - Exit multi select mode after all items are deselected.
To match the behavior of the conversations and messages screens.
2025-05-15 11:08:08 -04:00
Cody Henthorne
96ece3f424 Allow REST fallback via remote config. 2025-05-15 10:52:36 -04:00
Alex Hart
2bc9926d97 Fix crash when backing out of archive. 2025-05-15 11:40:00 -03:00
Alex Hart
f1537cb8a9 Fix rationale dialog height on small devices. 2025-05-15 11:30:23 -03:00
andrew-signal
af8dee9c38 Bump to libsignal v0.71.1 2025-05-15 10:28:45 -04:00
Cody Henthorne
39f78273c0 Async start network and message retrieval. 2025-05-15 09:22:46 -04:00
Michelle Tang
d66a0f618d Bump version to 7.42.0 2025-05-14 17:35:09 -04:00
Michelle Tang
497a8188fd Update translations and other static files. 2025-05-14 17:20:57 -04:00
Jeffrey Starke
f3a475d0c8 Sticker management v2 – Improve list animations and state transitions.
- Uninstall selected packs in a single database transaction to avoid UI flickering.
- Add section header keys to prevent them from animating wildly while scrolling.
2025-05-14 17:10:41 -04:00
Michelle Tang
8b828677de Rotate libsignal net config flag. 2025-05-14 16:43:17 -04:00
Alex Hart
a050b37f3a Remove bank selection from iDEAL. 2025-05-14 16:43:17 -04:00
Doug Melton
c865ed0cdc Improve handling of 12/24 hour timestamps on configuration change.
This fixes an edge case seen on ConversationFragment, where if the
device time format is switched between 12/24 hour format while the app
is running, the old time format will still be displayed when the app
is resumed.

This is due to a design flaw in `DateTimeFormatter.ofLocalizedTime`,
where the time format is statically cached and not updated upon
configuration change. The `LocalTime.formatHours()` extension method
was updated to no longer rely on the misbehaving `ofLocalTime` method.

In addition, `ConversationMessaageComputeWorkers.recomputeFormattedDate`
was designed to skip recomputing non-relative timestamps. This works
in most cases but not this specific edge case. A `force: Boolean` flag
was added to force all items to be updated. And the `force = true` flag
was passed upon `onResume` of the fragment.

Closes #14121
2025-05-14 16:43:17 -04:00
Alex Hart
918b792d83 Fix filter display when returning to conversation list from another tab. 2025-05-14 16:43:17 -04:00
Alex Hart
28ecb37103 Add additional logging for stopped processing. 2025-05-14 16:43:17 -04:00
Alex Hart
7c43462771 Disconnect groupCall object when network is unavailable. 2025-05-14 16:43:17 -04:00
Cody Henthorne
7e00739240 Remove MMS related encryption error messaging. 2025-05-14 16:43:17 -04:00
Cody Henthorne
feae417af5 Flag username for restore on re-register. 2025-05-14 16:43:17 -04:00
Michelle Tang
e5d55418ac Restore chat colors after backup. 2025-05-14 16:43:17 -04:00
Cody Henthorne
5d8e0e370d Fix pnp settings not properly syncing or dynamically updating. 2025-05-14 16:43:17 -04:00
Michelle Tang
e2bffd0fd3 Fix mentions being displayed as obj. 2025-05-14 16:43:17 -04:00
Alex Hart
8d2979d8ce Fix camera rotation / phone orientation syncing. 2025-05-14 16:43:17 -04:00
Jeffrey Starke
288eda5bb1 Add support for animated images to GlideImage.
Our GlideImage implementation doesn't support animated images, because it loads them as bitmaps and therefore only displays the first image frame as a static image. This change works around that issue by having GlideImage wrap an ImageView to handle cases where we need to display animated images.
2025-05-14 16:43:17 -04:00
Cody Henthorne
fb111619d7 Downgrade notify of key warning to info. 2025-05-14 16:43:17 -04:00
Alex Hart
fb68f3fed1 Work around off-by-one error causing thin line to display when it shouldn't. 2025-05-14 16:43:17 -04:00
Alex Hart
791f1677fa Update RecyclerView to 1.4.0 2025-05-14 16:43:17 -04:00
Alex Hart
632b76081a Fix tab scroll-to-top on click. 2025-05-14 16:43:16 -04:00
Alex Hart
a474666ea7 Hide create call link button while in multiselect mode. 2025-05-14 16:43:16 -04:00
Greyson Parrelli
b3c9ec9691 Migrate to new SVR2 enclave.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-05-14 16:43:16 -04:00
Cody Henthorne
778db277c8 Update retrieve profile job. 2025-05-14 16:43:16 -04:00
Michelle Tang
1800507604 Add beta label to backups. 2025-05-14 16:43:16 -04:00
Alex Hart
b0aee1db05 Add proper title to expiration sheet. 2025-05-14 16:43:16 -04:00
Alex Hart
919cbbd7ca Use dispatch queue and join to ensure single-threaded requests. 2025-05-14 16:43:16 -04:00
Cody Henthorne
93403a0d2c Implement stop/resume media restore and update restore over cellular. 2025-05-14 16:43:16 -04:00
Jeffrey Starke
9867fa3f50 Add round checkbox composable.
Adds `RoundCheckbox` composable, which is styled to match the appearance of the other view checkboxes used in the app.
2025-05-14 16:43:16 -04:00
Michelle Tang
b79ec79644 Fix backups not being scheduled. 2025-05-14 16:43:16 -04:00
Cody Henthorne
961e9fd4b9 Fix shortcut update job crash for old installs without an aci. 2025-05-14 16:43:16 -04:00
Alex Hart
6d04c8ba42 Remove MainListHostFragment and rescope list vms to the activity. 2025-05-14 16:43:16 -04:00
andrew-signal
bc94a92f68 Remove pendingResponses; libsignal-net now completes futures with disconnectReason. 2025-05-14 16:43:16 -04:00
andrew-signal
9b9888565b Bump to libsignal v0.71.0. 2025-05-14 16:43:16 -04:00
Alex Hart
a2a3dd28ee Remove activity override in favour of alias down the road. 2025-05-14 16:43:16 -04:00
Jeffrey Starke
844dec06b1 Delete old/unused sticker management v1 code.
Deletes the old code related to sticker management v1 and removes the v2 prefix from the new classes.
2025-05-14 16:43:16 -04:00
Sagar
5306a9dd7a Fix system emoji not showing in video call reactions. 2025-05-14 16:43:16 -04:00
Sagar
cdd595432b Update header on recipient change. 2025-05-14 16:43:00 -04:00
Alex Hart
fabec719ab Prevent multiple activity instances and fix strange launch behavior. 2025-05-06 17:58:48 -04:00
Jeffrey Starke
04c14a82be Sticker management v2 - Implement remaining functionality.
- Fix bottom action bar shadow clipping during visibility animations.
- Show snackbar after installing/uninstalling sticker packs.
- Navigate to sticker preview on row click.
- Add top app bar menu to enable multi-select mode.
- Start StickerManagementActivityV2 instead of the old StickerManagementActivity
2025-05-06 17:58:48 -04:00
Sagar
51851fa5fe Fix crash for leave gv1. 2025-05-06 17:58:48 -04:00
Jeffrey Starke
3c77a3d7aa Sticker management v2 - Implement multi-delete. 2025-05-06 17:58:48 -04:00
andrew-signal
7c9bab421a Pass down RemoteConfig for TLS minimum version enforcement to libsignal. 2025-05-06 17:58:48 -04:00
Michelle Tang
9d1960f065 Clear aep from clipboard after 60 seconds. 2025-05-06 17:58:48 -04:00
Sagar
ae4c0d1242 Add paging for getArchivedRecipients. 2025-05-06 17:58:48 -04:00
Alex Hart
df3396633b Add nav spacing to action bar in compact mode. 2025-05-06 17:58:48 -04:00
Michelle Tang
9aea264305 Fix backup dialog color. 2025-05-06 17:58:48 -04:00
Michelle Tang
866c232045 Convert InviteActivity to a fragment. 2025-05-06 17:58:48 -04:00
Alex Hart
524ffd9d79 Save search query to savedinstancestate. 2025-05-06 17:58:48 -04:00
Alex Hart
46ca979e59 Fix navigation bar offset. 2025-05-06 17:58:48 -04:00
Jeffrey Starke
c8bfc88bed Sticker management v2 - Implement multi-select. 2025-05-06 17:58:48 -04:00
Sagar
030678b029 Fix UI update on non-UI thread exception. 2025-05-06 17:58:48 -04:00
Sagar
e4b99e5cef Reapply query after contact refresh. 2025-05-06 17:58:48 -04:00
andrew-signal
367c0d0a8d Rotate libsignal-net trial RemoteConfig. 2025-05-06 17:58:48 -04:00
Sagar
6dfe3b9c33 Fix color resource linking in SignalSymbols. 2025-05-06 17:58:48 -04:00
Michelle Tang
3aa4e75ef3 Remove wrapped fragments from settings. 2025-05-06 17:58:48 -04:00
Jim Gustafson
570a475229 Add new remote config support for calling audio configuration. 2025-05-06 17:58:48 -04:00
Cody Henthorne
2421bbdabb Fix invalid constraint handling sql when calling update. 2025-05-06 17:58:48 -04:00
Sagar
39756fd0d4 Avoid recording empty voice messages during an ongoing call. 2025-05-06 17:58:48 -04:00
Sagar
7a69c96746 Add accessibility label on buttons. 2025-05-06 17:58:48 -04:00
Sagar
f0acc39829 Hide camera toggle button in PIP mode. 2025-05-06 17:58:48 -04:00
Sagar
a27daddb70 Fix media player incorrect state when switching videos in album. 2025-05-06 17:58:48 -04:00
Jeffrey Starke
fd47d28026 Sticker management v2 - Implement context menus.
Adds the context menus that appear when long pressing available or installed sticker pack list items.
2025-05-06 17:58:48 -04:00
Jeffrey Starke
fe853f7b65 Add missing long press haptic feedback to composables.
As recommended by https://developer.android.com/develop/ui/compose/touch-input/pointer-input/tap-and-press

> As a best practice, you should include haptic feedback when the user long-presses elements.
2025-05-06 17:58:48 -04:00
Cody Henthorne
c89fbbe49f Fix unread count asserts in read sync tests. 2025-05-06 17:58:48 -04:00
Cody Henthorne
5453f101ff Fix BackupRestoreMediaJob not correctly paging through attachments. 2025-05-06 17:58:48 -04:00
Cody Henthorne
87cbe305f0 Support accounts without pins in AEP restore flows. 2025-05-06 17:58:48 -04:00
Jeffrey Starke
b298cb6f89 Prevent sending sticker attachments with a blank contentType. 2025-05-06 17:58:48 -04:00
Sagar
65e1ffaed4 Do not play a media item if it was deleted. 2025-05-06 17:58:47 -04:00
Sagar
43b5cb0641 Fix crash when leaving group. 2025-05-06 17:58:47 -04:00
Greyson Parrelli
f73d929feb Add additional CDN reconciliations to BackupMediaSnapshotSyncJob.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-05-06 17:58:47 -04:00
andrew-signal
85647f1258 Bump to libsignal v0.70.1 2025-05-06 17:58:47 -04:00
Sagar
9164668b8b Duck and recover external audio on video play. 2025-05-06 17:58:47 -04:00
Sagar
76aaf22429 Duck and recover external audio on voice note play. 2025-05-06 17:58:47 -04:00
Miriam Zimmerman
3d7162cdd3 Implement remote mute receive; Update to RingRTC v2.52.0
Co-authored-by: Alex Hart <alex@signal.org>
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-05-06 17:58:47 -04:00
Alex Hart
ed9a945f05 Fix issue where a test user could have a tier but no subscriber. 2025-05-06 17:58:47 -04:00
Cody Henthorne
f8d7c27583 Bump version to 7.41.3 2025-05-06 17:58:08 -04:00
Cody Henthorne
4e1072b8da Update baseline profile. 2025-05-06 16:53:06 -04:00
Cody Henthorne
057715226f Update translations and other static files. 2025-05-06 16:48:07 -04:00
Cody Henthorne
0f8fdda884 Revert "Remove message send REST fallback."
This reverts commit 7bdfec77ca.
2025-05-06 16:39:43 -04:00
Michelle Tang
393b88fb1f Bump version to 7.41.2 2025-04-30 15:55:00 -04:00
Michelle Tang
639c3ef883 Update translations and other static files. 2025-04-30 15:44:25 -04:00
Sagar
ad4142db1a Fix class cast crash for banners. 2025-04-30 15:38:41 -04:00
Cody Henthorne
5182987735 Fix cds crash by translating libsignal-net CDS protocol exception to IOException. 2025-04-30 15:37:47 -04:00
Michelle Tang
7f5bfc210b Fix story text previews. 2025-04-30 15:25:14 -04:00
Michelle Tang
daf87915d6 Bump version to 7.41.1 2025-04-28 16:49:36 -04:00
Michelle Tang
06996540cd Update translations and other static files. 2025-04-28 16:43:54 -04:00
andrew-signal
58ad3c746a Don't call single.onError with IOException in LibSignalChatConnection::sendRequest. 2025-04-28 12:46:52 -06:00
Sagar
a7ebe41570 Fix MediaSelectionViewModel crash. 2025-04-28 19:30:58 +05:30
Michelle Tang
b6cc702107 Add more logging for chat folders during storage sync. 2025-04-25 16:11:21 -04:00
Greyson Parrelli
9163c0ca4d Improve envelope timestamp validation. 2025-04-24 16:45:26 -04:00
Cody Henthorne
18290c1301 Bump version to 7.41.0 2025-04-24 16:15:11 -04:00
Cody Henthorne
347abe14ae Update baseline profile. 2025-04-24 16:09:51 -04:00
Cody Henthorne
eba55755ff Update translations and other static files. 2025-04-24 16:04:38 -04:00
Michelle Tang
7043558657 Add fixes for streamable videos. 2025-04-24 15:55:40 -04:00
Alex Hart
3aefd3bdc6 Prevent search state from clearing if user did not send a message. 2025-04-24 15:55:40 -04:00
Sagar
d6eb675fd0 Trim text before performing username search. 2025-04-24 15:55:40 -04:00
Alex Hart
ae90b2ecd9 Add support for conversation intent routing to MainActivity. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
9d593bcaff Fix chat folders flickering during drag and drop.
Fixes the UI flickering that occurs when reordering chat folders. The issue was caused by the ViewModel updating the database each time a list item position changes when we were already updating list order in the UI state manually at the same time.
2025-04-24 15:55:39 -04:00
Jeffrey Starke
62ed823e42 Sticker management v2 - Implement drag and drop.
Adds the ability to use drag and drop to rearrange installed sticker packs.
2025-04-24 15:55:39 -04:00
Cody Henthorne
a53479e50d Do not process messages while pending restore decision. 2025-04-24 15:55:39 -04:00
Cody Henthorne
91140c41fd Revert "Depend on libsignal-net's connection backoff instead of duplicating at app-level."
This reverts commit 1aed82d5b7.
2025-04-24 15:55:39 -04:00
Cody Henthorne
68f567b0b7 Fix a few random crashes when using libsignal-net. 2025-04-24 15:55:39 -04:00
Cody Henthorne
501e169210 Make e164 formatter more leinent with + prefix. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
09b818b048 Limit work that happens in LiveRecipientCache lock. 2025-04-24 15:55:39 -04:00
Sagar
7b3897cac6 Fix incorrect span indices for normalised search text. 2025-04-24 15:55:39 -04:00
Alex Hart
64239962fc Implement activated state for conversation list items. 2025-04-24 15:55:39 -04:00
Alex Hart
dac3a332d7 Remove main-thread usage of Recipient.self. 2025-04-24 15:55:39 -04:00
Sagar
83bbcd0618 Avoid message click listeners in Scheduled messages sheet. 2025-04-24 15:55:39 -04:00
andrew-signal
c7c0374c11 Add remote config for libsignal-net rollout. 2025-04-24 15:55:39 -04:00
Sagar
847f3bf08c Pause and play video correctly on TimeBar scrub drag. 2025-04-24 15:55:39 -04:00
Cody Henthorne
d02c610237 Fix unreads for new unread count scheme. 2025-04-24 15:55:39 -04:00
Cody Henthorne
8007045ca8 Convert change number back to WebSocket. 2025-04-24 15:55:39 -04:00
Sagar
901b4b469d Show correct time for Story view item. 2025-04-24 15:55:39 -04:00
Sagar
fa50696815 Ensure story viewed list in proper alphabetical order. 2025-04-24 15:55:39 -04:00
Alex Hart
be035456f7 Ensures chat folder is remembered when we leave page. 2025-04-24 15:55:39 -04:00
Sagar
252a4afa79 Update banner message for debug log. 2025-04-24 15:55:39 -04:00
Sagar
f5f56536bc Fix unread count for edited messages.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-04-24 15:55:39 -04:00
Michelle Tang
9e89d688f1 Send error message after cancelling a link+sync. 2025-04-24 15:55:39 -04:00
Sagar
2bb94089f7 Move to quoted message on quote preview click. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
3fc386d4a3 Add StickerPackId and StickerPackKey value classes. 2025-04-24 15:55:39 -04:00
Sagar
3779dfd290 Open keyboard for a Draft message. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
a5f766a333 Sticker management v2 - Implement sticker pack installation.
Adds the ability to install sticker packs using `StickerManagementActivityV2`.

When the install button is clicked, it will morph into an indeterminate progress bar, which will then animate into a checkmark once the installation completes successfully. Then a couple seconds later, the sticker pack row will be removed from the available sticker packs list.
2025-04-24 15:55:39 -04:00
Sagar
9f40bfc645 Replace glyphs in group update messages. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
919f03522a Upgrade to mobilecoin to 6.1.2 for 16kb alignment. 2025-04-24 15:55:39 -04:00
Cody Henthorne
8aa6d0bbca Include AEP in link device provisioning message. 2025-04-24 15:55:39 -04:00
Cody Henthorne
4304ae2a96 Add notification profile id for backupsv2. 2025-04-24 15:55:39 -04:00
Sagar
b4a9189068 Add close icon in search toolbar. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
ec6448bd1b Address possible invalid e164's in storage service splits. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
8c5811581e Add additional logging around storage batch sizes. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
4b4d3d33b1 Add additional safeguards around storage sync types. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
dd6c39f7eb Update TransferProgressIndicator to support indeterminate progress.
Showing exact progress for sticker pack downloads is more complicated than necessary. This PR updates `TransferProgressIndicator` to support displaying indeterminate progress.

#### Changeset
- Display indeterminate progress when installing a sticker pack.
- Remove cancel button from `AvailableStickerPackRow`.
- Decrease progress indicator size to match updated design.
2025-04-24 15:55:39 -04:00
Sagar
b246e62504 Avoid setting blank folder name. 2025-04-24 15:55:39 -04:00
Sagar
ba08399d35 Add accessibility labels for MainToolbar. 2025-04-24 15:55:39 -04:00
Sagar
3f1bb7eac7 Improve choose chats save button enabled state. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
a2a10fb0c1 Filter out bad E164s from GV1 groups. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
e45eabc714 Convert avatar migration to just be a force push. 2025-04-24 15:55:39 -04:00
Alex Hart
138dae0484 Align pin reminder skip behavior with iOS. 2025-04-24 15:55:39 -04:00
Alex Hart
893725e304 Dynamic split pane support via internal setting. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
2cfe321274 Convert StickerManagementRepository to kotlin.
Converts `StickerManagementRepository` to kotlin, so `getStickerPacks()` can return a `Flow` that emits updates after the database is changed.

This change simplifies the implementation of `StickerManagmentViewModelV2`, since `StickerManagementRepository.getStickerPacks()` will now automatically register and unregister the database observer.
2025-04-24 15:55:39 -04:00
Sagar
050dcb3eb1 Show correct message for empty archived screen. 2025-04-24 15:55:39 -04:00
Alex Hart
6ce01c6b0e Return an empty list instead of crashing when calling participantAcis. 2025-04-24 15:55:39 -04:00
Sagar
d2f44fee87 Avoid opening Media preview for not sent media. 2025-04-24 15:55:39 -04:00
Sagar
1228da8665 Fix transfer controls logic for checking isUpload. 2025-04-24 15:55:39 -04:00
Sagar
479632d6a8 Fix message info screen updates. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
619d2997f6 Add additional local metrics around storage service writes/reads. 2025-04-24 15:55:39 -04:00
Alex Hart
c5e795b176 Wire up nav rail fabs and fix animation playing on leaving a tab. 2025-04-24 15:55:39 -04:00
andrew-signal
8b7b184224 Tweak Network.transformAndSetRemoteConfig to match changes to libsignal's RemoteConfig spec. 2025-04-24 15:55:39 -04:00
Jeffrey Starke
48d26beb77 Add TransferProgressIndicator composable.
Adds a composable version of `TransferProgressView`.
2025-04-24 15:55:39 -04:00
Jeffrey Starke
3d1895500c Sticker management v2 - Display available and installed stickers. 2025-04-24 15:55:39 -04:00
Alex Hart
e442c27555 Separate sheet that requires payment flow. 2025-04-24 15:55:39 -04:00
Alex Hart
c3d61bece1 Add MainContentLayoutData object and proper scaffolding directive. 2025-04-24 15:55:39 -04:00
Alex Hart
49853b2cca Move background color selection into theme. 2025-04-24 15:55:39 -04:00
Sagar
cd838c4bee Fix Video call screen bottom sheet weird animation and height. 2025-04-24 15:55:39 -04:00
Greyson Parrelli
2e50699a2d Make system keyboard sticker detection more reliable. 2025-04-24 15:55:39 -04:00
Michelle Tang
fe97c969ae Ensure keystore operations happen on the same thread. 2025-04-24 15:55:39 -04:00
Alex Hart
c70a8d48a8 Hide keyboard when navigating back to chat list via toolbar. 2025-04-24 15:55:39 -04:00
Alex Hart
322ea97377 Add logging to BackupsSettingsViewModel to help track down data loading race. 2025-04-24 15:55:39 -04:00
Sagar
e3a402394f Avoid message failed notification when bubble thread is visible. 2025-04-24 15:55:39 -04:00
Sagar
16b4b3b6b7 Fix SearchView loosing focus. 2025-04-24 15:55:39 -04:00
Jim Gustafson
cd98ccbf00 Update to RingRTC v2.50.6 2025-04-24 15:55:39 -04:00
Sagar
eecb18b436 Add correct dialog message while blocking group. 2025-04-24 15:55:39 -04:00
Sagar
d13a803dcd Fix resend button visibility logic. 2025-04-24 15:55:39 -04:00
Alex Hart
bd03f21cdf Allow specification of whether we utilize windowTypes to lay out inset guidelines. 2025-04-24 15:55:39 -04:00
Alex Hart
b46d891183 Dialog color fixes. 2025-04-24 15:55:38 -04:00
Alex Hart
54191433e0 Remove ConversationTabs* and migrate to MainActivity. 2025-04-24 15:55:38 -04:00
Sagar
462fcdce16 Add glyph icons and SignalSymbol methods. 2025-04-24 15:55:38 -04:00
Greyson Parrelli
f68bb2dc88 Add storage service optimization to avoid manifest reads. 2025-04-24 15:55:38 -04:00
andrew-signal
fe70637140 Bump to libsignal v0.70.0 2025-04-24 15:55:38 -04:00
Greyson Parrelli
1028d293a0 Temporarily remove bad assertion in MessageBackupsFlowViewModel. 2025-04-24 15:55:38 -04:00
andrew-signal
74c6e76808 Add system HTTP proxy support to libsignal-net.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-04-24 15:55:38 -04:00
Greyson Parrelli
8e880fe117 Fix another syncing crash when no archived media exists. 2025-04-24 15:55:38 -04:00
Greyson Parrelli
6525662071 Fix syncing crash when no archived media exists. 2025-04-24 15:55:38 -04:00
Alex Hart
94d07f7012 Decouple InlineQueryViewModelV2 instance from activity, parent to fragment instead. 2025-04-24 15:55:38 -04:00
Sagar
e3297ab593 Add accessibility labels for GIF categories and correct emoji labels. 2025-04-24 15:55:38 -04:00
Sagar
3ff7f89ef6 Support hiding image caption with press and hold. 2025-04-24 15:55:38 -04:00
Sagar
ac1165c8fd Avoid blocking yourself. 2025-04-24 15:55:38 -04:00
Sagar
69153cf339 Support drag multi-selection for media gallery. 2025-04-16 11:22:23 -03:00
Sagar
852541c361 Avoid setting blank custom story name. 2025-04-16 11:22:23 -03:00
Sagar
399a613c25 Avoid sending blank story. 2025-04-16 11:22:23 -03:00
Sagar
003c1082a9 Avoid setting blank group names. 2025-04-16 11:22:23 -03:00
Jeffrey Starke
885588db86 Create new sticker management screen with tabbed interface.
Adds a skeleton implementation of `StickerManagementActivityV2`. This new activity is not currently connected to anything, but once complete it will replace `StickerManagementActivity`.
2025-04-16 11:22:23 -03:00
Milan Stevanovic
90a356b29d Fix incorrect embedded druation in certain MP4 files.
The root cause:
- some MP4 files come with H.264/H.265 streams which explicitly
  state their timescale. In such cases, it is wise that MP4 muxer
  adopts these values
- unfortunately, the recent trend has been that such values coming
  from video stream SPS (vui_parameters/timing info) are exorbitantly
  high - instead of being FPS *1000, they tend to be FPS * 100,000,000
- when trying to express the duration of the movie, the MP4 muxer
  normally tries to find the adequate timescale value which will
  fit both audio and video timescaling domains. The most suitable
  approach is that the LCM (least common multiplier) value is taken
  which mathematically will be the least disruptive.

HOWEVER:
- in cases when video and timescale numeric values are mutually 'odd',
  say 30*100,000,000 and 44100, the LCM ends up being a huge number,
  which outgrows the 32-bit storage capacity granted by the ISO MP4
  spec (MVHD box).

Problem solution:
1) identifying when the LCM timescale exceeds 32-bit storage space
2) scaling down its value by nearest larger 10X factor, which will
   guarantee its value fitting the 32-bit space. Given the afore
   mentioned video timescale factors, dividing by 10X is harmless
3) rescaling the duration 64-bit value based on the new timescale
2025-04-16 11:22:23 -03:00
Greyson Parrelli
597623d23a Update conscrypt to 2.5.3 2025-04-16 11:22:23 -03:00
Greyson Parrelli
2028afc941 Update aesgcmprovider to 0.0.4 2025-04-16 11:22:23 -03:00
Greyson Parrelli
915580ddd3 Enable backups v2 for internal users. 2025-04-16 11:22:23 -03:00
Greyson Parrelli
9432cca14a Fix some media not appearing in the gallery picker.
Works around the glide issue by using the straight URI when possible,
which allows glide to not have to keep a buffer. However, as soon as you
select it, it'll be an encrypted file, and we'll run into this same
issue where glide needs to keep a buffer for the input stream.

Related to #11014
2025-04-16 11:22:23 -03:00
Sagar
4e07ac0300 Fix InputAwareLayout incorrectly overriding height in bubble mode. 2025-04-16 11:22:23 -03:00
Sagar
ad21c349cd Update quote icon for scheduled send. 2025-04-16 11:22:23 -03:00
Greyson Parrelli
383da335d8 Do not send sync messages if we have no linked devices. 2025-04-16 11:22:23 -03:00
Jim Gustafson
ebdffc171e Update to RingRTC v2.50.5 2025-04-16 11:22:23 -03:00
Cody Henthorne
721b70b7b7 Fallback to local reglock data if available when registering a previously verified session. 2025-04-16 11:22:23 -03:00
Greyson Parrelli
556bcda58a Bump version to 7.40.2 2025-04-15 17:20:29 -04:00
Greyson Parrelli
4cb5bd9edd Fix potential bad state with change numbers. 2025-04-15 17:20:29 -04:00
Cody Henthorne
193f6460b0 Convert change number back to REST. 2025-04-15 17:05:19 -04:00
Alex Hart
f8d8c8af2d Add internal preference for large screen UI. 2025-04-15 15:29:37 -03:00
Alex Hart
efac6990c8 Apply display cutout for chat list. 2025-04-15 15:24:09 -03:00
Alex Hart
250ac481c8 Move cancel and retry to bg thread. 2025-04-15 13:15:16 -03:00
Michelle Tang
44bfa514a5 Fix member count description. 2025-04-15 11:05:58 -04:00
Alex Hart
74cedf99d8 Fix snackbar vertical offset on archive screen. 2025-04-15 11:33:11 -03:00
Alex Hart
4c81c321be Utilize root window insets for grabbing system bar sizes. 2025-04-15 11:14:16 -03:00
Alex Hart
d00fbcd886 Fix snackbar dismissal. 2025-04-15 10:25:47 -03:00
Alex Hart
416f80e745 Fix bad assumption about attachment count in validator. 2025-04-15 10:14:54 -03:00
Michelle Tang
6805826472 Bump version to 7.40.1 2025-04-11 11:03:55 -04:00
Michelle Tang
ce5d234186 Update translations and other static files. 2025-04-11 10:57:41 -04:00
Michelle Tang
c95c6e6ef0 Schedule storage sync job for add/remove from folder. 2025-04-11 10:49:33 -04:00
Cody Henthorne
904f8da8af Update settings for unregistered state. 2025-04-11 08:34:10 -04:00
Alex Hart
645e9bf16a Allow back press to return from archive to converation list. 2025-04-10 14:26:35 -03:00
Alex Hart
35235509ca Prevent wallpaper mode from overwriting navbar color. 2025-04-10 14:12:04 -03:00
Michelle Tang
021330a25d Fix adding to chats for chat folders. 2025-04-10 12:47:13 -04:00
Alex Hart
6613d5fccb Fix nav bar spacing and coloring. 2025-04-10 13:10:37 -03:00
Alex Hart
9d6e7560f0 Fix touch target for app toolbar avatar. 2025-04-10 12:14:18 -03:00
Alex Hart
09e36e0ed8 Fix 3 button nav styling. 2025-04-10 11:47:40 -03:00
Alex Hart
8dde5ccd2e Fix padding below toolbar in search mode with chat folders enabled. 2025-04-10 10:13:23 -03:00
Alex Hart
f1ed2156e3 Prevent scaffold from being used if we do not have flag enabled. 2025-04-10 10:00:58 -03:00
Michelle Tang
40b9a60f6c Bump version to 7.40.0 2025-04-09 16:54:03 -04:00
Michelle Tang
59a135a1db Update translations and other static files. 2025-04-09 16:53:42 -04:00
Michelle Tang
0123c17e7e Remove unnecessary boolean return for conversations. 2025-04-09 15:51:10 -04:00
Cody Henthorne
ac36eeb84d Use unauth WebSocket after quick restore for transfer mode decision. 2025-04-09 15:29:55 -04:00
Alex Hart
143b2b5bd5 Move live state into if statement for AvatarImage. 2025-04-09 15:29:54 -04:00
Michelle Tang
6006c047d8 Remove old deleted folders from storage service. 2025-04-09 15:29:54 -04:00
Alex Hart
94d5fe3e43 Fix how navigation bar colors are set and interacted with in MainActivity. 2025-04-09 15:29:54 -04:00
Alex Hart
e0ba8a1d60 Fix color issue on call toast popup. 2025-04-09 15:29:54 -04:00
Alex Hart
2f8b0ff3a8 Set corner radius of nav bar icons to half height. 2025-04-09 15:29:54 -04:00
Greyson Parrelli
4700846fad Align the libnative-utils to 16kb pages. 2025-04-09 15:29:54 -04:00
Greyson Parrelli
6ddf2ab5f8 Update to NDK r28 for 16kb page support. 2025-04-09 15:29:54 -04:00
Alex Hart
545a26ff04 Fix conversation nav bar click. 2025-04-09 15:29:54 -04:00
Sagar
f0f6b80f43 Prevent child clickable in message selection state. 2025-04-09 15:29:54 -04:00
Alex Hart
0227af199b Clear window insets listener when view is detached from window. 2025-04-09 15:29:54 -04:00
Alex Hart
970f5f2480 Add progress dialog support to bottom snackbar. 2025-04-09 15:29:54 -04:00
Sagar
13d0d25f77 Notify conversations for deleted stories. 2025-04-09 15:29:54 -04:00
Alex Hart
b64f3a48bf Add proper adaptive material app scaffolding. 2025-04-09 15:29:54 -04:00
Sagar
86ea3e8572 Fix thumbPositon jitter while editing video. 2025-04-09 15:29:54 -04:00
andrew-signal
f15a67c8b2 Remove outdated config check affecting proximity lock behavior during calling. 2025-04-09 15:29:54 -04:00
Alex Hart
659ae75a20 Fix content width shrinking megaphones. 2025-04-09 15:29:54 -04:00
Sagar
0d686b2f44 Fix Image expanded caption scroll to top. 2025-04-09 15:29:54 -04:00
andrew-signal
0d611cf4c9 Bump libsignal to v0.69.1. 2025-04-09 15:29:54 -04:00
Sagar
6afeb45f43 Remove duplicate error handling in MediaSelection. 2025-04-09 15:29:54 -04:00
Alex Hart
d81616d23c Prevent conversation re-launch on reconfiguration of screen. 2025-04-09 15:29:54 -04:00
Sagar
6ea63f3e34 Avoid sending blank replies and do not clear input when sending reactions. 2025-04-09 15:29:54 -04:00
Sagar
af52765821 Support opening scheduled document files. 2025-04-09 15:29:54 -04:00
Cody Henthorne
acbab9e736 Allow long text to be sent via notification replies. 2025-04-09 15:29:54 -04:00
Alex Hart
5bce2884a7 Add predictive back gesture support to MainActivity. 2025-04-09 15:29:52 -04:00
Alex Hart
b92998be13 Fix image loading for megaphones. 2025-04-09 15:27:46 -04:00
Michelle Tang
1339929de4 Update chat folder tests. 2025-04-09 15:27:46 -04:00
Alex Hart
b0cd27e203 Add compose megaphone stuff to MainBottomChrome composable. 2025-04-09 15:27:46 -04:00
Sagar
65e7c4c053 Support zoom for avatar preview. 2025-04-09 15:27:46 -04:00
Sagar
8d8519b52e Linkify story captions. 2025-04-09 15:27:46 -04:00
Sagar
9c95cfd64b Fix donation pills UI for large Font and other UI improvements. 2025-04-09 15:27:46 -04:00
Sagar
b0a903b17d Make FABs stack scrollable for small height in landscape mode. 2025-04-09 15:27:46 -04:00
Alex Hart
855b315067 Reimplement megaphone UI in compose. 2025-04-09 15:27:46 -04:00
Jeffrey Starke
aa7b61ecb1 Consolidate duplicated logic to retrieve groups in common.
Merges all of these into GroupsInCommonRepository:
- ConversationSettingsRepository.getGroupsInCommon()
- CallLinkIncomingRequestRepository.getGroupsInCommon()
- ContactSearchPagedDataSourceRepository.getGroupsInCommon()
- ReviewUtil.getGroupsInCommonCount()
- AboutSheetRepository.getGroupsInCommonCount()
2025-04-09 15:27:46 -04:00
Alex Hart
c9795141df Pass InAppPayments around by ID instead of passing the entire object. 2025-04-09 15:27:46 -04:00
andrew-signal
1aed82d5b7 Depend on libsignal-net's connection backoff instead of duplicating at app-level. 2025-04-09 15:27:46 -04:00
Michelle Tang
752ed93b6f Update blocked string for groups. 2025-04-09 15:27:46 -04:00
Ciphreon
de3088f706 Show "declined" for declined voice and video calls instead of "missed".
Closes #14081
Fixes #14080
2025-04-09 15:27:46 -04:00
Jeffrey Starke
2608e9165c Fix group member review avatar and "other groups in common" copy. (#4813)
- Fixes `ReviewBannerView` erroneously using the note to self icon instead of the current user's profile photo.
- Fixes the "other groups in common" copy, which was missing the word "other".
2025-04-09 15:27:46 -04:00
Cody Henthorne
1e0e165eaf Fix decryptionDrained flag if race for WebSocket state emission is lost. 2025-04-09 15:27:46 -04:00
Michelle Tang
eff90aaa64 Fix job checks when syncing folders with storage service id. 2025-04-09 15:27:46 -04:00
Jeffrey Starke
77078e1844 Add the ability to navigate to conversations by tapping groups in common rows. 2025-04-09 15:27:46 -04:00
Michelle Tang
5929021166 Fix null storageIds in chat folder crash. 2025-04-09 15:27:46 -04:00
andrew-signal
8317e2e055 Correct RemoteConfig to enable libsignalWebSocket for nightly builds. 2025-04-09 15:27:46 -04:00
Michelle Tang
eb1cf8d62f Add chat folder support to storage service. 2025-04-09 15:27:46 -04:00
Cody Henthorne
f6ecb572b1 Fix lint for IAP test and main toolbar. 2025-04-09 15:27:46 -04:00
Alex Bakon
8b9fc30b97 Migrate calls to deprecated libsignal methods. 2025-04-09 15:27:46 -04:00
Sagar
d65954c26f Improve AvatarImage to update on recipient changes. 2025-04-09 15:27:46 -04:00
Cody Henthorne
8a0e260061 Re-migrate delete account to WebSocket. 2025-04-09 15:27:46 -04:00
Jeffrey Starke
bb608dbfa7 Fix missing timestamps on undownloaded media messages. 2025-04-09 15:27:46 -04:00
Michelle Tang
ec5a7e1e48 Prevent recipient hot loop on main thread. 2025-04-09 15:27:46 -04:00
Sagar
6251dad6e0 Update MyStoryItem on profile change. 2025-04-09 15:27:46 -04:00
Sagar
3982f5a4db Remove prefix before username aci fetch. 2025-04-09 15:27:46 -04:00
Sagar
a8f8760a11 Support scroll for call link screens. 2025-04-09 15:27:46 -04:00
Sagar
fb571ffdbf fixup! Update profile initials after name change. 2025-04-09 15:27:46 -04:00
Sagar
dc2956d05b Update quoteIds for edited message and ignore stale messages in isQuoted. 2025-04-09 15:27:46 -04:00
Jeffrey Starke
85b19bfe23 Fix incorrectly oriented back navigation icons for top app bar RTL layouts.
Replace `symbol_arrow_left_24` with `symbol_arrow_start_24` (which has auto-mirroring enabled) for top app bar navigation back icons to properly support RTL layouts.
2025-04-09 15:27:46 -04:00
andrew-signal
5b04107447 Update to and integrate with libsignal v0.69.0. 2025-04-09 15:27:46 -04:00
Cody Henthorne
7a5790a6ce Attempt to reclaim username in more places during/after registration. 2025-04-09 15:27:46 -04:00
Jeffrey Starke
9d3f4ffa08 Add groups in common screen.
Adds a new screen to show which groups the user has in common with another user.
2025-04-09 15:27:46 -04:00
Sagar
bc2d4a0415 Fix badge bottomsheet color and scrolling. 2025-04-09 15:27:46 -04:00
Alex Hart
cc346351f7 Use state to support back pressed callback. 2025-04-09 15:27:46 -04:00
Cody Henthorne
fcc6032ee0 Generalize preventing WebSocket from connecting in various app states. 2025-04-09 15:27:46 -04:00
Cody Henthorne
ecb040ce98 Convert donations apis to WebSocket. 2025-04-09 15:27:46 -04:00
Sagar
2f9692a1a0 Prevent wrong closing animation for stories. 2025-04-09 15:27:46 -04:00
Sagar
042ab95738 Fix EmojiView scroll in bottomsheet. 2025-04-09 15:27:45 -04:00
Sagar
13be8d511c Focus on correct textfield when adding a description. 2025-04-09 15:27:45 -04:00
Cody Henthorne
7bdfec77ca Remove message send REST fallback. 2025-04-09 15:27:45 -04:00
Alex Hart
bc176b8c50 Fix application crash when failing to download backup types. 2025-04-09 15:27:45 -04:00
Alex Hart
68c0307b73 Upgrade compose bom to latest stable. 2025-04-09 15:27:45 -04:00
Michelle Tang
bc3d533b5f Bump version to 7.39.4 2025-04-09 14:49:18 -04:00
Michelle Tang
84bbac22cb Update translations and other static files. 2025-04-09 14:43:52 -04:00
Alex Hart
4d6c620f51 Sync toolbar state in tabs fragment. 2025-04-09 15:20:58 -03:00
Michelle Tang
fa7d19e474 Bump version to 7.39.3 2025-04-07 15:18:56 -04:00
Michelle Tang
3a7f9a1985 Update translations and other static files. 2025-04-07 15:11:49 -04:00
Sagar
e8ff5b19f9 Fix video remainingTime calculation. 2025-04-07 12:44:05 -04:00
Alex Hart
05701fde00 Fade in fabs after search is closed. 2025-04-07 13:12:40 -03:00
Alex Hart
94d1669363 Fix lineheight. 2025-04-07 12:54:55 -03:00
Greyson Parrelli
7f42f358a5 Bump version to 7.39.2 2025-04-03 21:48:29 -04:00
Greyson Parrelli
e9c3209322 Update baseline profile. 2025-04-03 21:48:29 -04:00
Greyson Parrelli
006a01b7f2 Update translations and other static files. 2025-04-03 21:48:29 -04:00
Alex Hart
9ddd24566d Fix action mode status bar coloring. 2025-04-03 21:48:29 -04:00
Alex Hart
a3166a8c73 Fix toolbar coloring behavior. 2025-04-03 21:48:29 -04:00
Alex Hart
117c2ad5dd Fix crash coming back from archive fragment. 2025-04-03 12:37:13 -03:00
Alex Hart
5e156c8576 Fix action mode rendering. 2025-04-03 12:21:59 -03:00
Michelle Tang
a073785407 Update system default language when switching. 2025-04-02 15:39:54 -04:00
Alex Hart
45ea0c0c97 Fix errant toolbar method. 2025-04-02 11:41:31 -03:00
Greyson Parrelli
43dcaacdaf Bump version to 7.39.1 2025-04-01 18:34:05 -04:00
Greyson Parrelli
aa89cd3d6c Update translations and other static files. 2025-04-01 18:33:46 -04:00
Greyson Parrelli
137ebd27eb Update to libsignal v0.68.1 2025-04-01 18:28:32 -04:00
Alex Hart
6323cd0fd4 Inline flag to enable auto-lower-hand for everyone. 2025-04-01 12:54:14 -03:00
Alex Hart
62305c6910 Fix content color in search field. 2025-04-01 12:15:02 -03:00
Alex Hart
681d38611d Hide stories if feature is disabled. 2025-04-01 12:10:09 -03:00
Alex Hart
38dedae8dd Fix navigation bar lottie animation duration. 2025-04-01 12:03:11 -03:00
Greyson Parrelli
ac39821841 Bump version to 7.39.0 2025-03-31 15:36:17 -04:00
Greyson Parrelli
50aef6c3bc Update baseline profile. 2025-03-31 15:28:52 -04:00
Greyson Parrelli
ad67d931df Update translations and other static files. 2025-03-31 14:59:06 -04:00
Greyson Parrelli
c9308f05ca Disable the configuration cache (for now). 2025-03-31 14:46:59 -04:00
Sagar
d1ba4fa19f Update profile initials after name change. 2025-03-31 14:44:13 -04:00
Sagar
48f8ebd0a8 Prevent showing Empty MediaPreview screen and avoid Camera/Gallery Stack. 2025-03-31 14:44:13 -04:00
Sagar
5237568bec Fix buttons weight distribution in QualitySelectorBottomSheet. 2025-03-31 14:44:13 -04:00
Alex Hart
49fcf08331 Move toolbar into main activity composable. 2025-03-31 14:44:13 -04:00
Sagar
23af6e2bf9 Improve Media Player current and remaining time logic. 2025-03-31 14:44:13 -04:00
Cody Henthorne
eb44dd4318 Provide retry UX for tier restore network failures. 2025-03-31 14:44:13 -04:00
Greyson Parrelli
9b527f7c6c Add additional validations around quote authors during export. 2025-03-31 14:44:13 -04:00
Sagar
1f95e0dd39 Hide scheduled media from conversation settings. 2025-03-31 14:44:13 -04:00
Sagar
02ee1c794b Fix play console crash reports. 2025-03-31 14:44:13 -04:00
Sagar
63c00e638d Fix witness verification for windows. 2025-03-31 14:44:13 -04:00
Greyson Parrelli
a421b5c6bb Add extra validation around shared contact backups. 2025-03-31 14:44:13 -04:00
Greyson Parrelli
42e7f5f4fc Do not allow invalid thread merge events in backups. 2025-03-31 14:44:13 -04:00
Michelle Tang
cffba71186 Add language support for Belarusian. 2025-03-31 14:44:13 -04:00
Alex Hart
10141717bd Add adaptive-layout and adaptive-navigation libraries. 2025-03-31 14:44:13 -04:00
Alex Hart
eb190f5f00 Remove ConversationListTabs enum. 2025-03-31 14:44:13 -04:00
Greyson Parrelli
0b315220ee Quiet excessive warnings. 2025-03-31 14:44:13 -04:00
Alex Hart
2b94489721 Fix witness verifications for OSX. 2025-03-31 14:44:13 -04:00
Alex Hart
7fe4816087 Add compose bottom chrome. 2025-03-31 14:44:13 -04:00
Greyson Parrelli
80bc2bdc89 Fix some lint errors. 2025-03-31 14:44:06 -04:00
Greyson Parrelli
8a2e15b76b Update to gradle 8.9.0 2025-03-31 14:44:06 -04:00
Alex Hart
c31c75d189 Temporary fix for notification profile icon. 2025-03-31 14:44:06 -04:00
Greyson Parrelli
17216316f6 Dynamically compute MediaName and MediaId. 2025-03-31 14:44:06 -04:00
Alex Hart
f1985cf506 Reimplement main activity toolbars in compose. 2025-03-31 14:44:06 -04:00
Michelle Tang
5f7ce0d96d Fix wrong language being selected for system default. 2025-03-31 14:44:06 -04:00
andrew-signal
88fd8fb36b Add handling for AppExpiredConnection in LibSignalChatConnection:connect.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-03-31 14:44:06 -04:00
andrew-signal
defe94c4fa Update to libsignal v0.68.0 2025-03-31 14:44:06 -04:00
andrew-signal
2a8be22160 Enable libsgnal-net for all nightly builds. 2025-03-31 14:44:06 -04:00
Greyson Parrelli
f48a13afc0 Fix handling of missing files during archive upload. 2025-03-31 14:44:06 -04:00
Greyson Parrelli
d1accfff82 Fixed internal setting behavior for forcing backup type. 2025-03-28 10:34:39 -04:00
Cody Henthorne
d87b313fb3 Only allow ACI auth for websocket at this time. 2025-03-28 10:30:05 -04:00
Cody Henthorne
ca8aa78705 Catch additional CDS exceptions to prevent crash. 2025-03-28 10:03:42 -04:00
Sagar
b5987feab3 Fix DateTime conversions for search datePicker. 2025-03-28 19:33:01 +05:30
Sagar
36c50d7dde Reset player position when video is finished. 2025-03-28 19:26:00 +05:30
Cody Henthorne
dea73e808c Fix pinned chat ordering sent to storage service. 2025-03-28 09:49:33 -04:00
Sagar
6847e0e4da Update conversation list for scheduled group message. 2025-03-28 00:10:59 +05:30
Alex Hart
ca82a99b9a Do not disable camera if undergoing a configuration change. 2025-03-27 14:43:32 -03:00
Greyson Parrelli
944e861594 Temporarily ignore flaky network test. 2025-03-27 13:27:44 -04:00
Greyson Parrelli
b5da07762c Fix unit of retry-after header. 2025-03-27 13:13:19 -04:00
Sagar
ad6c89bc01 Add support to dynamically update Recipient data in group settings. 2025-03-27 22:02:20 +05:30
Sagar
6b86a33f2a Support stop download and upload for documents. 2025-03-27 21:53:04 +05:30
Greyson Parrelli
bde791e03e Make the stopship task more reliable. 2025-03-27 10:25:34 -04:00
Sagar
857306d7a3 Update blur face button state on clear all while image editing. 2025-03-27 00:43:46 +05:30
Sagar
8f5f1b8906 Update dim button state on reset wallpaper. 2025-03-27 00:42:19 +05:30
Alex Hart
0358631029 Add ability to Self-heal SEPA bug. 2025-03-26 16:11:49 -03:00
Sagar
de54ff304d Improve byteCountEstimate calculation for videos. 2025-03-26 13:59:12 -04:00
Cody Henthorne
03614b32e4 Fix missing thumbnail background color. 2025-03-26 13:59:12 -04:00
Alex Hart
c0113436a2 Fix instrumentation tests for payments. 2025-03-26 13:59:12 -04:00
Tito
71a44e1ebd Update README.md copyright.
Closes #14060
2025-03-26 13:59:12 -04:00
Greyson Parrelli
c4131bb440 Inline the attachment backfill flag. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
0dfe71ca8f Fix crash when changing username on Android API < 24.
Basically, the crash was caused by using `Collections.unmodifiableList()`, which creates an `UnmodifiableCollection` wrapper around the original `List`.

That `UnmodifiableCollection` wrapper contains methods that return `java.util.stream.Stream` – which was added in Java 8, but can be used on Android API < 24 through [desugaring](https://developer.android.com/studio/write/java8-support-table). 

_However_, it appears that when Jackson is using reflection to serialize `ReserveUsernameRequest`, it examines all of the methods of that class. This results in a `java.lang.NoClassDefFoundError: java.util.stream.Stream`, because the reflection is looking at the actual runtime `UnmodifiableCollection` class and not desugared code.

As far as I can tell, that behavior is unavoidable and the only way to avoid this issue is to avoid using `Collections.unmodifiableList()` in classes that are serialized by Jackson on Android API < 24.
2025-03-26 13:59:12 -04:00
Sagar
dc66da0667 Fix BubbleBanner dismiss click listener. 2025-03-26 13:59:12 -04:00
Cody Henthorne
e3044b3c97 Update restore complete banner ux. 2025-03-26 13:59:12 -04:00
Cody Henthorne
dd205e31a9 Fix incorrect state by Cycling restore decision state key. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
0ef627b864 Use AttachmentSaver to save media overview files to device storage. 2025-03-26 13:59:12 -04:00
Sagar
18328079c8 Support dynamically updating common groups in recipient settings. 2025-03-26 13:59:12 -04:00
Sagar
114d9f21ed Support scroll for Scheduled Message dialog sheets. 2025-03-26 13:59:12 -04:00
Greyson Parrelli
7fa1403cff Fix nightly-url logic. 2025-03-26 13:59:12 -04:00
Alex Hart
276285ebef Replace main activity xml with AppScaffold. 2025-03-26 13:59:12 -04:00
Greyson Parrelli
8053d567f2 Update lint-baseline.xml 2025-03-26 13:59:12 -04:00
andrew-signal
9c48e669ee Remove unneeded test timeout. 2025-03-26 13:59:12 -04:00
Cody Henthorne
75e24ff7d5 Add and use special monospace typeface for AEP. 2025-03-26 13:59:12 -04:00
Sagar
e88db06c8b Add "Tap to remove" option for emoji in ReactionsBottomSheet. 2025-03-26 13:59:12 -04:00
Sagar
bcc11b9fbc Fix emoji picker weird scrolling in RTL. 2025-03-26 13:59:12 -04:00
Sagar
b416c34fa8 Add support for audio to start from a seek position. 2025-03-26 13:59:12 -04:00
Alex Hart
bf83914357 Convert MainActivity to Kotlin. 2025-03-26 13:59:12 -04:00
Alex Hart
e22c403b10 Adjust footer offset on collapsed text items. 2025-03-26 13:59:12 -04:00
Sagar
59af304002 Fix Re-register screen UI. 2025-03-26 13:59:12 -04:00
Sagar
480fc84b8b Fix Save/Reset chat wallpaper crashes. 2025-03-26 13:59:12 -04:00
Ciphreon
c8c0146fd0 Migrate Help Settings Fragment to Compose 2025-03-26 13:59:12 -04:00
Cody Henthorne
3e1edfbc67 Fix gv2 create/join bugs when profile credential is invalid. 2025-03-26 13:59:12 -04:00
Greyson Parrelli
eba5c5ceeb Add support for configuration cache. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
0f72c6face Fix missing toast message after write external storage permission is denied while saving an attachment.
`AttachmentSaver` was missing logic to show a toast message after the user denies `WRITE_EXTERNAL_STORAGE` permission.

#### Changeset
- Add missing toast after write external storage permission is denied.
- Add unit test coverage for `AttachmentSaver` result messages.
- Rename `AttachmentSaver` string resource names so they all have the same prefix.
2025-03-26 13:59:12 -04:00
Alex Hart
b6f98521c8 Implement auto-lower-hand. 2025-03-26 13:59:12 -04:00
Alex Hart
32b710a3ca Rewrite bottom navigation in compose. 2025-03-26 13:59:12 -04:00
Greyson Parrelli
a9ed6b6154 Fix ktlinformat on windows. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
9db5f6ddd2 Use AttachmentSaver to save media preview files to device storage. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
a26377db6c Update MockK to v1.13.17
To get access to the fix for mockk/mockk#939.
2025-03-26 13:59:12 -04:00
Jeffrey Starke
f0bb74a187 Use AttachmentSaver to save image editor files to device storage. 2025-03-26 13:59:12 -04:00
Dipesh Pal
b1ff5dc5ef Preserve search term when refreshing contacts.
Fixes #14051
2025-03-26 13:59:12 -04:00
mosfet80
773b116a83 Update benchmark-libs.versions.toml
Fix cve2020-15250
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250
2025-03-26 13:59:12 -04:00
mosfet80
765d1cc8ec Update android.yml
Update libs
Fix node.js<20 deprecation

deprecated by gradle/actions/wrapper-validation.
2025-03-26 13:59:12 -04:00
Greyson Parrelli
fbcf6e11ef Update rules for expiring messages in backupsV2. 2025-03-26 13:59:11 -04:00
andrew-signal
41783368bd Reject invalid TLS proxy configurations. 2025-03-26 13:59:11 -04:00
andrew-signal
9b98337e82 Adjust LibSignalChatConnection.disconnect() so we only transition to DISCONNECTED once. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
7c9cd8964f Update attachment backfill proto. 2025-03-26 13:59:11 -04:00
Cody Henthorne
e2961a3f6f Add auto-fill backup key support. 2025-03-26 13:59:11 -04:00
andrew-signal
2743bec704 Bump to libsignal v0.67.6 2025-03-26 13:59:11 -04:00
Greyson Parrelli
dd1697de41 Improve display and management of backup progress. 2025-03-26 13:59:11 -04:00
Michelle Tang
5b18f05aa8 Add date to linked device notification. 2025-03-26 13:59:11 -04:00
Michelle Tang
a681d06de5 Fix chevron placement for rtl languages. 2025-03-26 13:59:11 -04:00
Cody Henthorne
cef839d300 Add verify AEP screen. 2025-03-26 13:59:11 -04:00
Michelle Tang
82bb18e218 Clean up chat folder records. 2025-03-26 13:59:11 -04:00
Jeffrey Starke
247c5de140 Add .compose and .view subpackages to core-ui module. 2025-03-26 13:59:11 -04:00
Cody Henthorne
8fc358f0a5 Fix incorrect showing of backups enabled bottom sheet on flow exit. 2025-03-26 13:59:11 -04:00
Jim Gustafson
28481e3aab Update to RingRTC v2.50.3 2025-03-26 13:59:11 -04:00
Jeffrey Starke
bf8f603dcf Pause story playback while saving media.
Story playback was previously paused when the context menu is opened, but resumed while saving the media.

With this change, playback will remain paused while saving media, so the user doesn't potentially miss any stories while clicking through the dialogs to save media to their device storage.
2025-03-26 13:59:11 -04:00
Jeffrey Starke
c876c7847e Use AttachmentSaver to save story images. 2025-03-26 13:59:11 -04:00
Jeffrey Starke
293012c219 Add unit test coverage for AttachmentSaver. 2025-03-26 13:59:11 -04:00
Jeffrey Starke
b9dc5cbe4f Consolidate attachment saving logic into unified AttachmentSaver class.
Introduces `AttachmentSaver` to centralize all of the steps needed to save message attachments to the device storage. It handles the entire workflow including: 
- Showing the save to storage warning/confirmation dialog.
- Requesting `WRITE_EXTERNAL_STORAGE` permission.
- Showing/dismissing media save progress.

Goals of this new class:
- Make it easy to save media attachments anywhere with just a few lines of code (and easier to replace the deprecated `SaveAttachmentTask`).
- Ensure all of the necessary steps are consistently performed at each usage site (which wasn't the case before).
- Make it easier to unit test the save attachment logic.
2025-03-26 13:59:11 -04:00
Alex Hart
86afafac31 Clean up imports in InAppPaumentAuthCheckJob. 2025-03-26 13:59:11 -04:00
Alex Hart
05326acadc Fix potential crash if snackbar action is processed when fragment is not attached. 2025-03-26 13:59:11 -04:00
Alex Hart
80fc40bbc2 Do not show outgoing calls in missed call filter. 2025-03-26 13:59:11 -04:00
Milan Stevanovic
f0e6b2944a Eliminate zero-sized samples from contributing to the audio track.
Eliminating unnecessary and potentially counter-productive zero-sized
samples from the audio trak. The Android MP4 multiplexer tends to add
them at the very end of the audio stream. Their presence may negatively
affect the declared audio stream duration, and pose further complications
down the road.

The changes are verified on Samsung A54 (Android 14) device.
2025-03-26 13:59:11 -04:00
Michelle Tang
c1f96e5bd3 Fix conversation header position. 2025-03-26 13:59:11 -04:00
Cody Henthorne
2d9135da93 Add excluded directories to STOPSHIP task. 2025-03-26 13:59:11 -04:00
Cody Henthorne
095ae82483 Convert remote config apis to WebSocket. 2025-03-26 13:59:11 -04:00
Alex Hart
1e866a1e86 Do not create one-time receipt during auth check. 2025-03-26 13:59:11 -04:00
Alex Hart
6f52851222 Update with newBuilder. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
0efccf67b8 Format backup progress numbers. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
e555802636 Add internal settings button to add dummy messages. 2025-03-26 13:59:11 -04:00
Alex Hart
4b3013984e Add unit tests to check for unregistered state. 2025-03-26 13:59:11 -04:00
Alex Hart
5d4fec2e73 Utilize newBuilder instead of copy in unit test. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
1adcfd5abb Add custom STOPSHIP handling. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
3727a8e1df Add internal setting for forcing backup tier. 2025-03-26 13:59:11 -04:00
Alex Hart
ac4db23709 Add test for unregistered user state to InAppPaymentRecurringContextJobTest. 2025-03-26 13:59:11 -04:00
Alex Hart
e3356163bf Fix unit tests missing isRegistered check. 2025-03-26 13:59:11 -04:00
Alex Hart
f6aa324d41 Add unit testing for SharedInAppPaymentPipeline. 2025-03-26 13:59:11 -04:00
Michelle Tang
ca5754cff3 Use standard avatar blur gradient algorithm. 2025-03-26 13:59:11 -04:00
Alex Hart
629f5a3a3d Add several registered checks. 2025-03-26 13:59:11 -04:00
Jim Gustafson
076b47e695 Improve calling reliability with relay server response cache.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-03-26 13:59:11 -04:00
Alex Hart
92a28f7103 Ensure payment is in proper state before popping external iDEAL authorization. 2025-03-26 13:59:11 -04:00
andrew-signal
2a767c1e18 Fix races causing flakes in LibSignalChatConnectionTest. 2025-03-26 13:59:11 -04:00
Cody Henthorne
d3f622478f Convert remaining profile apis to use WebSockets and remove REST fallback. 2025-03-26 13:59:11 -04:00
Cody Henthorne
c66819449d Convert provisioning and certificate endpoints to WebSocket and finalize attachments. 2025-03-26 13:59:11 -04:00
Cody Henthorne
aeec3a6f7e Convert prekey requests to WebSocket. 2025-03-26 13:59:11 -04:00
Michelle Tang
da3fc408f8 Update conversation header with group members. 2025-03-26 13:59:11 -04:00
Cody Henthorne
41e0f2193a Convert SVR and GV2 auth requests to WebSocket. 2025-03-26 13:59:11 -04:00
Cody Henthorne
9e9a47f0da Convert WebSocket messaging apis to NetworkResult. 2025-03-26 13:59:11 -04:00
Cody Henthorne
7108d350e6 Fix spoiler rendering in story captions. 2025-03-26 13:59:11 -04:00
Cody Henthorne
e9ae40e749 Fix draft lost bug when leaving media send flow. 2025-03-26 13:59:11 -04:00
Alex Hart
7cc4677120 Migrate paypal and stripe interactions to durable background jobs. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
ad00e7c5ab Fix issue where were were sometimes backing up an empty CDN key. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
a4c30393ee Make the backup remote config field active. 2025-03-26 13:59:11 -04:00
Greyson Parrelli
2147ee77bc Improve logging around setting backup tier. 2025-03-26 13:59:11 -04:00
Alex Hart
0cfa4774ad Do not display backups warnings if backups are disabled in remote configuration. 2025-03-26 13:59:11 -04:00
Alex Hart
14f99bba24 Fix InAppPayments database inconsistency. 2025-03-26 13:59:11 -04:00
Alex Hart
8d53c1b384 Fix message backup checkout e2e tests. 2025-03-26 13:59:11 -04:00
Cody Henthorne
fff74256b5 Prevent duplicate restore local attachment jobs from being enqueue. 2025-03-26 13:59:11 -04:00
Cody Henthorne
f154029eb1 Bump version to 7.38.7 2025-03-26 13:48:06 -04:00
Cody Henthorne
7480124a59 Update baseline profile. 2025-03-26 13:39:38 -04:00
Cody Henthorne
6de816ce86 Update translations and other static files. 2025-03-26 13:33:32 -04:00
Cody Henthorne
d2cc5d54fe Use full version code for version tracking. 2025-03-26 13:23:47 -04:00
Greyson Parrelli
390a03b783 Fix query for thread merge fallback. 2025-03-26 09:09:26 -04:00
Greyson Parrelli
4b326a9875 Bump version to 7.38.6 2025-03-25 09:55:27 -04:00
Greyson Parrelli
0c05bfd756 Update translations and other static files. 2025-03-25 09:54:59 -04:00
Cody Henthorne
b8032378f6 Only deprecate client on 499s from chat service. 2025-03-25 09:45:26 -04:00
Cody Henthorne
2f4669d7eb Fix web socket management related crashes. 2025-03-25 09:44:38 -04:00
Alex Hart
0fb6062db3 Bump version to 7.38.5 2025-03-21 16:47:50 -03:00
Alex Hart
8d0ad52c8a Update baseline profile. 2025-03-21 16:31:42 -03:00
Alex Hart
bc3352148b Update translations and other static files. 2025-03-21 16:25:51 -03:00
Greyson Parrelli
edf5ecf2d6 Fix potential archive export issue around voice notes in revisions. 2025-03-21 13:59:01 -04:00
Greyson Parrelli
f145c20508 Fix potential archive export error around username. 2025-03-21 11:46:29 -04:00
Greyson Parrelli
8b54cea119 Fix potential NPE during archive export. 2025-03-21 11:25:51 -04:00
Greyson Parrelli
2b1f71d3b6 Fix potential constraint violation during thread merge. 2025-03-21 11:20:48 -04:00
Alex Hart
df4c6b59cd Enable DOM storage and enable error messaging for PayPal user actions. 2025-03-21 10:42:58 -03:00
Alex Hart
e5bb3f02f8 Bump version to 7.38.4 2025-03-19 11:01:02 -03:00
Alex Hart
ad6c181e5c Update baseline profile. 2025-03-19 10:57:55 -03:00
Alex Hart
6d0f1919e0 Update translations and other static files. 2025-03-19 10:54:14 -03:00
Cody Henthorne
5a0def7390 Prevent unregistered clients from repeatedly attempting an auth WebSockect connection. 2025-03-19 10:48:31 -03:00
Alex Hart
49f764a392 Add SDK check for incoming call state during full screen intent display. 2025-03-19 10:48:31 -03:00
Cody Henthorne
2dacb3b20f Use unbounded thread pool for Rx I/O scheduler. 2025-03-19 10:48:31 -03:00
Cody Henthorne
323697dfc9 Improve auth WebSocket lifecycle. 2025-03-19 10:48:31 -03:00
Alex Hart
6bbd899507 Bump version to 7.38.3 2025-03-17 16:29:17 -03:00
Alex Hart
e0c0ae0ee0 Update baseline profile. 2025-03-17 16:21:03 -03:00
Alex Hart
90ff303200 Update translations and other static files. 2025-03-17 16:12:25 -03:00
Alex Hart
4a5fb88800 Suppress megaphone if user is not registered. 2025-03-17 16:02:50 -03:00
Alex Hart
28d18a8012 Add checks for user registration when attempting to access dontations or perform keep-alive. 2025-03-17 16:01:52 -03:00
Alex Hart
a7fb84e7e6 Improve error code handling in recurring context job. 2025-03-17 15:05:11 -03:00
Cody Henthorne
0d133b8d1e Improve stacktraces by not wrapping CDS exceptions in RuntimeExceptions. 2025-03-17 09:19:26 -04:00
Michelle Tang
ab2f3e7918 Bump version to 7.38.2 2025-03-14 14:48:03 -04:00
Michelle Tang
98dbdfa6f9 Update translations and other static files. 2025-03-14 14:42:49 -04:00
Greyson Parrelli
39f440431c Fix story syncing to linked devices. 2025-03-14 11:45:14 -04:00
Michelle Tang
5ade733c3d Bump version to 7.38.1 2025-03-12 21:59:22 -04:00
Michelle Tang
c38eb86a48 Update translations and other static files. 2025-03-12 21:56:40 -04:00
Michelle Tang
c54958f0a9 Fix crash in migration job. 2025-03-12 21:43:17 -04:00
Michelle Tang
6dc12ab9b2 Bump version to 7.38.0 2025-03-12 16:49:32 -04:00
Michelle Tang
4fa067beef Update translations and other static files. 2025-03-12 16:37:44 -04:00
Cody Henthorne
ddda5e8b47 Revert delete account conversion to WebSocket. 2025-03-12 16:15:41 -04:00
Greyson Parrelli
6d956ca0f9 Add internal debug setting to archive session. 2025-03-12 16:15:41 -04:00
Greyson Parrelli
22d908385b Consistently format byte sizes. 2025-03-12 16:15:41 -04:00
Cody Henthorne
d2006853c7 Start new style messsage api and convert report spam to WebSocket. 2025-03-12 16:15:41 -04:00
Michelle Tang
f61109391a Add support for blocked chat events. 2025-03-12 16:15:41 -04:00
andrew-signal
8101fcbd8d Update to libsignal v0.67.4 2025-03-12 16:15:41 -04:00
Cody Henthorne
b563d7e855 Add headers to StatusCodeError. 2025-03-12 16:15:41 -04:00
Alex Hart
3a1ed7e4ac Fix recurring donations unit tests. 2025-03-12 16:15:41 -04:00
Cody Henthorne
e57b6bfe00 Remove WebSocket to REST fallback for attachments. 2025-03-12 16:15:41 -04:00
Cody Henthorne
c476278d4c Remove dead code from PushServiceSocket. 2025-03-12 16:15:41 -04:00
Cody Henthorne
61a8636217 Convert rate limit apis to WebSocket. 2025-03-12 16:15:41 -04:00
Cody Henthorne
86b2fe9742 Convert storage service auth to WebSocket. 2025-03-12 16:15:41 -04:00
Cody Henthorne
6aca7c9194 Convert CDSI auth to WebSocket and service to NetworkResult. 2025-03-12 16:15:41 -04:00
Cody Henthorne
92e590aa3b Convert calling and payments apis to WebSocket. 2025-03-12 16:15:41 -04:00
Michelle Tang
224a85f5db Update linked devices check. 2025-03-12 16:15:41 -04:00
Greyson Parrelli
a21b3387fc Fix label of field in internal settings. 2025-03-12 16:15:41 -04:00
Greyson Parrelli
0839ecdc1a Post internal notification for failed archive media restores. 2025-03-12 16:15:41 -04:00
Andrew
8f00373e08 Improve network reliability. 2025-03-12 16:15:41 -04:00
Cody Henthorne
d6316d955f Remove unusued NetworkFailureException. 2025-03-12 16:15:41 -04:00
Michelle Tang
c568f2e9cc Add ability to delete avatars in internal details. 2025-03-12 16:15:41 -04:00
Alex Hart
7191a40aba Do not notify call observers if data has not changed. 2025-03-12 16:15:41 -04:00
Jeffrey Starke
f2950e279b Improve handling of errors when saving media attachments.
Improves the error handling in `SaveAttachmentUtil.saveAttachments()` to continue processing all requested attachment saves even after individual save operations fail.
2025-03-12 16:15:41 -04:00
Alex Hart
9b6f355802 Resolve consistent subscription state after new subscription is created. 2025-03-12 16:15:40 -04:00
Alex Hart
5ec3371b9a Trigger backup-id upload before allowing user to pay. 2025-03-12 16:15:40 -04:00
Alex Hart
862628fc28 Mark end state in job that failed with an error. 2025-03-12 16:15:40 -04:00
Cody Henthorne
cf78c76bbb Convert chat-based backup calls to WebSocket. 2025-03-12 16:15:40 -04:00
Cody Henthorne
305b380fef Convert all account based calls to WebSocket. 2025-03-12 16:15:40 -04:00
Alex Hart
6d115a912d Take purchase token straight from payment result during linking to subscriber id. 2025-03-12 16:15:40 -04:00
Greyson Parrelli
1cc3e16d1a Add migration to clean up dupe e164's (again). 2025-03-12 16:15:40 -04:00
Michelle Tang
9eba978da6 Update various message request UI. 2025-03-12 16:15:40 -04:00
Greyson Parrelli
caa1d0a2b3 Improve logging output. 2025-03-12 16:15:40 -04:00
Sagar
e00d780115 Add the ability to edit a link preview in stories before sending.
Resolves #14035
2025-03-12 16:15:40 -04:00
Henry Addo
cf529b354b Prevent empty passphrases when restoring local chat backups.
Fixes #14015
Resolves #14016
2025-03-12 16:15:38 -04:00
Greyson Parrelli
0c445c2fe9 Cap the max image render size to 12000x12000. 2025-03-12 15:34:49 -04:00
Greyson Parrelli
1793c77bf2 Revert "Fix some media not appearing in the gallery picker."
This reverts commit 5ad042d232.
2025-03-12 15:34:49 -04:00
Cody Henthorne
f1614ec772 Fix bounded-io thread pool race condition preventing additional thread starts. 2025-03-12 15:34:49 -04:00
Alex Hart
3fee68e33e Fix checks in backup subscription check job. 2025-03-12 15:34:49 -04:00
Cody Henthorne
c38342e2fb Convert device linking apis to use websockets. 2025-03-12 15:34:49 -04:00
Michelle Tang
451d12ed53 Block avatar downloads in message request states. 2025-03-12 15:34:49 -04:00
Greyson Parrelli
5592d13258 Improve trimming of leading zeros in E164 formatting. 2025-03-12 15:34:48 -04:00
Sagar
6a773730b8 Fix DozeBanner dismissal and button tint.
Resolves #14001
2025-03-12 15:34:48 -04:00
Sagar
a53bd29553 Add accessibility labels for media preview and emojis.
Fixes #14034
Resolves #14037
2025-03-12 15:34:48 -04:00
Sagar
44c90331ec Fix scheduled voice note playback.
Resolves #13951
2025-03-12 15:34:48 -04:00
Sagar
52c8dfc998 Support scheduled voice notes.
Resolves #13957
2025-03-12 15:34:48 -04:00
Cody Henthorne
da5c8ff6ea Remove libsignal shadow/bridge websocket infra. 2025-03-12 15:34:48 -04:00
Greyson Parrelli
83611414cc Add support for avatar colors in storage service. 2025-03-12 15:34:48 -04:00
Cody Henthorne
93d18c1763 Separate and kotlinize websockets. 2025-03-12 15:34:48 -04:00
Jeffrey Starke
6c9acf4657 Fix story list clipping at bottom
Removes unnecessary padding at the bottom of the stories landing fragment `RecyclerView`.
2025-03-12 15:34:48 -04:00
Greyson Parrelli
f0f25ae12e Use the new avatar color hash algorithm. 2025-03-12 15:34:48 -04:00
Greyson Parrelli
19bf6f95c7 Update to the latest Backup.proto 2025-03-12 15:34:48 -04:00
Michelle Tang
2ff4ea2832 Bump version to 7.37.3 2025-03-12 14:41:33 -04:00
Michelle Tang
f222ee6924 Update translations and other static files. 2025-03-12 14:40:31 -04:00
Greyson Parrelli
0077be4abc Fix crash in change number flow. 2025-03-12 12:05:53 -04:00
Greyson Parrelli
481dc162d8 Bump version to 7.37.2 2025-03-07 16:48:00 -05:00
Greyson Parrelli
63e935de12 Bump version to 7.37.1 2025-03-07 16:30:04 -05:00
Greyson Parrelli
92f9b49315 Update translations and other static files. 2025-03-07 16:29:38 -05:00
Greyson Parrelli
86929aca9d Properly handle empty block sync messages. 2025-03-07 11:19:38 -05:00
Greyson Parrelli
0c6a45880c Bump version to 7.37.0 2025-03-05 09:30:06 -05:00
Greyson Parrelli
644a23f66e Update translations and other static files. 2025-03-05 09:23:53 -05:00
Jeffrey Starke
4ee962e604 Fix fallback avatar icon direction in RTL
Fixes a bug where the note to self icon was not displayed as mirrored for right-to-left locales.
2025-03-05 09:21:02 -05:00
Jeffrey Starke
7c709db540 Fix username QR code image filename 2025-03-05 09:20:02 -05:00
Greyson Parrelli
e6ab15fde6 Ensure all phone numbers written are properly formatted. 2025-03-04 16:28:08 -05:00
andrew-signal
165322afc1 Queue LibSignalChatConnection::sendRequest() in CONNECTING state. 2025-03-04 15:58:21 -05:00
Jeffrey Starke
38292f26b1 Fix incoming/outgoing audio message layout
- Consolidate `conversation_item_footer_outgoing` and `conversation_item_footer_incoming` into a single layout file.
- Rearrange the timestamp, disappearing timer, and voice message duration for incoming audio messages to match outgoing messages.
- Fix the position of the playback speed button.
2025-03-04 15:58:21 -05:00
Cody Henthorne
b826b10320 Improve group create failure UX. 2025-03-04 15:58:21 -05:00
Cody Henthorne
94b50f1502 Prevent remote delete in gv1 crash. 2025-03-04 15:58:21 -05:00
Greyson Parrelli
9c473fb570 Improve and centralize e164 utils. 2025-03-04 15:58:21 -05:00
Cody Henthorne
0fdcc1c027 Show update pin megaphone after AEP without pin registration. 2025-03-04 15:58:21 -05:00
Keith Collister
507d67ee61 Fix typo in linked devices dialogue.
Resolves #14031
2025-03-04 15:58:21 -05:00
Alex Hart
9f01d7cf67 Add reactions feed to compose calling screen. 2025-03-04 15:58:21 -05:00
andrew-signal
25acada838 Add debug log to track lifetime of KeepAliveSender thread. 2025-03-04 15:58:21 -05:00
Greyson Parrelli
e9e62b98f3 Move bidi methods to BidiUtil. 2025-03-04 15:58:21 -05:00
Greyson Parrelli
791e95c645 Convert StringUtil to kotlin. 2025-03-04 15:58:21 -05:00
Cody Henthorne
d0b6d6fdeb Migrate to shared class hierarchy for unit based database tests. 2025-03-04 15:58:21 -05:00
Greyson Parrelli
d5e18a8bd5 Bump version to 7.36.2 2025-03-04 15:57:24 -05:00
Greyson Parrelli
764cb392a2 Update translations and other static files. 2025-03-04 15:56:57 -05:00
Alex Hart
be43f8ce88 IAP Resolve and synchronize payment method from subscription object. 2025-03-04 16:32:13 -04:00
Greyson Parrelli
d87ee495d3 Fix edit message logic when only changing formatting. 2025-03-04 15:02:40 -05:00
Alex Hart
36b99637b2 Fix improper usage of stale data object. 2025-03-04 15:59:46 -04:00
Greyson Parrelli
b8a10afef5 Bump version to 7.36.1 2025-03-03 12:57:51 -05:00
Greyson Parrelli
b0077903e8 Update baseline profile. 2025-03-03 12:57:18 -05:00
Greyson Parrelli
6ce05b27b0 Update translations and other static files. 2025-03-03 12:53:50 -05:00
Alex Hart
7078ef5d2b Ensure parent window token is non-null before trying to display Wifi popup. 2025-03-03 12:47:16 -05:00
Jeffrey Starke
d3be5807b5 Fix ability to remove quoted message without changing message text.
Fixes a bug introduced in ff09d2267b that prevented removing a quoted message when the message text is unchanged.
2025-03-03 12:45:06 -05:00
Greyson Parrelli
ec65506bec Trim contact seach queries.
Fixes #14032
2025-03-03 10:05:39 -05:00
Greyson Parrelli
23c51273c0 Add log for 'you may have new messages' notification. 2025-03-03 09:51:59 -05:00
Greyson Parrelli
79e19ff080 Bump version to 7.36.0 2025-02-27 21:17:02 -05:00
Greyson Parrelli
878781cf45 Update baseline profile. 2025-02-27 21:16:31 -05:00
Greyson Parrelli
1d0c931757 Update translations and other static files. 2025-02-27 21:11:38 -05:00
andrew-signal
0eb7ec0e39 Bump to libsignal v0.67.1. 2025-02-27 16:56:34 -05:00
Greyson Parrelli
1ec9e1c96b Fix possible storage service retry loop. 2025-02-27 10:07:55 -05:00
Jeffrey Starke
ff09d2267b Don't send edits if the message text wasn't changed. 2025-02-27 10:07:51 -05:00
Greyson Parrelli
0c146ef35c Update logcat logging. 2025-02-26 15:23:32 -05:00
Sagar
6d294cd710 Update currently selected members count properly.
Fixes #13857
Fixes #13859
Resolves #13885
2025-02-26 14:01:50 -05:00
Cody Henthorne
a64632c862 Fix stripe canceled subscriptions from showing on management screen. 2025-02-26 14:01:38 -05:00
Greyson Parrelli
5ad042d232 Fix some media not appearing in the gallery picker.
Works around the glide issue by using the straight URI when possible,
which allows glide to not have to keep a buffer. However, as soon as you
select it, it'll be an encrypted file, and we'll run into this same
issue where glide needs to keep a buffer for the input stream.

Related to #11014
2025-02-26 14:01:38 -05:00
Greyson Parrelli
6ebc860064 Inline link+sync remote config. 2025-02-26 14:01:38 -05:00
Michelle Tang
be2e9c68c1 Separate placeholder transitions for profile names. 2025-02-26 14:01:38 -05:00
Greyson Parrelli
679c36f2ad Fix backup export of call link admin key. 2025-02-26 14:01:38 -05:00
Cody Henthorne
8b6b0a30e5 Fix pni in aci only field of decline invite for backupv2. 2025-02-26 14:01:38 -05:00
Cody Henthorne
0b3a949264 Do regv3 storage service restore flows right. 2025-02-26 14:01:38 -05:00
andrew-signal
a31ed28b5f Bump libsignal to v0.67.0.
Enables new CDSI connection logic based on remote config.
2025-02-26 14:01:38 -05:00
Greyson Parrelli
b6038f8ae3 Update to the latest backup.proto 2025-02-26 14:01:38 -05:00
Greyson Parrelli
e9106ba951 Fix potential missing recipient crash in profile fetch. 2025-02-26 14:01:38 -05:00
Greyson Parrelli
c0788777d8 Fix read more text for certain text lengths.
Fixes #14017
2025-02-26 14:01:38 -05:00
Henry Addo
b746580cac Update CONTRIBUTING.md to remove references to submodules.
Resolves #14013
2025-02-24 12:27:28 -05:00
Michelle Tang
c7a3d9b8be Update donation string. 2025-02-21 18:00:56 -05:00
Greyson Parrelli
464ffbabdb Ensure that pinned_order is unique. 2025-02-21 16:07:10 -05:00
Greyson Parrelli
46e303ffca Fix validation error with long text attachments. 2025-02-21 12:05:20 -05:00
Jim Gustafson
6975afcff0 Update to RingRTC v2.50.0 2025-02-21 11:17:28 -05:00
Greyson Parrelli
f920e5f29c Bump version to 7.35.0 2025-02-20 16:25:41 -05:00
Greyson Parrelli
8e1fdec543 Update baseline profile. 2025-02-20 16:25:41 -05:00
Greyson Parrelli
d501a209a1 Update translations and other static files. 2025-02-20 16:25:41 -05:00
Sagar
d938906d3e Support selecting multiple threads to add to chat folder.
Resolves #13973
2025-02-20 16:25:41 -05:00
Sagar
de4b653554 Improve scrolling for username QR color picker.
Resolves #13968
2025-02-20 16:25:41 -05:00
andrew-signal
c95073e5dd Harmonize libsignal-net behavior to match existing websocket implementation. 2025-02-20 16:25:41 -05:00
Angelin Scheidweiler
be90efa23d Enable verified subtitle on group chat.
Fixes #13873
Resolves #13985
2025-02-20 16:25:41 -05:00
Michelle Tang
e5c9519076 Avoid closing dialog during learn more sync failure. 2025-02-20 16:25:41 -05:00
Alex Hart
47ce28a721 Reimplement the call overflow menu in compose. 2025-02-20 16:25:41 -05:00
Henry Addo
993192d38e Adjust size of the unidentified delivery icon.
In the advanced privacy settings screen set the
sealed sender icon to its original width and height
to maintain its aspect ratio without stretching it.

Fixes #13992
Resolves #14000
2025-02-20 16:25:41 -05:00
Cody Henthorne
a5c2113c15 Add backup delete all to internal settings. 2025-02-20 16:25:41 -05:00
mosfet80
1af8b3aa24 Update docker.yml
Fix node.js <20 deprecation

Resolves #13997
2025-02-20 16:25:41 -05:00
mosfet80
20216a773a Update diffuse.yml
Fix node.js <20 deprecation
Update ndk to 27.c version

Resolves #13998
2025-02-20 16:25:41 -05:00
Greyson Parrelli
998a5c09ae Make pnp settings changes synchronous. 2025-02-20 16:25:41 -05:00
Greyson Parrelli
dc78d841c1 Swallow potential foreground service crash. 2025-02-20 16:25:41 -05:00
Michelle Tang
886bebb088 Update message request states for 1:1 and groups chats. 2025-02-20 16:25:41 -05:00
andrew-signal
20cecbd5cd Fix NPE in libsignal-net sendKeepAlive. 2025-02-20 16:25:41 -05:00
Alex Hart
4474d1fc9e Add proper timeout for call state changes. 2025-02-20 16:25:41 -05:00
Alex Hart
6ebf9231d8 Utilize imageVector instead of painter in call buttons. 2025-02-20 16:25:36 -05:00
Alex Hart
31d80ed200 Implement the incoming call screen in compose. 2025-02-19 09:20:54 -04:00
Cody Henthorne
ca6c9d76b2 Add coroutine friendly blocking job run functions. 2025-02-18 16:51:14 -05:00
Greyson Parrelli
0e0dbc0436 Allow single char searches for non-alphanumeric characters.
Fixes #13843
2025-02-18 16:40:44 -05:00
andrew-signal
e63836220e Log queue empty event for libsignal-net. 2025-02-18 16:14:40 -05:00
Cody Henthorne
9a7ebd89ff Fix stale restore decision state bug in regv3. 2025-02-18 16:14:40 -05:00
Cody Henthorne
a6aa2ca3ce Add tap to submit debuglog for regv3 screens. 2025-02-18 16:14:40 -05:00
Cody Henthorne
021fd16540 Fix missing self-avatar during account restore. 2025-02-18 16:14:40 -05:00
Cody Henthorne
d3ff6ba3d2 Fix missing avatar by force downloading if file is missing. 2025-02-18 16:14:40 -05:00
Greyson Parrelli
9836185590 Exclude quotes from backfills. 2025-02-18 16:14:40 -05:00
Greyson Parrelli
7650e8c4da Remove deprecated SVR2 enclave. 2025-02-18 16:14:40 -05:00
Greyson Parrelli
5595b79bf5 Improve unknown recipient handling in group sends.
Fixes #13980
2025-02-18 16:14:40 -05:00
andrew-signal
e1115255fb Bump to libsignal v0.66.2 2025-02-18 16:14:40 -05:00
Greyson Parrelli
71abbe9fb1 Disable backup auth if backups aren't enabled. 2025-02-18 16:14:40 -05:00
Greyson Parrelli
754d759d7d Add support for AttachmentBackfill sync messages. 2025-02-18 16:14:40 -05:00
Greyson Parrelli
e1511a09a7 Bump version to 7.34.2 2025-02-18 15:55:56 -05:00
Greyson Parrelli
c66485f35f Update baseline profile. 2025-02-18 15:55:37 -05:00
Greyson Parrelli
03d260187d Update translations and other static files. 2025-02-18 15:50:29 -05:00
Greyson Parrelli
7f4e96d619 Fix GIF attachment flags. 2025-02-18 14:33:04 -05:00
Greyson Parrelli
f7bd6bc9ed Fix potential message unique violation when merging recipients. 2025-02-18 14:33:04 -05:00
Greyson Parrelli
ff4ee2675a Bump version to 7.34.1 2025-02-14 21:44:47 -05:00
Greyson Parrelli
40cddf524c Update baseline profile. 2025-02-14 21:44:23 -05:00
Greyson Parrelli
0938401a87 Update translations and other static files. 2025-02-14 21:31:42 -05:00
Greyson Parrelli
de129c1310 Fix issue with exporting invalid e164s. 2025-02-14 13:45:21 -05:00
Alex Hart
6a1032577c Display thanks sheet if we resume activity before iDEAL is redeemed. 2025-02-14 13:22:20 -04:00
Greyson Parrelli
16309d87cd Improve logging on some backup validation errors. 2025-02-14 11:42:01 -05:00
Greyson Parrelli
c1ce4ba80d Ensure that audio attachments with text aren't exported as voice notes. 2025-02-14 11:42:01 -05:00
Greyson Parrelli
27d084080c Bump version to 7.34.0 2025-02-12 16:30:31 -05:00
Greyson Parrelli
3694d37ccc Update translations and other static files. 2025-02-12 16:30:02 -05:00
Alex Hart
86fa653ac6 Adjust how we external nav for ideal donations. 2025-02-12 16:22:53 -05:00
Alex Hart
8013da681f Fix in-call proximity lock. 2025-02-12 16:22:52 -05:00
andrew-signal
fffe8cf3c6 Bump libsignal to v0.66.1 2025-02-12 16:22:52 -05:00
Greyson Parrelli
1b01532327 Update to the standard SignalService.proto 2025-02-12 16:22:52 -05:00
Michelle Tang
95e0f7d571 Update biometrics check when linking. 2025-02-12 16:22:52 -05:00
Cody Henthorne
b82d16abcb Update last seen logic to used last read message instead of now timestamp. 2025-02-12 16:22:52 -05:00
Alex Hart
d7221a384b Add check for authorized job. Fix issue with start external activity error propagation. 2025-02-11 15:31:06 -05:00
Michelle Tang
02d4b1897e Allow searching with + prefix. 2025-02-11 15:31:06 -05:00
Alex Hart
48cac37914 Strip spaces from IBAN values before attempting to validate and transform them. 2025-02-11 15:31:06 -05:00
Cody Henthorne
3237072c40 Fix potential build race condition with country code select fragments. 2025-02-11 15:31:06 -05:00
Michelle Tang
88cf4c3399 Update translation queries. 2025-02-11 15:31:06 -05:00
Alex Hart
216c29c206 Add CallScreenMediator pattern to facilitate moving from views to compose. 2025-02-11 15:31:06 -05:00
Greyson Parrelli
f80ab7402a Do not show backup size for non-media backups. 2025-02-11 15:31:06 -05:00
Jameson Williams
73e0c8d632 Convert push unit tests to Kotlin.
Resolves #13978
2025-02-11 15:31:06 -05:00
andrew-signal
22bfafc317 Add fix + regression test for null disconnectReason in onConnectionInterrupted. 2025-02-11 15:31:06 -05:00
andrew-signal
bce4c347a1 Remove okio.withLock import in LibSignalChatConnection. 2025-02-11 15:31:06 -05:00
Greyson Parrelli
6eec980c73 Fix a lint issue. 2025-02-11 15:31:06 -05:00
Sagar
c2aae5da4d Fix multi-select and voice note headers overlapping.
Resolves #13962
2025-02-11 15:31:06 -05:00
Sagar
4f8066ca92 Fix position for archive icon in RTL.
Resolves #13976
2025-02-11 15:31:06 -05:00
Aeryn Light
13b1f98076 Fix about text color.
Fixes #13789
Resolves #13979
2025-02-11 15:31:06 -05:00
Greyson Parrelli
1fe58e2bc5 Add a thread dump section to the log. 2025-02-11 15:31:06 -05:00
andrew-signal
02bf7edb18 Fix libsignal-net crashes around CONNECTING state. 2025-02-11 15:31:06 -05:00
Greyson Parrelli
7c7dc679e9 Only write out one MDAT box for a video transcode.
Co-authored-by: Milan Stevanovic <milan@signal.org>
2025-02-11 15:31:06 -05:00
Alex Hart
753927bf30 Clean up nullability checks in WebRtcCallActivity. 2025-02-11 15:31:06 -05:00
Alex Hart
5adba60e75 Migrate WebRtcCallViewModel to Flow apis. 2025-02-11 15:31:06 -05:00
Alex Hart
355c3ff155 Remove old call participant dialog. 2025-02-11 15:31:06 -05:00
Cody Henthorne
eb49c76b6e Improve unread header counting and positioning. 2025-02-11 15:31:06 -05:00
Cody Henthorne
ecc573f6b5 Fix note to self sorting by profile name in search bug. 2025-02-11 15:31:06 -05:00
Greyson Parrelli
e2b0567534 Update note to self sending flow. 2025-02-11 15:31:06 -05:00
Jim Gustafson
09447dda0f Update to RingRTC v2.49.4 2025-02-11 15:31:06 -05:00
Greyson Parrelli
415b593d58 Bump version to 7.33.2 2025-02-10 14:34:23 -05:00
Greyson Parrelli
ceb527e45c Update baseline profile. 2025-02-10 14:34:00 -05:00
Greyson Parrelli
f39ea65e0c Update translations and other static files. 2025-02-10 12:45:15 -05:00
Michelle Tang
125093a2ce Save national number when using country picker. 2025-02-10 12:00:22 -05:00
Michelle Tang
28cc0f2534 Update tint color. 2025-02-10 09:08:09 -05:00
Michelle Tang
85a5e058fb Fix default country code. 2025-02-10 08:48:26 -05:00
Greyson Parrelli
d2b7f273f9 Bump version to 7.33.1 2025-02-07 15:25:36 -05:00
Greyson Parrelli
68f1661c61 Update baseline profile. 2025-02-07 15:25:07 -05:00
Greyson Parrelli
0b6044733e Update translations and other static files. 2025-02-07 15:20:57 -05:00
Michelle Tang
5a7580c4c7 Add contact support option within link+sync. 2025-02-07 14:39:28 -05:00
Michelle Tang
850c20bcd8 Update country picker for findBy and changeNumber. 2025-02-07 14:35:45 -05:00
Alex Hart
20ab362f2c Fix screen-on for calling activity. 2025-02-07 13:06:22 -04:00
Michelle Tang
5173916699 Add more fixes to the country picker. 2025-02-06 16:19:43 -05:00
Greyson Parrelli
254b0dacc3 Fix handling of E164-only contacts in incoming block sync message. 2025-02-06 10:48:35 -05:00
Greyson Parrelli
5973e96d76 Bump version to 7.33.0 2025-02-05 16:55:11 -05:00
Greyson Parrelli
3c5a274669 Update baseline profile. 2025-02-05 16:55:11 -05:00
Greyson Parrelli
33801c3e36 Update translations and other static files. 2025-02-05 16:55:11 -05:00
Michelle Tang
02e7c035aa Add fixes to country picker. 2025-02-05 16:55:11 -05:00
Alex Hart
e840efcecc Implement 1:1 call mutes state. 2025-02-05 16:55:11 -05:00
Greyson Parrelli
23ad23c341 Ensure backup failures halt ArchiveUploadProgress. 2025-02-05 16:55:11 -05:00
Greyson Parrelli
8e945759a1 Fix reading free tier days from backup configuration. 2025-02-05 16:55:11 -05:00
Alex Hart
90094fbb11 Fix flickering text caused by calling onSizeChanged en-masse. 2025-02-05 16:55:11 -05:00
Alex Hart
ecf06647c6 Fix full screen incoming call view. 2025-02-05 16:55:11 -05:00
andrew-signal
03664ac085 Bump libsignal to v0.65.6 2025-02-05 16:55:11 -05:00
Cody Henthorne
40665aa412 Prevent accidental copy of date received in message details screen. 2025-02-05 16:55:11 -05:00
Cody Henthorne
9c9620c917 Do not connect to web socket until restore decision made. 2025-02-05 16:55:11 -05:00
Cody Henthorne
d028fcff8b Ignore status code errors for group updates if Signal timestamp header missing. 2025-02-05 16:55:11 -05:00
Cody Henthorne
1156c546d4 Add 'you' case for rejecting a group request. 2025-02-05 16:55:11 -05:00
Michelle Tang
7755aa1c4e Fix foldable camera issues. 2025-02-05 16:55:11 -05:00
andrew-signal
2186e2bf92 Update LibSignalChatConnection to use new ChatConnection API rather than ChatService 2025-02-05 16:55:11 -05:00
Cody Henthorne
fe44789d88 Revamp restore decisions state and flesh out post registration restore options. 2025-02-05 16:55:11 -05:00
andrew-signal
b78747fda2 Bump libsignal version to v0.65.5 2025-02-05 16:55:11 -05:00
Greyson Parrelli
d8116c60c1 Add migration to repair missing FTS triggers. 2025-02-05 16:55:10 -05:00
Alex Hart
6a884ba678 Fix call screen pip aspect ratio in large landscape group calls. 2025-02-05 16:55:10 -05:00
Michelle Tang
adc0f7e82e Update linked device string. 2025-02-05 16:55:10 -05:00
Sagar
119ee9666d Clamp videos to max duration after media quality change.
Fixes #13930
Resolves #13932
2025-02-05 16:55:10 -05:00
Sagar
4369591966 Ensure notification profile visibility updates on all tabs.
Resolve #13945
2025-02-05 16:55:10 -05:00
Sagar
0e4f191304 Fix Scheduled MmsMessage DateTime visibility.
Resolves #13967
2025-02-05 16:55:10 -05:00
Angelin Scheidweiler
a76e271f20 Enforce no grouping in currency formatter, to be consistent with MoneyFilter.
Fixes #13922
Resolves #13923
2025-02-05 16:55:10 -05:00
Shazz
2a89decb95 Support searching for emoji by emoji itself.
Resolves #13964
2025-02-05 16:55:10 -05:00
Alex Hart
eac44de527 Convert WebRtcCallViewModel into Kotlin. 2025-02-05 16:55:10 -05:00
Greyson Parrelli
27a3cc0305 Save outgoing message bodies as trimmed. 2025-01-31 19:28:41 -05:00
Alex Hart
fee7d20cc6 Convert WebRtcCallingActivity to Kotlin. 2025-01-31 19:28:41 -05:00
Sagar
386ebaa6df Respect flash setting while recording video.
Resolves #13946
2025-01-31 19:28:41 -05:00
Michelle Tang
3866bb992c Fix save toast formatting. 2025-01-31 19:28:41 -05:00
Michelle Tang
0bbcfb2354 Fix cut off linking text. 2025-01-31 19:28:41 -05:00
Michelle Tang
a934df5f97 Update linked device education logic. 2025-01-31 19:28:40 -05:00
Greyson Parrelli
553d783860 Bump version to 7.32.2 2025-01-31 19:27:49 -05:00
Greyson Parrelli
ae87f3facf Update translations and other static files. 2025-01-31 19:27:23 -05:00
Michelle Tang
2ad04b1e88 Add new country picker for registration.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2025-01-31 18:56:24 -05:00
Greyson Parrelli
0a90d9f003 Allow syncing additional types of messages to linked devices. 2025-01-31 15:33:14 -05:00
Alex Hart
112874c080 Add new copy for linked device dialogs. 2025-01-31 14:44:20 -04:00
Greyson Parrelli
6492a90daa Bump version to 7.32.1 2025-01-30 16:32:37 -05:00
Greyson Parrelli
364e2948db Update translations and other static files. 2025-01-30 16:32:14 -05:00
Greyson Parrelli
8962b67e33 Do not export blank profile name changes. 2025-01-30 15:47:00 -05:00
Cody Henthorne
e3b1ef7904 Add info dialog about phone number discoverability during registration. 2025-01-30 11:42:07 -05:00
Greyson Parrelli
d94f382c5e Add migration to fix possible duplicate numbers. 2025-01-30 11:33:40 -05:00
Cody Henthorne
0f3214a511 Fix missing cancel request to join group bug. 2025-01-30 11:15:20 -05:00
Greyson Parrelli
aa9c87ee67 Bump version to 7.32.0 2025-01-29 16:19:01 -05:00
Greyson Parrelli
fe53aec0e5 Update baseline profile. 2025-01-29 16:19:01 -05:00
Greyson Parrelli
b3685df059 Update translations and other static files. 2025-01-29 16:19:01 -05:00
Greyson Parrelli
0bcc630b8a Export all threads, even if inactive. 2025-01-29 16:19:00 -05:00
Greyson Parrelli
2f5aa92960 Fix profile update backup export check. 2025-01-29 16:19:00 -05:00
Greyson Parrelli
d35ec54c5c Various backup performance improvements. 2025-01-29 16:11:39 -05:00
Michelle Tang
48c088f36c Stop missed call notifications after import. 2025-01-29 15:30:47 -05:00
Alex Hart
b937c9c69b Hide waiting to be let in bar when in pip mode. 2025-01-29 15:30:47 -05:00
Alex Hart
c723bc812a ActiveSubscription state error unit tests for recurring job. 2025-01-29 15:30:47 -05:00
Michelle Tang
fd1e47888a Adjust strings for media and calls. 2025-01-29 15:30:47 -05:00
Cody Henthorne
c431ba3f7a Handle additional backup transfer to new phone validation errors. 2025-01-29 15:30:47 -05:00
Greyson Parrelli
77bbc6b5f4 Do not export group story replies. 2025-01-29 15:30:47 -05:00
Cody Henthorne
f9a9c895ad Hide report button for Release Notes Channel. 2025-01-29 15:30:47 -05:00
Greyson Parrelli
3c35b3e1b6 Rotate link+sync capability. 2025-01-29 15:30:47 -05:00
Cody Henthorne
49e4eb95d4 Fix invalid group authoriziation cache crash. 2025-01-29 15:30:47 -05:00
Greyson Parrelli
9862b758e5 Update to libsignal 0.65.4 2025-01-29 15:30:47 -05:00
Greyson Parrelli
2e89b8acee Skip messages that aren't in the right place. 2025-01-29 15:30:47 -05:00
andrew-signal
1b2a62ae09 Pass network change events down to libsignal-net 2025-01-28 10:57:55 -05:00
Cody Henthorne
139b62e469 Update sad paths around manual backup key restore. 2025-01-28 10:57:55 -05:00
Alex Hart
b5f323d4af Add unit tests for InAppPaymentRecurringContextJob. 2025-01-28 10:57:55 -05:00
Greyson Parrelli
762c7a6d22 Filter out some bad data in StorageForcePushJob. 2025-01-28 10:57:55 -05:00
Jameson Williams
74de138ffc Migrate linchecks to Kotlin.
Resolves #13941
2025-01-28 10:57:55 -05:00
Cody Henthorne
db9ae1c85b Fix early get self crash when cycling KCS. 2025-01-28 10:57:55 -05:00
Greyson Parrelli
fa692690a2 Preserve some settings after thread deletion. 2025-01-28 10:57:55 -05:00
Michelle Tang
90690a0a93 Update voice note sizing. 2025-01-28 10:57:55 -05:00
Cody Henthorne
ac4042fca4 Trim abandoned attachments after backupv1 restore. 2025-01-28 10:57:55 -05:00
Alex Hart
c978671ab4 Add happy path for paid subscription UI flow testing. 2025-01-28 10:57:55 -05:00
Alex Hart
4c72a88a50 MessageBackupsCheckoutFlow free tier happy path. 2025-01-28 10:57:55 -05:00
Cody Henthorne
bc09df97b0 Improve thread delete performance. 2025-01-28 10:57:55 -05:00
Michelle Tang
f65cebdada Fix editing custom reactions. 2025-01-28 10:57:55 -05:00
Greyson Parrelli
8be946e43f Validate sticker IDs during export. 2025-01-28 10:57:55 -05:00
Michelle Tang
83aee4a084 Pluralize time strings. 2025-01-28 10:57:55 -05:00
Alex Hart
7542614580 Fix and re-enable checkout flow activity tests. 2025-01-28 10:57:55 -05:00
2254 changed files with 155022 additions and 48910 deletions

View File

@@ -18,3 +18,16 @@ ktlint_standard_statement-wrapping = disabled
internal:ktlint-suppression = disabled
ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
ktlint_standard_value-parameter-comment = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_function-expression-body = disabled
# Disable ktlint on generated source code, see
# https://github.com/JLLeitschuh/ktlint-gradle/issues/746
[**/build/generated/source/**]
ktlint = disabled
[build/generated/*/main/**]
ktlint = disabled
[**/build/generated-sources/**]
ktlint = disabled

View File

@@ -16,19 +16,19 @@ jobs:
runs-on: ubuntu-latest-8-cores
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: gradle
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
uses: gradle/wrapper-validation-action@v3
- name: Build with Gradle
run: ./gradlew qa

View File

@@ -8,7 +8,7 @@ permissions:
pull-requests: write # to comment on PR
env:
NDK_VERSION: '27.0.12077973'
NDK_VERSION: '28.0.13004108'
jobs:
assemble-base:
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest-8-cores
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
ref: ${{ github.event.pull_request.base.sha }}
@@ -36,7 +36,7 @@ jobs:
- name: Cache base apk
id: cache-base
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: diffuse-base.apk
key: diffuse-${{ github.event.pull_request.base.sha }}
@@ -49,7 +49,7 @@ jobs:
if: steps.cache-base.outputs.cache-hit != 'true'
run: mv app/build/outputs/apk/playProd/release/*arm64*.apk diffuse-base.apk
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
clean: 'false'

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build image
run: cd reproducible-builds && docker build -t signal-android . && cd ..

View File

@@ -16,6 +16,7 @@
<option name="ALIGN_MULTILINE_TEXT_BLOCKS" value="true" />
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="false" module="true" />
<package name="android" withSubpackages="true" static="false" />
<emptyLine />
<package name="androidx" withSubpackages="true" static="false" />

View File

@@ -1 +1 @@
java 17.0.2
java openjdk-17.0.2

View File

@@ -17,7 +17,6 @@ Truths which we believe to be self-evident:
## Building
1. You'll need to get the `libwebp` submodule after checking out the repository with `git submodule init && git submodule update`
1. Most things are pretty straightforward, and opening the project in Android Studio should get you most of the way there.
1. Depending on your configuration, you'll also likely need to install additional SDK Tool components, namely the versions of NDK and CMake we are currently using in our [Docker](https://github.com/signalapp/Signal-Android/blob/main/reproducible-builds/Dockerfile#L30) configuration.

View File

@@ -54,7 +54,7 @@ The form and manner of this distribution makes it eligible for export under the
## License
Copyright 2013-2024 Signal Messenger, LLC
Copyright 2013-2025 Signal Messenger, LLC
Licensed under the GNU AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html

View File

@@ -1,6 +1,7 @@
@file:Suppress("UnstableApiUsage")
import com.android.build.api.dsl.ManagedVirtualDevice
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import java.io.ByteArrayOutputStream
import java.io.FileInputStream
import java.text.SimpleDateFormat
import java.util.Date
@@ -20,8 +21,8 @@ plugins {
apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1506
val canonicalVersionName = "7.31.1"
val canonicalVersionCode = 1550
val canonicalVersionName = "7.44.2"
val currentHotfixVersion = 0
val maxHotfixVersions = 100
@@ -69,6 +70,8 @@ wire {
protoPath {
srcDir("${project.rootDir}/libsignal-service/src/main/protowire")
}
// Handled by libsignal
prune("signalservice.DecryptionErrorMessage")
}
ktlint {
@@ -90,6 +93,7 @@ android {
kotlinOptions {
jvmTarget = signalKotlinJvmTarget
freeCompilerArgs = listOf("-Xjvm-default=all")
suppressWarnings = true
}
keystores["debug"]?.let { properties ->
@@ -208,8 +212,8 @@ android {
buildConfigField("String[]", "SIGNAL_CDSI_IPS", rootProject.extra["cdsi_ips"] as String)
buildConfigField("String[]", "SIGNAL_SVR2_IPS", rootProject.extra["svr2_ips"] as String)
buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"a6622ad4656e1abcd0bc0ff17c229477747d2ded0495c4ebee7ed35c1789fa97\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"")
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0LUlT9vALgh/f2DPVOOmR0RW6bgRvc7DSF20V/omg+YBw==\"")
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AByD873dTilmOSG0TjKrvpeaKEsUmIO8Vx9BeMmftwUs9v7ikPwM8P3OHyT0+X3EUMZrSe9VUp26Wai51Q9I8mdk0hX/yo7CeFGJyzoOqn8e/i4Ygbn5HoAyXJx5eXfIbqpc0bIxzju4H/HOQeOpt6h742qii5u/cbwOhFZCsMIbElZTaeU+BWMBQiZHIGHT5IE0qCordQKZ5iPZom0HeFa8Yq0ShuEyAl0WINBiY6xE3H/9WnvzXBbMuuk//eRxXgzO8ieCeK8FwQNxbfXqZm6Ro1cMhCOF3u7xoX83QhpN\"")
@@ -369,6 +373,7 @@ android {
buildConfigField("boolean", "MANAGES_APP_UPDATES", "true")
buildConfigField("String", "APK_UPDATE_MANIFEST_URL", "\"${apkUpdateManifestUrl}\"")
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"nightly\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
}
create("prod") {
@@ -392,8 +397,8 @@ android {
buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"")
buildConfigField("String", "SIGNAL_CDSI_URL", "\"https://cdsi.staging.signal.org\"")
buildConfigField("String", "SIGNAL_SVR2_URL", "\"https://svr2.staging.signal.org\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"acb1973aa0bbbd14b3b4e06f145497d948fd4a98efc500fcce363b3b743ec482\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\"")
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"ABSY21VckQcbSXVNCGRYJcfWHiAMZmpTtTELcDmxgdFbtp/bWsSxZdMKzfCp8rvIs8ocCU3B37fT3r4Mi5qAemeGeR2X+/YmOGR5ofui7tD5mDQfstAI9i+4WpMtIe8KC3wU5w3Inq3uNWVmoGtpKndsNfwJrCg0Hd9zmObhypUnSkfYn2ooMOOnBpfdanRtrvetZUayDMSC5iSRcXKpdlukrpzzsCIvEwjwQlJYVPOQPj4V0F4UXXBdHSLK05uoPBCQG8G9rYIGedYsClJXnbrgGYG3eMTG5hnx4X4ntARBgELuMWWUEEfSK0mjXg+/2lPmWcTZWR9nkqgQQP0tbzuiPm74H2wMO4u1Wafe+UwyIlIT9L7KLS19Aw8r4sPrXZSSsOZ6s7M1+rTJN0bI5CKY2PX29y5Ok3jSWufIKcgKOnWoP67d5b2du2ZVJjpjfibNIHbT/cegy/sBLoFwtHogVYUewANUAXIaMPyCLRArsKhfJ5wBtTminG/PAvuBdJ70Z/bXVPf8TVsR292zQ65xwvWTejROW6AZX6aqucUjlENAErBme1YHmOSpU6tr6doJ66dPzVAWIanmO/5mgjNEDeK7DDqQdB1xd03HT2Qs2TxY3kCK8aAb/0iM0HQiXjxZ9HIgYhbtvGEnDKW5ILSUydqH/KBhW4Pb0jZWnqN/YgbWDKeJxnDbYcUob5ZY5Lt5ZCMKuaGUvCJRrCtuugSMaqjowCGRempsDdJEt+cMaalhZ6gczklJB/IbdwENW9KeVFPoFNFzhxWUIS5ML9riVYhAtE6JE5jX0xiHNVIIPthb458cfA8daR0nYfYAUKogQArm0iBezOO+mPk5vCNWI+wwkyFCqNDXz/qxl1gAntuCJtSfq9OC3NkdhQlgYQ==\"")
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AHILOIrFPXX9laLbalbA9+L1CXpSbM/bTJXZGZiuyK1JaI6dK5FHHWL6tWxmHKYAZTSYmElmJ5z2A5YcirjO/yfoemE03FItyaf8W1fE4p14hzb5qnrmfXUSiAIVrhaXVwIwSzH6RL/+EO8jFIjJ/YfExfJ8aBl48CKHgu1+A6kWynhttonvWWx6h7924mIzW0Czj2ROuh4LwQyZypex4GuOPW8sgIT21KNZaafgg+KbV7XM1x1tF3XA17B4uGUaDbDw2O+nR1+U5p6qHPzmJ7ggFjSN6Utu+35dS1sS0P9N\"")
@@ -414,6 +419,8 @@ android {
abortOnError = true
baseline = file("lint-baseline.xml")
checkReleaseBuilds = false
ignoreWarnings = true
quiet = true
disable += "LintError"
}
@@ -485,6 +492,7 @@ dependencies {
implementation(project(":core-ui"))
implementation(libs.androidx.fragment.ktx)
implementation(libs.androidx.fragment.compose)
implementation(libs.androidx.appcompat) {
version {
strictly("1.6.1")
@@ -560,6 +568,7 @@ dependencies {
implementation(libs.lottie.compose)
implementation(libs.signal.android.database.sqlcipher)
implementation(libs.androidx.sqlite)
testImplementation(libs.androidx.sqlite.framework)
implementation(libs.google.ez.vcard) {
exclude(group = "com.fasterxml.jackson.core")
exclude(group = "org.freemarker")
@@ -576,6 +585,8 @@ dependencies {
implementation(libs.rxjava3.rxandroid)
implementation(libs.rxjava3.rxkotlin)
implementation(libs.rxdogtag)
implementation(libs.androidx.credentials)
implementation(libs.androidx.credentials.compat)
"playImplementation"(project(":billing"))
"nightlyImplementation"(project(":billing"))
@@ -608,7 +619,10 @@ dependencies {
testImplementation(testLibs.mockk)
testImplementation(testFixtures(project(":libsignal-service")))
testImplementation(testLibs.espresso.core)
testImplementation(testLibs.kotlinx.coroutines.test)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
androidTestImplementation(testLibs.androidx.test.ext.junit)
androidTestImplementation(testLibs.espresso.core)
androidTestImplementation(testLibs.androidx.test.core)
@@ -631,39 +645,25 @@ fun assertIsGitRepo() {
fun getLastCommitTimestamp(): String {
assertIsGitRepo()
ByteArrayOutputStream().use { os ->
exec {
executable = "git"
args = listOf("log", "-1", "--pretty=format:%ct")
standardOutput = os
}
return os.toString() + "000"
}
return providers.exec {
commandLine("git", "log", "-1", "--pretty=format:%ct")
}.standardOutput.asText.get() + "000"
}
fun getGitHash(): String {
assertIsGitRepo()
val stdout = ByteArrayOutputStream()
exec {
commandLine = listOf("git", "rev-parse", "HEAD")
standardOutput = stdout
}
return stdout.toString().trim().substring(0, 12)
return providers.exec {
commandLine("git", "rev-parse", "HEAD")
}.standardOutput.asText.get().trim().substring(0, 12)
}
fun getCurrentGitTag(): String? {
assertIsGitRepo()
val stdout = ByteArrayOutputStream()
exec {
commandLine = listOf("git", "tag", "--points-at", "HEAD")
standardOutput = stdout
}
val output: String = stdout.toString().trim()
val output = providers.exec {
commandLine("git", "tag", "--points-at", "HEAD")
}.standardOutput.asText.get().trim()
return if (output.isNotEmpty()) {
val tags = output.split("\n").toList()
@@ -683,19 +683,10 @@ tasks.withType<Test>().configureEach {
}
}
project.tasks.configureEach {
if (name.lowercase().contains("nightly") && name != "checkNightlyParams") {
dependsOn(tasks.getByName("checkNightlyParams"))
}
}
tasks.register("checkNightlyParams") {
doFirst {
if (project.gradle.startParameter.taskNames.any { it.lowercase().contains("nightly") }) {
if (!file("${project.rootDir}/nightly-url.txt").exists()) {
throw GradleException("Cannot find 'nightly-url.txt' for nightly build! It must exist in the root of this project and contain the location of the nightly manifest.")
}
gradle.taskGraph.whenReady {
if (gradle.startParameter.taskNames.any { it.contains("nightly", ignoreCase = true) }) {
if (!file("${project.rootDir}/nightly-url.txt").exists()) {
throw GradleException("Missing required file: nightly-url.txt")
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -43,4 +43,8 @@
</issue>
<issue id="OptionalUsedAsFieldOrParameterType" severity="ignore" />
<issue id="SameParameterValue" severity="ignore" />
<!-- Disables check for digital asset linking in manifest. It's not needed, since we are not using CredentialManager for passkey support. -->
<issue id="CredManMissingDal" severity="ignore" />
</lint>

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