Commit Graph

1910 Commits

Author SHA1 Message Date
andrew
8145a7d772 Merge branch 'disappear-2' of github.com:bemusementpark/session-android into disappear-2 2023-10-16 11:16:12 +10:30
andrew
73538a47aa Remove log 2023-10-16 11:15:56 +10:30
0x330a
acb1181db0
feat: add more testing functionality for the expected current / updated expiry configuration upon merging libsession updates 2023-10-16 10:48:06 +11:00
0x330a
f6a736bd13
Merge remote-tracking branch 'origin/master' into disappear-2 2023-10-16 09:57:49 +11:00
andrew
008bbd8c38 Optimise DAR message expiry update & lookup 2023-10-15 01:11:00 +10:30
andrew
793fe63260 Merge branch 'dev' into disappear-2 2023-10-13 15:51:43 +10:30
andrew
88e7ef1403 Fix db typo 2023-10-13 15:47:11 +10:30
andrew
d37e7240e9 Call expire after read DaR messages 2023-10-13 15:45:25 +10:30
0x330a
b6bb586509 feat: add foreground types to key caching service and call service 2023-10-13 14:32:04 +11:00
0x330a
82cbf830ae
fix: need quotes on job type key 2023-10-11 17:52:04 +11:00
0x330a
862a47e7e3
feat: add drop attachment download migration in case there are a lot of pending failed attachment downloads 2023-10-11 17:37:39 +11:00
0x330a
6f22eb659b
fix: use the context compat register receiver to fix Android 14 crash (#1338) 2023-10-11 17:12:28 +11:00
0x330a
e06f9ee79a refactor: change storage adding contacts to create one on ones with a non hidden thread priority and base for testing storage expiration merges from fake polling 2023-10-11 11:14:01 +11:00
andrew
77f951cadf Use separate tables for mms and sms in LokiMessageDatabase 2023-10-11 01:53:08 +10:30
andrew
c86b229200 Add mms and sms table to loki db 2023-10-11 01:52:54 +10:30
andrew
3d6c7dbae4 Simplify MarkReadReceiver#process 2023-10-10 09:20:37 +10:30
andrew
17f41d76b8 Improve ui vm separation 2023-10-09 16:33:54 +10:30
andrew
b211c8bffb Rename ExpirationSettings to DisappearingMessages 2023-10-09 12:44:48 +10:30
andrew
5986196465 Accessibility 2023-10-06 15:55:26 +10:30
andrew
892e4b75ec Merge branch 'dev' into disappear-2 2023-10-06 12:01:23 +10:30
andrew
82a94eed74 Fix control message accessibility id 2023-10-06 11:53:57 +10:30
andrew
3566260c6c Remove sarrays__off 2023-10-05 21:44:56 +10:30
andrew
149c81722c Fix cards visibility pre API 28 2023-10-05 21:23:45 +10:30
andrew
ebbe928fd2 Sync disappear after read with other devices 2023-10-05 12:50:42 +10:30
0x330a
84bc1dcb6b
Update session libsodium (#1326)
* chore: update dependencies for the libsodium dependency and replace aar

* fix: update gradle dependencies to work with integration tests

* fix: test

* refactor: make it use espresso wait

* refactor: bring compose dependencies back to stable releases
2023-10-04 15:17:27 +11:00
0x330a
77a18e337b
Maybe fix oob in media preview adapter cursor adapter (#1324)
* fix: maybe fix oob exception?

* fix: attachment download was broken again

* refactor: wrap in an if and log warning in the bad state
2023-10-04 15:17:07 +11:00
0x330a
443ddfa370
Merge remote-tracking branch 'upstream/master' into dev 2023-09-28 14:01:58 +10:00
Andrew
e124d442ef
Ignore unknown fields in push V2 json 2023-09-22 10:02:39 +09:30
andrew
1f6542eff3 Fix dialog button style 2023-09-22 00:16:10 +09:30
andrew
0cd0ac9c75 Ignore unknown fields in push V2 json 2023-09-21 19:44:54 +09:30
andrew
ec8b89b8a4 Minor test refactor 2023-09-21 01:13:34 +09:30
andrew
9968b5d6ea Fix group admin test 2023-09-21 00:37:12 +09:30
andrew
c492a74014 Hide set button when disabled 2023-09-21 00:27:10 +09:30
andrew
7738b19760 Add non admin group test 2023-09-20 23:29:35 +09:30
andrew
cd0022e0ee Add old config tests 2023-09-20 14:14:58 +09:30
andrew
668bf46655 Fix tests 2023-09-20 11:31:51 +09:30
andrew
e700641da7 Refactor test 2023-09-20 09:19:11 +09:30
andrew
3bf87ff2ea Add 1 day after read 2023-09-20 00:52:44 +09:30
andrew
987bd8961b Add off test 2023-09-20 00:47:19 +09:30
andrew
92cae9adde Add 1 day after read test 2023-09-20 00:41:34 +09:30
andrew
a7111b0d49 Simplify VM 2023-09-19 13:45:59 +09:30
andrew
885df1e22b Refactor 2023-09-18 01:49:41 +09:30
andrew
5ce100a4ec Select currently persisted time when user toggles back to currently persisted type 2023-09-14 19:34:34 +09:30
andrew
349247e7f3 Hide disappearing header for note-to-self 2023-09-14 19:21:39 +09:30
Andrew
984c3763b6
Remove unused longmessage package 2023-09-07 17:09:00 +09:30
Andrew
833b30fc14
Increase activity_home_outdated_client_config text size to 11sp 2023-09-07 17:05:28 +09:30
andrew
0c9d050ef6 Fix nts options and add 10 second debug time 2023-09-07 13:48:16 +09:30
andrew
96afa8d23f Fix expiry timer millis conversion 2023-09-05 14:07:41 +09:30
andrew
303aacb2e3 Fix post notifications permission request 2023-09-04 14:49:28 +09:30
andrew
bb36b9361a Simplify list 2023-09-04 14:03:40 +09:30
andrew
2d89dda2dd Fix debug time ordering 2023-09-04 12:18:41 +09:30
andrew
f1d3518f1c Fix groups 2023-09-04 11:22:18 +09:30
andrew
63713aeb88 Show debug time in 1-1 conversations 2023-09-02 21:59:34 +09:30
andrew
ba0ca7d260 Remove Storage#setExpirationTimer 2023-09-02 19:53:43 +09:30
andrew
cdb7a5f5d6 Fix time option not selecting when type options are off 2023-09-02 10:03:46 +09:30
andrew
519bf38ee0 Merge branch 'dev' into disappear-2 2023-09-01 17:21:19 +09:30
hjubb
99e5ed3db7 Merge remote-tracking branch 'upstream/dev' 2023-09-01 13:50:33 +10:00
andrew
371d06d6b5 Simplify 2023-09-01 10:57:50 +09:30
andrew
8b320bb0ce Fix onSetClick 2023-09-01 10:35:21 +09:30
andrew
ee6ce84116 Fix TitledRadioButton ripple downstate 2023-09-01 08:31:08 +09:30
andrew
ef24fb0fd1 Fix test 2023-08-31 17:51:14 +09:30
andrew
58c4467749 Implement default times 2023-08-31 12:57:28 +09:30
andrew
4e424384be Improve routing 2023-08-31 12:50:10 +09:30
andrew
88223be957 Cleanup 2023-08-31 12:45:35 +09:30
andrew
bc83c3da52 Fix outline button colors 2023-08-31 12:35:15 +09:30
andrew
e95c842051 Add preview for all states 2023-08-31 12:09:06 +09:30
andrew
0b11e182ff Merge branch 'dev' into disappear-2 2023-08-30 10:59:00 +09:30
andrew
0e0cbf112b Use separate keys for huawei shared prefs 2023-08-28 11:18:51 +09:30
andrew
bfd2370730 Add disabled group options 2023-08-28 09:37:19 +09:30
0x330a
2466d9b4c0
[SES-1002] Synced blind requests (#1303)
* feat: update config to use blinded-msg-requests pr

* feat: add block community message requests bool to protos

* feat: add everything needed for recipientDB to have blocked community requests potentially

* feat: add db migrations

* feat: add sending community block flags and preference options

* feat: add parsing block request flag

* fix: open group message requests were broken anyway

* fix: delete all encoded open group inbox ID bs, fix privacy settings using user config as privacy store

* feat: initial creation sets flag, rename to match libsession implementation value

* fix: recipient blinded checks from open group message for blocking community requests on blinded ID version of recipient, use correct (inverted) values from before for checking polling and empty states etc

* fix: pr comments for view model factory context ref, simplified user config object check for category in PrivacySettingsPreferenceFragment

* fix: pr comments

* fix: migrate some dependencies and functionality out of VM into repository to remove content resolver and context dependecy so tests pass again

* refactor: better naming for hidesInputBar and add more tests for expected recipient view states

* fix: use contact information as opposed to active conversations

* fix: PR comments
2023-08-28 09:51:48 +10:00
andrew
9f6dd728d5 Cleanup 2023-08-28 01:50:20 +09:30
andrew
c22860665e Add event flow 2023-08-27 23:20:14 +09:30
andrew
b65a383ac5 Reinstate group footer 2023-08-27 18:44:29 +09:30
andrew
97f28fd2e5 Respect option selected in note to self 2023-08-27 01:24:41 +09:30
andrew
6602f1bd14 Show correct options for note to self 2023-08-27 01:14:39 +09:30
andrew
cc5cd51ac1 Fix type radio button 2023-08-27 01:03:36 +09:30
andrew
7a705642a2 Fix fading edge 2023-08-27 00:12:20 +09:30
andrew
71b2544c31 Use compose 2023-08-25 12:20:34 +09:30
andrew
5142c45643 Move recipient into state 2023-08-24 01:00:31 +09:30
andrew
0ed9731622 Make ExpiryMode non-null in config 2023-08-24 00:32:24 +09:30
andrew
58b5815a09 Simplify 2023-08-22 14:12:11 +09:30
andrew
621c74c1d6 Improve animations 2023-08-22 10:58:06 +09:30
andrew
6818be21a1 Remove trailing divider 2023-08-21 20:58:51 +09:30
andrew
d9c48ec84f Move getDeleteOptions() to ViewModel 2023-08-21 20:00:39 +09:30
andrew
78eef350b5 Add radioOption DSL 2023-08-21 19:45:50 +09:30
andrew
9123dd90a4 Utilise typealias for RadioOptions 2023-08-21 18:35:37 +09:30
andrew
60f396a158 Fix ExpSettingsViewModel 2023-08-21 12:11:27 +09:30
andrew
ae9d3810e1 Fix website flavor TokenFetcher 2023-08-17 14:02:22 +09:30
andrew
550955f530 Add huawei strings 2023-08-16 20:54:07 +09:30
0x330a
d6dd7a82f1 fix: error with legacy type and set type check 2023-08-16 16:25:25 +10:00
andrew
d308f381d9 Disable fcm preference while register request is in flight 2023-08-16 13:27:28 +09:30
andrew
0aa5dc7969 Convert NotificationPreferenceFragment to Kotlin 2023-08-16 13:25:45 +09:30
andrew
b987ba719b Remove unused longmessage package 2023-08-15 10:29:20 +09:30
andrew
1937fca681 Remove unused RecoveryPhraseRestoreActivity 2023-08-15 00:10:37 +09:30
andrew
1d9fb13809 Move plugin to huawei flavor 2023-08-11 19:29:31 +09:30
andrew
9899b37f43 Move huawei manifest metadata to huawei flavor 2023-08-11 17:45:56 +09:30
andrew
77100231d2 Fix logs 2023-08-11 17:37:35 +09:30
andrew
16177d5cb1 Fix logs 2023-08-11 17:36:55 +09:30
0x330a
9faa400a5b
refactor: use generic option adapters, fix compile issues 2023-08-10 17:16:46 +10:00
andrew
9813b526f0 Merge branch 'dev' into huawei-3 2023-08-10 13:18:59 +09:30
Andrew
c9417b2fec
Fix Dialog#button default (#1299) 2023-08-10 13:17:28 +09:30
andrew
309293df63 Improve logs in SingleRecipientNotificationBuilder 2023-08-10 10:36:52 +09:30
0x330a
317ecf6cee refactor: making radio options and adapter and list items generic 2023-08-09 16:36:19 +10:00
Andrew
34fc6ee6cb
Remove contactshare package (#1288) 2023-08-09 14:12:07 +09:30
andrew
e60c05cee0 Fix Huawei message parsing 2023-08-09 12:18:22 +09:30
0x330a
9dc8f18b86 fix: prevent message request response from being deleted by any config 2023-08-09 10:59:57 +10:00
andrew
5a5b2f593f Refactor to accept Huawei token from getToken() and/or onNewToken() 2023-08-09 10:08:42 +09:30
Andrew
2f42fe9d0d
Remove unused classes (#1289) 2023-08-08 14:40:36 +09:30
andrew
c8dcfbf32c Merge branch 'dev' into huawei-3 2023-08-07 23:09:54 +09:30
Andrew
9cf99480d6
Fix shareLogs() canceled by early dismiss() (#1295) 2023-08-07 23:01:03 +09:30
andrew
50fd3292c8 Refactor snippet formatting 2023-08-07 10:46:38 +09:30
andrew
f70aa9155b Remove problematic getLastMessage() 2023-08-07 10:26:20 +09:30
andrew
d6380c5e63 Fix website flavor 2023-08-07 09:50:51 +09:30
andrew
24f7bb2b45 Move files 2023-08-06 22:39:49 +09:30
andrew
bcf925c132 Cleanup 2023-08-06 22:22:39 +09:30
0x330a
2e3d50364c fix: issue for overwriting local config with an outdated user config merge 2023-08-04 16:11:18 +10:00
andrew
a27f81db30 Fix Huawei push notifications 2023-08-04 13:36:09 +09:30
0x330a
8db92cc55c
feat: add user config integrated into config sync 2023-08-03 17:37:21 +10:00
andrew
cc6f880665 ... 2023-08-03 14:14:55 +09:30
0x330a
06c0ab3080 refactor: let frontend use the normal types and enabled options properly set 2023-08-03 08:54:39 +10:00
andrew
41d24ef2c3 ... 2023-08-02 14:55:31 +09:30
andrew
7ee9b14247 Fix PNModeActivity DI 2023-08-02 10:41:50 +09:30
Andrew
cd1a52399e Increase activity_home_outdated_client_config text size to 11sp 2023-07-31 22:18:34 +09:30
Andrew
b487d5aa64 Hide sender prefix for control messages 2023-07-31 19:48:45 +09:30
Andrew
dd345cbf07 Hide sender prefix for note to self 2023-07-31 19:40:20 +09:30
0x330a
bcb2071f44
fix: compile issues and dependencies resolved to use shared configs throughout apps 2023-07-31 17:19:38 +10:00
andrew
916f705c50 Prefix message with name in HomeActivity 2023-07-31 14:44:43 +09:30
0x330a
19083e2ce7 refactor: use the shared config expiry mode types instead of custom protobufs so we can remove a variable and simplify checks across two variables 2023-07-28 11:39:12 +10:00
0x330a
7f4db64a5a
refactor: refactor ExpirationConfigurationDatabase to return a specific db config after removing config values that are in shared lib 2023-07-27 17:40:59 +10:00
andrew
d1e22ca369 Fix 2023-07-27 13:53:33 +09:30
0x330a
87d76b21da
refactor: moving radio indexes out of expiration configuration 2023-07-27 14:22:10 +10:00
andrew
7be1f092f9 More Huawei stuff 2023-07-26 22:09:24 +09:30
0x330a
0e30d14b96
refactor: start looking at how to incorporate the user config changes to the expiry message update times and where to read values from 2023-07-26 17:16:09 +10:00
andrew
4738c9b4f9 Fix v2 2023-07-26 14:48:15 +09:30
andrew
d3ea4e2e30 Fix 2023-07-26 14:36:06 +09:30
0x330a
2acb7b5169 refactor: remove unused parameter 2023-07-26 11:57:26 +10:00
0x330a
41c05b1e67 fix: compile issues and deprecate java for kotlin lint 2023-07-26 11:34:00 +10:00
Andrew
55216875ac Connect Huawei push notifications 2023-07-26 10:48:20 +09:30
0x330a
7f7971e47f Merge remote-tracking branch 'upstream/dev' into disappearing-messages
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
#	app/src/main/res/layout/activity_conversation_v2_action_bar.xml
2023-07-26 09:46:57 +10:00
andrew
34990b13d3 ... 2023-07-25 14:49:41 +09:30
0x330a
36df2b37df Merge remote-tracking branch 'origin/disappearing-messages' into disappearing-messages
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/MessageRequestResponse.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt
#	libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java
2023-07-25 13:14:29 +10:00
andrew
01e9d15872 Add Huawei flavor 2023-07-25 11:38:06 +09:30
andrew
58cda9ba4a Fix website 2023-07-25 10:32:41 +09:30
andrew
002793baed Merge branch 'dev' into add-unregister 2023-07-24 09:52:11 +09:30
andrew
41cb4656d8 M:erge branch 'dev' into fix-pro 2023-07-21 15:50:59 +09:30
andrew
fbb2172739 Fix buttons 2023-07-21 11:50:42 +09:30
andrew
d0415c5bf1 Merge branch 'dev' into comp 2023-07-21 10:42:13 +09:30
andrew
b25f0e6d27 Move voice below quote in message view 2023-07-20 13:22:52 +09:30
andrew
47d1c657f3 Enable reply with attachment 2023-07-20 13:21:58 +09:30
andrew
fc8a92998c Fix message clipping 2023-07-19 15:04:30 +09:30
0x330a
68248db83c fix: compile errors to build 2023-07-19 10:28:52 +10:00
0x330a
74ee433eec fix: more merge conflict compile issues 2023-07-19 00:02:43 +10:00
andrew
452db6dfa3 Make reply safer 2023-07-18 13:36:08 +09:30
andrew
9a84f6c67b Merge branch 'dev' into comp 2023-07-18 12:04:56 +09:30
0x330a
07e1d80654 Merge remote-tracking branch 'upstream/dev' into disappearing-messages
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java
#	app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java
#	app/src/main/java/org/thoughtcrime/securesms/dependencies/DatabaseComponent.kt
#	app/src/main/java/org/thoughtcrime/securesms/dependencies/DatabaseModule.kt
#	app/src/main/java/org/thoughtcrime/securesms/preferences/ClearAllDataDialog.kt
#	app/src/main/java/org/thoughtcrime/securesms/repository/ConversationRepository.kt
#	app/src/main/java/org/thoughtcrime/securesms/service/ExpiringMessageManager.java
#	app/src/main/res/layout/activity_conversation_v2.xml
#	libsession/src/main/java/org/session/libsession/database/StorageProtocol.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/BatchMessageReceiveJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/Message.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt
#	libsignal/protobuf/SignalService.proto
#	libsignal/src/main/java/org/session/libsignal/utilities/Snode.kt
2023-07-18 11:39:03 +10:00
hjubb
e7608763a0 fix: tests pass with forcing config 2023-07-14 18:47:10 +10:00
0x330a
ac18f1cbfe
Integrate shared libsession-util library (#1096)
* feat: add some config db basics and DI for it, make the user profile optional, start looking at integrate building from initial dump

* update: get latest util library submodule update

* refactor: fix compile for refactored API

* refactor: naming consistent with library

* feat: add in config storage and injection to common places, managing lifecycle of native instances

* refactor: config database changes, new protos, adding in support for config base namespace queries

* refactor: config query and store use the same format as other platforms

* feat: add batch snode calls and try to poll from all the config namespaces

* fix: add optional namespace in signature and params

* feat: add raw requests for modifying expiry and getting expiries

* feat: add some base config migration logic, start implementing wrappers for conversation and expiry types

* chore: update libsession base

* feat: start integrating conversation wrapper functions

* feat: add basic conversation info volatile types and implementations, start working on tests

* feat: more common library wrapper implementation and test

* fix: tests and compile issues

* fix: fix tests, don't use iterables

* feat: add all iterators and tests

* feat: add in more config factory for volatile

* feat: update request responses and their appropriate processing

* feat: add storage with hashes and some basic profile update logic in config factory probably move that somewhere else

* feat: adding config sync functionality, refactoring jobs to execute in suspend context to do some nice coroutine execution

* refactor: moving some properties around so we have access in libsession

* feat: expand on the config sync job, finish basic implementation to test against

* feat: add forced config sync

* feat: syncs the user profile stuff for now, and errors back to placeholder instead of unknown recipient

* feat: add basic message read logic for synchronizing last reads, need to modify the query to use the last seen instead of the unread count in a subquery possibly for thread display record

* feat: add broken unreads everywhere

* fix: unreads work now for incoming messages, need to sync conv volatile properly still

* feat: batching poll responses properly and handling groups properly

* fix: replace the mark read receiver (from notifications) to use the new set last seen mark read logic

* feat: update to the group list branch

* fix: compile errors from updating library to use latest branch, now requires cmake 3.22.1

* fix: fix the contact tests

* fix: getters weren't getters properly in the config factory, fixed new onboarding from configs

* feat: add the last seen

* feat: start adding user groups wrapper objects

* refactor: add more else branches for unimplemented types

* feat: buffer the last read when in conversation

* feat: add basic contact logic for setting local contact state. Need to implement handling properly

* refactor: trying to just include blocked status for now in updating contacts

* fix: add some more contact syncing: nicknames, approved statuses, blocked statuses

* feat: start implementing hashes in shared lib and refactoring

* feat: start to implement group list info classes and wrappers and refactor to use library based hashes

* feat: incorporate hashes from library, more wrapper for user groups and serialization from c++

* feat: adding more serialization changes for community base info and user groups LGC

* feat: adding more serialize deserialize to legacy closed groups

* feat: finish serial/deserial helper

* feat: just implement deserialize community info

* refactor: refactor tests and wrappers to use less pointers, finish implementing user groups API

* feat: finish latest wrappers fix tests and continue building default generation functions. refactor defaults to be used if no stored data blob in DB

* feat: more usergroup functionality, storage functionality for checking pinned status, adding pinned status for NTS/contacts, move community info parse full url to base community, add StorageProtocol logic for group info

* feat: adding user groups to the list of user configs, refactorign some of the config factory to fetch the user configs easier. Add handling for polling user group namespace

* feat: implement the default user config list

* feat: add user group config handling

* chore: extra missed existing group

* refactor: use existing lookup for objects in wrappers so they don't overwrite missing values

* feat: add contacts expiry serialization/deserialization, more LGC, timestamps to add closed group encryption info (for latest tracking)

* refactor: change how expiration timer works for contacts, set the expiration timer for those conversations in handling contact configs

* feat: add expiration updates via config for contacts as well

* feat: add almost all group editing cases, need to hook into the thread deletion for groups in the user groups

* feat: open group joining should work now

* feat: add groups to configs for push

* fix: handling user group updates bug fix for closed groups instead of all groups

* fix: open group sync persistence

* feat: add in activity finish if recipient no longer exists (deleted thread) from sync

* feat: support avatar removal from shared library

* feat: support thread deletion and refactoring a lot of getOrCreateThread references to go via storage or assume they are correctly set to hook into the contact and volatile creation during thread creation

* fix: database update not deleting in certain circumstances, storage persisting and removing the volatile convo info for thread deletion / creation, NTS hidden getter values in shared library

* refactor: make update listener visibility package

* refactor: update kotlin

* feat: update dependencies and support outdated config messages, refactor config factory to return null configs if new configs not supported

* feat: update shared library to use priority only, fix compile errors, fix group member sync problem

* fix: compile error

* fix: profile avatar fixes for local user now that we aren't setting local user profile key

* Revert "fix: profile avatar fixes for local user now that we aren't setting local user profile key"

This reverts commit 3f569e3403.

* refactor: let the local number update recipient details in profile manager

* fix: don't recreate thread after leaving

* fix: fix up the duplicate thread creation in the message receive handler

* fix: fix the placeholder rendering on new messages, add in extra context logging for adding contacts and preventing new thread creation on new messages of various types

* feat: add test theme for xml layout previews

* feat: add shortened hex for session IDs throughout, replace nullable getName with null in underlying contacts for individual contacts, build shared lib with release mode, remove todo, fix broken unit test

* feat: setup android unit tests for verifying storage behaviours and state of shared configs

* feat: adding dependencies to try and get android tests working, fixing bug with initial config not syncing properly

* fix: remove hilt testing, add spy on app context storage field instead, update libsession-util to fixed sodium cmake branch

* refactor: use PR version of libsession-util to test cmake build

* fix: new build on normal repo

* feat: new libsession util commit

* refactor: remove the old custom build libsodium stuff from cmake

* feat: update libsession module

* fix: add legacy config subscription to the home activity to enable showing banner at any time

* fix: pinned status for communities and groups, group last read time being set to snodeapi.now on finish joining

* fix: some open group volatile convo fix for last read timer being set. Need to investigate further

* fix: prevent blocking local number

* fix: adding in more checks for open group inbox recipients before being saved to the shared configs. Prevent sending typing indicator for blocked users

* fix: add blocked check for read receipt and updating expiring messages

* fix: another contact recipient config library call removed for non-standard IDs

* fix: another ID check

* fix: don't process thread creation for user is sender && recipient (sync message) for message request responses

* refactor: mark as read on open and use less buffer time

* fix: finally fix the darn unread count issue by

* fix: removing debug logs, adding failure error handling logs for expiry message updater, properly using the message thread ID created for the expiring messages. Process the non-thread messages properly with await in BatchMessageReceiveJob

* fix: checking the last read open to message and make sure that scroll behaviour matches expected, fix the config sync job not deleting ALL old hashes only latest

* refactor: try to add a retry logic to config sync job in case of snode failure

* build: update submodule

* fix: remove user notifications for leaving group to prevent synced device issues, don't create thread in messages for new closed groups, includei nactive groups in the deletion queries for merging group configs

* feat: use blinded message count for banner also

* refactor: remove some logging, don't use blinded conversations in the list

* fix: don't set the read flag in update notifications, some roundabout logic for first loads and scrolling to last known positions

* refactor: merge changes, re-add the group check in unapproved messages

* fix: re-poll on fail in case that was breaking anything

* fix: pinning groups and notifying list listeners in threadDb.setPinned

* feat: add in TTL extension subrequest and builder, enable extending TTLs for all latest config messages in poll as subrequest

* feat: add block to the delete all message requests, only if they're not open group inbox contacts

* refactor: disable edit text for non contacts

* refactor: let the user display name return "You" for local user

* fix: prevent NTS self create thread on user view bind

* refactor: remove populate public key cache if needed call which seems unnecessary at that point, maybe UserView refs have changed since 2020

* refactor: use just first visible instead of completely visible, merge message sender changes

* fix: prevent block of users in delete all

* fix: self sync sync message failures for default values

* feat: update libsession-util, adjust docs, update mms and sms to use message sent timestamp instead of -1 for last read in the thread

* fix: some compile issues in tests and some TODOs for things to do before merge

* fix: handle recyclerview scrolled on scroll to first unread if it's the first load

* fix: added more migration code for deleting unnecessary threads and groups, fixed a post-migration last seen issue on last item (current read is now), comment out actual network sync while testing migrations

* feat: adding a force new configs flag and logic for timestamp handling / forced configs, fix issue with handling legacy messages

* refactor: re-add the sending of configs

* fix: don't add contacts if they don't exist in the profile manager

* [wip]
fix: trying to consolidate prof pic and key properly

* feat: add logs and fix compile issue with a themes.xml entry, add removing profile picture into logic for profile manager

* fix: force has sent for local user, only prevent setting last seen for open group recipients, allow empty user pics to trigger config sync in settings

* fix: nts threads

* fix: open group avatar loop for open groups we have left

* feat: add a wrapper hash to track home diff util changes for wrapper contact recipient info, add test for dirty state in double set

* feat: add a dump in there as well

* refactor: more test code refactor

* fix: update last seen if later than current

* fix: open group threads and avatar downloads

* fix: add max size and maybe fix the non-200 sub requests for batches (for 421s in particular)

* fix: open group comparison issues potentially, have to update some more outgoing message open group flags for visibility of details etc

* Updated to the latest libSession-util

* Updated logic to delete legacy groups when kicked/left

* Added the legacy group 'joined_at' value

* Replaced incorrect character in JNI

* Fixed an issue where the group keyPair was getting encoded incorrectly

* Updated the code to ignore outdated legacy group control message changes

* Updated the code to ignore messages invalidated by the config

* [Review] Updated the poller to process config messages before standard

* Cleaned up the outdated message logic

* Fixed inverted config dropping flags

* Fixed an issue where the joining a community would read all messages

Stopped using a reversed RecyclerView in all cases (caused the unread issue)
Updated the logic to jump to the newly sent message when sending a message (to be consistent with other platforms)
Updated the logic to refresh the DB unread count when the cursor receives an update

* Updated the conversation to highlight the first unread message on open

* Fixed a couple of bugs with the highlighting

* Fixed a bug where the user profile picture wasn't downloading correctly

* feat: add all namespaces to delete all messages request and signature verification data

* fix: merge namespace hashes for signature returned and

* fix: import correct scroll to bottom

* build: update version code and name

* fix: initial contact generation fix for existing blinded contacts

* fix: initial convo generation fix for existing blinded convos (?)

* fix: conversation unread not doing a check for standard ID prefix

* fix: thread ID not being created for legacy config messages

* fix: don't treat 404 as bad snode

* fix: don't add retrieve profile job if we have one for that address

* build: update build code

* fix: reduce attempts for downloading image, invert unreachable type check

* fix: attempting to fix preventing message processing if group thread is not active for closed groups and initial contact dump only allows conversations with thread, may need further optimisations though

* feat: Added an unread marker and search result focus highlighting

* fix: empty set in appropriate places for current closed groups

* build: update build version code

* fix: fix the notifications and request at appropriate time

* refactor: remove debug logging for thread create and delete

* build: update build number

* fix: new community doesn't break persisting config if the .add request fails

* build: trying to track down broken retrieve avatar job

* feat: update to latest libsession dev

* fix: maybe fix avatar download for new messages

* fix: 404s causing snode errors and trying to retrieve avatars that have already 404'd a lot

* fix: closed group creation sets thread date to formation timestamp

* build: update version code

* build: update version code

* build: remove debuggable release build

* fix: use new permissions for external attachments

* build: update version code

* chore: remove debug logs

* fix: tests and main thread blocking db fetch for path status view

* wip: trying to track down failure to mark conversation as read in delayed group add

* wip: add more logs for initial last Read sync of communities

* wip: maybe the volatile is being updated with 0 on batch message receive?

* fix: maybe syncing read statuses are working now

* chore: remove debug logs

* build: update build number

* fix: trying to improve performance

* fix: add close to banner

* refactor: hide seed reminder in preview

* build: update build number

* fix: maybe requires update thread no matter what

* fix: message request banner shows again

* fix: android tests work again and permissions

* fix: blocked contacts click handler being overridden by something

* Revert "fix: blocked contacts click handler being overridden by something"

This reverts commit 608572fc42.

* build: update build number

* refactor: remove unused dependencies and update minor for sqlcipher

* fix: actually do insert contact, because otherwise name doesn't get set properly

* fix: maybe fix scroll to bottom issue

* build: update build number

* fix: the message time and jump to message queries are more optimized

* fix: maybe fix the last seen issues

* build: update build number

* fix: pfp broken closed groups why

* fix: add admins and members as member list instead of just members

* fix: exclude lgc without membership > 1 and inactive explicitly

* fix: submodule update

* fix: compiles with removal of iterator erase

* fix: unread indicator updates properly in ConversationActivityV2

* fix: unread notifications clear and altered if any notifications exist (prevents clearing read notifications in conversation or on home screen)

* refactor: profile pictures kinda broken

* build: update build number

* refactor: remove full hash from log

* fix: isPinned threadDB call

* refactor: use mutex in all libsession native calls, change timestamp

* refactor: add basic support for blinded v2 prefixes

---------

Co-authored-by: Morgan Pretty <morgan.t.pretty@gmail.com>
2023-07-14 18:27:13 +10:00
andrew
adfa94614b Merge branch 'dev' into utilise-dialog-dsl 2023-07-13 12:12:01 +09:30
andrew
c3ef4d6e7b Merge branch 'dev' into utilise-dialog-dsl 2023-07-13 11:11:58 +09:30
andrew
8390be0489 Fix caching 2023-07-11 19:44:58 +09:30
andrew
d24cfef3d1 Remove unused sizeResId 2023-07-11 19:12:06 +09:30
andrew
d83532b6af Use Channel and Flow to avoid duplicate events 2023-07-11 13:28:44 +09:30
andrew
1845b60dac Refactor slide out of MessageDetailsActivity 2023-07-11 12:28:04 +09:30
andrew
172f85ae4f Fix some edge cases in fileDetails 2023-07-11 01:30:03 +09:30
andrew
fb68aaede6 Cleanup Components imports 2023-07-11 01:29:44 +09:30
andrew
09b321530d Add strings 2023-07-10 16:09:38 +09:30
andrew
a1e8ad2c37 Cleanup ViewModel 2023-07-10 13:01:46 +09:30
andrew
821327569e Cleanup Themes 2023-07-10 01:05:09 +09:30
andrew
b26c98af68 Hide Resend if no error 2023-07-10 00:35:13 +09:30
andrew
0824713ac5 Fix theming and polish 2023-07-10 00:12:42 +09:30
andrew
bbc9cdfeeb Cleanup ViewModel 2023-07-09 23:31:43 +09:30
andrew
d8b85768d2 Fix sms messages 2023-07-07 10:46:43 +09:30
andrew
e5b19d4ea4 Fix incorrect recipient used as threadRecipient to launch MediaPreview 2023-07-06 22:39:54 +09:30
andrew
fc87ae18f5 Fix message padding 2023-07-06 15:48:31 +09:30
andrew
1d1977ca7a Make expand button clickable 2023-07-06 15:32:51 +09:30
andrew
c417b37236 Hide thumbnails 2023-07-06 15:23:58 +09:30
andrew
8be1e8e87e Wire up voiceMessageView 2023-07-06 15:20:45 +09:30
0x330a
4c9a237d87
fix: compile errors 2023-07-06 14:48:05 +10:00
andrew
68684bb839 Refactor VisibleMessageContentView#onContentClick 2023-07-06 13:09:00 +09:30
andrew
efb5b27191 Fix divider color 2023-07-06 12:03:33 +09:30
0x330a
325abe020a Merge remote-tracking branch 'upstream/dev' into disappearing-messages
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java
#	app/src/main/java/org/thoughtcrime/securesms/notifications/AndroidAutoReplyReceiver.java
#	app/src/main/java/org/thoughtcrime/securesms/repository/ConversationRepository.kt
#	app/src/main/res/layout/activity_conversation_v2_action_bar.xml
#	app/src/main/res/layout/expiration_dialog.xml
#	app/src/main/res/menu/menu_conversation_expiration.xml
#	app/src/main/res/menu/menu_conversation_expiration_on.xml
#	app/src/main/res/values/strings.xml
#	libsession/src/main/java/org/session/libsession/messaging/jobs/BatchMessageReceiveJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/MessageRequestResponse.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingMediaMessage.java
#	libsession/src/main/java/org/session/libsession/messaging/messages/signal/IncomingTextMessage.java
#	libsession/src/main/java/org/session/libsession/messaging/messages/signal/OutgoingMediaMessage.java
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/utilities/UpdateMessageBuilder.kt
#	libsession/src/main/java/org/session/libsession/snode/OnionRequestAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt
#	libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java
2023-07-05 22:27:59 +10:00
andrew
8d66d948ca Polish 2023-07-04 22:10:48 +09:30
andrew
d6b1440217 Refactor MessageDetailsViewModel 2023-07-04 15:27:00 +09:30
andrew
7cd2bd0e0d Cleanup 2023-07-04 15:11:40 +09:30
andrew
6209ae68a8 Cleanup 2023-07-04 14:56:35 +09:30
andrew
ee0141f82d Refactor to Components 2023-07-04 14:09:40 +09:30
andrew
f82ed7718d Cleanup CarouselButton 2023-07-04 13:26:26 +09:30
Andrew
7da3e4f022
Fix blocked contacts button (#1264) 2023-07-04 11:39:49 +09:30
andrew
26aed783e8 Fix Divider padding 2023-07-04 11:34:20 +09:30
andrew
6890f5c448 Add image click listener 2023-07-04 09:31:14 +09:30
andrew
d719660030 Add expand button 2023-07-03 21:25:59 +09:30
andrew
0fcd997290 Fix divider color 2023-07-03 20:40:16 +09:30
andrew
70e63a23bc Fix indicator colors 2023-07-03 20:12:23 +09:30
andrew
0ec93e4b36 Refactor CarouselButtons 2023-07-03 18:30:15 +09:30
andrew
1d29b5465f Refactor prev and next buttons 2023-07-03 17:41:30 +09:30
andrew
db4ff94084 Add prev and next buttons to carousel 2023-07-03 17:19:33 +09:30
andrew
1902d4755c Add pager indicator 2023-07-03 13:00:11 +09:30
Stefan Junker
ba4143c298
feat: increase voice recording limit to 5m (#1201) 2023-07-03 11:43:02 +10:00
andrew
1303979cdf Add image attachments 2023-07-03 10:35:50 +09:30
andrew
4decce9dde Add images 2023-07-01 17:41:33 +09:30
andrew
d44dbe089f Wire up buttons 2023-06-30 22:49:23 +09:30
andrew
351b259449 Add error 2023-06-30 13:25:16 +09:30
andrew
19b2c5ef97 Fix LiveDataTestUtil 2023-06-30 12:32:56 +09:30
andrew
f68c01b2ee Populate profile pic 2023-06-30 11:35:22 +09:30
andrew
92fae3d6bf Add ProfilePictureView to MessageDetailActivity 2023-06-30 11:07:27 +09:30
andrew
876e12c411 Refactor ProfilePictureView 2023-06-30 11:01:57 +09:30
andrew
6d596226b3 Add user info 2023-06-30 10:33:56 +09:30
Andrew
c039eb89bc
Fix debug screen security default (#1256) 2023-06-30 10:05:32 +09:30
andrew
676c29ca60 Add click listeners 2023-06-30 09:48:48 +09:30
andrew
ac476f4382 Add icons and respect nullability 2023-06-29 22:11:15 +09:30
andrew
d5b3d9bcf9 Improve theming 2023-06-29 19:14:47 +09:30
andrew
0c2682fe47 Improve compose theming 2023-06-29 17:11:11 +09:30
andrew
fc108b34db Create Message Details screen 2023-06-29 11:37:55 +09:30
andrew
ab8b2c42b9 Add jetpack compose 2023-06-28 10:34:48 +09:30
andrew
97297508f4 Simplify ExpirationDialog 2023-06-26 10:58:08 +09:30
andrew
20eac67761 simplify 2023-06-23 13:01:11 +09:30
andrew
4ee8dc712e Fix + button in rationale dialog 2023-06-23 11:42:19 +09:30
andrew
b46b52ace4 Merge branch 'dev' into utilise-dialog-dsl 2023-06-23 11:14:27 +09:30
andrew
8be088ad56 Reinstate v1 PNServerJob 2023-06-23 10:29:49 +09:30
andrew
e3f60eb5f2 Fix individual group subs 2023-06-21 10:32:29 +09:30
andrew
42cfce0c3e Refactor v1 and v2 2023-06-21 10:01:35 +09:30
andrew
0e0ab9151e cleanup 2023-06-20 22:34:10 +09:30
andrew
5c9dc36460 Merge branch 'dev' into add-unregister 2023-06-20 12:31:37 +09:30
Andrew
b9f24bc4bd
Add button downstates to appearance settings screen (#1224) 2023-06-20 12:04:24 +09:30
Andrew
92a6447b8a
Add button downstates throughout (#1220) 2023-06-19 11:51:14 +09:30
andrew
667af27bfb Utilise TokenManager and ExpiryManager 2023-06-16 10:45:38 +09:30
andrew
153aa4ceaa Reinstate push v1 2023-06-14 18:46:28 +09:30
andrew
440a5a942d Merge branch 'dev' into utilise-dialog-dsl 2023-06-14 11:03:27 +09:30
Andrew
cc015c45bd
Add 50 dp buffer to isScrolledToBottom (#1228) 2023-06-14 10:34:49 +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
026b994664
Merge pull request #1238 from oxen-io/fix/modal-backgrounds
Fix broken modal styling from 1.16.8
2023-06-08 17:31:27 +10:00
Morgan Pretty
80104f6db8 [SES-627] Fixed an issue where the DocumentView could run off the screen 2023-06-08 16:33:34 +10:00
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
andrew
1efda68334 Merge branch 'dev' into utilise-dialog-dsl 2023-06-06 19:51:50 +09:30
Morgan Pretty
22a30f1907 Fixed the MediaSendFragment progress dialog 2023-06-06 18:29:02 +10:00
Morgan Pretty
082c087105 Added the custom dialog windowBackground back (fix permission dialogs) 2023-06-06 17:30:10 +10:00
Morgan Pretty
9ce89087a5 Updated the dialog dim amount to match the style guide 2023-06-06 16:57:27 +10:00
Morgan Pretty
cea65f3e45 Fixed an issue where a bunch of dialog backgrounds were missing 2023-06-06 16:34:23 +10:00
Morgan Pretty
31608111b3 Merge remote-tracking branch 'upstream/master' into dev 2023-06-06 09:08:45 +10:00
Morgan Pretty
7f7ab63d15
Merge pull request #1164 from RyanRory/bluetooth-manager-crash
Fix crash & ANRs
2023-06-06 09:00:49 +10:00
Morgan Pretty
f1686ea260
Merge pull request #1236 from bemusementpark/fix-dialog-theme-background
Fix dialog theme to set windowColor and not background of every view
2023-06-06 08:53:40 +10:00
andrew
e5db7fc886 Fix dialog theme so it sets window color and not background of every child view 2023-06-05 19:15:42 +09:30
Morgan Pretty
9d5fa1239c Commented out the plus button on the replace profile modal 2023-06-05 17:15:05 +10:00
Morgan Pretty
346bdc1774 Merge remote-tracking branch 'upstream/dev' into bluetooth-manager-crash 2023-06-05 16:05:20 +10:00
Morgan Pretty
6c14ed26e2
Merge pull request #1229 from bemusementpark/fix-long-message
[SES-571] Fix long message not visible on react
2023-06-05 16:04:52 +10:00
Morgan Pretty
f21100eff7 [SES-569] Merge branch 'fix-pic' into bluetooth-manager-crash 2023-06-05 16:02:11 +10:00