Commit Graph

1387 Commits

Author SHA1 Message Date
Greyson Parrelli
5fe114c0eb Update archiveReconciliationSyncInterval to use global config. 2025-06-10 08:23:56 -04:00
Greyson Parrelli
9860b990e5 Split archive deletes and reconciliations into separate jobs. 2025-06-09 20:21:06 -04:00
Michelle Tang
6b6980811b Use config to determine deletion lifespan in storage service. 2025-06-09 20:21:05 -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
be4af1d560 Use dynamic quality and webp for archive thumbnail generation. 2025-06-04 15:17:37 -04:00
Cody Henthorne
13ddd067ef Update to latest backup protos; Bump to libsignal v0.73.1 2025-06-04 15:17:36 -04:00
Michelle Tang
6879778f4b Fix missing avatars in notifications. 2025-05-22 14:32:11 -04:00
andrew-signal
4f6bedf323 Rotate key for libsignalWebSocket RemoteConfig. 2025-05-21 11:28:08 -04:00
Cody Henthorne
96ece3f424 Allow REST fallback via remote config. 2025-05-15 10:52:36 -04:00
Michelle Tang
8b828677de Rotate libsignal net config flag. 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
andrew-signal
9b9888565b Bump to libsignal v0.71.0. 2025-05-14 16:43:16 -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
andrew-signal
367c0d0a8d Rotate libsignal-net trial RemoteConfig. 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
Sagar
7b3897cac6 Fix incorrect span indices for normalised search text. 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
Greyson Parrelli
a2a10fb0c1 Filter out bad E164s from GV1 groups. 2025-04-24 15:55:39 -04:00
Alex Hart
6613d5fccb Fix nav bar spacing and coloring. 2025-04-10 13:10:37 -03:00
Alex Hart
b64f3a48bf Add proper adaptive material app scaffolding. 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
andrew-signal
8317e2e055 Correct RemoteConfig to enable libsignalWebSocket for nightly builds. 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
Alex Hart
a3166a8c73 Fix toolbar coloring behavior. 2025-04-03 21:48:29 -04:00
Michelle Tang
a073785407 Update system default language when switching. 2025-04-02 15:39:54 -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
2a8be22160 Enable libsgnal-net for all nightly builds. 2025-03-31 14:44:06 -04:00
Sagar
ad6c89bc01 Add support to dynamically update Recipient data in group settings. 2025-03-27 22:02:20 +05:30
Greyson Parrelli
c4131bb440 Inline the attachment backfill flag. 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
Alex Hart
276285ebef Replace main activity xml with AppScaffold. 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
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
Jeffrey Starke
247c5de140 Add .compose and .view subpackages to core-ui module. 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
Cody Henthorne
095ae82483 Convert remote config apis to WebSocket. 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
Greyson Parrelli
a4c30393ee Make the backup remote config field active. 2025-03-26 13:59:11 -04:00
Cody Henthorne
d2cc5d54fe Use full version code for version tracking. 2025-03-26 13:23:47 -04:00
Cody Henthorne
5a0def7390 Prevent unregistered clients from repeatedly attempting an auth WebSockect connection. 2025-03-19 10:48:31 -03:00
Cody Henthorne
323697dfc9 Improve auth WebSocket lifecycle. 2025-03-19 10:48:31 -03:00
Greyson Parrelli
22d908385b Consistently format byte sizes. 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
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
Michelle Tang
9eba978da6 Update various message request UI. 2025-03-12 16:15:40 -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
Cody Henthorne
da5c8ff6ea Remove libsignal shadow/bridge websocket infra. 2025-03-12 15:34:48 -04:00