811 Commits

Author SHA1 Message Date
andrew
b2a1b5fe46 Add token to FCM logs 2023-06-10 11:44:43 +09:30
andrew
be4d742e84 Unregister v1 push 2023-06-09 18:10:06 +09:30
andrew
01d80ae54b cleanup PushNotificationAPI 2023-06-09 15:56:24 +09:30
andrew
3f6229f841 Remove PushNotificationManager 2023-06-09 14:50:45 +09:30
andrew
ba6eca2443 Add FirebasePushManager#unregister 2023-06-09 09:52:11 +09:30
Morgan Pretty
7699e47f7b Responded to PR comments 2023-06-07 15:02:32 +10:00
Morgan Pretty
11c1fd382d Fixed a few issues with the OpenGroupPoller
Fixed an issue where the admin/moderator status wasn't getting stored if set before joining a community
Fixed an issue where multiple pollers for the same server could run at the same time when joining multiple rooms within the same app run (very noticeable when restoring/linking)
2023-06-07 13:31:22 +10:00
Morgan Pretty
2b7bd7417e [SES-567] Fixed a couple of issues where the Group poller would be stopped during creation 2023-06-02 17:00:20 +10:00
Morgan Pretty
8ce6e997aa Fixed a potential crash after changing a property to be nullable 2023-05-30 12:50:51 +10:00
Morgan Pretty
b7744f4f2d Addressed PR feedback 2023-05-30 12:43:51 +10:00
Morgan Pretty
c77d465438 Merge remote-tracking branch 'upstream/dev' into bluetooth-manager-crash
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.kt
#	app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupImporter.kt
2023-05-30 12:25:13 +10:00
Morgan Pretty
0c2a635d03 Merge remote-tracking branch 'upstream/dev' into bluetooth-manager-crash 2023-05-30 12:24:32 +10:00
Morgan Pretty
10af2815ac
Merge pull request #1176 from bemusementpark/sync-everything
Synchronize usage of Cipher
2023-05-30 12:22:28 +10:00
Andrew
e8d26222b9
Fix scroll to bottom button visibility (#1219) 2023-05-30 11:44:20 +09:30
andrew
0af713317a Merge branch 'dev' into sync-everything 2023-05-30 11:34:34 +09:30
Morgan Pretty
22ed2dd8aa
Merge pull request #1205 from bemusementpark/disable-unblock
Disable unblock button
2023-05-30 10:30:51 +10:00
Andrew
5519f17775
Truncate session id when displayed as username (#1215) 2023-05-25 10:58:52 +09:30
Andrew
7d31af9eb0
Fix isScrolledToBottom (#1217) 2023-05-25 10:57:05 +09:30
0x330a
95bb9ee441
refactor: remove some unnecessary code for legacy PN registration 2023-05-24 11:56:38 +10:00
andrew
30d748e147 Disable unblock button 2023-05-19 23:44:07 +09:30
Jason Rhinelander
46acd7878d
New SPNS subscription and notifications
Finishes the WIP for subscribing to push notifications and handling the
new-style pushes we get.
2023-05-18 18:03:00 -03:00
Andrew
57476cd56e
Fix scroll to bottom button always visible if last item is taller than RecyclerView 2023-05-11 19:48:10 +09:30
ryanzhao
fa71ea1850 make RetrieveProfileAvatarJob work 2023-05-09 14:14:49 +10:00
Ryan Zhao
b494088c3d WIP: further refactor on old jobs 2023-05-08 17:12:20 +10:00
andrew
f0715f16e0 Fix scroll to bottom button always visible if last item is taller than RecyclerView 2023-05-08 14:09:01 +09:30
andrew
ec2abffdcc Remove logs 2023-05-08 10:33:39 +09:30
andrew
d3ce899a80 Synchronize all Cipher#doFinal 2023-05-05 12:07:19 +09:30
andrew
45eb3549f6 Add sync status message 2023-05-04 17:01:45 +09:30
0x330a
d2e80c3157
feat: re-add bencode utility and fix tests to use bytearray instead of assuming utf-8 encoding for strings 2023-04-21 13:56:08 +10:00
0x330a
8d4f2445f2
feat: add support for firebase and split out google services as a dependency for only the play version of the app. Add support for requests in new pn server 2023-04-20 17:12:38 +10:00
0x330a
2246a5d9ce feat: introduce new pns models and wire kotlinx serialization to apply in libsession 2023-04-19 23:07:36 +10:00
0x330a
b25eb9af8e
Use new seed node certificates (#1144)
* fix: use new seed node certificates

* refactor: don't need to include subdomains actually
2023-04-05 15:58:56 +10:00
Morgan Pretty
eb739bdc9b
ANR Defensive Coding (#1132)
* Made a number of changes to try and improve background ANRs

Added some more logs to the BatchMessageReceiveJob (to make it easier to track a specific job)
Shifted the ConversationActivity adapter initialisation to run on a background thread to reduce the hang when opening a conversation
Updated the ConversationViewModel to cache the recipient and openGroup values to avoid accessing the database unnecessarily
Updated the code to just stop all current closed group pollers instead of fetching a list to stop
Updated the PN registration to be triggered in an AsyncTask
Updated the call code to unregister a couple of additional receivers
Updated the background poller so it waits for 15 mins before running and doesn't replace the existing scheduler (allows for PNs to trigger explicit background polling)
Fixed an issue where we were sending push notifications which were too large and likely to fail as a result (non-pre-offer call messages)
Fixed an issue where a failing Open Group poller could prevent the background poller from receiving and processing DMs

* Updated to a more coroutine-y convention
2023-03-31 13:24:36 +11:00
Morgan Pretty
5e28af2be4
Updated the code to use the network offset time everywhere relevant (#1111)
* Updated the code to use the network offset time everywhere relevant

* Updated the SnodeAPI.nowWithOffset to use @JvmStatic
2023-03-31 10:11:30 +11:00
Ian Macdonald
405b8c7d28
Allow user display names of up to 64 bytes. (#981) 2023-03-16 10:38:49 +11:00
Morgan Pretty
391418ae1e
Merge pull request #1107 from mpretty-cyro/fix/group-avatar-download-job-duplication
Fixed a few issues related to the GroupAvatarDownloadJob
2023-02-17 10:16:22 +11:00
Morgan Pretty
9fd68d27f8 Fixed a few issues with the GroupAvatarDownloadJob
Added a method to remove the Group avatar
Fixed an issue where the recipient diffing on the HomeActivity wasn't working properly
Fixed an issue where the GroupAvatarDownloadJob could be scheduled even when there was already one scheduled
2023-02-10 10:05:28 +11:00
Morgan Pretty
97458a4baa Added a missing constructor 2023-02-08 14:04:02 +11:00
Morgan Pretty
cd3b8f3571 Fixed a few issues related to the GroupAvatarDownloadJob
Added logic to avoid scheduling a GroupAvatarDownloadJob if there is already an existing one with the same parameters
Added logic to avoid trying to download an old avatar for a group if there is a new one
Added logic to prevent an old GroupAvatarDownloadJob from overriding a valid avatar with an old one
2023-02-08 13:42:35 +11:00
0x330a
395ada62ff
Update French translations (#1103)
* chore: update french translations file from crowdin

* chore: update french translations libsession file from crowdin

* chore: update french non-region translations file from crowdin

* chore: update french non-region libsession translations file from crowdin
2023-02-06 16:01:16 +11:00
Morgan Pretty
50989cb2ee Increased file upload limits to 10Mb 2023-02-06 14:22:26 +11:00
Morgan Pretty
0256735135 Fixed a few bugs, added logging and removed some old code
Added the ability to copy the sessionId of open group URL from the conversation menu
Added additional logging to the BatchMessageReceiveJob to make future debugging easier
Removed the OpenGroupMigrator
Updated the JobQueue logging to provide more insight
Fixed an issue where the database migrations weren't blocking which could result in failing/crashing SQL queries
Fixed an issue where the new database file wouldn't be removed if a migration error was thrown
Fixed an issue where the new database could exist in an invalid state and the app wouldn't attempt to remigrate
Fixed an incorrectly throw exception in the PassphrasePromptActivity
2023-02-03 13:33:52 +11:00
Morgan Pretty
87f1d708b1 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/res/values/themes.xml
2023-01-24 15:44:22 +11:00
Morgan Pretty
05838faaf0 Updated the unread count logic to recalculate correctly 2023-01-24 15:41:44 +11:00
Morgan Pretty
2711a6dd5f
Merge pull request #994 from ceokot/message-request-response
Add profile data to message request responses
2023-01-24 14:53:09 +11:00
Morgan Pretty
ce3aa980aa Merge remote-tracking branch 'upstream/dev' into message-request-fixes
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/groups/OpenGroupManager.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroup.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt
2023-01-24 14:48:54 +11:00
Morgan Pretty
251df065f8 Merge remote-tracking branch 'upstream/dev' into message-request-response
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
2023-01-24 14:44:56 +11:00
Morgan Pretty
dc9458f313 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt
#	libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt
2023-01-24 14:02:08 +11:00
Morgan Pretty
23dca5b38d Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator 2023-01-24 14:00:07 +11:00
Morgan Pretty
025989f928
Merge pull request #1069 from mpretty-cyro/feature/performance-improvements
Performance improvements
2023-01-24 13:59:32 +11:00
Morgan Pretty
bdac7f2ea3
Merge pull request #1087 from 0x330a/fix/expire-old-call-messages
Prevent very old messages (15 minutes ago) being processed to prevent endless crashes in some cases
2023-01-24 13:59:19 +11:00
0x330a
5861623369
fix: may have been preventing new closed group message on multi-device (#1081) 2023-01-23 17:20:07 +11:00
Morgan Pretty
ebe8479e4c Resolved PR comments 2023-01-23 16:14:50 +11:00
0x330a
86b065203f
fix: prevent very old messages (15 minutes ago) being processed to prevent endless crashes in some cases 2023-01-23 15:43:43 +11:00
Morgan Pretty
8a4a9623cc Fixed an edge case where an OpenGroup might not download it's image 2023-01-20 17:42:46 +11:00
Morgan Pretty
0ed5c5825d Cleaned up some of the error logging 2023-01-20 15:24:14 +11:00
Morgan Pretty
810430e806 Fixed a couple of issues with the OpenGroupDeleteJob
Updated the OpenGroupDispatcher to have a thread limit of 8 (was previously unlimited which could result in the app getting flooded with threads under certain conditions)
Updated the OpenGroupDeleteJob to do bulk deletions (instead of individual message deletions)
Updated the OpenGroupDeleteJob to catch and report failures (wasn't previously happening)
2023-01-20 09:02:59 +11:00
Morgan Pretty
694ca79958 Added the unread mention indicator to the conversation list
Fixed the unread indicator colours to match correct theming designs
Fixed a bug where the unread count could be incorrect when receiving UnsendRequests within the same poll
Added a couple missing theme colours
2023-01-19 15:24:50 +11:00
0x330a
ba87cbc070
fix: standardise call menu recipient function to share with the new action bar to center better. issue with closed group creation on multi device potentially 2023-01-16 16:54:16 +11:00
0x330a
dd51c9ab41
refactor: move the legacy/updated expiring and add extra condition it is only set from one on one conversations (non self-send) 2023-01-16 14:51:53 +11:00
0x330a
f0aba3a973
fix: look at early expiring incoming messages for delete after read 2023-01-13 16:38:37 +11:00
Morgan Pretty
cc5c63b211 Fixed a couple of issues from the rebase, removed an unneeded text clear 2023-01-13 16:16:52 +11:00
Morgan Pretty
3e68bdc2f8 Fixed an issue introduced by the last commit with OpenGroup initialisation 2023-01-13 15:56:14 +11:00
Morgan Pretty
5afd647686 Tweaked some open group handling and a couple of onboarding issues
Updated the OpenGroup adding and polling logic to reduce duplicate API calls
Updated the BackgroundGroupAddJob to start a GroupAvatarDownloadJob instead of running the download itself (to appear to run faster)
Defaulted OpenGroups to use blinded auth when no server capabilities are present
Fixed an issue where the background poller could be started even though the onboarding hadn't been completed
Fixed an issue where the database could get into an invalid state if the app was restarted during onboarding
2023-01-13 15:56:14 +11:00
0x330a
2048e08c86
fix: legacy message deletions working better now 2023-01-11 17:25:38 +11:00
0x330a
b6a4fb9024
refactor: fix star imports 2023-01-11 13:37:55 +11:00
0x330a
06947b63fb
fix: handle the correct legacy setting of expiring config based on thread not message sender (incorrectly attributing to 1o1 instead of groups 2023-01-11 12:06:43 +11:00
Morgan Pretty
d68d26cd5d Added the MockDataGenerator to simplify db testing 2023-01-10 10:41:53 +11:00
charles
b1f69539a9 Apply conversation config on messages being converted to protobuf 2022-12-23 10:10:48 +11:00
charles
cdbf76c0f1 Only allow admins to change disappearing messages config 2022-12-22 18:20:13 +11:00
charles
1f0a0760ba Cleanup refactor 2022-12-22 17:23:05 +11:00
charles
03766d57ee Disappear after read info refactor 2022-12-22 14:18:40 +11:00
charles
03c95f1ba7 Expire group update info and call messages 2022-12-22 10:42:09 +11:00
charles
e460e086e6 Cleanup 2022-12-21 18:33:48 +11:00
charles
1ba8f9f80d Remove incomplete SyncedExpiry implementation 2022-12-21 18:17:29 +11:00
charles
18ff597811 Fix outdated client banner display 2022-12-21 17:47:00 +11:00
charles
2228bfc8f2 Fix expiry start 2022-12-21 15:48:56 +11:00
charles
8f99b5aa11 Start disappearing after sent for closed groups 2022-12-21 14:40:48 +11:00
charles
92b30739f0 Disappearing messages job update 2022-12-21 12:14:56 +11:00
charles
304bf42c0d Fix expiry info disappearance 2022-12-20 17:27:26 +11:00
charles
42923b5c2b Fix message disappearance after send 2022-12-20 13:14:36 +11:00
charles
3c6b93b2f8 Merge branch 'dev' into disappearing-messages 2022-12-19 20:23:50 +11:00
charles
487f99ab93 Fix expiry timer update handling 2022-12-19 19:59:36 +11:00
0x330a
cdd2559839
Paged conversation recycler, update compile sdk version 31 (#1049)
* Update build tools

* Update appcompat version

* Update dependencies

* feat: add paging into conversation recycler and queries to fetch data off-thread

* refactor: wip for updating paged results and bucketing messages / fetching enough to display

* fix: currently works for scrolling and possibly refreshing? need scroll to message and auto scroll down on insert (at bottom)

* fix: search and scrolling to X message works now

* build: increase version code and name

* fix: re-add refresh, remove the outdated comment

* refactor: lets see if 25 size pages increases performance 👀

* feat: add in some equals overrides for mms records to refresh if media has finished DLing

* feat: add scroll to bottom for new messages if we are at the end of the chat

* build: update build numbers

* fix: update AGP and fix compile errors for sdk version 31

* feat: add log for loki-avatar and loki-fs on upload types and responses

* feat: increase build number to match latest installed version

* feat: changing props and permission checks for call service

* fix: possible service exception when no call ID remote foreground service not terminated

* revert: google services version

* fix: re-add paging dependency

* feat: adding new last seen function and figuring out the last seen for recycler adapter

* build: update version names and codes for deploy

* refactor: undo the new adapter and query changes to use previous cursor logic. revert this commit to enable new paged adapter

* fix: use author's address in typist equality and hashcode for set inclusion

* refactor: refactor the select contacts activity

* refactor: refactor the select contacts activity

* build: update version code

* fix: hide all other bound views if deleted

* refactor: change voice message tint, upgrade build number

* fix: message detail showing up properly

* revert: realise copy public key is actually not allowed if open group participant

* fix: copy session ID, message detail activity support re-enabled

* build: update build version code

* build: remove version name

* build: update build code

* feat: google services version minimum compatible

* fix: selection for re-created objects not properly highlighting

* fix: foreground CENTER_INSIDE instead of just CENTER for scaletype

* build: update version code

* fix: don't show error if no error

* build: update version code

* fix: clear error messages if any on successful send

Co-authored-by: charles <charles@oxen.io>
2022-12-19 11:29:05 +11:00
charles
065417ebbb Add synced expiries job 2022-12-19 11:22:13 +11:00
charles
8a51c8882c Fix legacy expiration timer update handling 2022-12-19 08:47:42 +11:00
charles
9e004cd09a Expiration config tweaks 2022-12-16 15:57:00 +11:00
charles
d23b849c91 Group settings refactor 2022-12-16 13:35:55 +11:00
charles
2494483afb Clear open group inbox messages 2022-12-16 11:18:09 +11:00
charles
48a99a85c3 Legacy expiration type ui default tweaks 2022-12-15 10:05:07 +11:00
charles
23c881f3ce Legacy expiration type handling tweaks 2022-12-14 18:22:57 +11:00
charles
a6f9e17122 Legacy settings ui tweaks 2022-12-14 16:59:09 +11:00
charles
4b66e0516d Default expiration timer value to zero 2022-12-13 18:41:22 +11:00
charles
1ad10a4ac7 Expiration timer update ui message tweaks 2022-12-09 14:38:44 +11:00
charles
a4e64187f1 Cleanup expiring message manager 2022-12-09 13:51:44 +11:00
charles
d70bfe5614 Add pre-release config flag and client version detection 2022-12-08 13:38:53 +11:00
charles
8c002247d6 Move expiration configuration to a separate table 2022-12-05 14:41:52 +11:00
charles
752c25d627 Handle nullable profile key 2022-12-05 11:27:55 +11:00
charles
84ee3eba21 Add legacy and pre-release ui updates 2022-12-01 13:40:48 +11:00
charles
11bf0a06a8 Update expiration type proto 2022-11-23 16:13:23 +11:00