Commit Graph

142 Commits

Author SHA1 Message Date
Morgan Pretty 26c7a5022a Added a simple migration progress indicator and animation (need timing tweaks)
Cleaned up the creation of the GRDBStorage instance
Fixed an issue where the launch screen wasn't setting it's background colour based on the system setting
Renamed the GRDBStorageError to StorageError (in preparation of legacy 'Storage' relocation)
Consolidated the two Environment classes (in Swift)
Refactored the AppSetup class to Swift
2022-05-30 13:04:26 +10:00
Morgan Pretty cfb8f1615a Migrated a couple more preferences 2022-05-23 17:27:24 +10:00
Morgan Pretty aabf656d89 Finished off the MediaGallery logic
Updated the config message generation for GRDB
Migrated more preferences into GRDB
Added paging to the MediaTileViewController and sorted out the various animations/transitions
Fixed an issue where the 'recipientState' for the 'baseQuery' on the ConversationCell.ViewModel wasn't grouping correctly
Fixed an issue where the MediaZoomAnimationController could fail if the contextual info wasn't available
Fixed an issue where the MediaZoomAnimationController bounce looked odd when returning to the detail screen from the tile screen
Fixed an issue where the MediaZoomAnimationController didn't work for videos
Fixed a bug where the YDB to GRDB migration wasn't properly handling video files
Fixed a number of minor UI bugs with the GalleryRailView
Deleted a bunch of legacy code
2022-05-20 17:58:39 +10:00
Morgan Pretty 06eef99766 Cleared out some legacy code, fixed a few bugs, got typing indicators and mentions working
Got mentions working again
Got typing indicators working again
Got the notification sound and preview preferences working
Fixed a few issues with attachment image loading
Fixed an issue where enum settings weren't getting stored correctly
2022-05-10 17:42:15 +10:00
Morgan Pretty 333849c32e Logic for interactions with user mentions and closed group tweaks
Added logic to flag interactions that mention the current user
Fixed up closed group member handling
2022-05-09 14:45:14 +10:00
Morgan Pretty 0db74ce1e3 Working on the MediaGallery and ClosedGroup handling
Fixed a couple of issues around the duplicate messages handling
Fixed a few issues with ClosedGroup polling and ClosedGroup control message handling
Started working through updating the MediaGallery
2022-05-08 22:01:39 +10:00
Morgan Pretty 3baeb981d9 Further work on the JobRunner
Moved the JobRunner into SessionUtilitiesKit so it can be used by SessionSnodeKit
Exposed a 'sharedLokiProject' value on UserDefaults to remove the hard-coded group name used everywhere
Added "blocking" job support for 'OnLaunch' and 'OnActive' jobs to the JobRunner (will retry until it succeeds)
Added the UpdateProfilePicture and RetrieveDefaultOpenGroupRooms jobs
2022-04-27 10:48:54 +10:00
Morgan Pretty 1c575e520d Merge remote-tracking branch 'upstream/voice-calls-2' into feature/session-id-blinding-part-2
# Conflicts:
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
#	Session/Home/HomeVC.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Jobs/AttachmentUploadJob.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
2022-04-26 13:06:12 +10:00
Morgan Pretty ed9f4ea6c6 Fixed a few closed group and job issues
Fixed a few job migration issues
Fixed an issue with the closed group key pair management (wasn't storing keys correctly)
Refactored the OWSSound (now Preferences.Sound)
Added the logic for the AttachmentDownloadJob and enabled jobs to be cascade deleted via interactions
Optimised the HomeViewModel database observation query (fetch specific columns so changes outside those don't trigger updates)
Updated to the latest GRDB (ran into a deadlock which should be fixed in a newer version)
2022-04-22 18:47:11 +10:00
Morgan Pretty 11231599db Further work on migrations and message pipeline refactoring
Refactored the AppDelegate from Objective C to Swift
Updated the HomeVC to use GRDB
Refactored a number of the Job types to be driven via GRDB and the new JobRunner
Fixed a bug where the LinkPreviewView wouldn't render correctly in dark mode
2022-04-21 16:42:35 +10:00
Ryan Zhao 9542b0e0f9 add CallKit supported filter for NSE 2022-04-21 10:34:50 +10:00
Ryan Zhao a92d626c1e fix open group notification spam in NSE 2022-04-19 16:36:40 +10:00
Ryan Zhao 1d0475b8a0 fix notification spam 2022-04-19 13:39:36 +10:00
ryanzhao f1445a2191 add missed call notification 2022-04-07 15:10:38 +10:00
ryanzhao 343df684d9 fix race condition for callkit 2022-04-07 12:29:09 +10:00
ryanzhao 6cb3e1db22 add interaction for showing missed call tips if the permission is denied 2022-04-06 17:24:48 +10:00
Morgan Pretty cf66edb723 Further work on SessionMessagingKit migrations
Added migrations for contacts and started working through thread migration (have contact and closed group threads migrating)
Deprecated usage of ECKeyPair in the migrations (want to be able to remove Curve25519Kit in the future)
2022-04-06 15:43:26 +10:00
ryanzhao 7ae982a328 Fix notifications don't respect the call disabled settings 2022-04-06 15:11:26 +10:00
Morgan Pretty a1b4554cdb Migrated the SessionSnodeKit from YapDatabase to GRDB
Changed the min OS version to iOS 13.0 (support for 'Identifiable')
Removed the alternate approaches to fetching the userKeyPair and userPublicKeyHexString (no consistently routed through the caching method)
Migrated the 'OWSIdentityManager' logic to use the new 'Identity' type
Added the 'Setting' table and got the pattern working fairly nicely (unfortunately there isn't a good way to avoid key collision without proper enums)
Updated the SessionSnodeKit to migration it's data from YDB to GRDB
Updated the SessionSnodeKit to use GRDB throughout it's logic
2022-04-01 17:22:45 +11:00
Morgan Pretty c3b855646f Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
#	Session/Open Groups/JoinOpenGroupVC.swift
#	Session/Settings/SettingsVC.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
2022-03-31 12:03:00 +11:00
Ryan Zhao 49d6a64194 Merge branch 'remove-OWSBlockingManager' into voice-calls-2 2022-03-31 11:09:09 +11:00
Morgan Pretty 5ca227434b Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Database/Storage+OpenGroups.swift
#	SessionMessagingKit/Messages/Control Messages/ConfigurationMessage+Convenience.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPollerV2.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Storage.swift
#	SessionMessagingKit/Utilities/General.swift
#	SessionSnodeKit/SnodeAPI.swift
#	SessionUtilitiesKit/General/Atomic.swift
2022-03-29 09:15:32 +11:00
Morgan Pretty 5bb3bd7bc1 Cleaned up some config sync logic and allowed migrations to trigger them
Updated the migrations so they can specify whether a configuration sync is required
Moved the config sync logic into a MessageSender extension (makes far more sense than AppDelegate)
Fixed a bug where the ShareVC was triggering the 'versionMigrationsDidComplete' twice
Removed a couple of imports for files that had been deleted
2022-03-24 10:03:51 +11:00
Ryan Zhao 37614fe3d8 Merge branch 'dev' into voice-calls-2 2022-03-21 14:21:51 +11:00
RyanZhao 9e020948d6
Merge pull request #594 from RyanRory/bug-fixes-1.11.23
Bug fixes for 1.11.22
2022-03-21 14:11:42 +11:00
Ryan Zhao 8652268557 add logs & fix PN 2022-03-21 13:55:51 +11:00
Morgan Pretty 2e10ccf99d Updated the code to cache the retrieval of the user public key 2022-03-15 16:06:53 +11:00
Morgan Pretty c415fc9e06 Merge branch 'dev' into feature/session-id-blinding-part-2
# Conflicts:
#	Session/Open Groups/OpenGroupSuggestionGrid.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2+ObjC.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPIV2.swift
#	SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift
2022-03-11 17:15:55 +11:00
Ryan Zhao a31fb7f957 Merge branch 'dev' into voice-calls-2 2022-03-11 09:35:51 +11:00
Morgan Pretty c2e13f02bc Fixed a crash which could occur while processing message request notifications due to not using a DB transaction 2022-03-10 16:50:48 +11:00
Ryan Zhao f489e78deb Merge branch 'dev' into voice-calls-2 2022-03-10 15:12:42 +11:00
Ryan Zhao 05e2457f8b fix message request notification title 2022-03-10 10:42:08 +11:00
Morgan Pretty a39afd6037 Fixed build errors and mock data tweaks
Fixed a couple of merge build errors
Made some tweaks to the MockDataGenerator to more-properly create open groups
Added some progress logging to the MockDataGenerator
Updated the MockDataGenerator to support generating threads with a fixed number of messages (ie. to compare performance based on message count)
2022-03-09 14:04:18 +11:00
Ryan Zhao a68ed28a7a Merge branch 'dev' into voice-calls-2 2022-03-09 11:33:18 +11:00
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 2022-03-02 14:31:31 +11:00
Ryan Zhao f7bfeb6e6d fix typo 2022-03-02 09:42:13 +11:00
Ryan Zhao 936fbd27c2 fix message request notification 2022-02-25 15:18:27 +11:00
Ryan Zhao f22672ccd7 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 2022-02-25 14:58:20 +11:00
Morgan Pretty 4c89c165d8 Fixed a few bugs uncovered by QA
Fixed a bug where the ConfigurationMessage was getting generated before the contact state was persisted to the database in the message request flow causing odd behaviours (now generating the ConfigurationMessage within the same transaction)
Fixed a bug where sending a message to an existing message request thread once the message requests item has been hidden would show the message requests notification and trigger the section to re-appear on the home screen
Fixed a bug where blocked contacts weren't getting excluded from the contacts list in the configuration message
2022-02-23 17:12:57 +11:00
Morgan Pretty 47314bd639 Added a notification to indicate the user has a new message request
Fixed a bug where the notification count could be increased for message requests
Fixed a bug where an approved contact could be 'unapproved' due to an order of execution issue when generating the config sync message
Fixed a check to avoid registering for push notifications when on the simulator (old check didn't cater for M1 Macs)
Moved the 'hasHiddenMessageRequests' into the group user defaults so it can be accessed within the notification extension
Added code to handle an edge case where an old client could incorrectly un-approve a contact via a legacy configuration message
2022-02-21 14:48:53 +11:00
Ryan Zhao cc1b1e8c51 poll for open groups in NSE 2022-02-17 14:55:32 +11:00
Ryan Zhao 7f8c952c66 fix notification badge 2022-02-16 16:18:49 +11:00
Ryan Zhao f21d142a6c remove useless cache populating in NSE 2022-02-16 13:52:58 +11:00
Ryan Zhao 7d00897907 minor clean up 2022-02-14 11:21:32 +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 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
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
Ryan Zhao f1adc9d91d fix incorrect incoming call issue 2021-12-20 12:25:05 +11:00
Ryan Zhao cab8b5e6d9 insert call missed message in NSE 2021-12-08 17:12:17 +11:00
Ryan Zhao 63d85a481f fix PN for incoming call on lower than iOS 14.5 2021-11-29 16:50:06 +11:00
ryanzhao 336c694b52 refactoring on showing call ip exposure 2021-11-11 12:12:12 +11:00
ryanzhao 446ef838f0 minor fix 2021-11-09 16:12:08 +11:00
ryanzhao a1aa45ae10 trace call timestamp from NSE 2021-11-09 16:07:34 +11:00
ryanzhao 86aced218a minor fix for CallKit PN 2021-11-08 17:02:47 +11:00
ryanzhao 6f78d6dfbe refactoring for CallKit 2021-11-03 15:31:50 +11:00
ryanzhao e530b50938 WIP: notification for voip call 2021-10-29 16:32:50 +11:00
ryanzhao 7b23b8f601 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 2021-10-20 10:20:09 +11:00
ryanzhao ecf92ceeea fix PN sound settings not applying to remote PNs 2021-10-19 15:11:47 +11:00
ryanzhao 5553d4e068 fix default PN content 2021-10-15 10:02:00 +11:00
ryanzhao 9690ce1a9e prevent self-send message PN 2021-10-15 09:27:45 +11:00
ryanzhao 3de81ef2a0 imporvements 2021-10-14 16:01:50 +11:00
ryanzhao c1e5511ed4 WIP: background vibrate & refresh tasks 2021-10-12 16:43:30 +11:00
ryanzhao 57a04f4ff5 show incoming call notification 2021-10-11 15:23:19 +11:00
ryanzhao 340d2abc05 cancel notification if there is an outgoing message coming in 2021-09-17 11:26:26 +10:00
ryanzhao 96f9948781 fix self-send closed group messages won't show 2021-09-15 10:02:07 +10:00
ryanzhao e045808070 Revert "WIP: download attachments in NSE"
This reverts commit 6fd5bbeab1.
2021-08-30 10:00:19 +10:00
ryanzhao 454003c027 Revert "WIP: make the attachment download work in NSE"
This reverts commit 7295c14e17.
2021-08-30 10:00:04 +10:00
ryanzhao 7295c14e17 WIP: make the attachment download work in NSE 2021-08-27 13:32:31 +10:00
ryanzhao 6fd5bbeab1 WIP: download attachments in NSE 2021-08-26 10:49:55 +10:00
ryanzhao b7289e72a3 add accessibility to attachment buttons 2021-08-25 12:18:06 +10:00
Niels Andriesse 45042a1acf Fix typos 2021-08-10 11:17:04 +10:00
ryanzhao 111bbd0646 handle unsend requests in NSE 2021-08-04 15:57:37 +10:00
Niels Andriesse eb29b5d641 Minor cleanup 2021-08-03 15:46:34 +10:00
Ryan Zhao 7c82ede432 fix a minor mention issue that it won't show the name if there is no white space after a mention 2021-08-03 14:25:10 +10:00
Ryan Zhao 12a995bc91 enable only notify mention for closed groups 2021-08-03 13:47:11 +10:00
Ryan Zhao ad351d8009 clean 2021-07-29 10:46:00 +10:00
ryanzhao a951c84e48 prepare for push notification filter 2021-07-28 16:13:43 +10:00
Niels Andriesse d2161545d6 WIP 2021-07-15 16:39:59 +10:00
Brice-W 1f9cd92bce set expiration timer for new group members 2021-06-10 11:51:38 +10:00
nielsandriesse 4f80722b37 Respect mute settings in NSE 2021-05-05 08:47:33 +10:00
Niels Andriesse dd0baf0d97 Unify contacts APIs 2021-03-01 09:36:18 +11:00
Niels Andriesse c9c83da3dc Rename ClosedGroupUpdateV2 → ClosedGroupControlMessage 2021-01-22 10:28:26 +11:00
Niels Andriesse 9ea1ccd0c2 Update ClosedGroupUpdate for new message types 2021-01-22 10:02:42 +11:00
Niels Andriesse 474acb5a30 Raise closed group size to 100 members 2021-01-19 13:51:26 +11:00
Niels Andriesse d5228abea9 Update notification extension for V2 closed group updates 2021-01-11 13:36:47 +11:00
Niels Andriesse 438bbccdfa Fix background polling 2020-12-07 11:21:24 +11:00
Niels Andriesse 2396f22ede Also notify for newly created groups 2020-12-04 10:00:06 +11:00
Niels Andriesse 91a75a65b1 Handle group messages in PNs 2020-12-04 09:40:58 +11:00
Niels Andriesse 5cf732709b Handle PN mentions 2020-12-04 09:16:40 +11:00
Niels Andriesse 75f7a7973b Debug PN extension 2020-12-03 17:26:29 +11:00
Niels Andriesse 2c28f6addb Clean 2020-12-03 15:08:29 +11:00