Commit graph

541 commits

Author SHA1 Message Date
Rashad Sookram
fd6a2c6b10 Fix dynamic language override for app context.
Fixes #11889
2022-01-24 12:04:48 -05:00
Cody Henthorne
c548816daa Add contact and key sync message receive support. 2022-01-24 12:04:48 -05:00
Greyson Parrelli
35f9437413 Delay database notifications until after a transaction has finished. 2022-01-24 12:04:48 -05:00
Greyson Parrelli
afd6af6f57 Update change phone number string. 2022-01-24 12:04:48 -05:00
Greyson Parrelli
9ba5660f5b Refactor recipient merging. 2022-01-24 12:04:48 -05:00
Cody Henthorne
7203228626 Add partial support for operating as a linked device. 2022-01-24 12:04:48 -05:00
Cody Henthorne
bfdedd57d1
Update jumbomoji processing and downloading. 2022-01-21 10:31:43 -05:00
Greyson Parrelli
c2f953b097 Ensure reactions are deleted for 'delete for everyone'. 2022-01-19 11:12:14 -05:00
Greyson Parrelli
e50787ae20 Trim abandoned reactions from backups.
When you create a backup (or do a device transfer), we skip messages
with expiration timers. However, we still (unintentionally) include the
reactions for those messages in the backup.

These 'abandoned' reactions were being associated with newly-sent
messages because the new messages had the same ID's as the expiring
messages we skipped in the backup.

It's worth noting that in order to hit this bug, you have to:
- Have messages that are expiring, but have not expired yet
- Those messages have to have reactions
- Those message have to be the most recent messages in your message table

Fixes #11327
2022-01-18 17:08:53 -05:00
Greyson Parrelli
01047e90ad Refactor SignalLocalMetrics to be more resiliant to certain errors. 2022-01-13 16:40:48 -05:00
Rashad Sookram
89b918fbd2 Update ktlint-gradle. 2022-01-12 12:27:06 -05:00
Cody Henthorne
3922bfacf5 Hide bubble for jumbomoji. 2022-01-07 14:41:42 -04:00
Greyson Parrelli
0d0c74f358 Fix in-memory message updates.
We can also switch to using the message-specific update route for
receipts too.
2022-01-03 18:47:11 -05:00
Greyson Parrelli
25ab9a5ad6 Fix older database migrations that may recursively open database. 2022-01-03 11:59:06 -05:00
Greyson Parrelli
46dd7f8a06 Improve performance of processing read syncs. 2021-12-21 16:15:47 -05:00
Cody Henthorne
adcb1bae13 Fix bug with schedule end being set to midnight. 2021-12-20 13:31:18 -05:00
Cody Henthorne
b69ffe4e15 Fix crash when processing group updates with remapped members. 2021-12-20 13:31:18 -05:00
Greyson Parrelli
884710fc30 Fix crash in ProfileSharingUpdateMigrationJob.
A typo introduced in the java -> kt conversion.

Fixes #11824
2021-12-09 14:58:08 -05:00
Greyson Parrelli
2e96042578 Fix SMS contacts not showing in contact search results.
Introduced a typo in the java -> kt conversion.
2021-12-09 14:58:08 -05:00
Cody Henthorne
6c608e955e Add Notification profiles. 2021-12-08 15:07:22 -05:00
Greyson Parrelli
c93457402c
Store your own PNI. 2021-12-06 12:18:42 -05:00
Greyson Parrelli
a346dd33d9 Do not allow recipient merges to remove your own E164.
This would only happen in some niche change number cases where an
unregistered device would continue to send sealed sender messages to you
using your old number.
2021-12-03 18:10:01 -05:00
Rashad Sookram
398fdd84b9 Ensure all conversations are loaded before selecting all.
They might not be loaded yet due to pagination.
2021-12-03 18:10:01 -05:00
Greyson Parrelli
c0a83e7956 Migrate RecipientDatabase to Kotlin. 2021-12-03 18:10:01 -05:00
Alex Hart
321c84583b Ensure user leaves groups before deleting account. 2021-12-03 18:09:52 -05:00
Greyson Parrelli
638bae6de3 Update SQLCipher error handling. 2021-11-30 17:13:14 -05:00
Greyson Parrelli
4364e9513f Do not assume e164 is populated in storage service insert. 2021-11-28 18:01:44 -05:00
Greyson Parrelli
643b07d564 Reduce occurrence of the media preview jumping. 2021-11-22 23:39:59 -05:00
Greyson Parrelli
2cb67f6ee3 Fix logic around storage crash. 2021-11-22 22:44:10 -05:00
Greyson Parrelli
ff038e3ade Fix some issues with restoring old backups.
There's a bug where if you restore a database with a different column
definition order than a new install, then column indexes in cursors
could be wrong. Closing and re-opening the database fixes this.

