Commit Graph

1101 Commits (3ff39dc0dcae9af5d496d08a05a7bd5afe23e761)

Author SHA1 Message Date
Andrew 1f1c51669c Update empty search 11 months ago
Andrew d16faf94c9
Merge dev (#1468)
* Remove unused sizeResId

* Fix caching

* Prefix message with name in HomeActivity

* Hide sender prefix for note to self

* Hide sender prefix for control messages

* Remove problematic getLastMessage()

* Refactor snippet formatting

* Remove unused RecoveryPhraseRestoreActivity

* Fix unresolved theme attributes exception

* Fix dialog button style

* Investigation in progress

* Working fix push before cleanup

* Fixes #1346

* Removed unused logging imports

* Put back some whitespace

* Minor cleanup

* Fix NPE on null display name

* fix: disappearing viewmodel tests (#1432)

* SES-1354 - Video call self viewer not mirrored (#1397)

* Fixes #874

* Removed accidentally left in line

* Fixed issue - push before cleanup

* Cleaned up

* Removed cruft

---------

Co-authored-by: = <=>
Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>

* SES-1145 - New messages are hidden under keyboard - MK3 (#1415)

* WIP

* Working - push before cleanup

* Fixes #1316

* Cleanup

* PR review adjustments

* Fixed scrolling when receiving an image based message while keyboard is up

* Prevent auto-scroll to last seen item pos in conversation view if <= 3

* Put back <=3 check to scroll

---------

Co-authored-by: = <=>
Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>

* Fix missing parenthesis

* SES-789 - Scroll to bottom of long new message(s) (#1426)

* WIP

* Working - push before cleanup

* Fixes #1316

* Cleanup

* PR review adjustments

* Fixed scrolling when receiving an image based message while keyboard is up

* Prevent auto-scroll to last seen item pos in conversation view if <= 3

* Put back <=3 check to scroll

* Forced scrolling to bottom of long messages (both sent and received) when already at the bottom of the RecyclerView

* Fixes #1364

---------

Co-authored-by: = <=>
Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>

* SES-1352 - User and group names allowing multi-line strings (#1395)

* Fix WIP

* Resolved issue - pushing before cleanup & PR tomorrow morning

* Enforced single line for new closed group names

* Fixes #1394

* Final cleanup prior to PR

* Added code to restore a previous contact nickname if an empty one is given

* Added initial limits to nicknames and group names, both creation and display

* Minor adjustments

* Adjusted max nickname and group name to 35 chars as per Kee's instructions

* Fixed closed group edit text able to get too wide and cut off buttons

---------

Co-authored-by: = <=>
Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>
Co-authored-by: Al Lansley <al@oxen.io>

* SES-212 - Always show delivery status of last sent message - FINAL! (#1418)

* Fixes #1408

* Addressed PR feedback

* Cleanup

* PR adjustments

* Further PR adjustments

* Updated libsession-util

* Added fix for crash when no messages

* Ignoring dirty submodules so they don't show up in git

* Re-fixed display of delivery status on last sent message (got broken by disappearing messages)

* Removed ignore dirty modules line in .gitmodules as it all seems to be playing nice now

---------

Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>
Co-authored-by: Al Lansley <al@oxen.io>

* fix: use a set for the from/to serialized lists (#1370)

* Fixes #1347 (#1396)

Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>
Co-authored-by: Al Lansley <al@oxen.io>

* SES-1156 - Ban and delete functionality fix (#1428)

* WIP

* Investigation in progress

* End of day push

* WIP

* Fixes #1416

* Cleanup

* Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause

* Root cause debug WIP

* Push prior to cleanup

* Cleaned up for PR

* fix: mms delete, remove unnecessary values from sms

* Addressed PR feedback

* fix: fix unit tests

* Added '.run' folder with test setup

* Update README.md

Test commit for CI

* Re-added accidentally removed closing brace

---------

Co-authored-by: alansley <aclansley@gmail.com>
Co-authored-by: Al Lansley <alansley@users.noreply.github.com>
Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com>

* SES-1356 - List of recently used reaction emojis is not accurate (#1400)

* WIP

* Further WIP

* Push prior to cleanup

* Fixes #1015

* Added limiting to the count of recently used emoji that we store

* Put back adjusted reaction pill layout to standard

* Adjusted recently used reaction emojis already in list to go to start of list

---------

Co-authored-by: = <=>

* SES-697 - Add loading state when exporting logs (#1402)

* WIP

* Fixes #1401

* Cleanup from PR view

* Final cleanup

* Removed commented line of code & re-ordered comment

* Addressed PR feedback

* Re-allowed loading of avatars to throw exceptions rather than return null on failure

---------

Co-authored-by: = <=>

* SES-1251 - App crash on non alphanumeric first char search (#1393)

* Investigation in progress

* Working fix push before cleanup

* Fixes #1346

* Removed unused logging imports

* Put back some whitespace

* Minor cleanup

* Push before cleanup

* Fixes #1346 - properly this time!

* SES1567 - Community message delivery status fix (#1442)

* Initial investigation

* WIP

* Continued work to track down cause of delivery status issue

* Fixes #1438

* Cleanup for PR

* Further cleanup

* Fixed merge conflict

* Addressed PR feedback

---------

Co-authored-by: alansley <aclansley@gmail.com>

* Tiny adjustment to center user name in Settings activity (#1446)

* Addressed PR feedback

* Cleanup

* Initial fix implemented

* Fixes #1448

* Addressed PR feedback

* SES1688 - Deleting last message in conversation, group, or community leaves the RecyclerView in a broken state (#1449)

* Initial fix implemented

* Fixes #1448

* Addressed PR feedback

* Handle case where there are no messages

* build: update build number

* Fix spacing when title is absent

* Hide reply button in MessageDetails for group invitations

* Remove reply from context menu for open group invitations

* Ignore swipe reply to open group invitation

* Fix multiple quote previews

* Fix message menu icons not visible in light theme

* Hide reply app bar menu item for open group invite

* SES-1727 Mentions text is the wrong colour (#1454)

* Fixes #1453

* Cleanup

* Code review adjustments

* Adjusted mentions to use the accent colour as their background colour when using light themes

---------

Co-authored-by: alansley <aclansley@gmail.com>

* Disable swipe to reply on open group invites

* Fix multiple link previews

* SES1718 - Message Sending Status (#1462)

* Investigation in progress

* Initial push for PR

* Fixes #1461

* Removed leftover debug comments

* Added minor optimisation to showMessageStatus method (bail early if the message isn't one we care about displaying details of to the user)

* Minor cleanup

* Tiny cleanup

* Addressed PR feedback

* Removed forgotten debug log line & forced delivery status elements to be removed on non-visible messages just in case

* Minor refactor to simplify 'VisibleMessageView.showStatusMessage'

---------

Co-authored-by: alansley <aclansley@gmail.com>

* Fix margins

* WIP

* Commit before converting SmsDatabase from Java to Kotlin

* Remove old expiration config strings from UpdateMessageBuilder

* Fix group expiration update config messages

* Fixed conversation view closing + hopefully wrong status text displayed + deletion of contact on removal of last message in 1-on-1 convo

* Cleanup for PR review

* Implemented PR feedback

* Don't start expiration for group expiration update messages

* Fix expiry update message for groups

* Correctly don't start disappear timer on group timer updates

* SES1813 - Fix regression test failures (#1473)

* Initial fix for regression test failure 1.1

* Added permissions fix for sharing documents which should allow for thumbnail generation

* Minor touch-up prior to merge into dev

* Fixes #1813

* Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that

---------

Co-authored-by: alansley <aclansley@gmail.com>

---------

Co-authored-by: alansley <aclansley@gmail.com>
Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com>
Co-authored-by: Al Lansley <alansley@users.noreply.github.com>
Co-authored-by: AL-Session <160798022+AL-Session@users.noreply.github.com>
Co-authored-by: Al Lansley <al@oxen.io>
12 months ago
AL-Session 629f98dfb4
SES1813 - Fix regression test failures (#1473)
* Initial fix for regression test failure 1.1

* Added permissions fix for sharing documents which should allow for thumbnail generation

* Minor touch-up prior to merge into dev

* Fixes #1813

* Fixes #1472 - please ignore previous fixes 1813 statement, I'd used the Jira ticket number rather than creating a GitHub issue and using that

---------

Co-authored-by: alansley <aclansley@gmail.com>
12 months ago
Andrew 89d93bc80d Merge branch 'dev' into on-2 12 months ago
Andrew dbe3834dc1 Fix expiry update message for groups 12 months ago
Andrew 0ba18dcd46 Fix group expiration update config messages 1 year ago
Andrew 207da18115 Remove old expiration config strings from UpdateMessageBuilder 1 year ago
AL-Session 96510946c6
SES-1727 Mentions text is the wrong colour (#1454)
* Fixes #1453

* Cleanup

* Code review adjustments

* Adjusted mentions to use the accent colour as their background colour when using light themes

---------

Co-authored-by: alansley <aclansley@gmail.com>
1 year ago
Andrew eb958bac4e Merge branch 'on' into on-2 1 year ago
Andrew 1ace9ea86c Merge branch 'dev' into on 1 year ago
Andrew ac97529c73 Remove unnecessary shared pref 1 year ago
Andrew b5af8de4f9 Show tada emoji empty screen on new account 1 year ago
AL-Session be11b1659f
SES1567 - Community message delivery status fix (#1442)
* Initial investigation

* WIP

* Continued work to track down cause of delivery status issue

* Fixes #1438

* Cleanup for PR

* Further cleanup

* Fixed merge conflict

* Addressed PR feedback

---------

Co-authored-by: alansley <aclansley@gmail.com>
1 year ago
Andrew 3ae2dc5bc5 Merge branch 'dev' into on 1 year ago
Al Lansley d3c8635748
SES-697 - Add loading state when exporting logs (#1402)
* WIP

* Fixes #1401

* Cleanup from PR view

* Final cleanup

* Removed commented line of code & re-ordered comment

* Addressed PR feedback

* Re-allowed loading of avatars to throw exceptions rather than return null on failure

---------

Co-authored-by: = <=>
1 year ago
AL-Session a8a257a1a6
SES-1156 - Ban and delete functionality fix (#1428)
* WIP

* Investigation in progress

* End of day push

* WIP

* Fixes #1416

* Cleanup

* Added code to remove zombie messages caught in limbo during a ban & delete - still chock full o' debug while finding root cause

* Root cause debug WIP

* Push prior to cleanup

* Cleaned up for PR

* fix: mms delete, remove unnecessary values from sms

* Addressed PR feedback

* fix: fix unit tests

* Added '.run' folder with test setup

* Update README.md

Test commit for CI

* Re-added accidentally removed closing brace

---------

Co-authored-by: alansley <aclansley@gmail.com>
Co-authored-by: Al Lansley <alansley@users.noreply.github.com>
Co-authored-by: 0x330a <92654767+0x330a@users.noreply.github.com>
1 year ago
0x330a 901e800012
fix: use a set for the from/to serialized lists (#1370) 1 year ago
Andrew e25b90b229 Improve new convo error messages 1 year ago
Andrew 3773f4fbc9 Merge branch 'dev' into unsend-notification 1 year ago
Andrew 4e6fe1fc9d Fix missing parenthesis 1 year ago
Andrew a3c685196e Merge branch 'dev' into fix-attr-ex 1 year ago
Andrew d083b19a12 Merge branch 'dev' into on 1 year ago
Andrew 4279c4b456 Merge branch 'dev' into on 1 year ago
Andrew 36edca855c
Merge pull request #1430 from bemusementpark/fix-null-display-name
Fix NPE on null display name
1 year ago
0x330a 3dee7ec6bd
fix: disappearing viewmodel tests (#1432) 1 year ago
Andrew 3cba05e668 Fix NPE on null display name 1 year ago
0x330a b62656b1be
feat: add new config enabled timestamp 1 year ago
0x330a c2ab92e14d
feat: add new config enabled timestamp 1 year ago
Andrew 76f8e9867b Remove logs in UpdateMessageBuilder 1 year ago
Andrew 51f2c3557d Remove log 1 year ago
0x330a e8c61d6791
fix: remove new group invite clearing flags and handling new configs better 1 year ago
0x330a f6d351f9c3
fix: remove disappearing config overwrite and fix EC key pair's pubkey being group's identity pubkey 1 year ago
Andrew affdf1ca07 Disable disappearing closed group messages 1 year ago
Andrew 3cd5ca4a6d Simplify ClosedGroupControlMessage#fromProto 1 year ago
Andrew 39df560f0c Don't shorten ttl of closedGroupControlMessage 1 year ago
Andrew f5121770ec Remove erroneous expiration on SharedConfigurationMessage 1 year ago
Andrew a1fadcfa91 Disable closed group control messages disappear 1 year ago
Andrew c3b416f76c Fix Message#isValid 1 year ago
Andrew ef50d63410 Cleanup logs 1 year ago
Andrew 398b5bf7b4 Cleanup 1 year ago
Andrew 7c4060a8c4 Cleanup closedGroupMessage serialisation 1 year ago
Andrew 637b7f8249 Fix expiry mode application to Message 1 year ago
Andrew e7a5be2c73 Fix ExpirationTimerUpdate deserialisation 1 year ago
Andrew 4c7485f53d Fix Message#expiryMode de/serialisation 1 year ago
Andrew cb0327ecb2 Fix follow setting contentDesc 1 year ago
Andrew 97d6c9928f Fix contentDescriptions 1 year ago
Andrew 43745ce995 Retrieve expiry config from UpdateMessage for GroupsV1 1 year ago
Andrew 848dbd2eb0 Start expiration at end of handling each message type treating call and extraction as DaR 1 year ago
0x330a 106305f118
fix: outdated banner showing and updating on messages properly 1 year ago
Andrew 1ada072884 Copy expiryMode from proto for all Messages 1 year ago
Andrew 12edb9dff9 Coerce disappear type to DaR for Calls and DataExtraction 1 year ago
Andrew 7b26de5bd6 Fix disappear after read 1 year ago
Andrew 6fbae28d70 Fix sent messages disappearing when disappear is off 1 year ago
Andrew 2e62bb15ff Remove intuit expiry settings from normal messages 1 year ago
Andrew 7fd036dee9 Use same dummy hash as ios and desktop in getExpiries() 1 year ago
Andrew 06c258364f Use new strings for follow setting control message 1 year ago
Andrew 988040b577 Hide follow settings button when not applicable 1 year ago
andrew cf0dbffafd Add follow setting button 1 year ago
andrew 62ef9d3ed4 Add hide password dialogs 1 year ago
andrew a5a226b468 Allow legacy expiration updates when flag is off 1 year ago
andrew 7bd43b1b3c Fix control messages 1 year ago
andrew eb97c698f2 Fix disappearing messages proto OFF message 1 year ago
0x330a d6ba78606e
fix: activate the banner only if conversation is in expiring mode not none 1 year ago
0x330a 56878dbd35
refactor: add sender to be the person to trigger the legacy message send (in case of closed group updates) 1 year ago
andrew a312ef2b25 Simplify ExpirationTimerUpdate 1 year ago
andrew 29099901d1 Pick correct config on receive message 1 year ago
andrew 617dbc8799 Remove unused ConversationItemFooter 1 year ago
andrew 2228a05b2e Fix control message text 1 year ago
andrew a9467c7b96 [SES-1203] Disable radio buttons 2 years ago
andrew 019a86482a Fix timestamps 2 years ago
andrew c24741af62 Remove erroneous disappearing message validations 2 years ago
andrew 793fe63260 Merge branch 'dev' into disappear-2 2 years ago
0x330a 862a47e7e3
feat: add drop attachment download migration in case there are a lot of pending failed attachment downloads 2 years ago
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 2 years ago
andrew f71c56022d Merge branch 'dev' into disappear-2 2 years ago
andrew 4313eee33b Fix notification update for incoming unsend request 2 years ago
andrew 77f951cadf Use separate tables for mms and sms in LokiMessageDatabase 2 years ago
0x330a d92e798618
feat: add timestamp update based on message merging success 2 years ago
0x330a 20df73355d
fix: or should be and (#1334) 2 years ago
andrew 892e4b75ec Merge branch 'dev' into disappear-2 2 years ago
andrew ebbe928fd2 Sync disappear after read with other devices 2 years ago
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
2 years ago
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
2 years ago
andrew a7111b0d49 Simplify VM 2 years ago
andrew 885df1e22b Refactor 2 years ago
andrew 14938d2cc0 Fix note-to-self not disappearing 2 years ago
andrew 8b07ffcd2b Fix unresolved theme attributes exception 2 years ago
0x330a 380d6694ea
fix: treat self sends correctly when no contact information for ourself (#1318) 2 years ago
andrew 96afa8d23f Fix expiry timer millis conversion 2 years ago
andrew ba0ca7d260 Remove Storage#setExpirationTimer 2 years ago
andrew 519bf38ee0 Merge branch 'dev' into disappear-2 2 years ago
andrew e95c842051 Add preview for all states 2 years ago
andrew 0b11e182ff Merge branch 'dev' into disappear-2 2 years ago
andrew 0e0cbf112b Use separate keys for huawei shared prefs 2 years ago
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
2 years ago
andrew 71b2544c31 Use compose 2 years ago
andrew 0ed9731622 Make ExpiryMode non-null in config 2 years ago
andrew 7861eb25c2 Improve param naming for isPushEnabled 2 years ago
andrew 1d9fb13809 Move plugin to huawei flavor 2 years ago
andrew 77100231d2 Fix logs 2 years ago
0x330a 317ecf6cee refactor: making radio options and adapter and list items generic 2 years ago
andrew e1e5c5937b Use live endpoint for legacy groups 2 years ago
andrew bcf925c132 Cleanup 2 years ago
andrew a27f81db30 Fix Huawei push notifications 2 years ago
0x330a 8db92cc55c
feat: add user config integrated into config sync 2 years ago
andrew cc6f880665 ... 2 years ago
0x330a 06c0ab3080 refactor: let frontend use the normal types and enabled options properly set 2 years ago
0x330a bcb2071f44
fix: compile issues and dependencies resolved to use shared configs throughout apps 2 years ago
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 2 years ago
0x330a 7f4db64a5a
refactor: refactor ExpirationConfigurationDatabase to return a specific db config after removing config values that are in shared lib 2 years ago
0x330a 87d76b21da
refactor: moving radio indexes out of expiration configuration 2 years ago
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 2 years ago
andrew d3ea4e2e30 Fix 2 years ago
Andrew 55216875ac Connect Huawei push notifications 2 years ago
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
2 years ago
0x330a 57d43270a8 fix: compile issues 2 years ago
andrew 34990b13d3 ... 2 years ago
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
2 years ago
andrew 01e9d15872 Add Huawei flavor 2 years ago
andrew 002793baed Merge branch 'dev' into add-unregister 2 years ago
0x330a 68248db83c fix: compile errors to build 2 years ago
0x330a 74ee433eec fix: more merge conflict compile issues 2 years ago
andrew 9a84f6c67b Merge branch 'dev' into comp 2 years ago
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
2 years ago
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>
2 years ago
0x330a 4c9a237d87
fix: compile errors 2 years ago
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
2 years ago
Andrew c039eb89bc
Fix debug screen security default (#1256) 2 years ago
andrew ab8b2c42b9 Add jetpack compose 2 years ago
andrew 8be088ad56 Reinstate v1 PNServerJob 2 years ago
andrew dc7602a1d3 Check fcm is enabled before modifying group sub 2 years ago
andrew e3f60eb5f2 Fix individual group subs 2 years ago
andrew 42cfce0c3e Refactor v1 and v2 2 years ago
andrew 0e0ab9151e cleanup 2 years ago
andrew 5c9dc36460 Merge branch 'dev' into add-unregister 2 years ago
andrew 667af27bfb Utilise TokenManager and ExpiryManager 2 years ago
andrew 153aa4ceaa Reinstate push v1 2 years ago
Andrew cc015c45bd
Add 50 dp buffer to isScrolledToBottom (#1228) 2 years ago
andrew 288b70bb14 Store legacy fcm token to reduce unregister api calls 2 years ago
andrew b2a1b5fe46 Add token to FCM logs 2 years ago
andrew be4d742e84 Unregister v1 push 2 years ago
andrew 01d80ae54b cleanup PushNotificationAPI 2 years ago
andrew 3f6229f841 Remove PushNotificationManager 2 years ago
andrew ba6eca2443 Add FirebasePushManager#unregister 2 years ago
Morgan Pretty 7699e47f7b Responded to PR comments 2 years ago
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)
2 years ago
Morgan Pretty 2b7bd7417e [SES-567] Fixed a couple of issues where the Group poller would be stopped during creation 2 years ago
Morgan Pretty 8ce6e997aa Fixed a potential crash after changing a property to be nullable 2 years ago
Morgan Pretty b7744f4f2d Addressed PR feedback 2 years ago
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
2 years ago
Morgan Pretty 0c2a635d03 Merge remote-tracking branch 'upstream/dev' into bluetooth-manager-crash 2 years ago
Morgan Pretty 10af2815ac
Merge pull request #1176 from bemusementpark/sync-everything
Synchronize usage of Cipher
2 years ago
Andrew e8d26222b9
Fix scroll to bottom button visibility (#1219) 2 years ago
andrew 0af713317a Merge branch 'dev' into sync-everything 2 years ago
Morgan Pretty 22ed2dd8aa
Merge pull request #1205 from bemusementpark/disable-unblock
Disable unblock button
2 years ago
Andrew 5519f17775
Truncate session id when displayed as username (#1215) 2 years ago
Andrew 7d31af9eb0
Fix isScrolledToBottom (#1217) 2 years ago
0x330a 95bb9ee441
refactor: remove some unnecessary code for legacy PN registration 2 years ago
andrew 30d748e147 Disable unblock button 2 years ago
Jason Rhinelander 46acd7878d
New SPNS subscription and notifications
Finishes the WIP for subscribing to push notifications and handling the
new-style pushes we get.
2 years ago
Andrew 57476cd56e
Fix scroll to bottom button always visible if last item is taller than RecyclerView 2 years ago
ryanzhao fa71ea1850 make RetrieveProfileAvatarJob work 2 years ago
Ryan Zhao b494088c3d WIP: further refactor on old jobs 2 years ago
andrew f0715f16e0 Fix scroll to bottom button always visible if last item is taller than RecyclerView 2 years ago
andrew ec2abffdcc Remove logs 2 years ago
andrew d3ce899a80 Synchronize all Cipher#doFinal 2 years ago
andrew 45eb3549f6 Add sync status message 2 years ago
0x330a d2e80c3157
feat: re-add bencode utility and fix tests to use bytearray instead of assuming utf-8 encoding for strings 2 years ago
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 2 years ago
0x330a 2246a5d9ce feat: introduce new pns models and wire kotlinx serialization to apply in libsession 2 years ago
0x330a b25eb9af8e
Use new seed node certificates (#1144)
* fix: use new seed node certificates

* refactor: don't need to include subdomains actually
2 years ago
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
2 years ago
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
2 years ago
Ian Macdonald 405b8c7d28
Allow user display names of up to 64 bytes. (#981) 2 years ago
Morgan Pretty 391418ae1e
Merge pull request #1107 from mpretty-cyro/fix/group-avatar-download-job-duplication
Fixed a few issues related to the GroupAvatarDownloadJob
2 years ago
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
2 years ago
Morgan Pretty 97458a4baa Added a missing constructor 2 years ago
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
2 years ago
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
2 years ago
Morgan Pretty 50989cb2ee Increased file upload limits to 10Mb 2 years ago
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
2 years ago
Morgan Pretty 87f1d708b1 Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator
# Conflicts:
#	app/src/main/res/values/themes.xml
2 years ago
Morgan Pretty 05838faaf0 Updated the unread count logic to recalculate correctly 2 years ago
Morgan Pretty 2711a6dd5f
Merge pull request #994 from ceokot/message-request-response
Add profile data to message request responses
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Morgan Pretty 23dca5b38d Merge remote-tracking branch 'upstream/dev' into feature/unread-mention-indicator 2 years ago
Morgan Pretty 025989f928
Merge pull request #1069 from mpretty-cyro/feature/performance-improvements
Performance improvements
2 years ago
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
2 years ago
0x330a 5861623369
fix: may have been preventing new closed group message on multi-device (#1081) 2 years ago
Morgan Pretty ebe8479e4c Resolved PR comments 2 years ago
0x330a 86b065203f
fix: prevent very old messages (15 minutes ago) being processed to prevent endless crashes in some cases 2 years ago
Morgan Pretty 8a4a9623cc Fixed an edge case where an OpenGroup might not download it's image 2 years ago
Morgan Pretty 0ed5c5825d Cleaned up some of the error logging 2 years ago
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)
2 years ago
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
2 years ago
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 2 years ago
0x330a dd51c9ab41
refactor: move the legacy/updated expiring and add extra condition it is only set from one on one conversations (non self-send) 2 years ago
0x330a f0aba3a973
fix: look at early expiring incoming messages for delete after read 2 years ago
Morgan Pretty cc5c63b211 Fixed a couple of issues from the rebase, removed an unneeded text clear 2 years ago
Morgan Pretty 3e68bdc2f8 Fixed an issue introduced by the last commit with OpenGroup initialisation 2 years ago
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
2 years ago
0x330a 2048e08c86
fix: legacy message deletions working better now 2 years ago
0x330a b6a4fb9024
refactor: fix star imports 2 years ago
0x330a 06947b63fb
fix: handle the correct legacy setting of expiring config based on thread not message sender (incorrectly attributing to 1o1 instead of groups 2 years ago
Morgan Pretty d68d26cd5d Added the MockDataGenerator to simplify db testing 2 years ago
charles b1f69539a9 Apply conversation config on messages being converted to protobuf 2 years ago
charles cdbf76c0f1 Only allow admins to change disappearing messages config 2 years ago
charles 1f0a0760ba Cleanup refactor 2 years ago
charles 03766d57ee Disappear after read info refactor 2 years ago
charles 03c95f1ba7 Expire group update info and call messages 2 years ago
charles e460e086e6 Cleanup 2 years ago
charles 1ba8f9f80d Remove incomplete SyncedExpiry implementation 2 years ago
charles 18ff597811 Fix outdated client banner display 2 years ago
charles 2228bfc8f2 Fix expiry start 2 years ago
charles 8f99b5aa11 Start disappearing after sent for closed groups 2 years ago
charles 92b30739f0 Disappearing messages job update 2 years ago
charles 304bf42c0d Fix expiry info disappearance 2 years ago
charles 42923b5c2b Fix message disappearance after send 2 years ago
charles 3c6b93b2f8 Merge branch 'dev' into disappearing-messages 2 years ago
charles 487f99ab93 Fix expiry timer update handling 2 years ago
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>
2 years ago
charles 065417ebbb Add synced expiries job 2 years ago
charles 8a51c8882c Fix legacy expiration timer update handling 2 years ago
charles 9e004cd09a Expiration config tweaks 2 years ago
charles d23b849c91 Group settings refactor 2 years ago
charles 2494483afb Clear open group inbox messages 2 years ago
charles 48a99a85c3 Legacy expiration type ui default tweaks 2 years ago
charles 23c881f3ce Legacy expiration type handling tweaks 2 years ago
charles a6f9e17122 Legacy settings ui tweaks 2 years ago
charles 4b66e0516d Default expiration timer value to zero 2 years ago
charles 1ad10a4ac7 Expiration timer update ui message tweaks 2 years ago
charles a4e64187f1 Cleanup expiring message manager 2 years ago
charles d70bfe5614 Add pre-release config flag and client version detection 2 years ago
charles 8c002247d6 Move expiration configuration to a separate table 2 years ago
charles 752c25d627 Handle nullable profile key 2 years ago
charles 84ee3eba21 Add legacy and pre-release ui updates 2 years ago
charles 11bf0a06a8 Update expiration type proto 2 years ago
charles fa1a2f5a9d ExpirationTimerUpdate refactor 2 years ago
charles 3bb19e4df8 Connect migrated expiry to settings ui 2 years ago
charles 6eba3ac8af Update expiry configuration 2 years ago
charles 31d388e00b fix: Authenticate all Open Group API calls
* Use unblinded authentication when we have `capabilities` data for the open group server we are sending the request to but don't have the `blind` capability
* Use blinded authentication when we haven't gotten any `capabilities` for an open group server, or if we have `capabilities` and the server has the `blind` capability
3 years ago
Harris 7a773016da
New app theming (#913)
* feat: start new app theming feature

* feat: add some theming colours

* refactor: start refactoring themes and colours to use dynamic attributes

* feat: adding more colours and switching over default colours to be theme based instead of hard-coded or day/night specific

* refactor: take a look at ocean light and logo colour

* feat: global search colours for light and dark ocean

* feat: more styling

* feat: adding themes to conversation activity and refactoring the base theme to apply over the top of the activity's theme so it retains noActionBar etc

* feat: add dynamic accent color

* docs: add todo for changing how accent colour is applied

* feat: update new theming to use override primary style so that the regular colorAccent attribute can be used in existing layouts

* feat: coordinating styles across layouts, fixing up pinned icons and naming for conversation list items

* refactor: re-styling layouts to match new themes and attributes. Need to figure out action mode close button

* refactor: remove @color/text and replace with ?android:textColorPrimary to override in themes

* refactor: add context theme wrapper to bottom sheet dialog that references accent color

* fix: input bar bug fix and preference activity themes

* refactor: new settings menu options

* fix: crash for PNModeActivity.kt

refactor: move ordering in seed dialog to match designs, copy changes to match new settings menu

* feat: add new appearance settings activity

* refactor: title and VM changes

* fix: correct override

* feat: add theme appearance screen UI features and start VM implementation. re-add legacy theme utils to get default for migration

* fix: compile errors and missing themes from emoji features

* refactor: remove background shape alteration and old bottom sheet styles, re-add the theme mode attr

* feat: appearance screen wired up, just need to refresh theme

* feat: add theme state recreation and fix match system settings option

* refactor: add bottom margin

* feat: explore custom preference category

* feat: add the customized session theme for CorrectedPreferenceFragment

* feat: replace AppProtectionPreferenceFragment to extend ListSummaryPreferenceFragment

* refactor: change drawable style and remove explicit dividers

* refactor: remove divider in CorrectedPreferenceFragment

* feat: add theme state check on resume, might be jarring currently

* feat: add preference divider elements for settings menu

* refactor: settings menu redesigns

* refactor: change led preference to integer and refactor TextSecurePreferences.kt

* feat: add scroll parcel to save/restore hierarchy on restart with appearance changes

* feat: add the conversations blocked contacts and refactor preference order and copy

* feat: add blocked contacts activity, basic layout and vm

* feat: add unblock DB functions and storage protocol, start working on the DB query state flow, might have to just implement recipient on modified listener

* feat: add blocked contacts and notif recipient listeners

* feat: add recipient db reader

* feat: add blocked contact interactions and fix a theming crash for notifications

* feat: introduce better equals and hashcode implementations to recipient, replace home diff util content check with hashcode-based comparison

* feat: add settings menu vectors

* fix: preview compile error

* refactor: migrating settings menu to new designs

* feat: help menu

* refactor: simplify link opening

* refactor: remove space

* feat: refactor preferences and start theming for light mode options

* refactor: fixing dark and light modes with dialogs

* refactor: popup dialogs use proper themes now

* refactor: alert dialogs and media edit fragments use attribute references

* refactor: use input bar button attribute instead color control normal in vector tint

* refactor: transparency, dialog fixes, notification fix

* refactor: attrs and styles for buttons

* fix: use prominent button color on the outline button's border

* fix: fix the trash

* refactor: remove the appearance

* refactor: avatar placeholder generation, chips and element border styles

* refactor: use colors instead of style references

* refactor: theming changes to match designs and feedback

* refactor: the titles are bold and the categories are tertiary coloured now

* fix: appearance settings match preferences, search bottom bar uses themed attributes

* refactor: increase setting button height

* Update clear all data dialog

* Update seed dialog

* refactor: more qa feedback changes

* feat: add new TLs and fa-rIR TLs

* Update notification content dialog

* Fix message requests clear all button text color

* feat: re-add screenshot observer

* refactor: make send tint accent color

* feat: add unread background differences

* fix: change unread count indicator

* build: upgrade build numbers

* Fix message requests popupmenu background color

* fix: crash from attr reference in color attribute

* build: upgrade build number

* fix: message bubbles, thumbnail backgrounds, search bar visibility with input bar, attachment buttons

* fix: tertiary text for keyboard page search view

* fix: emoji overflow colour differences

* fix: reaction pill dialog background is now correct colour

* Add style to reactions tab layout

* fix: appearance activity reverting primary color at correct time

* fix: show call privacy warning every time instead of just once

* fix: gradient background(?) and audio autoplay disable

* fix: crash in all media containing documents

* fix: reaction dialog heading fixes

* Add style to reactions tab layout

* fix: remove gradient backgrounds

* fix: adding new reaction normal text attribute to try correct the tab layout

* fix: ocean dark unread/read colours

* build; update build number

* build: update build number

Co-authored-by: charles <charles@oxen.io>
3 years ago
charles 140877f4e3 Refactor 3 years ago
charles 1f7edadc59 Add profile data to message request responses 3 years ago
charles ffa280bc1b fix: Disable typing and message requests in read-only open groups 3 years ago
Harris d2dc86de88
Fix moderator race condition (#975)
* fix: race condition in clear all / add new members

* fix: max width emoji text view on smaller devices

* fix: add extra widths and reduce the original again

* fix: quoted messages for blinded servers, remove unused add group member function

* fix: quote sending and resending using blinded IDs in quotes

* build: update build number
3 years ago
jubb 2c3a949bb3 Merge branch 'master' into dev 3 years ago
Harris 9f8ed4daf2
Replace default action message request behavior (#927)
* refactor: add a block action and change default message request behavior to decline/delete

* refactor: move log calls, add block & delete menu option

* refactor: migrate some more actions into ConversationActivityV2.kt and only show message request incoming menu if it's an incoming message request

* refactor: change block behaviour to be in the message request actions

* refactor: use block user copy

* refactor: parameters for ConversationMenuHelper interface cleaned up
3 years ago