Commit Graph

391 Commits

Author SHA1 Message Date
Morgan Pretty c90f346d6a Further SOGS V4 integration work
Added in the v4 onion requests logic
Added in the new pin/unpin APIs
Split up additional legacy methods to try and simplify the refactoring
Added a number of TODOs around usage of legacy request methods
2022-02-14 14:07:45 +11:00
Morgan Pretty 2284375fc0 Started work on updated SOGS support
Split the OpenGroupAPIV2 into separate files
Started working on the new auth and blinded-id approaches (new auth working with un-blinded id suggesting blinded-id code is incorrect)
Updated the SOGS request/response types to use Codable
Updated the SOGS Request type to use enums instead of strings for keys (to reduce likelihood of typos breaking things)
Updated SessionMessagingKit to use Codable and JSONEncoder/JSONDecoder instead of the legacy JSONSerialization
Cleaned up some naming conventions in the SessionMessagingKit (calling a URLRequest body 'parameters' is very confusing...)
Removed the custom TSRequest class (just using standard URLRequest everywhere instead)
Added a number of extension functions to enable some more functional-coding styles
Added extensions to Sodium methods to allow scalar multiplication and the ability to hash providing a salt and a personalisation value (both needed for new SOGS auth)
Fixed an issue where the legacy auth for SOGS could crash due to threading issues (multiple threads accessing the same variable)
Fixed an issue where if you were in two rooms in a single SOGS and deleted one of them, the other room would stop getting updates as the server public key was getting removed
2022-02-10 11:17:41 +11:00
Morgan Pretty 394b0646a3 Updated the code to support additional session id prefixes 2022-02-08 16:37:01 +11:00
Morgan Pretty 27d9e41eaf Fixed a couple of build errors due to merging dev 2022-02-07 11:38:33 +11:00
Ryan Zhao 2d9f962a97 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 2022-02-04 14:21:54 +11:00
Morgan Pretty cd61fb8df0 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SignalUtilitiesKit/Utilities/UIColor+Extensions.swift
2022-02-04 11:49:54 +11:00
Morgan Pretty 4d62ddbd77 Merge branch 'dev' into fix/safari-sharing
# Conflicts:
#	Podfile.lock
2022-02-03 08:32:17 +11:00
Morgan Pretty 9db5083cc5 Built out the Message Request functionality
Added the MessageRequestsViewController
Added a 'Message Requests' button to the settings screen
Added accept/reject buttons for message requests to the ConversationVC
Added the ability to hide the message request item on the HomeVC (re-appears if you get a new message request)
Added code to handle an edge-case where the message request approval state wouldn't be returned to the sender due to the recipient running an old version of the app
Prevented contacts which aren't associated with an approved thread from appearing when creating a closed group
Disabled notifications for threads which aren't approved
Updated the app notification count to exclude unapproved messages
Updated the app to ignore closed group creation messages if the group has no admins which are approved contacts
Fixed up the keyboard avoidance behaviour in the ConversationVC
Fixed a couple of minor interaction issues which affected some devices
Fixed an issue where the database migrations would run on the 2nd launch when creating a new account (causing odd behaviours)
2022-02-02 16:59:56 +11:00
Ryan Zhao 16f6d49cec add note to self to the default global search screen with empty search text 2022-01-28 09:59:05 +11:00
Morgan Pretty 09d63456b6 Merge branch 'dev' into fix/safari-sharing
# Conflicts:
#	Podfile
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
2022-01-27 15:17:28 +11:00
Ryan Zhao c1c5678056 implement animation for selected search result message flickering 2022-01-20 10:48:01 +11:00
Ryan Zhao 3a626ed80a fix a deadlock issue 2022-01-18 13:35:53 +11:00
ryanzhao fed1218538 WIP: global search UI 2022-01-14 16:41:36 +11:00
Morgan Pretty 2fedba4cea Addressed PR changes
Added NVActivityIndicatorView to the SessionShareExtension.
Removed the SignalAttachmentType.
2022-01-14 15:10:22 +11:00
Morgan Pretty 3b07be4eed Fixed a couple of crashes
Fixed an issue where sharing form Safari without adding comments would result in an invalid message getting sent.
Fixed a crash when sharing plain text from safari.
Fixed a crash when localising 'OK' (key and value can't be the same when using the new extension).
2022-01-13 16:37:23 +11:00
Morgan Pretty f02f53fc49 Added code to show a HTTP LinkPreview error
Added code to indicate the app won't load LinkPreviews for HTTP urls.
Updated the title & subtitle layout to better handle LinkPreview errors.
Missed an Objective C change in the last commit.
2022-01-13 16:08:23 +11:00
Morgan Pretty 2018e94df8 Updated audio attachments to allow scrubbing. 2022-01-13 14:56:22 +11:00
Morgan Pretty e6c90c5e18 Finished off UI clean up
Fixed a couple more vertical alignment issues with certain attachment types.
Finished cleaning up the MediaMessageView UI code (removed old code).
2022-01-13 14:49:14 +11:00
Morgan Pretty 67ad965859 Link Preview error state and UI standardisation
Added a couple of error states for Link Preview loading.
Standardised the UI creation code style.
Removed some debug and redundant code.
2022-01-13 10:05:42 +11:00
Morgan Pretty 61f809caee Fixed a couple of bugs and started UI refactoring
Refactored the UI creation and layout code in the attachments UI.
Started refactoring the UI in the MediaMessageView (converting the existing stuff and will then consolidate when done).
Fixed a bug where playing a video attachment would result in the zoom continually getting reset.
Fixed a bug where the attachment zoom scale would randomly change causing odd behaviours.
2022-01-12 16:57:04 +11:00
Morgan Pretty dd9eeb5d61 Added initial support for sharing URLs and text
Updated the share extension to load URL previews.
Updated the ThreadPickerVC to send plain text & URLs in the same way they are sent for normal messages.
2022-01-12 09:40:53 +11:00
Morgan Pretty 3c32ed7cc1 Merge branch 'fix/m1-build-issues' into fix/safari-sharing
# Conflicts:
#	Podfile.lock
2022-01-11 14:55:34 +11:00
Morgan Pretty ab9f2a0c7b Minor formatting and code cleanup of attachments 2022-01-11 14:37:55 +11:00
Morgan Pretty 4f3faa28bc Refactored SessionShareExtension code to Swift 2022-01-11 12:38:19 +11:00
ryanzhao cef39f4ba3 make image rotation consistent with icon 2022-01-10 14:10:02 +11:00
RyanZhao 1558309805
Merge pull request #536 from RyanRory/copy-paste-image
Copy / paste images directly
2021-12-14 16:14:09 +11:00
Ryan Zhao d74af622bc fix photos from original camera is rotated in the preview page 2021-12-13 16:22:45 +11:00
Ryan Zhao 6225c12ced minor improvement on pre-sending file page icon 2021-12-07 15:53:58 +11:00
Ryan Zhao 300f6f50cf add size label for file type attachment 2021-12-07 15:25:05 +11:00
RyanZhao 2a26eda36b
Merge pull request #531 from RyanRory/1.11.19
1.11.19 bug fixes and improvements
2021-12-06 09:48:08 +11:00
Ryan Zhao 4f1093beca improve translation and notificaiton displaying 2021-11-23 11:58:19 +11:00
Ryan Zhao 1cc2f17469 pin conversations 2021-11-17 15:51:53 +11:00
Ryan Zhao 2cb006c3e4 Fix image orientation 2021-11-17 11:14:13 +11:00
ryanzhao b315510ec2 Revert "improve attachment image quality"
This reverts commit ad4e65e6e1.
2021-10-04 15:37:42 +11:00
ryanzhao ad4e65e6e1 improve attachment image quality 2021-10-04 14:57:07 +11:00
ryanzhao 1899a3fe3d fix sharing not work for session 2021-10-01 14:44:52 +10:00
ryanzhao 42d4e07724 add @ symbol when there is mention in unread messages 2021-08-30 13:22:40 +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 dff9f287b8 Resolve FIXME 2021-08-03 09:37:48 +10:00
Ryan Zhao e2a0578770 cancel local notifications for unsend requests 2021-08-02 14:03:46 +10:00
Niels Andriesse 556e13cc72 Fix crash 2021-07-30 10:44:48 +10:00
Ryan Zhao 38a19ad2d1 don't add badge for messages with no mention 2021-07-30 09:45:28 +10:00
Niels Andriesse 483ed4792f Fix localization & clean 2021-07-29 10:14:06 +10:00
ryanzhao f0d2826403 add thread flag for only notifying mentiongs 2021-07-26 15:42:45 +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 d2161545d6 WIP 2021-07-15 16:39:59 +10:00
Brice-W 2f0fe36905 add expiration timer to configuration message 2021-06-21 14:21:34 +10:00
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 2021-05-20 16:25:59 +10:00
Niels Andriesse 5e1a33c32e Switch to dedicated server 2021-05-20 11:02:34 +10:00
Niels Andriesse 54a8e9d2e0
Merge pull request #410 from RyanRory/no-badge-for-muted-threads
Don't Count Muted Threads in Badge Number Calculation
2021-05-14 11:23:24 +10:00
Niels Andriesse cdf27a631a Fix profile picture handling 2021-05-14 10:55:17 +10:00
Ryan ZHAO fa13778d70 fix the badge number for muted threads 2021-05-14 10:20:15 +10:00
Niels Andriesse 38a7c93967 Fix profile picture handling 2021-05-13 16:11:21 +10:00
Niels Andriesse 3d35face94 Fix crash 2021-05-13 14:33:44 +10:00
Niels Andriesse e3671291c5 Merge branch 'dev' into cleanup 2021-05-07 13:06:48 +10:00
Niels Andriesse 90c8060b98 Fix missing user defaults update 2021-05-07 09:44:45 +10:00
Niels Andriesse 57206c4a5c Fix loader 2021-05-06 12:48:49 +10:00
Niels Andriesse 9bf8fe0a48 Fix missing user defaults update 2021-05-06 09:30:24 +10:00
nielsandriesse 06f795169b Merge branch 'dev' into cleanup 2021-05-05 14:10:19 +10:00
nielsandriesse a098ba7125 Remove unused code 2021-05-05 12:13:48 +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 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 862b4c0512 Delete unused OWSAttachmentDownloads 2021-04-26 15:48:32 +10:00
Ryan ZHAO d897952ce0 use sent timestamp instead of received timestamp for sorting and UI 2021-04-19 11:36:05 +10:00
Niels Andriesse 8a54a243a4 Fix long conversation crash the right way 2021-04-19 09:35:09 +10:00
Niels Andriesse 919fcf7ef1 Mark existing contacts as trusted 2021-04-09 10:34:00 +10:00
Niels Andriesse d3412be955 Merge branch 'dev' into deferred-attachment-downloads 2021-04-08 16:17:55 +10:00
Niels Andriesse 009f690f1e Clean 2021-04-08 10:30:39 +10:00
Niels Andriesse b43f22945c Stop running contacts migration 2021-04-08 10:11:52 +10:00
Ryan ZHAO 513775b952 add comments 2021-04-06 14:32:55 +10:00
Ryan ZHAO 9dab07f41c set kConversationInitialMaxRangeSize back to 100 and fix the crash 2021-04-06 14:28:03 +10:00
Niels Andriesse 44783ddfef Update ConfigurationMessage for V2 open groups 2021-03-29 11:49:59 +11:00
nielsandriesse c6f4443eed Update more logic for V2 open groups 2021-03-24 14:36:26 +11:00
Niels Andriesse 8738829358 Fill in media saved notification implementation gaps 2021-03-04 16:06:06 +11:00
Niels Andriesse 92304fa590 Clean & debug 2021-03-04 13:50:13 +11:00
nielsandriesse ca977decab Re-run contacts migration 2021-03-03 14:27:19 +11:00
Niels Andriesse a8d0952278 Merge branch 'dev' into refactoring 2021-03-01 09:37:17 +11:00
Niels Andriesse dd0baf0d97 Unify contacts APIs 2021-03-01 09:36:18 +11:00
Niels Andriesse 0283180cf2 Remove profile picture borders 2021-03-01 09:10:55 +11:00
Niels Andriesse 205ff8a660 Prepare for upcoming contact changes 2021-02-26 15:00:03 +11:00
Niels Andriesse 9969284a2b Clean 2021-02-26 14:42:46 +11:00
Niels Andriesse 73bbaf9ce7 Potentially fix attachment issue 2021-02-26 13:42:06 +11:00
Niels Andriesse 50b6862815 Fix color and incorrect offset 2021-02-25 13:27:20 +11:00
Niels Andriesse 8fd0cf79b9 Don't sync blocked contacts 2021-02-25 09:33:41 +11:00
nielsandriesse be466c26fc Only include contacts with a visible thread 2021-02-24 14:16:52 +11:00
nielsandriesse 643bfbdb41 Include contacts in configuration message 2021-02-24 14:13:30 +11:00
nielsandriesse f488453140 Update configuration message for contacts 2021-02-24 13:49:16 +11:00
Niels Andriesse 10e6d114a0 Sync profile updates 2021-02-23 16:01:06 +11:00
Niels Andriesse f6ced55003 Debug 2021-02-23 10:56:16 +11:00
Niels Andriesse e945a6779f Include profile in configuration sync message 2021-02-23 09:47:38 +11:00
Niels Andriesse c4bd4cea6a Clean up conversation settings screen 2021-02-18 16:49:48 +11:00
nielsandriesse 0735fb556f Mostly implement media sending nuts & bolts 2021-02-17 09:40:23 +11:00
nielsandriesse 3e7de541cb Redesign voice message recording UI 2021-02-16 13:57:30 +11:00
Niels Andriesse 90e53e5cef Redesign conversation screen part 1 2021-02-09 15:14:18 +11:00
Niels Andriesse 464e8864af Clean up onboarding 2021-01-29 11:06:14 +11:00
Niels Andriesse e38aaa4e0e Merge branch 'closed-groups' into multi-device 2021-01-27 10:16:17 +11:00
Niels Andriesse 632027134c Fix migrations being run before everything's set up 2021-01-27 09:25:40 +11:00
Niels Andriesse cf333d5e3d Merge branch 'closed-groups' into multi-device 2021-01-25 13:50:18 +11:00
Niels Andriesse bbac6cc5ed Attempt to fix extensions 2021-01-25 10:28:33 +11:00
Niels Andriesse 867e9114a6
Merge branch 'dev' into multi-device 2021-01-22 13:29:13 +11:00
Niels Andriesse 5a3ed9163b Fix various warnings 2021-01-21 16:43:55 +11:00
Niels Andriesse 6dd2d2e72f Put up a notice if the user is creating a very large group 2021-01-19 14:12:32 +11:00
Niels Andriesse 672026b8bf Clean 2021-01-14 09:51:09 +11:00
nielsandriesse e38dae5a05 Replace PublicChatManager 2021-01-14 09:42:52 +11:00
nielsandriesse 947287e42f Debug 2021-01-13 15:19:17 +11:00
nielsandriesse 9eefc21eb9 Periodically send configuration messages 2021-01-13 14:08:41 +11:00
nielsandriesse d6314c8d30 Handle configuration messages 2021-01-13 13:38:07 +11:00
nielsandriesse 2a46544542 Re-organize files 2021-01-12 11:25:31 +11:00
Niels Andriesse 4c4ec0c039 Remove unused code 2021-01-11 14:15:26 +11:00
Niels Andriesse a6e44ca0f0 Clean 2021-01-11 14:12:07 +11:00
nielsandriesse d5e1237b0c Allow admins to leave & fix remaining issues 2021-01-08 14:54:27 +11:00
nielsandriesse c7d3f3e32d Implement V1 to V2 closed groups migration 2021-01-08 13:50:45 +11:00
nielsandriesse de384fd4d9 Ensure legacy closed groups still work 2021-01-05 16:13:02 +11:00
Niels Andriesse d76949516b Remove more unused code 2021-01-04 14:08:05 +11:00
Niels Andriesse 71758b0c00 Remove the Signal protocol 2021-01-04 13:59:21 +11:00
Niels Andriesse 15c0fd9414 Merge branch 'dev' into cleanup 2020-12-18 14:40:59 +11:00
Niels Andriesse 451e629605 Fix open group profile picture bug
#314 without merge conflicts
2020-12-18 11:12:07 +11:00
Niels Andriesse ef2bdf724e Debug 2020-12-18 09:49:32 +11:00
Niels Andriesse 9901f04dc3 Implement contacts migration 2020-12-18 09:47:18 +11:00
Niels Andriesse 2ba0f5d4e4 Remove unused files 2020-12-17 15:20:43 +11:00
Niels Andriesse ad3f04a8f8
Merge pull request #318 from loki-project/session-protocol
Session Protocol
2020-12-16 14:31:24 +11:00
Niels Andriesse fa02ea11de Show message sending status bar earlier 2020-12-14 16:09:11 +11:00
nielsandriesse 9ebb448b5f Fix crash 2020-12-14 09:00:50 +11:00
Niels Andriesse 3f5bc18f6b Fix remaining TODOs 2020-12-07 15:11:49 +11:00
Niels Andriesse 5cf732709b Handle PN mentions 2020-12-04 09:16:40 +11:00
Niels Andriesse 00549a993f Debug 2020-12-03 10:53:30 +11:00
Niels Andriesse f0cbdb8cda Fix share extension 2020-12-03 10:12:29 +11:00
nielsandriesse d6c115bc2a Fix module linking issue 2020-12-02 16:25:16 +11:00
nielsandriesse ec4b26e76a Debug 2020-12-02 15:36:04 +11:00
nielsandriesse 000249b744 Debug 2020-12-01 17:40:18 +11:00
nielsandriesse add2c467e4 Restructure 2020-12-01 08:35:13 +11:00
Niels Andriesse 21810a0c4c Fix closed group message status handling 2020-11-30 15:20:03 +11:00
Niels Andriesse ad66d71775 Fix group thread layout bug 2020-11-30 09:40:36 +11:00
Niels Andriesse b0712522eb Compress images a bit more 2020-11-30 09:30:21 +11:00
nielsandriesse c5a7d39518 Clean 2020-11-28 13:57:03 +11:00
nielsandriesse d39e155e1c Make link previews work again 2020-11-28 11:48:08 +11:00
nielsandriesse 20faa8e914 Debug 2020-11-27 16:22:15 +11:00
nielsandriesse addc859c84 Fix duplicate messages & debug 2020-11-27 15:13:42 +11:00
nielsandriesse e3304a40f9 Fix attachment quoting 2020-11-27 13:52:20 +11:00
nielsandriesse 896ca8f0bd Fix profile picture updating 2020-11-27 12:45:20 +11:00
nielsandriesse f04db2afb1 Add missing save(with:) 2020-11-26 17:41:39 +11:00
Niels Andriesse a88ce33ee0 WIP 2020-11-26 16:33:42 +11:00
Niels Andriesse 3eae001202 Fix disappearing messages 2020-11-26 15:51:12 +11:00
Niels Andriesse 341782f255 Fix profile handling 2020-11-26 15:16:35 +11:00
Niels Andriesse 1ddb8ac50e Resolve more TODOs 2020-11-26 14:01:24 +11:00
Niels Andriesse ac6baec6f2 Make things compile again 2020-11-26 10:37:56 +11:00
nielsandriesse 1037ce5113 WIP 2020-11-25 16:21:04 +11:00
nielsandriesse 5dfd4b1965 Restructure 2020-11-25 16:15:16 +11:00
nielsandriesse 178ab7e3e2 WIP 2020-11-24 20:09:23 +11:00
nielsandriesse 5e476e8330 Fix coding issues 2020-11-24 16:18:58 +11:00
nielsandriesse 19c29b2bf9 WIP 2020-11-24 15:36:03 +11:00
nielsandriesse 70fb7eb185 Fix thread updating issue 2020-11-24 15:04:46 +11:00
nielsandriesse ce7a23c401 Make sure sending errors bubble up to the user 2020-11-24 14:43:53 +11:00
nielsandriesse 921e2bced6 Debug 2020-11-24 14:10:32 +11:00
nielsandriesse 4317b17e7e Fill in some gaps 2020-11-24 09:49:31 +11:00
Niels Andriesse aec182f36c WIP 2020-11-23 16:35:49 +11:00
Niels Andriesse bbd3ecd54a Delete ClosedGroupsProtocol 2020-11-23 16:05:39 +11:00
Niels Andriesse ac1bbb3de1 Handle open group message ID 2020-11-23 15:58:48 +11:00
Niels Andriesse d7c71a8c06 Make things compile again 2020-11-23 10:24:40 +11:00
nielsandriesse b218a16b05 Implement attachment downloading 2020-11-20 15:53:56 +11:00
nielsandriesse 961878f74c Parse attachment pointers 2020-11-20 11:10:53 +11:00
nielsandriesse 7d207ddfb7 Organize files 2020-11-20 10:14:35 +11:00
nielsandriesse 9f4d72f2f5 Make quotes work again
Also organize files
2020-11-20 10:07:36 +11:00
Niels Andriesse 4a31a84daa Fix messages showing up as failed 2020-11-19 16:51:08 +11:00
Niels Andriesse 9242f971fd Fix timestamp handling 2020-11-19 16:28:30 +11:00
Niels Andriesse 2e85d5fb41 Fix message sending status bar 2020-11-19 16:21:00 +11:00
Niels Andriesse a48fc40aa6 WIP 2020-11-19 15:35:43 +11:00
Niels Andriesse 72b4c3edaf WIP 2020-11-19 15:24:09 +11:00
Niels Andriesse 30370bf4d2 Make basic message sending work 2020-11-19 11:16:23 +11:00
Niels Andriesse 4f3448d75d Remove more Signal code 2020-11-19 10:37:18 +11:00
nielsandriesse 58802936c1 Finish message receiving pipeline 2020-11-19 09:44:00 +11:00
nielsandriesse 97545de75e Handle expiration timer updates 2020-11-18 15:36:51 +11:00
nielsandriesse 7e9eb2f138 Make typing indicators work & implement job resuming 2020-11-18 14:27:30 +11:00
Niels Andriesse b030b5999b Make messages show up again 2020-11-18 12:02:38 +11:00
nielsandriesse f36f447bec Ditch unused Signal code 2020-11-17 15:35:52 +11:00
nielsandriesse 14c87139c6 Merge branch 'dev' into refactor-4 2020-11-13 10:38:17 +11:00
nielsandriesse 6dc3184b2a Merge branch 'dev' into refactor-3 2020-11-13 10:07:45 +11:00
nielsandriesse aba4cda143 WIP 2020-11-12 16:23:34 +11:00
nielsandriesse 15c6784f0f WIP 2020-11-12 16:02:21 +11:00
nielsandriesse f706e38ef7 Debug 2020-11-12 13:54:59 +11:00
nielsandriesse e819d8f536 Update dependencies 2020-11-12 13:20:28 +11:00
nielsandriesse 1c0b32af3c Fix ECKeyPair usage 2020-11-12 10:41:45 +11:00
nielsandriesse 000e907d47 Clean up Podfile 2020-11-12 07:55:24 +11:00
nielsandriesse 7e213c71d5 Make everything build again 2020-11-11 17:45:50 +11:00
nielsandriesse ffa64e4747 Merge SignalMessaging into SignalUtilitiesKit 2020-11-11 16:30:54 +11:00
nielsandriesse ae635dbd36 Make SignalMessaging work with SignalUtilitiesKit 2020-11-11 11:50:01 +11:00
nielsandriesse c475f895e8 Create SignalUtilitiesKit 2020-11-11 10:58:56 +11:00