I also removed a reference to a possibly-closed database we were holding
onto in LiveRecipient.
2021-11-19 16:28:39 -05:00
Greyson Parrelli
42d0d84ae0
Handle the case where a number changes during a recipient merge. 2021-11-18 13:19:32 -05:00
Greyson Parrelli
843ed24bbb
Introduce SignalDatabase as the main database entrypoint. 2021-11-18 12:36:52 -05:00
Greyson Parrelli
8aea20f147 Migrate local account data into SignalStore. 2021-11-17 16:14:26 -05:00
Greyson Parrelli
658de3b6e7 Convert all database notifiers to use DatabaseObserver.
Lots of red in this diff to celebrate the release of Red (Taylor's Version).
2021-11-16 17:27:47 -05:00
Greyson Parrelli
ab55fec6bd Move reactions into their own table. 2021-11-16 17:27:47 -05:00
Greyson Parrelli
f4f5fe2789
Improve logging around database crashes. 2021-11-09 16:38:19 -05:00
Greyson Parrelli
100796b3b9 Fix tracking of created_at in SenderKeyDatabase. 2021-11-06 00:18:42 -04:00
Greyson Parrelli
5ba04936b1 Add a log section for remapped recipients. 2021-11-05 15:57:13 -04:00
Greyson Parrelli
011f6e6cf4 Repair groups with remapped recipients. 2021-11-05 15:46:38 -04:00
Greyson Parrelli
0bac08dcc4 Extend log duration to max(3 days, 20MB). 2021-11-04 18:29:51 -04:00
Greyson Parrelli
cae5dad5d8 Guard against missing recipientIds in the media overview. 2021-11-04 17:00:04 -04:00
Greyson Parrelli
c06fb81490 Render better crash stack traces for executors. 2021-11-04 17:00:04 -04:00
Greyson Parrelli
cef7878b47 Store the time that a sender key was shared. 2021-11-04 16:59:59 -04:00
Greyson Parrelli
3574be913a Log out sender key state for internal users. 2021-11-04 16:59:59 -04:00
Greyson Parrelli
5bb48caafd Strongly type UUIDs as ACIs. 2021-11-01 16:48:41 -04:00
Alex Hart
755ec672c0 Implement several pieces of UI polish for badges. 2021-11-01 16:48:41 -04:00
Greyson Parrelli
33da599ee0 Properly unregister some database observers. 2021-11-01 14:58:07 -04:00
Greyson Parrelli
ba0befde20 Fix issue where delivery receipts may not update the thread summary.
We were notifying in a transaction, which we can't do anymore since
transactions don't block reads from other threads (meaning we could
notify and someone could read it before we end the transaction, so they
wouldn't see the update).
2021-10-26 09:10:59 -04:00
Greyson Parrelli
7cac62f3f2 Update thread after attachment downloads. 2021-10-22 22:42:55 -04:00
Greyson Parrelli
0be1a30766 Add the ability to mute on the chat list. 2021-10-21 21:22:19 -04:00