Commit Graph

8132 Commits

Author SHA1 Message Date
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
Michelle Tang
c1f96e5bd3 Fix conversation header position. 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
Greyson Parrelli
3727a8e1df Add internal setting for forcing backup tier. 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
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
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
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
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
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
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