Commit Graph

623 Commits

Author SHA1 Message Date
Niels Andriesse 50d17be43b Fix animation glitch 2021-08-05 10:11:20 +10:00
Niels Andriesse b8c4e6aa93 Avoid unnecessary conversation screen updates 2021-08-05 10:02:52 +10:00
ryanzhao 00fd764042 delete the message on storage server after receiving an unsend request 2021-08-04 15:11:49 +10:00
ryanzhao 9953451767 add comment 2021-08-04 14:53:16 +10:00
ryanzhao 8d53a775d2 Revert "delete real message and sync message together"
This reverts commit cc17a952e0.
2021-08-04 14:48:32 +10:00
ryanzhao cc17a952e0 delete real message and sync message together 2021-08-04 11:49:21 +10:00
Niels Andriesse 1b0a12d7c0 Don't unnecessarily unsubscribe from closed group PNs
We don't need to do this anymore as we now have the ability to ignore PNs in the notification service extension
2021-08-03 16:21:30 +10:00
Niels Andriesse 7f0b87a2b2 Avoid unnecessary conversation screen updates 2021-08-03 15:36:54 +10:00
Ryan Zhao 80bf62df90 fix nested transaction crash on setting notification identifier 2021-08-03 10:42:09 +10:00
Ryan Zhao 885e9296d1 Merge branch 'dev' of https://github.com/oxen-io/session-ios into unsend-message 2021-08-03 10:26:30 +10:00
Niels Andriesse e8d8377a04 Fix threading bug 2021-08-03 09:58:50 +10:00
Ryan Zhao 08360273e6 save server hash for message receive jobs 2021-08-02 15:39:10 +10:00
Ryan Zhao 050a2ec534 store server hash value for visible messages 2021-08-02 15:24:38 +10:00
Ryan Zhao c68350f3d8 store hash value for outgoing messages 2021-08-02 14:49:34 +10:00
Ryan Zhao e2a0578770 cancel local notifications for unsend requests 2021-08-02 14:03:46 +10:00
Ryan Zhao b827b9e1ba make it work for multi device 2021-08-02 10:32:47 +10:00
Ryan Zhao 94c1879263 fix unsend request receive handler 2021-07-30 17:04:56 +10:00
Ryan Zhao 6aa865e7b7 delete locally and send unsend request 2021-07-30 16:51:43 +10:00
Ryan Zhao 83252650b1 unsend request handler 2021-07-30 14:21:43 +10:00
Ryan Zhao dff99cf0fc add unsend request proto 2021-07-30 14:21:30 +10:00
Ryan Zhao b31b9166ad Merge branch 'dev' of https://github.com/oxen-io/session-ios into fine-grained-notification-settings-2 2021-07-30 09:45:37 +10:00
Ryan Zhao 423feae426 add notify reply and clean 2021-07-30 09:43:05 +10:00
Niels Andriesse 8f29010e89 Poll for closed group messages more frequently 2021-07-30 09:23:56 +10:00
Niels Andriesse 483ed4792f Fix localization & clean 2021-07-29 10:14:06 +10:00
ryanzhao b0e03f5dfd update subtitle status in conversation screen instantly 2021-07-26 16:16:14 +10:00
ryanzhao f0d2826403 add thread flag for only notifying mentiongs 2021-07-26 15:42:45 +10:00
Niels Andriesse 8a29469eb5 Handle incorrect clock setting 2021-07-23 13:42:13 +10:00
Niels Andriesse 6bf25e28f7 Debug 2021-07-23 09:00:28 +10:00
Niels Andriesse 9d605c03f0 Debug 2021-07-22 15:23:35 +10:00
Niels Andriesse ca862096b4 Rename profilePictureEncryptionKey → profileEncryptionKey 2021-07-22 14:52:10 +10:00
Niels Andriesse 519ffa4405 Fully switch to the new contact API
This should improve performance significantly as it avoids many unnecessary sync transactions. It also makes the code more readable.
2021-07-22 14:41:27 +10:00
Niels Andriesse 44288c45e9 Fix auto scroll to bottom bug 2021-07-22 11:10:30 +10:00
ryanzhao 69dea75486 potentially fix the conversation stuck at unread 2021-07-20 14:06:23 +10:00
Niels Andriesse 1d1d63c979 Don't auto resubscribe to PNs for muted closed groups 2021-07-19 13:22:09 +10:00
Niels Andriesse 11df899db3 Don't use jobs for open group polling
It's not necessary because we can always get the messages again from the server, and it helps with performance
2021-07-15 14:16:33 +10:00
Niels Andriesse e84fc1aa04 Include destination info in error messages 2021-07-15 09:47:03 +10:00
Niels Andriesse aae11b1c28 Disable PNs for muted closed groups 2021-07-13 16:09:28 +10:00
Niels Andriesse ba60879343 Add support for new ban and delete all endpoint 2021-07-13 14:33:42 +10:00
Niels Andriesse e796f6bacd Don't retry message send jobs when rate limited 2021-07-13 09:46:41 +10:00
Niels Andriesse 2928a8f66c Don't unnecessarily retry downloads for expired attachments 2021-07-13 09:46:27 +10:00
Niels Andriesse 6bc9b21cde Fix handling of failed messages in open groups
Failures wouldn't show up because `recipientIdentifiers` was empty for open groups
2021-07-13 09:46:06 +10:00
Niels Andriesse f0295fb469 Fix crash 2021-07-12 09:19:59 +10:00
Niels Andriesse 356dc0cc4f Clean up indentation 2021-07-07 15:09:09 +10:00
Brice-W 2f0fe36905 add expiration timer to configuration message 2021-06-21 14:21:34 +10:00
Brice-W a840d61f4e delete obsolete code 2021-06-21 14:21:11 +10:00
Brice-W c1bd21c3f0 proto updated 2021-06-21 10:51:07 +10:00
Niels Andriesse 7bb7edd3c0 Further cleanup 2021-06-11 11:11:16 +10:00
Niels Andriesse b090227a2d Fix potential crash & apply code convention 2021-06-11 11:01:08 +10:00
Brice-W 1f9cd92bce set expiration timer for new group members 2021-06-10 11:51:38 +10:00
Brice-W 0b5c1a68ee proto update 2021-06-09 15:37:24 +10:00
nielsandriesse 1041f991fd Fix unnecessary map calls 2021-06-04 16:23:59 +10:00
Brice-W 546f91ce65 Merge branch 'dev' of https://github.com/oxen-io/session-ios into closed-group-fix 2021-06-04 15:29:56 +10:00
Brice-W 49c1de8387 clean 2021-06-04 15:29:34 +10:00
Brice-W dbcf19529b fix 2021-06-04 14:01:23 +10:00
Brice-W 9e790986f6 fix closed group corner cases 2021-06-04 11:50:24 +10:00
nielsandriesse 86c2c39425 Fix background polling crash 2021-06-04 08:16:54 +10:00
nielsandriesse e24fca7b37 Fix job duplication bug
This could cause attachments not to download on the receiving side, and potentially also cause duplicate push notifications to be sent
2021-06-03 14:14:18 +10:00
nielsandriesse f588b6b611 Fix incorrect protobuf value 2021-06-01 15:05:16 +10:00
nielsandriesse 0d9f5388da Prepare for OGS timestamp handling changes 2021-05-31 11:28:21 +10:00
nielsandriesse 1b4cfdb22f Add get Session version file server endpoint 2021-05-28 14:28:59 +10:00
nielsandriesse bf9d860214 Batch thread updates 2021-05-28 09:47:05 +10:00
nielsandriesse ff1d2d2f28 Remove (seemingly) unnecessary hack 2021-05-28 09:24:03 +10:00
nielsandriesse e72c6d4cbd Mark .noThread error as non-retryable 2021-05-28 09:09:56 +10:00
Niels Andriesse 601062c9ef Fix timeSinceLastOpen usage 2021-05-24 16:39:18 +10:00
Brice-W 51ba97827d open group polling limit implementation 2021-05-24 16:00:42 +10:00
Niels Andriesse aa3a18fa7e Don't notify for closed group control messages
This addresses an issue where:

