Commit Graph

145 Commits (b4f01db37e708c13e7f547b5bf13a037acae5158)

Author SHA1 Message Date
Morgan Pretty 59696f7d2c Removed all the old Storage classes and YapDB extensions
Removed the AppUpdateNag code (unused)
Removed the Mantle dependency
2 years ago
Morgan Pretty 18d833f152 Optimised the home screen query (~50% speed improvement)
Updated to the latest version of GRDB
Renamed some variables for clarity
Updated the "seed viewed" banner on the HomeVC to be driven by a database setting to be consistent with other UI changes
2 years ago
Ryan Zhao 0237df8023 fix notification service extension creates duplicated call info message 2 years ago
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
2 years ago
Morgan Pretty cfb8f1615a Migrated a couple more preferences 2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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)
2 years ago
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
2 years ago
Ryan Zhao 9542b0e0f9 add CallKit supported filter for NSE 2 years ago
Ryan Zhao a92d626c1e fix open group notification spam in NSE 2 years ago
Ryan Zhao 1d0475b8a0 fix notification spam 2 years ago
ryanzhao f1445a2191 add missed call notification 2 years ago
ryanzhao 343df684d9 fix race condition for callkit 2 years ago
ryanzhao 6cb3e1db22 add interaction for showing missed call tips if the permission is denied 2 years ago
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)
2 years ago
ryanzhao 7ae982a328 Fix notifications don't respect the call disabled settings 2 years ago
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
2 years ago
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
2 years ago
Ryan Zhao 49d6a64194 Merge branch 'remove-OWSBlockingManager' into voice-calls-2 2 years ago
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
2 years ago
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
2 years ago
Ryan Zhao 37614fe3d8 Merge branch 'dev' into voice-calls-2 2 years ago
RyanZhao 9e020948d6
Merge pull request #594 from RyanRory/bug-fixes-1.11.23
Bug fixes for 1.11.22
2 years ago
Ryan Zhao 8652268557 add logs & fix PN 2 years ago
Morgan Pretty 2e10ccf99d Updated the code to cache the retrieval of the user public key 2 years ago
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
2 years ago
Ryan Zhao a31fb7f957 Merge branch 'dev' into voice-calls-2 2 years ago
Morgan Pretty c2e13f02bc Fixed a crash which could occur while processing message request notifications due to not using a DB transaction 2 years ago
Ryan Zhao f489e78deb Merge branch 'dev' into voice-calls-2 2 years ago
Ryan Zhao 05e2457f8b fix message request notification title 2 years ago
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)
2 years ago
Ryan Zhao a68ed28a7a Merge branch 'dev' into voice-calls-2 2 years ago
Ryan Zhao 52407aec03 Merge branch 'ipad-support-1' into voice-calls-2 2 years ago
Ryan Zhao f7bfeb6e6d fix typo 2 years ago
Ryan Zhao 936fbd27c2 fix message request notification 2 years ago
Ryan Zhao f22672ccd7 Merge branch 'dev' of https://github.com/oxen-io/session-ios into preformance-improvement 2 years ago
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
2 years ago
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
2 years ago
Ryan Zhao cc1b1e8c51 poll for open groups in NSE 2 years ago
Ryan Zhao 7f8c952c66 fix notification badge 2 years ago
Ryan Zhao f21d142a6c remove useless cache populating in NSE 2 years ago
Ryan Zhao 7d00897907 minor clean up 2 years ago
Ryan Zhao 2d9f962a97 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 2 years ago
Morgan Pretty cd61fb8df0 Merge branch 'dev' into feature/message-requests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SignalUtilitiesKit/Utilities/UIColor+Extensions.swift
2 years ago
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)
2 years ago
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.
3 years ago
Ryan Zhao f1adc9d91d fix incorrect incoming call issue 3 years ago
Ryan Zhao cab8b5e6d9 insert call missed message in NSE 3 years ago
Ryan Zhao 63d85a481f fix PN for incoming call on lower than iOS 14.5 3 years ago
ryanzhao 336c694b52 refactoring on showing call ip exposure 3 years ago
ryanzhao 446ef838f0 minor fix 3 years ago
ryanzhao a1aa45ae10 trace call timestamp from NSE 3 years ago
ryanzhao 86aced218a minor fix for CallKit PN 3 years ago
ryanzhao 6f78d6dfbe refactoring for CallKit 3 years ago
ryanzhao e530b50938 WIP: notification for voip call 3 years ago
ryanzhao 7b23b8f601 Merge branch 'dev' of https://github.com/oxen-io/session-ios into voice-calls-2 3 years ago
ryanzhao ecf92ceeea fix PN sound settings not applying to remote PNs 3 years ago
ryanzhao 5553d4e068 fix default PN content 3 years ago
ryanzhao 9690ce1a9e prevent self-send message PN 3 years ago
ryanzhao 3de81ef2a0 imporvements 3 years ago
ryanzhao c1e5511ed4 WIP: background vibrate & refresh tasks 3 years ago
ryanzhao 57a04f4ff5 show incoming call notification 3 years ago
ryanzhao 340d2abc05 cancel notification if there is an outgoing message coming in 3 years ago
ryanzhao 96f9948781 fix self-send closed group messages won't show 3 years ago
ryanzhao e045808070 Revert "WIP: download attachments in NSE"
This reverts commit 6fd5bbeab1.
3 years ago
ryanzhao 454003c027 Revert "WIP: make the attachment download work in NSE"
This reverts commit 7295c14e17.
3 years ago
ryanzhao 7295c14e17 WIP: make the attachment download work in NSE 3 years ago
ryanzhao 6fd5bbeab1 WIP: download attachments in NSE 3 years ago
ryanzhao b7289e72a3 add accessibility to attachment buttons 3 years ago
Niels Andriesse 45042a1acf Fix typos 3 years ago
ryanzhao 111bbd0646 handle unsend requests in NSE 3 years ago
Niels Andriesse eb29b5d641 Minor cleanup 3 years ago
Ryan Zhao 7c82ede432 fix a minor mention issue that it won't show the name if there is no white space after a mention 3 years ago
Ryan Zhao 12a995bc91 enable only notify mention for closed groups 3 years ago
Ryan Zhao ad351d8009 clean 3 years ago
ryanzhao a951c84e48 prepare for push notification filter 3 years ago
Niels Andriesse d2161545d6 WIP 3 years ago
Brice-W 1f9cd92bce set expiration timer for new group members 3 years ago
nielsandriesse 4f80722b37 Respect mute settings in NSE 3 years ago
Niels Andriesse dd0baf0d97 Unify contacts APIs 3 years ago
Niels Andriesse c9c83da3dc Rename ClosedGroupUpdateV2 → ClosedGroupControlMessage 4 years ago
Niels Andriesse 9ea1ccd0c2 Update ClosedGroupUpdate for new message types 4 years ago
Niels Andriesse 474acb5a30 Raise closed group size to 100 members 4 years ago
Niels Andriesse d5228abea9 Update notification extension for V2 closed group updates 4 years ago
Niels Andriesse 438bbccdfa Fix background polling 4 years ago
Niels Andriesse 2396f22ede Also notify for newly created groups 4 years ago
Niels Andriesse 91a75a65b1 Handle group messages in PNs 4 years ago
Niels Andriesse 5cf732709b Handle PN mentions 4 years ago
Niels Andriesse 75f7a7973b Debug PN extension 4 years ago
Niels Andriesse 2c28f6addb Clean 4 years ago