Commit Graph

481 Commits

Author SHA1 Message Date
Brice-W
b2a924ebf8 views created + database storage 2021-05-12 08:40:10 +10:00
Ryan ZHAO
b43000bdd0 WIP: enable contact with UI 2021-05-11 17:05:04 +10:00
jubb
8439d57115 refactor: let the periodic work run more frequently and never fail from excessive retries preventing from re-running.
remove resume pending jobs from ApplicationContext onCreate and handle in home activity's onCreate instead.

prevent some illegal argument exceptions from Random.kt by returning null if empty
2021-05-10 17:07:10 +10:00
Ryan ZHAO
be3b8a4b7e Merge branch 'dev' of https://github.com/oxen-io/session-android into client-side-nickname 2021-05-07 16:31:54 +10:00
Ryan ZHAO
a16e67d1fd add new contact database api 2021-05-07 16:31:46 +10:00
jubb
e7377d640f fix: use AttachmentUploadJob instead of two download job keys in all types 2021-05-07 13:36:35 +10:00
jubb
d707433f28 docs: remove no long applicable docs 2021-05-07 12:03:04 +10:00
jubb
ccd9493f62 refactor: remove unlimited by array size and cap at 10_000_000 2021-05-07 12:02:12 +10:00
jubb
4fff5ac2dc refactor: make storage reference jobId by string in deletion, don't persist jobs we are about to delete, delete jobs that fail to serialize from storage (probably from corrupt or moved data classes) in temporary message send jobs 2021-05-07 11:48:03 +10:00
Ryan ZHAO
cbd6ae3bcb Merge branch 'dev' of https://github.com/oxen-io/session-android into client-side-nickname 2021-05-07 10:33:27 +10:00
Brice-W
d98cef3c77 Merge branch 'dev' of https://github.com/loki-project/session-android into open-group-invitations 2021-05-07 09:34:24 +10:00
Brice-W
89e0d9b0cf WIP 2021-05-07 09:30:50 +10:00
Niels Andriesse
3c3f6c25f1 Fix various bugs 2021-05-06 15:46:22 +10:00
jubb
a4b7b34f2e refactor: change request to use default pubkey 2021-05-06 13:48:35 +10:00
jubb
704723ed80 feat: add removing of the sent/received messages 2021-05-06 13:28:58 +10:00
jubb
50d3b52617 refactor: remove unused download in DotNetAPI.kt and add todo for upload migration 2021-05-05 17:50:29 +10:00
jubb
14a02a8511 fix: proper sending of join URL and removing server timestamp in proto parsing 2021-05-05 17:46:53 +10:00
jubb
e8bac5005e feat: file server v2 and syncing open groups v2 in config messages 2021-05-05 17:29:27 +10:00
jubb
35aec04ac9 feat: member counts in v2 open group ConversationActivity 2021-05-05 13:52:15 +10:00
jubb
d8e9e372d3 fix: add support for non-standard ports in opengroupv2 2021-05-04 15:52:08 +10:00
jubb
f3fa8626ed feat: compact polling server-wide 2021-05-04 14:51:21 +10:00
jubb
c102c5132e fix: don't use testnet 2021-05-04 09:06:59 +10:00
jubb
fa528c47d5 Merge remote-tracking branch 'upstream/dev' into open_groups_V2
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
#	app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java
#	app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiMessageDatabase.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/MentionCandidateSelectionView.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/MentionCandidateView.kt
#	libsession/src/main/java/org/session/libsession/messaging/mentions/MentionsManager.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/ClosedGroupPoller.kt
#	libsession/src/main/java/org/session/libsession/messaging/utilities/DotNetAPI.kt
#	libsession/src/main/java/org/session/libsession/utilities/mentions/Mention.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/Mention.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/utilities/mentions/Mention.kt
2021-05-03 15:37:53 +10:00
jubb
fe8dc2d392 fix: slight UI and handling protocols at onion request level 2021-05-03 15:21:53 +10:00
Brice-W
bb25877515 light refactor + OpenGroupUrlParser implementation & unit test 2021-05-03 14:15:39 +10:00
jubb
2999c138aa feat: add open group display name hex suffix 2021-05-03 11:29:04 +10:00
jubb
a58332a353 refactor: increase max poll time 2021-04-30 16:57:06 +10:00
jubb
7e14a315b9 refactor: compact polling and usage based polling 2021-04-30 16:56:39 +10:00
Brice-W
9ee167c173 handleOpenGroupInvitation skeleton added + region added 2021-04-30 16:09:11 +10:00
Brice-W
99a62d9e99 adding openGroupInvitation types in proto & class 2021-04-30 16:00:13 +10:00
Ryan ZHAO
e64ac14b77 fix crash & empty nickname bug 2021-04-30 15:36:50 +10:00
jubb
460babe930 fix: deletion fixed up 2021-04-30 14:19:37 +10:00
jubb
ef19c0d10e fix: fixing up LokiMessageDatabase.kt table structure, deletion closer to finished 2021-04-29 17:13:42 +10:00
Ryan ZHAO
a1edfb13ee Merge branch 'dev' of https://github.com/oxen-io/session-android into client-side-nickname 2021-04-29 14:59:14 +10:00
Ryan ZHAO
a7c7d0c10f introduce Contact model 2021-04-29 14:59:04 +10:00
Ryan ZHAO
496e833333 Merge branch 'dev' of https://github.com/oxen-io/session-android into client-side-nickname 2021-04-29 13:29:12 +10:00
Brice-W
1f62990aff fix polling issue in closed groups 2021-04-29 13:10:18 +10:00
Niels Andriesse
f727244342
Merge pull request #514 from oxen-io/refactoring
Minor Refactoring
2021-04-29 10:11:02 +10:00
Niels Andriesse
761c12addd Clean 2021-04-29 10:02:07 +10:00
jubb
d05da5c447 Merge remote-tracking branch 'upstream/dev' into fix_profile_nulls
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
2021-04-29 09:39:33 +10:00
jubb
51554f1cdf Merge remote-tracking branch 'upstream/dev' into open_groups_V2, working on compact poller implementation
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/api/PublicChatManager.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/utilities/MentionManagerUtilities.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/MentionCandidateView.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt
#	libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/AttachmentDownloadJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/AttachmentUploadJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/mentions/MentionsManager.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupAPIV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupMessageV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/utilities/DotNetAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/OnionRequestAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeMessage.kt
#	libsession/src/main/java/org/session/libsession/utilities/mentions/MentionsManager.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/api/SwarmAPI.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/api/opengroups/PublicChat.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/utilities/mentions/MentionsManager.kt
2021-04-28 17:41:30 +10:00
Brice-W
ab68001b15 clean 2021-04-28 16:00:13 +10:00
jubb
9d4a2d1505 fix: NPE in highlighting messages for OGv2, deletion and moderation working 2021-04-28 14:46:50 +10:00
Brice-W
54ba848d09 Merge branch 'dev' of https://github.com/loki-project/session-android into closed-groups-update 2021-04-28 14:21:16 +10:00
nielsandriesse
97c74bb3dc Fix polling 2021-04-28 14:10:44 +10:00
jubb
7f0962b3d4 Merge branch 'fix_profile_nulls' into open_groups_V2
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
#	libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt
2021-04-28 13:53:50 +10:00
Brice-W
8806fd0462 Merge branch 'dev' of https://github.com/loki-project/session-android into closed-groups-update 2021-04-28 09:42:02 +10:00
jubb
5d8f036f82 fix: attachment downloads and uploads
enable multi-threaded attachment handling for messages to speed up download/upload and free up message processing queue.