• someone would create a closed group
• on other peoples' devices this control message would be received through a background poll or a push notification
• the received message timestamps table would be updated
• processing wouldn't be finished (during a background poll or while handling a push notification the system can cut you off at any time)
• some of the added users don't see the new closed group because when they open the app and get the control message from their swarm it's considered a duplicate and isn't processed again
2021-05-24 08:57:31 +10:00
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 2021-05-20 16:25:59 +10:00
Niels Andriesse 61dd768e5c Minor refactoring 2021-05-20 16:22:11 +10:00
Niels Andriesse 74ba177250
Merge pull request #411 from RyanRory/expiration-timer-fix
Fix Expiration Timer Issues
2021-05-20 16:20:58 +10:00
Niels Andriesse c84a942478 Fix push notification handling
This was crashing every time the extension started
2021-05-20 13:57:42 +10:00
Niels Andriesse 20e0103d2d Switch to dedicated server 2021-05-20 10:53:56 +10:00
nielsandriesse c36cf1a36d Hopefully fix closed group handling bug 2021-05-19 08:42:58 +10:00
Ryan ZHAO d7a7abc11e start expiration timer after attachments downloaded 2021-05-14 15:38:06 +10:00
Niels Andriesse cdf27a631a Fix profile picture handling 2021-05-14 10:55:17 +10:00
Niels Andriesse 38a7c93967 Fix profile picture handling 2021-05-13 16:11:21 +10:00
nielsandriesse 73eeff3ea1 Debug 2021-05-12 10:40:42 +10:00
nielsandriesse 17688a66e6 Make closed group polling variable rate 2021-05-12 10:33:29 +10:00
Niels Andriesse 16a01ccc00
Merge pull request #405 from oxen-io/open-group-invitations-2
Open Group Invitations
2021-05-07 15:47:55 +10:00
Ryan ZHAO 539b13d189 fix inconsistent voice message durations 2021-05-07 15:22:48 +10:00
Niels Andriesse e4d1925436 Show confirmation dialog 2021-05-07 15:18:57 +10:00
Niels Andriesse f3fef34259 Implement proto conversion 2021-05-07 14:53:28 +10:00
Niels Andriesse 0153e1cefd Update protos 2021-05-07 14:46:53 +10:00
Niels Andriesse e2715d1ee9 Implement sending logic 2021-05-07 14:08:52 +10:00
Niels Andriesse bd04775cbf Implement open group invitations UI 2021-05-07 13:10:21 +10:00
Niels Andriesse e3671291c5 Merge branch 'dev' into cleanup 2021-05-07 13:06:48 +10:00
Niels Andriesse f893acfe3b Make attachment padding consistent cross-platform 2021-05-07 09:50:45 +10:00
Niels Andriesse 7e60d3c218 Merge branch 'dev' into cleanup 2021-05-06 09:24:42 +10:00
Niels Andriesse ad801d4f33 Fix threading 2021-05-06 09:23:47 +10:00
nielsandriesse ed047ac512 More cleanup 2021-05-05 14:50:46 +10:00
nielsandriesse 06f795169b Merge branch 'dev' into cleanup 2021-05-05 14:10:19 +10:00
nielsandriesse 964cb8b326 Fix new deletion method 2021-05-05 13:49:24 +10:00
nielsandriesse 47daf16d5c Merge branch 'dev' into deletion-handling 2021-05-05 13:30:59 +10:00
nielsandriesse 0c864454aa Remove duplicate message server ID tracking 2021-05-05 13:30:37 +10:00
nielsandriesse b3a6d90a1b Add missing strings 2021-05-05 13:18:45 +10:00
nielsandriesse a098ba7125 Remove unused code 2021-05-05 12:13:48 +10:00
nielsandriesse 8512691f2b Clean 2021-05-05 10:57:06 +10:00
nielsandriesse 05d688a6d3 Add missing enum case 2021-05-05 10:53:44 +10:00
nielsandriesse 955e3abdad Clean up group update handling 2021-05-05 10:38:09 +10:00
nielsandriesse 49f3b9f7db Rename contactIdentifier → contactSessionID 2021-05-05 10:00:39 +10:00
nielsandriesse 21acdfc835 Clean up thread model 2021-05-05 09:53:18 +10:00
Niels Andriesse d742fc1548 Delete V1 OGS & file server 2021-05-04 15:46:48 +10:00
Niels Andriesse f552d51423 Remove unused code 2021-05-04 15:06:41 +10:00
Niels Andriesse fee6861847 Minor refactoring 2021-05-03 13:15:47 +10:00
Niels Andriesse 3daa6e8de1 Fix deletion handling 2021-05-03 13:14:01 +10:00
Niels Andriesse d516aa7ecb Fix profile updating bug 2021-05-03 09:14:42 +10:00
Niels Andriesse 4eb7d19b3e Fix initial rooms fetch 2021-04-30 14:04:49 +10:00
Niels Andriesse c747acfc04 Fix compact poll deletion handling 2021-04-29 11:36:29 +10:00
nielsandriesse 95d3311fac Debug 2021-04-28 12:03:47 +10:00
nielsandriesse deb301e5b7 Update for OGS API changes 2021-04-28 10:44:50 +10:00
Niels Andriesse e9df213bfe Put feature flags in one place 2021-04-27 08:53:18 +10:00
Niels Andriesse f7613e09bf Convert remaining file server usages 2021-04-26 16:20:07 +10:00
Niels Andriesse 0ceb434215 Update AttachmentUploadJob for the V2 file server 2021-04-26 16:01:02 +10:00
Niels Andriesse 6b97f86c32 Update AttachmentDownloadJob for the V2 file server 2021-04-26 15:41:04 +10:00
Niels Andriesse 3e11c505e2 Create FileServerAPIV2 2021-04-26 15:34:53 +10:00
Niels Andriesse b516647125 Switch to production 2021-04-26 14:41:36 +10:00
Niels Andriesse b3f9824b91 Add documentation 2021-04-26 09:54:06 +10:00
Niels Andriesse bd895dbf29 Fix group member adding bug 2021-04-23 14:54:06 +10:00
Niels Andriesse 5021357661 Fix timestamp issue 2021-04-23 14:50:56 +10:00
Niels Andriesse cfb1d78d35 Fix compact polling auth token handling 2021-04-22 16:22:39 +10:00
Niels Andriesse f865bd8125 Enable V2 open groups 2021-04-22 09:54:58 +10:00
Niels Andriesse b85edbe900 Fix potentially duplicated requests 2021-04-22 09:24:11 +10:00
nielsandriesse accd838017 Merge branch 'dev' into snode-list-updating 2021-04-21 09:04:14 +10:00
Niels Andriesse 2f67073a5a Implement new snode pool updating method 2021-04-20 15:21:28 +10:00
Niels Andriesse 5a242ce4e8 Debug 2021-04-20 10:26:52 +10:00
Niels Andriesse fac376bf55 Use HTTP for default session open group server 2021-04-20 09:40:25 +10:00
Niels Andriesse edd9139fe0 Manually vacuum the DB every time the app is started 2021-04-19 15:58:46 +10:00
Niels Andriesse 709c0f1463 Add documentation 2021-04-19 14:56:58 +10:00
Niels Andriesse 4774123ad4 Update V2 open group poller for compact polling 2021-04-19 14:44:27 +10:00
Niels Andriesse 3ab7733b77 Merge branch 'closed-groups' into open-group-performance 2021-04-19 14:04:29 +10:00
Niels Andriesse 35bd22f542 Clean 2021-04-19 14:02:26 +10:00
Niels Andriesse 3f1358ac4d Debug 2021-04-19 13:47:53 +10:00
Ryan ZHAO d897952ce0 use sent timestamp instead of received timestamp for sorting and UI 2021-04-19 11:36:05 +10:00
Ryan ZHAO d360353c17 fix open group message sort id 2021-04-19 10:22:12 +10:00
Ryan ZHAO 7a593862c9 minor fix 2021-04-19 09:55:30 +10:00
Ryan ZHAO 72807c52b7 fix open group message timestamp 2021-04-19 09:38:47 +10:00
Niels Andriesse 2eab06cec9 Add compact poll endpoint 2021-04-16 15:46:50 +10:00
Niels Andriesse beabf0c9c0 Implement closed group logic changes 2021-04-16 10:56:10 +10:00
Niels Andriesse b30d6f9add Store V2 open group auth token promises per room 2021-04-16 10:44:23 +10:00
Niels Andriesse e5216ffe7c Add documentation 2021-04-16 09:40:54 +10:00
Niels Andriesse f6c7e2264d Add documentation 2021-04-16 09:33:21 +10:00
Niels Andriesse 5f37eddfa1 Show a loader while a group is updating 2021-04-15 13:36:33 +10:00
Niels Andriesse f2f5dcdfc2 Implement closed group logic changes 2021-04-15 13:36:03 +10:00
Niels Andriesse 2763ee0d1a Clean 2021-04-15 10:34:47 +10:00
Niels Andriesse 1a12487292 Clean 2021-04-15 10:09:05 +10:00
nielsandriesse a76c43973f Increase TTL & remove PoW 2021-04-14 15:46:40 +10:00
ryanzhao 1893ccac76 use TSIncomingMessage's serverTimastamp to make more sense 2021-04-14 11:39:04 +10:00
ryanzhao b501579917 clean 2021-04-14 09:09:42 +10:00
Ryan ZHAO fcc3c27779 fix unread message count bug 2021-04-12 16:56:53 +10:00
Niels Andriesse 49b989f529 Fix job ID uniqueness 2021-04-09 09:47:02 +10:00
Niels Andriesse e71eb45642 Fix success handler not being called 2021-04-09 09:18:44 +10:00
Niels Andriesse 209882fb3e Correctly handle multiple untrusted attachments 2021-04-08 16:24:54 +10:00
Niels Andriesse d3412be955 Merge branch 'dev' into deferred-attachment-downloads 2021-04-08 16:17:55 +10:00
Ryan ZHAO cf148fe845 handle access to selected photos & optimise the process of request photo library permission 2021-04-08 13:36:20 +10:00
Niels Andriesse b43f22945c Stop running contacts migration 2021-04-08 10:11:52 +10:00
Niels Andriesse aa68e91a4d Fix attachment download resumption 2021-04-08 09:51:52 +10:00
nielsandriesse 5ed5c02ad4 Debug 2021-04-07 15:41:57 +10:00
nielsandriesse a360fa7721 Merge branch 'dev' into deferred-attachment-downloads 2021-04-07 14:58:57 +10:00
nielsandriesse 330e4ce8ad Fix unnecessary V2 open group requests 2021-04-07 13:18:24 +10:00
Niels Andriesse edc4a7a71b Move files 2021-04-01 15:28:52 +11:00
Niels Andriesse 9da6b6c31f Add certificates 2021-04-01 15:17:57 +11:00
Niels Andriesse b334ad3446 Update for back-end changes 2021-03-30 15:41:01 +11:00
Niels Andriesse d4b745a322 Cache open group preview images 2021-03-30 09:54:40 +11:00
Niels Andriesse 2dab160599 Actually set open group images 2021-03-30 09:33:51 +11:00
Niels Andriesse c42a694ef6 Show group images 2021-03-29 16:42:06 +11:00
Niels Andriesse 50ab253576 Add group image endpoint 2021-03-29 16:14:14 +11:00
Niels Andriesse 1e9b1520e1 Fix auth token handling 2021-03-29 15:41:08 +11:00
Niels Andriesse e5b5f2cf07 Put V2 open groups behind a feature flag 2021-03-29 14:11:52 +11:00
Niels Andriesse 44783ddfef Update ConfigurationMessage for V2 open groups 2021-03-29 11:49:59 +11:00
Niels Andriesse 7558e0b32a Re-enable joining V1 open groups 2021-03-29 11:33:52 +11:00
Niels Andriesse 5504f74659 Show V2 open group member count 2021-03-26 16:31:15 +11:00
Niels Andriesse 46fb792c96 Fix file downloading 2021-03-26 15:59:22 +11:00
Niels Andriesse e50f4da63e Update AttachmentDownloadJob & AttachmentUploadJob for V2 open groups 2021-03-26 15:07:06 +11:00
Niels Andriesse fd7081ee94 Add TODOs 2021-03-26 14:03:57 +11:00
Niels Andriesse a9b44b36fe Validate message signatures 2021-03-26 14:01:43 +11:00
Niels Andriesse 10224350ea Handle token expiration 2021-03-26 13:56:15 +11:00
Niels Andriesse b4f7a925d9 Keep track of moderators 2021-03-26 13:43:29 +11:00
Niels Andriesse a7dd7e1bf0 Hook up suggestion grid 2021-03-26 13:28:40 +11:00
Niels Andriesse 053f581bb2 Fix accidental commit 2021-03-26 10:42:22 +11:00
Niels Andriesse 516f815521 Debug 2021-03-26 10:39:51 +11:00
Niels Andriesse e2814fb884 Implement open group suggestion grid 2021-03-25 16:16:08 +11:00
Niels Andriesse 6a8c717d7b Add get room info endpoint 2021-03-25 14:17:49 +11:00
nielsandriesse 717fe32a73 Fix build 2021-03-24 15:12:58 +11:00
nielsandriesse c6f4443eed Update more logic for V2 open groups 2021-03-24 14:36:26 +11:00
nielsandriesse e5764264b3 Debug 2021-03-24 14:06:48 +11:00
nielsandriesse 09b4b7d388 Update MessageSender for V2 open groups 2021-03-24 13:28:30 +11:00
nielsandriesse a36fa3f4f8 Debug 2021-03-24 13:14:06 +11:00
nielsandriesse 4c9728b4fe Update other APIs for V2 open groups 2021-03-24 12:37:33 +11:00
nielsandriesse a5f831fd6c Keep track of last message & last deletion server IDs 2021-03-24 12:07:02 +11:00
nielsandriesse 1d65f717b5 Add auth token handling 2021-03-24 11:12:08 +11:00
Niels Andriesse 34bbff1ab4 Implement OpenGroupAPIV2 2021-03-24 10:54:38 +11:00
Niels Andriesse 76e5515610 Quick fix missing username bug 2021-03-05 13:06:35 +11:00
Niels Andriesse 960e500acd Don't auto-download attachments from untrusted contacts 2021-03-05 11:48:31 +11:00
Niels Andriesse 54fc54e7b9 Minor refactoring 2021-03-05 09:18:45 +11:00
Niels Andriesse 8738829358 Fill in media saved notification implementation gaps 2021-03-04 16:06:06 +11:00
Niels Andriesse b4e94c3f93 Add comment 2021-03-04 14:45:17 +11:00
Niels Andriesse d9a81ecb11 Fix profile handling 2021-03-04 14:40:58 +11:00
Niels Andriesse 92304fa590 Clean & debug 2021-03-04 13:50:13 +11:00
Niels Andriesse b023b1be94 Fix profile updating issue 2021-03-04 11:11:58 +11:00
Niels Andriesse 0d5a932a50 Fix multi device display name updating issue 2021-03-04 10:13:34 +11:00
Niels Andriesse ea43d68c72 Fix multi device display name updating issue 2021-03-04 09:58:19 +11:00