Commit Graph

100 Commits (cfb8f1615aa542a8fa58a40ac48d31688e5e4ca0)

Author SHA1 Message Date
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
3 years ago
Morgan Pretty f4ca219030 Re-added a bunch of functionality to the home and message requests screens
Cleared out some more legacy code which has been refactored
3 years ago
Morgan Pretty b541666ef0 Got the ability to send message working again and other tweaks
Tested and fixed a couple of issues with the disappearingMessages job
Added a simple dependency system for jobs (primarily for the AttachmentUploadJob, but will likely be others later)
Setup the AttachmentUploadJob again (looks like there are cases which use it)
Prevented a possible infinite job deferral loop from causing the app to crash (the loop is still technically possible but the app will continue to run now)
Updated the interactions unique constraints based on testing and discussions around how the serverHash works
Deleted the legacy ReadReceipt handling (now managed via the 'interaction.wasRead' flag and 'SendReadReceiptsJob')
Deleted the unused SSKIncrementingIdFinder
3 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
3 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)
3 years ago
Morgan Pretty 0f4df804ed Merge branch 'dev' into feature/database-refactor
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/AppDelegate.m
#	SessionMessagingKit/Utilities/OWSIdentityManager.h
#	SessionMessagingKit/Utilities/OWSIdentityManager.m
#	SignalUtilitiesKit/Database/Storage+Conformances.swift
#	SignalUtilitiesKit/Database/TSStorageHeaders.h
#	SignalUtilitiesKit/To Do/OWSPrimaryStorage+Loki.m
3 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
3 years ago
Morgan Pretty 0842dbff1e Removed a bunch of unused code
Removed the legacy Theme code (replaced with SessionUIKit equivalents)
Removed the OWSOrphanDataCleaner (unused)
Removed the OWSReceiptType_Delivery from the OWSOutgoingReceiptManager (unused)
Removed the TSStorageKeys and TSStorageHeaders files (unused)
Removed the LKMessageIDCollection (unused - only had methods for deleting data from the collection)
Removed the OWSPrimaryStorageTrustedKeysCollection and OWSIdentityManager_QueuedVerificationStateSyncMessages (unused)
Removed collections and notifications from OWSProfileManager (unused)
3 years ago
Morgan Pretty 4e26ece92a Merge branch 'dev' into feature/improve-open-group-deletion-processing 3 years ago
Morgan Pretty 1492232224 Made some optimisations to open group deletion handling
Added a new OpenGroupServerIdLookup to make it easier to get a database id via an open group server id
Added a migration to generate the above data
Updated the handleCompactBody method to stop early if there are no messages to delete (would previously enumerate all interactions regardless)
Updated the handleCompactBody to fetch the mapping for the deleted message so we can avoid enumerating all interactions
3 years ago
Morgan Pretty c9edac4ea8 Updated the code to add the port if present... 3 years ago
Morgan Pretty 7ae1342341 Fixed an issue where open groups with no scheme in the url might not match correctly 3 years ago
RyanZhao c7bf20dd85
Merge pull request #593 from mpretty-cyro/fix/duplicate-open-groups-from-url-differences
Fix duplicate open groups from url differences
3 years ago
Morgan Pretty 83fa679574 Fixed some incorrect logic (previously prevented joining other rooms in a server) 3 years ago
Morgan Pretty d3b54b84d0 Prevent the user from joining duplicate open groups due to url differences
Updated the OpenGroupManagerV2 to handle HTTP scheme variants and official host variants when checking if the user is already in an open group
3 years ago
Morgan Pretty 452614d190 Fixed a bug where the OpenGroup url parsing wasn't working for a certain URL structure 3 years ago
Ryan Zhao a1e47419c8 minor refactor 3 years ago
Morgan Pretty 3e380ede4e A couple of message request fixes
Added an error state to the OpenGroupSuggestionGrid
Fixed a bug where the settings button wouldn't appear for the sender of a message request once approved
3 years ago
Morgan Pretty c0e90152ce Fixes for config message handling
Updated the config message handling to try fetch the existing contact first before creating a new one
Updated the OpenGroupManagerV2 to avoid joining an open group if the user already has a thread for it and is polling it
3 years ago
Morgan Pretty b077061714 Updated the code to parse an open group URL to handle a '/r/' before the room name 3 years ago
Niels Andriesse e84fc1aa04 Include destination info in error messages 4 years ago
Niels Andriesse ba60879343 Add support for new ban and delete all endpoint 4 years ago
nielsandriesse 0d9f5388da Prepare for OGS timestamp handling changes 4 years ago
Niels Andriesse 601062c9ef Fix timeSinceLastOpen usage 4 years ago
Brice-W 51ba97827d open group polling limit implementation 4 years ago
Niels Andriesse 3fda8daec9 Merge branch 'dev' into cleanup 4 years ago
Niels Andriesse e2715d1ee9 Implement sending logic 4 years ago
Niels Andriesse 7e60d3c218 Merge branch 'dev' into cleanup 4 years ago
Niels Andriesse ad801d4f33 Fix threading 4 years ago
nielsandriesse 06f795169b Merge branch 'dev' into cleanup 4 years ago
nielsandriesse 964cb8b326 Fix new deletion method 4 years ago
nielsandriesse 21acdfc835 Clean up thread model 4 years ago
Niels Andriesse d742fc1548 Delete V1 OGS & file server 4 years ago
Niels Andriesse 3daa6e8de1 Fix deletion handling 4 years ago
Niels Andriesse 4eb7d19b3e Fix initial rooms fetch 4 years ago
Niels Andriesse c747acfc04 Fix compact poll deletion handling 4 years ago
nielsandriesse deb301e5b7 Update for OGS API changes 4 years ago
Niels Andriesse e9df213bfe Put feature flags in one place 4 years ago
Niels Andriesse b516647125 Switch to production 4 years ago
Niels Andriesse cfb1d78d35 Fix compact polling auth token handling 4 years ago
Niels Andriesse f865bd8125 Enable V2 open groups 4 years ago
Niels Andriesse b85edbe900 Fix potentially duplicated requests 4 years ago
Niels Andriesse 5a242ce4e8 Debug 4 years ago
Niels Andriesse fac376bf55 Use HTTP for default session open group server 4 years ago
Niels Andriesse 4774123ad4 Update V2 open group poller for compact polling 4 years ago
Niels Andriesse 2eab06cec9 Add compact poll endpoint 4 years ago
Niels Andriesse b30d6f9add Store V2 open group auth token promises per room 4 years ago
nielsandriesse 330e4ce8ad Fix unnecessary V2 open group requests 4 years ago
Niels Andriesse b334ad3446 Update for back-end changes 4 years ago
Niels Andriesse d4b745a322 Cache open group preview images 4 years ago