leaving group removes appropriate entries now in threaddb
2021-04-27 17:29:37 +10:00
Niels Andriesse
a14fc0503f Take care of remaining loose ends 2021-04-27 14:48:57 +10:00
Niels Andriesse
e2ad23482d Resolve various loose ends 2021-04-27 14:36:03 +10:00
jubb
11aed5daff refactor: don't update profile if it is user's at all in visible message handling, leave it to config updates 2021-04-27 09:38:07 +10:00
Brice-W
d4aaebd0a9 don't show zombie members in group remove updates 2021-04-26 16:33:54 +10:00
jubb
42ca1332ec fix: update prof pic and name and use new profile instead of existing recipient 2021-04-26 15:44:31 +10:00
Brice-W
6a32fabda5 revert change of commit 7c6475d9ee 2021-04-26 15:38:26 +10:00
jubb
572f262b6d fix: don't update the profiles if the values are empty 2021-04-26 15:18:12 +10:00
jubb
4bf0990ef9 feat: open group attachment and message processing 2021-04-26 14:30:51 +10:00
Brice-W
7c6475d9ee EncryptionKeyPair: only set a public key for 1-1 message case 2021-04-26 11:51:11 +10:00
Niels Andriesse
fdede1c656 Clean 2021-04-26 11:39:23 +10:00
Niels Andriesse
69f05dabdf Clean 2021-04-26 11:23:09 +10:00
Niels Andriesse
17e764fc31 Clean 2021-04-26 11:14:45 +10:00
Niels Andriesse
25307068e8 Match iOS protobuf 2021-04-26 11:06:00 +10:00
Niels Andriesse
676c307412 Clean 2021-04-26 10:58:48 +10:00
Niels Andriesse
bc66c45bca Clean 2021-04-26 10:26:31 +10:00
jubb
6272856ef9 feat: syncing / joining / leaving working on open group v2 2021-04-23 17:49:24 +10:00
Brice-W
15707b7060 fix encryption key pair handling 2021-04-23 16:35:24 +10:00
Niels Andriesse
7415c728eb Merge branch 'hardfork' of github.com:oxen-io/session-android into hardfork 2021-04-23 16:11:31 +10:00
Niels Andriesse
979c21ccbf Fix duplicated API 2021-04-23 16:09:47 +10:00
Brice-W
b064f8f5d7 implementation of the zombie members handling logic 2021-04-23 14:07:10 +10:00
jubb
a4d79ea2d3 feat: join groups logic 2021-04-22 17:26:40 +10:00
Ryan ZHAO
b94597a1f6 make it possible to set a client-side nickname 2021-04-22 14:41:00 +10:00
Niels Andriesse
f21ad17dd5 Merge branch 'dev' into hardfork 2021-04-22 13:27:09 +10:00
Ryan ZHAO
d78dc83307 minor refactor on storing display names 2021-04-22 10:48:19 +10:00
jubb
f9939aae92 feat: handling default group requests and open group api updates for proper image endpoint handling 2021-04-21 17:00:57 +10:00
Niels Andriesse
9f26436041
Merge pull request #508 from Brice-W/data-extraction-2
Data extraction notifications
2021-04-21 13:44:46 +10:00
Brice-W
99fa7eb767 added specific UpdateMessageData.King types 2021-04-21 12:00:25 +10:00
jubb
1e164f8648 feat: adding default group handling to frontend viewmodel 2021-04-20 17:22:36 +10:00
Brice-W
7aa1f30c98 fix 2021-04-20 17:07:21 +10:00
Brice-W
3bfef2d0cd e UpdateMessageBuilder to generate data extraction message 2021-04-20 16:55:46 +10:00
Brice-W
66e811ed75 Merge branch 'specific-group-updates' into data-extraction-2 2021-04-20 15:42:04 +10:00
jubb
aea23a6fc1 feat: finishing up OpenGroupAPIV2.kt calls 2021-04-19 10:16:38 +10:00
Brice-W
2b7cf7c1b4 added Kind sealed class in UpdateMessageData + minor fixes 2021-04-16 15:54:39 +10:00
Brice-W
c8f42d3b8e Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-04-16 09:11:01 +10:00
jubb
96e604d06b feat: more opengroup in chat manager, poller and API. refactor mentions to libsession 2021-04-15 17:17:55 +10:00
Brice-W
a346bb4ea5 clean 2021-04-15 15:44:42 +10:00
Brice-W
abb1db7a7e new approach in update saving 2021-04-15 14:41:29 +10:00
Niels Andriesse
b7272bdf66 Increase TTL & remove PoW 2021-04-15 10:42:47 +10:00
Harris
6f46bbefbe feat: add more opengroupv2 functions and classes 2021-04-14 23:25:38 +10:00
Brice-W
418363fdea Merge branch 'dev' of https://github.com/loki-project/session-android into specific-group-updates 2021-04-14 16:37:57 +10:00
Brice-W
9cdcdc43a6 redesign of group update messages management 2021-04-14 16:37:04 +10:00
Harris
75b40a2b55 Merge remote-tracking branch 'upstream/dev' into open_groups_V2 2021-04-14 14:02:59 +10:00
Harris
d3ca54ce86 fix: address job.id properly in persistence 2021-04-14 12:26:34 +10:00
jubb
0eadc55325 feat: add open group v2 storage and db methods, starting on new open group v2 poller 2021-04-13 17:17:16 +10:00
Brice-W
df0ca11ec5 Merge branch 'dev' of https://github.com/loki-project/session-android into specific-group-updates 2021-04-12 14:26:13 +10:00
Brice-W
40015c2898 clean 2021-04-09 16:36:18 +10:00
Brice-W
db415f371a Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-04-09 16:30:36 +10:00
Niels Andriesse
201dde7412
Merge pull request #494 from hjubb/refactor-sending
Fix expiration timers updates for groups
2021-04-09 16:22:40 +10:00
Brice-W
ec42cc79a5 Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-04-09 16:07:47 +10:00
Brice-W
e57c697eca finishing data extraction handling 2021-04-09 16:06:12 +10:00
jubb
f723069775 fix: check actual collisions instead of not 2021-04-09 14:19:48 +10:00
Brice-W
fce1d60d7d clean 2021-04-08 15:40:00 +10:00
Brice-W
30b47a32cb Merge branch 'dev' of https://github.com/loki-project/session-android into specific-group-updates 2021-04-08 15:21:46 +10:00
Brice-W
cc24e29cb2 clean 2021-04-08 15:11:46 +10:00
Brice-W
d027d0c640 Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-04-08 15:00:31 +10:00
Brice-W
dd3d962dea fix expiration timers updates for groups 2021-04-08 12:07:23 +10:00
Niels Andriesse
8400c7606b
Merge pull request #493 from hjubb/pin_seed_certs
Introduce service node seed certificates
2021-04-07 15:12:13 +10:00
jubb
b149886068 feat: add certificate pem files, set up network security config and point seed pools to port accordingly 2021-04-07 14:49:52 +10:00
Brice-W
04f295ac6c expiration timer updates handled as outgoing messages for multi device 2021-04-07 10:40:45 +10:00
jubb
7ba4e7a2d2 Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending 2021-04-06 17:13:12 +10:00
jubb
3b2589b835 refactor: use a shared timer in JobQueue.kt 2021-04-06 17:09:21 +10:00
Brice-W
9ca6986b71 fix sync of expiration timer update messages between linked devices 2021-04-06 16:05:59 +10:00
jubb
924f58f816 fix: don't update user profile name if message handling open group 2021-04-01 16:39:37 +11:00
jubb
20558a1e92 Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending 2021-04-01 16:27:11 +11:00
jubb
7d9f5bc46d fix: replicate the same display name logic as settings activity 2021-04-01 16:25:01 +11:00
jubb
68506ffcfa fix: don't store display name if current user's key 2021-04-01 16:17:32 +11:00
Brice-W
fe47a6e958 manage duplicates outgoing messages 2021-04-01 15:48:35 +11:00
Brice-W
5c87cef26a fix multi device disappearing message issue 2021-03-31 17:14:51 +11:00
jubb
7121aa85fb refactor: use OpenGroupAPI.kt instead of PublicChatAPI.kt for all open group operations.
Syncing open group notify conversation list listeners debounced so UI doesn't freeze on initial syncs
2021-03-31 15:15:50 +11:00
jubb
b6769ffddc refactor: convert runnables to method references, schedule download of display names after parsing messages 2021-03-31 10:54:37 +11:00
jubb
a445e0a326 fix: moderator status going off open chat API instead of PublicChatAPI 2021-03-30 17:13:25 +11:00
jubb
65fbd56b6a Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending 2021-03-30 16:24:55 +11:00
jubb
3654d1731c fix: various fixes wrt open groups, config messages, job queueing 2021-03-30 16:23:12 +11:00
Brice-W
0292e70246 fix quote attachment issue 2021-03-30 13:09:40 +11:00
jubb
c3f7425ccd fix: empty messages in open groups now correct properly 2021-03-29 16:40:56 +11:00
jubb
d292c760c4 Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending 2021-03-29 14:16:58 +11:00
jubb
db553544ec fix: open group fixes for new message receive pipeline 2021-03-29 14:16:49 +11:00
Brice-W
8bc6df5d16 fix multi device attachment issue 2021-03-29 13:52:36 +11:00
Brice-W
d7c03c9d0a group updates fixes 2021-03-26 15:46:37 +11:00
jubb
196a0205ae refactor: revert expiry to be recipient based instead of message based 2021-03-25 15:12:55 +11:00
Brice-W
ef3bef787d expiration timer handling updated 2021-03-25 14:55:23 +11:00
jubb
bdc086cacf fix: use message's expiry instead of the recipient's 2021-03-25 14:11:58 +11:00
jubb
53c966b634 fix: race in receive messages processing from restore 2021-03-25 13:25:07 +11:00
jubb
611b272493 fix: attachments for quotes no longer doubled up 2021-03-24 17:17:01 +11:00
jubb
fad8cd5ba6 fix: changing the way received timestamp handling happens 2021-03-23 15:56:15 +11:00
jubb
1c1ce1424b fix: replace elvis on optional proto object with protobuf has flag check 2021-03-23 11:39:14 +11:00
jubb
7f5f1e4559 Merge remote-tracking branch 'upstream/dev' into origin/refactor-sending
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
2021-03-23 11:13:00 +11:00
Brice-W
5f297835fa Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-03-23 10:57:13 +11:00
Brice-W
0bea7fa56d clean 2021-03-23 10:43:32 +11:00
Brice-W
8c7f23a4e3 Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction 2021-03-23 10:42:30 +11:00
jubb
0fa62d1b2a fix: only set syncTarget if it's included and not empty 2021-03-23 10:35:47 +11:00
Brice-W
e378d11692 few little fixes 2021-03-23 10:11:10 +11:00
jubb
6f2bad9b59 fix: no duplicate group left messages, more efficient closed group polling 2021-03-23 10:00:51 +11:00
Brice-W
28cecc0236 expiration timer messages generation updated 2021-03-23 09:58:17 +11:00
Brice-W
24b4fb0665 Merge branch 'dev' of https://github.com/loki-project/session-android into data-extraction-2 2021-03-22 15:18:14 +11:00
Brice-W
0578195d61 Merge branch 'dev' of https://github.com/loki-project/session-android into specific-group-updates 2021-03-22 15:12:09 +11:00
jubb
8ee58459dd feat: use new closed and open group pollers 2021-03-19 17:08:31 +11:00
Brice-W
a47113f2c5 revert changes 2021-03-19 16:57:00 +11:00
Brice-W
5dcb3d77d4 revert changes regarding explicit group updates as it's now in a separate PR 2021-03-19 16:39:41 +11:00
Brice-W
ddede475b4 Start of Update messages builder class implementation & usage for Input group updates 2021-03-19 16:25:00 +11:00
jubb
2460afd1a8 feat: call resume message send on app create 2021-03-18 13:36:56 +11:00
jubb
b685846d7e Merge remote-tracking branch 'upstream/dev' into origin/refactor-sending
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
#	app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiAPIDatabase.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/ClosedGroupControlMessage.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/control/ExpirationTimerUpdate.kt
#	libsession/src/main/java/org/session/libsession/messaging/opengroups/OpenGroupMessage.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroup.kt
2021-03-18 09:26:13 +11:00