Commit Graph

393 Commits (1f3f7ba7c6635fbe844945c71ea28f0c2b9680d8)

Author SHA1 Message Date
Ryan ZHAO 27cfa40819 replace "Session ID" with "Account ID" 12 months ago
Ryan ZHAO 98b46bc142 replace "Lock Session" with "Lock App" 12 months ago
Morgan Pretty d9a64e0148 Merge remote-tracking branch 'upstream/dev' into standardised-strings
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Emoji/Emoji+Available.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/SessionApp.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Path/PathVC.swift
#	Session/Utilities/IP2Country.swift
#	SessionMessagingKit/Messages/Control Messages/SharedConfigMessage.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionNotificationServiceExtension/NotificationError.swift
#	SessionUIKit/Style Guide/Values.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
1 year ago
Morgan Pretty e420ce4e58 Merge remote-tracking branch 'upstream/dev' into onboarding
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Onboarding/PNModeVC.swift
#	SessionUIKit/Style Guide/Values.swift
1 year ago
Ryan ZHAO 991d0b90d5 add a new modal for unknown errors when clearing data from network 1 year ago
Morgan Pretty 601ba9a9b2 Objective-C Refactoring, Removed PureLayout, General Cleanup 1 year ago
Ryan ZHAO 8fe3cf7562 update strings and minor fix 1 year ago
Ryan ZHAO 688ab805d7 UI fix for onboarding merge 1 year ago
Ryan ZHAO 96832484b3 minor refactor on getting app name 1 year ago
Ryan ZHAO e790fa4519 make things compile 1 year ago
Ryan ZHAO bcc1d436bc WIP: update strings for onboarding changes 1 year ago
Ryan ZHAO f4a979f55f Merge branch 'onboarding' into standardised-strings 1 year ago
Morgan Pretty 5ee15bbc3f Moved a bunch of networking logic into libSession
• Moved the snode cache and path building into libSession (deleted associated logic)
• Moved reachability detection into libSession (remove Reachability dependency)
• Fixed a couple of crashes with using libQuic requests
• Fixed a bug where the MessageRequestFooterView would show buttons on outgoing message requests
1 year ago
Ryan ZHAO 6d297dc2a9 update strings 1 year ago
Ryan ZHAO 1cda8887dc WIP: strings! 1 year ago
Morgan Pretty c6c2881338 Reworked the libSession network to be instance based
• Fixed an issue where the DisappearingMessagesJob was getting run for every individual message process instead of just once after processing all messages from a poll
• Tweaked the polling logic to split the user, groups and community pollers into separate queues
• Tweaked the logic to restart the open group poller immediately after joining a community (to avoid an edge-case where there could be a long delay before the initial poll is made)
• Tweaked the logic for checking if PNs are susceptible to failure to only dispatch to the main thread once
• Cleaned up some warnings
• Updated the app versioning to be at the project level instead of target level
• Added the ability to define a unique hash for a job for deduplication
1 year ago
Ryan ZHAO f33a153c7f update more strings 1 year ago
Ryan ZHAO 62af0aa907 update more localized strings 1 year ago
Morgan Pretty 7eb7eda74e [WIP] Cleaned up interface, error handling and redundant code 1 year ago
Morgan Pretty 1ee4c29a16 [WIP] Pulling in a bunch of changes around request management 1 year ago
Ryan ZHAO 1904a795b8 WIP: add new strings 1 year ago
Ryan ZHAO fd1c368ca0 WIP: check for any untouched strings 1 year ago
Ryan ZHAO 4054796da1 apply new localized string format 1 year ago
Ryan ZHAO d9a73bea95 adding missing strings 1 year ago
Ryan ZHAO 0ebf0ea365 Merge branch 'dev' into standardised-strings 1 year ago
Ryan ZHAO 98ab03c454 add accessibility ids 1 year ago
Ryan ZHAO 72fa1ae52a WIP: add accessibility ids 1 year ago
Ryan ZHAO e85df4efd3 update string 1 year ago
Morgan Pretty cf8b17fb27 Fixed a "kicked from group" bug, cleaned up some logic, added 'current user' logic 1 year ago
Morgan Pretty b3f57bc677 Updated accessibility ids as per documentation 1 year ago
Ryan ZHAO 673170360d Merge branch 'dev' into onboarding 1 year ago
Ryan ZHAO 8f0b6d8202 WIP: Replace strings 1 year ago
Ryan ZHAO f9ef58c9d3 WIP: add strings 1 year ago
Morgan Pretty 65cb1bed40 Updated the accessibility identifiers as per requirements 1 year ago
Ryan ZHAO d25783c4df Merge branch 'dev' into onboarding 1 year ago
Morgan Pretty 2fba138782 Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
# Conflicts:
#	.drone.jsonnet
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCallManager.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Message Cells/InfoMessageCell.swift
#	Session/Conversations/Message Cells/MessageCell.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Views & Modals/InfoBanner.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/MainAppContext.swift
#	Session/Meta/Translations/ar.lproj/Localizable.strings
#	Session/Meta/Translations/be.lproj/Localizable.strings
#	Session/Meta/Translations/bg.lproj/Localizable.strings
#	Session/Meta/Translations/bn.lproj/Localizable.strings
#	Session/Meta/Translations/cs.lproj/Localizable.strings
#	Session/Meta/Translations/da.lproj/Localizable.strings
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/el.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/eo.lproj/Localizable.strings
#	Session/Meta/Translations/es-ES.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fil.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/hu.lproj/Localizable.strings
#	Session/Meta/Translations/id.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/ko.lproj/Localizable.strings
#	Session/Meta/Translations/ku.lproj/Localizable.strings
#	Session/Meta/Translations/lt.lproj/Localizable.strings
#	Session/Meta/Translations/lv.lproj/Localizable.strings
#	Session/Meta/Translations/ne-NP.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/no.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt-BR.lproj/Localizable.strings
#	Session/Meta/Translations/pt-PT.lproj/Localizable.strings
#	Session/Meta/Translations/ro.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si-LK.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sl.lproj/Localizable.strings
#	Session/Meta/Translations/sv-SE.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/tr.lproj/Localizable.strings
#	Session/Meta/Translations/uk.lproj/Localizable.strings
#	Session/Meta/Translations/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-CN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Shared/ScreenLockUI.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
#	SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Jobs/ExpirationUpdateJob.swift
#	SessionMessagingKit/Jobs/GetExpirationJob.swift
#	SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SessionMessagingKitTests/Sending & Receiving/MessageReceiverSpec.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionNotificationServiceExtension/NotificationServiceExtensionContext.swift
#	SessionShareExtension/Meta/SignalShareExtension-Bridging-Header.h
#	SessionShareExtension/ShareAppExtensionContext.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionUtilitiesKit/Database/OWSFileSystem.m
#	SessionUtilitiesKit/General/AppContext.h
#	SessionUtilitiesKit/General/NSUserDefaults+OWS.m
1 year ago
Morgan Pretty f13aa9c695 Added a dev setting to invite a group member by AccountID or ONS
Added a dev setting to invite a group member by AccountID or ONS
Removed the buggy Result autoclosure try init and using the default `Result(catching:)` one instead due to compiler issues
1 year ago
Morgan Pretty 661720a988 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/Translations/ar.lproj/Localizable.strings
#	Session/Meta/Translations/be.lproj/Localizable.strings
#	Session/Meta/Translations/bg.lproj/Localizable.strings
#	Session/Meta/Translations/bn.lproj/Localizable.strings
#	Session/Meta/Translations/cs.lproj/Localizable.strings
#	Session/Meta/Translations/da.lproj/Localizable.strings
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/el.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/eo.lproj/Localizable.strings
#	Session/Meta/Translations/es-ES.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fil.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/hu.lproj/Localizable.strings
#	Session/Meta/Translations/id.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/ko.lproj/Localizable.strings
#	Session/Meta/Translations/ku.lproj/Localizable.strings
#	Session/Meta/Translations/lt.lproj/Localizable.strings
#	Session/Meta/Translations/lv.lproj/Localizable.strings
#	Session/Meta/Translations/ne-NP.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/no.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt-BR.lproj/Localizable.strings
#	Session/Meta/Translations/pt-PT.lproj/Localizable.strings
#	Session/Meta/Translations/ro.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si-LK.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sl.lproj/Localizable.strings
#	Session/Meta/Translations/sv-SE.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/tr.lproj/Localizable.strings
#	Session/Meta/Translations/uk.lproj/Localizable.strings
#	Session/Meta/Translations/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-CN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
#	SessionMessagingKit/Configuration.swift
#	SessionUtilitiesKit/Database/Storage.swift
1 year ago
Ryan ZHAO ebf36c6251 minor update on buttons and QR code to look better on iPad 1 year ago
Ryan ZHAO d303215663 WIP: new message screen 1 year ago
Ryan ZHAO c5eb55d1e8 WIP: implement start new conversation screen with SwiftUI 1 year ago
Ryan ZHAO f6beb2d315 Show toast rather than modal when there is an error scanning QR code 1 year ago
Ryan ZHAO 9faf835617 ui: refactor QR code screen with SwiftUI and update QR code style 1 year ago
Ryan ZHAO 5eca31aaa2 refactor & clean 1 year ago
Morgan Pretty cbcdb9b37f Refactored AppContext and AppRediness to Swift 1 year ago
Morgan Pretty 87e9306054 Added the resetSnodeCache to the dev settings (debug network issues) 1 year ago
Morgan Pretty db633e69de Reworked the SessionCell.Accessory (same interface, builds much quicker) 1 year ago
Morgan Pretty 37d3d5b829 Plugged in some more libSession functions and added more unit tests
Updated the code to use the libSession encrypt/decrypt functions for the 'groupKicked' message
Updated the code to use the libSession function to load the admin key when receiving a promotion instead of reloading the config state
Changed the NotificationsManager and NotificationActionHandler to be injected via dependencies instead of the Environment
Mocked out the NotificationsManager for unit testing
1 year ago
Morgan Pretty 3d60757c40 Reworked test DSL to speed up build time and added more tests
Fixed a bug where the group invite message could be incorrectly added in some cases
1 year ago
Morgan Pretty 875bf88be4 Added more unit tests, fixed a couple of minor bugs
Added a dev setting to disable the group auto-approve for admins which are contacts (for testing purposes)
Added logic to unsubscribe and resubscribe for PNs when swapping environments
2 years ago
Morgan Pretty fa8e37b0c7 Removed 'fileIds' from Message.Destination (tested and won't break)
Removed 'fileIds' from Message.Destination (tested and won't break)
Cleaned up some TODOs
2 years ago
Morgan Pretty b7b7b4af6a Added disappearing messages support to updated groups
Added disappearing messages support to updated groups
Added the 10s & 60s debug disappearing message setting options to the DeveloperSettingsViewModel
Copy tweaks on the DeveloperSettingsViewModel
Removed some unused code
2 years ago
Morgan Pretty 1057a4c3fa Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild-part-2
# Conflicts:
#	LibSession-Util
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Message Cells/InfoMessageCell.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserGroups.swift
#	SessionMessagingKit/SessionUtil/SessionUtil.swift
#	SessionUtilitiesKit/Database/SSKKeychainStorage.swift
2 years ago
Morgan Pretty 59fc7a53ef New DeveloperSettingsViewModel, bulk PN endpoints and updated group messages
Added the DeveloperSettingsViewModel and dependency-controlled feature flags
Added the generic 'SessionListViewModel' to reduce duplicate code when we want to just display a selectable list of items
Added an indicator on the home screen to show when using testnet
Added group promotions behind a feature flag
Updated the PushNotificationAPI to use bulk subscribe/unsubscribe requests
Updated the 'GroupUpdateDeleteMessage' and 'GroupUpdateDeleteMemberContentMessage' to support additional behaviours
Updated the SessionCell to have better RTL support (swapped some left/right things to leading/trailing)
Updated the revoke/unrevoke endpoints to take arrays of subaccount tokens
Refactored the Bencode logic to properly support Codable types
2 years ago
Ryan ZHAO 3d566c1923 minor fix on close button accessibility id 2 years ago
Morgan Pretty a5118157b3 Finished invite statuses and toasts
Added invitation statuses for updated groups
Added the invite and failed invite toasts
Added proper support for the group description
Refactored the EditClosedGroupVC and UserSelectionVC to use the SessionTableViewModel
Updated the ObservableTableSource to support forcing a refresh either before or after the database observation
Removed support for the per-thread notification sound
2 years ago
Morgan Pretty 0df6501265 Pushing up my WIP changes from the last few days
Got a number of the GroupUpdate messages working properly
Updated the DisplayPictureDownloadJob to support OpenGroup room images
Updated the Poller to process messages by namespace (sorted) and added support for synchronous handling of messages
Reworked the ProfileManager to be a more reusable DisplayPictureManager
Cleaned up the conversion from milliseconds to TimeInterval (which is documented as seconds) for clarity
Fixed a read/write crash due to the SnodeAPI cache setup
Fixed an issue where dependencies could incorrectly overwrite each other when based on protocols
2 years ago
Ryan Zhao cf63d6e48f imp: modal of hiding recovery password permanently 2 years ago
Ryan Zhao 52ce8a49b4 replace old seed screen with updated recovery password screen 2 years ago
Ryan Zhao 45d2964bf1 Merge branch 'dev' into onboarding 2 years ago
Ryan Zhao 44c8f21628 polish qrcode theme color 2 years ago
ryanzhao 0632514d45 imp: updated recovery password screen 2 years ago
Morgan Pretty 4127d45122 Added more unit tests
Added the SnodeAPICache and a mock for it
Moved the current user poller into Dependencies
2 years ago
Morgan Pretty 8e04944af0 Fixes from cross-platform testing and general code changes
Fixed the incorrect Group Namespaces
Fixed an incorrect identity generation which could create invalid accounts
Fixed an issue where adding group members would remove admins incorrectly
Finished updating the SnodeAPI to use prepared requests
2 years ago
Morgan Pretty 5ac05a41ec Merge remote-tracking branch 'RyanFork/disappearing-message-redesign' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Home/Message Requests/MessageRequestsViewController.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Meta/Translations/fil.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/sl.lproj/Localizable.strings
#	Session/Meta/Translations/sv-SE.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
#	Session/Settings/ConversationSettingsViewModel.swift
#	Session/Settings/HelpViewModel.swift
#	Session/Settings/NotificationContentViewModel.swift
#	Session/Settings/NotificationSettingsViewModel.swift
#	Session/Settings/NotificationSoundViewModel.swift
#	Session/Settings/PrivacySettingsViewModel.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Shared/SessionTableViewController.swift
#	SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
#	SessionTests/Settings/NotificationContentViewModelSpec.swift
#	SessionUIKit/Components/TopBannerController.swift
#	SessionUtilitiesKit/Configuration.swift
2 years ago
Morgan Pretty a6931bb922 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Shared/SessionTableViewController.swift
#	Session/Shared/SessionTableViewModel.swift
#	Session/Shared/Types/SessionTableSection.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionUIKit/Components/SessionButton.swift
2 years ago
Morgan Pretty f97170fdcd Fixed a crash on the blocked contacts screen and refactoring
Refactored the SessionThreadViewModel to reduce boilerplate and clean up the interface a little
Refactored the MessageRequestsViewController to use the SessionTableViewController
Fixed a crash when returning from the background on the BlockedContactsViewModel
Fixed some minor lag on the NotificationSoundViewModel
Added an optional initial loading message to the SessionTableViewController
2 years ago
Morgan Pretty 02a98762b7 Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
# Conflicts:
#	Session/Meta/Translations/es-ES.lproj/Localizable.strings
2 years ago
Morgan Pretty 32495f0a8a Did some refactoring to better distinguish between publicKeys and sessionIds in the codebase 2 years ago
Morgan Pretty b20e533929 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 06f12a58b0 Change the 'Grant Camera Access' copy to 'Continue' at Apple's request
Updated translations again
2 years ago
Morgan Pretty abda057702 Merge remote-tracking branch 'origin/feature/drop-yap-database-support' into feature/groups-rebuild
# Conflicts:
#	Scripts/LintLocalizableStrings.swift
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Views & Modals/IncomingCallBanner.swift
#	Session/Meta/AppDelegate.swift
#	Session/Onboarding/Onboarding.swift
#	Session/Onboarding/SeedVC.swift
#	SessionMessagingKit/Database/Migrations/_017_DisappearingMessagesConfiguration.swift
#	SessionMessagingKit/Messages/Control Messages/LegacyConfigurationMessage.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Shared.swift
#	SessionMessagingKit/SessionUtil/SessionUtil.swift
#	SessionUtilitiesKit/Database/Migrations/_003_YDBToGRDBMigration.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Database/Types/Migration.swift
#	SessionUtilitiesKit/Database/Types/PagedDatabaseObserver.swift
#	_SharedTestUtilities/SynchronousStorage.swift
2 years ago
Morgan Pretty 90cd3fb5e0 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	_SharedTestUtilities/MockJobRunner.swift
2 years ago
Morgan Pretty 2cff251e8d Fixed a bug with the blocked contacts list
Fixed a bug where blocked contacts without profile information wouldn't be included in the blocked contacts list
Fixed broken test build issues
Increased build and version numbers
2 years ago
Morgan Pretty 9e471fb903 Cleaned up some TODOs and refactored more requests to prepared ones 2 years ago
Morgan Pretty 67311f6d25 Added some more tests and cleaned up some warnings
Fixed the broken LibSessionSpec tests
Added the libSessionSpec tests for GROUP_INFO and GROUP_MEMBERS
2 years ago
ryanzhao dee5e56ccc Merge branch 'dev' into onboarding 2 years ago
Ryan Zhao 66e37cef07 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 3abeeffd3d Fixed build errors and cleaned up Dependencies interface further
Fixed a build error
Cleaned up the Dependencies interface for UserDefaults and Storage settings
Refactored the AppVersion class to be in Swift
2 years ago
Morgan Pretty 65057fba21 Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Meta/AppDelegate.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+Contacts.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+ConvoInfoVolatile.swift
#	SessionMessagingKit/SessionUtil/Config Handling/SessionUtil+UserProfile.swift
#	SessionMessagingKit/SessionUtil/Database/QueryInterfaceRequest+Utilities.swift
#	SessionNotificationServiceExtension/NotificationServiceExtension.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Utilities/Bencode.swift
#	SignalUtilitiesKit/Utilities/AppSetup.swift
2 years ago
Morgan Pretty a2f1f36d2c Fixed a number of issues with the Notification Service Extension
Fixed an issue where receiving a PN for outgoing messages could break the NotificationServiceExtension
Fixed an issue where the NotificationServiceExtension could startup in an invalid way resulting in subsequent PNs failing to process
Fixed an issue where you could incorrectly receive multiple generic notifications after receiving an incoming call notification
Fixed an issue where the read state syncing might not clear notifications from the notification center
Fixed an issue with parsing Bencoded data
Updated the PN subscription to subscribe to CONVO_INFO_VOLATILE notifications (update read state)
Updated the NotificationServiceExtension to use standard message processing where possible
Updated the NotificationServiceExtension to update the app badge based on a database query
2 years ago
Morgan Pretty b31afa89e1 Reworked SnodeAPI auth and prepared requests
Started refactored some logic to make it easier for unit testing
Started updating SnodeAPI calls with prepared requests
Fixed some issues with the PreparedRequest 'map' and 'handleEvents' functions
Genericised common pre-request behaviours for SnodeAPI calls
2 years ago
Morgan Pretty c77d7ecda1 [WIP] Refactored dependency access to be more generic 2 years ago
Morgan Pretty f1075e9123 Started adding logic and unit tests for group creation
Reworked the config store to better support different types of config objects
Added the logic to create a group (not final just yet)
2 years ago
ryanzhao 55850584cb Merge branch 'dev' into onboarding 2 years ago
ryanzhao 8b529676a4 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty f44b545265 [WIP] Initial start on updated groups via configs
Started writing up wrappers and unit tests for group config types
Refactored some duplicate batch & prepared request code to be more generic and reusable
Renamed a number of legacy closed group functions to have the term 'legacy' in them for ease of coding
2 years ago
Morgan Pretty 674d99cea3 Merge branch 'fix/minor-outgoing-quote-bugs' into feature/groups-rebuild
# Conflicts:
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SessionShareExtension/ThreadPickerVC.swift
2 years ago
Ryan Zhao 30b0620987 move getting mnemonic function from SeedVC to Identity 2 years ago
Morgan Pretty e6c26e7ff4 Cleaned up the GRDB interface for complex queries 2 years ago
Ryan Zhao 9e1f68380a Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 9c9fb09254 Merge remote-tracking branch 'upstream/dev' into feature/blinded-message-request-setting
# Conflicts:
#	SessionMessagingKit/Configuration.swift
2 years ago
Morgan Pretty d863004e6d Added a setting to control community message request polling
Added logic to broadcast the community message request acceptance to SOGS so we can communicate it to message request senders
Fixed an issue where database setting changes wouldn't trigger a live update on a settings screen
Fixed an issue where some setting toggles wouldn't animate the state change
Fixed a rarw force-unwrap crash
2 years ago
Morgan Pretty 5285d81177 Fixed a few more PN logic issues
Sorted out some more threading issues
Removed a redundant SyncPushTokensJob run
Fixed an issue where the NotificationServiceExtension could incorrectly setup the database before setting up it's context
Fixed a few warnings
Removed a bunch of legacy code
Refactored the MainAppContext from Objective C into Swift
2 years ago
Morgan Pretty 63be502434 Merge remote-tracking branch 'upstream/dev' into disappearing-message-redesign
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionUtilitiesKit/General/Dictionary+Utilities.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
2 years ago
Morgan Pretty 18ee9d34fa Merge remote-tracking branch 'upstream/dev' into feature/updated-push-server
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Open Groups/Types/SodiumProtocols.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionMessagingKitTests/_TestUtilities/MockAeadXChaCha20Poly1305Ietf.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
2 years ago
Morgan Pretty 1b0fda56ad Merge remote-tracking branch 'upstream/dev' into feature/updated-push-server
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/AppDelegate.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/id-ID.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt_BR.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
#	Session/Notifications/SyncPushTokensJob.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionShareExtension/ShareNavController.swift
2 years ago
Morgan Pretty b471a32209 Merge remote-tracking branch 'upstream/dev' into feature/job-runner-unit-tests
# Conflicts:
#	Session/Conversations/ConversationVC+Interaction.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPI.swift
#	SessionMessagingKit/Open Groups/OpenGroupManager.swift
2 years ago
Morgan Pretty a41f1c1366 Fixed the broken tests
Cleaned up the Dependencies so that tests can run synchronously without having to custom set queues as much
Sorted out the crypto and network dependencies to avoid needing weird dependency inheritance
Fixed the flaky tests so they are no longer flaky
Fixed some unexpected JobRunner behaviours
Updated the CI config to use a local build directory for derivedData (now works with build tweaks)
2 years ago
Ryan Zhao cbc8a7806d Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty f373a989a8 Fixes for user config crashes
Added a method to determine if the database is suspended
Updated the code to show the "Failed" state if sending a message fails due to a suspended database
Prevented a crash which could occur in rare cases when accessing the Seed via the home screen prompt (direct user to share logs with session - db locked or device in an invalid state)
Prevented a crash which could occur when trying to send a message due to failing to retrieve the mnemonic (db locked or device in an invalid state)
Fixed a bug where optimistic messages could end up appearing multiple times
Fixed a crash with the QRCode scanner
Fixed a crash when trying to take a video attachment
Fixed a crash where the image picker grid could go out of bounds when selecting elements
Fixed a crash which could occur when a user provides a recovery password with a word that contains less than 3 characters
Fixed a potential issue where the dependency injection could result in a stale date being used in some places (removing the DI here, proper fix requires larger changes in another branch)
2 years ago
ryanzhao 31976048bd Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 2 years ago
Ryan Zhao 0fc00ab527 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty c7f6b5a94e Replaced the 'ZXingObjC' dependency with a native implementation for scanning QR Codes 2 years ago
Morgan Pretty 6f4bdcdccb Moved some logic outside of DBWrite closures to prevent hangs
Updated the SessionApp.presentConversation function from using the DBWrite thread if it didn't need to
Updated the PagedDatabaseObserver to process database commits async on a serial queue to avoid holding up the DBWrite thread
Moved another Atomic mutation outside of a DBWrite closure
Refactored the PagedDatabaseObserver 'databaseDidCommit' logic to be much more straightforward
Tweaked a couple of flaky unit tests
2 years ago
Ryan Zhao d81a8743ac Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 6cf7cc42ab Fixed up the remaining reported internal testing issues
Removed the 'readPublisherFlatMap/writePublisherFlatMap' functions as they easily resulted in behaviours which held up database threads
Tweaked the logic around starting the open group pollers to avoid an unlikely atomic lock blocks
Updated some logic to avoid accessing database read threads for longer than needed
Updated the OpenGroupManager to only update the 'seqNo' value for valid messages
Cleaned up some double Atomic wrapped instances which had some weird access behaviours
Fixed an issue where a database read thread could have been started within a database write thread
Fixed an issue where the ReplaySubject might not emit values in some cases
2 years ago
Morgan Pretty b6328f79b9 Reworked the app startup process
Shifted the initial HomeVC population to a background thread to avoid blocking launch processing
Added some logging for database 'ABORT' errors to better identify cases of deadlocks
Added a launch timeout modal to allow users to share their logs if the startup process happens to hang
Updated the notification handling (and cancelling) so it could run on background threads (seemed to take up a decent chunk of main thread time)
Fixed an issue where the IP2Country population was running sync which could cause a hang on startup
Fixed an issue where the code checking if the UIPasteBoard contained an image was explicitly advised against by the documentation (caused some reported hangs)
Fixed a hang which could be caused by a redundant function when the ImagePickerController appeared
2 years ago
ryanzhao ee5de25d4a Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 2 years ago
Ryan Zhao 9ae6d2f506 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 53a5db0ea5 Fixed a number of issues found during internal testing
Added copy for an unrecoverable startup case
Added some additional logs to better debug ValueObservation query errors
Increased the pageSize to 20 on iPad devices (to prevent it immediately loading a second page)
Cleaned up a bunch of threading logic (try to avoid overriding subscribe/receive threads specified at subscription)
Consolidated the 'sendMessage' and 'sendAttachments' functions
Updated the various frameworks to use 'DAWRF with DSYM' to allow for better debugging during debug mode (at the cost of a longer build time)
Updated the logic to optimistically insert messages when sending to avoid any database write delays
Updated the logic to avoid sending notifications for messages which are already marked as read by the config
Fixed an issue where multiple paths could incorrectly get built at the same time in some cases
Fixed an issue where other job queues could be started before the blockingQueue finishes
Fixed a potential bug with the snode version comparison (was just a string comparison which would fail when getting to double-digit values)
Fixed a bug where you couldn't remove the last reaction on a message
Fixed the broken media message zoom animations
Fixed a bug where the last message read in a conversation wouldn't be correctly detected as already read
Fixed a bug where the QuoteView had no line limits (resulting in the '@You' mention background highlight being incorrectly positioned in the quote preview)
Fixed a bug where a large number of configSyncJobs could be scheduled (only one would run at a time but this could result in performance impacts)
2 years ago
Ryan Zhao e3537e55ca Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty d2c82cb915 Started working on some config contact pruning logic
Added support for a ConfirmationModal with an input field
Added a mechanism on Debug builds to export the database and it's key
Added logic to catch exceptions thrown within libSession (need to actually plug it in)
Added a debug-only mechanism to export the users database and (encrypted) database key
Added a few unit tests to check the CONTACTS config message size constraints
2 years ago
ryanzhao 5b9944d668 Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 2 years ago
Morgan Pretty 44469d9078 Few minor tweaks & bug fixes
Added an 'all' namespace to make the "delete from all" behaviour more explicit
Defaulted the ConfigDump 'timestampMs' database column to 0
Updated the 'conversationInConfig' logic to support the note to self conversation
2 years ago
Ryan Zhao 43e38c5644 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 3b772b7f90 [WIP] started adding logic to ignore messages invalidated by config
Created a ConfigMessageReceiveJob just to clean up the logs a bit
Updated the poller to make any MessageReceive jobs dependant on any ConfigMessageReceive jobs which are created
Updated legacy groups to delete the group content when you are removed
Fixed an issue where the JobRunner wouldn't stop pending jobs while clearing data
Fixed another issue with the profile view in the message cell
2 years ago
Ryan Zhao afb456b710 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 5d88db7a8a Merge remote-tracking branch 'origin/feature/tweak-profile-modal-ui' into feature/updated-user-config-handling
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Calls/Call Management/SessionCall.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/Input View/MentionSelectionView.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Shared/Views/SessionAvatarCell.swift
#	Session/Shared/Views/SessionCell+AccessoryView.swift
#	SessionUIKit/Components/ConfirmationModal.swift
#	SessionUIKit/Components/PlaceholderIcon.swift
#	SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift
2 years ago
Morgan Pretty 6fcfffafe7 Added logic to include the commit hash in the logs for debug builds 2 years ago
Morgan Pretty cf2e198a64 Updated the profile picture modal
Moved the ProfilePictureView into SessionUIKit
Fixed a couple of minor ProfilePictureView bugs
2 years ago
Morgan Pretty 2d792e4e3e Updated the profile picture modal and standardised the ProfilePictureView sizes
Fixed an issue where 'CurrentAppContext().isMainAppAndActive' wasn't called on the main thread
Updated the ProfilePictureView to have the updated icon UI
2 years ago
Ryan Zhao edfe8a61b0 Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 2 years ago
Morgan Pretty 4330a40f6f Started working on integrating the updated push APIs
Updated the PushNotificationAPI to be more consistent with the SnodeAPI and OpenGroupAPI structures
Updated the logic so if the database key can't be retrieved the app will no longer throw a fatalError (now just fail to initialise Storage and rely on the App/Extensions to properly handle this case)
Fixed a couple of bugs where the share extension wouldn't populate correctly
2 years ago
Morgan Pretty 2053b6b0cd Added some accessibility info
Fixed an issue where the Display Picture update modal wouldn't rendering animated images actually animating
2 years ago
ryanzhao 86705d88e3 Merge branch 'feature/updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 9799297e15 Fixed build issues from merge 2 years ago
Morgan Pretty 534343f8b0 Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
# Conflicts:
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Home/GlobalSearch/GlobalSearchViewController.swift
#	Session/Home/HomeVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/id-ID.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt_BR.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
#	Session/Settings/BlockedContactsViewController.swift
#	Session/Settings/NukeDataModal.swift
#	Session/Settings/SettingsViewModel.swift
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SessionUIKit/Components/ConfirmationModal.swift
2 years ago
Morgan Pretty 6be759d39c
Merge pull request #851 from mpretty-cyro/feature/updated-profile-picture-modal
Updated the profile picture management UI & functionality
2 years ago
Morgan Pretty 9c8653aa21 Updated the profile picture management UI
Updated the UI to use a modal
Added the ability to remove the profile picture
2 years ago
Morgan Pretty 5b5f4a4e88 Various tweaks and fixes
Fixed an issue where the GlobalSearch push animation could be jittery
Fixed a crash which could occur when returning from the background on certain screens
Removed the keyboard dismiss animation when pushing from global search to a conversation (apparently this is how iMessage avoids the animation bug...)
Updated to the latest version of GRDB
Updated the Atomic wrapper to use the ReadWrite lock for less blocking behaviours
Updated the audio attachment icon to be consistent with Android & Desktop
Updated the QuoteView to omit the "author" if we don't have their name and the quote can't be found
2 years ago
Morgan Pretty be7881ad2e Merge remote-tracking branch 'origin/feature/updated-user-config-handling' into disappearing-message-redesign
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Conversations/Views & Modals/ConversationTitleView.swift
#	Session/Notifications/AppNotifications.swift
#	Session/Settings/NukeDataModal.swift
#	Session/Shared/SessionTableViewModel.swift
#	Session/Shared/Views/SessionCell.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Models/Contact.swift
#	SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
#	SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
#	SessionMessagingKit/Messages/Message.swift
#	SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
#	SessionMessagingKit/Protos/Generated/SNProto.swift
#	SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
#	SessionMessagingKit/Protos/SessionProtos.proto
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
#	SessionSnodeKit/Models/SnodeAPIEndpoint.swift
#	SessionSnodeKit/SnodeAPI.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionUtilitiesKit/General/Features.swift
2 years ago
Morgan Pretty 2983086837 Fixed an accessibility regression 2 years ago
Morgan Pretty 5fdfd6df3b Fixed issues raised during QA
Fixed a bug where the legacy group invitation was getting sent to the wrong location
Fixed a bug where outgoing typing indicators would be sent to blocked contacts
Fixed a bug where the call button was visible for blocked contacts
Fixed a bug where read receipts could be sent to blocked contacts
Fixed a bug where the conversation nav buttons wouldn't get updated correctly in some cases
Fixed a bug where we could incorrectly include the current user in the contacts syncing
Fixed a bug where the initial state of the Note to Self conversation wasn't getting synced
Fixed a bug where the Note to Self conversation could get removed
Fixed a bug with where the conversation title would be misaligned in some cases
Fixed a bug where link previews and quotes with images weren't getting sent correctly
Fixed a crash when removing a user from a legacy group
Added some missing accessibility info
Updated the code to ensure the user is kicked from the conversation if it's deletion gets synced while it's open
Updated the conversation empty state copy
2 years ago
Morgan Pretty 1c7eaed8b6 Added logic to update cached expiry after config TTL extension
Updated the UpdateExpiryResponse signature verification logic
Another couple of accessibility label/id tweaks
2 years ago
Morgan Pretty 15a0eccaf2 Added more accessibility info to the name field 2 years ago
Morgan Pretty e28b4b4531 Fixed a number of bugs with the config handling
Added a number of feature flag checks to config updates
Added legacy group disappearing message timer handling
Updated the string linter to clean up the build logs a little
Split the initial config dump generation into it's own migration so it can run the launch after the feature flag is toggled
Fixed a few issues with the initial config dump creation
Fixed an issue where "shadow" conversations would be left in the database by opening a thread and never sending a message
Fixed a bug where duplicate members could be added to legacy groups
Fixed a bug with using animated images for the avatar
Fixed a bug where avatar images which were already on disk could be re-downloaded
2 years ago
Morgan Pretty 7ee84fe0d3 Cleaned up a bunch of code, added pinned and hidden handling
Added in logic to handle the 'hidden' state
Replaced the 'Group Created' message with an empty state
Cleaned up a bunch of boilerplate code
2 years ago
Ryan Zhao b4f44d43e8 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 742c4a161f Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/id-ID.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt_BR.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
#	Session/Notifications/AppNotifications.swift
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Models/Interaction.swift
#	SessionMessagingKit/Database/Models/SessionThread.swift
#	SessionMessagingKit/Jobs/Types/MessageReceiveJob.swift
#	SessionMessagingKit/Jobs/Types/MessageSendJob.swift
#	SessionMessagingKit/Jobs/Types/SendReadReceiptsJob.swift
#	SessionMessagingKit/Messages/Message.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ReadReceipts.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Shared Models/MentionInfo.swift
2 years ago
Morgan Pretty f30b383bb8 Updated to the latest version of libSession-util
Updated the SharedConfigMessage type to have a TTL of 30 days
Updated the SnodeAPI to have a 'poll' method to be more consistent with the OpenGroupAPI (it also does multiple things now so is cleaner)
Added logic to limit the number of config messages to be retrieved per poll
Added the 'ValidatableResponse' protocol to standardise SnodeAPI response validation
Added the libSession version to the logs
Fixed an issue where the user profile pic wouldn't get synced correctly due to memory going out of scope
Fixed some threading issues
Refactored the thread variants to follow the updated terminology (will think about refactoring other code areas later)
Cleaned up the Combine error handling
Started fixing broken unit tests
2 years ago
Morgan Pretty 08b1e9a131 Started caching pending ReadReceipt messages to resolve an edge-case
Fixed an issue where read receipts could be sent for already read messages
Fixed an issue where the read state change might not update the UI
2 years ago
Ryan Zhao 494e12adb6 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty eb3c31d911 Fixed a few more bugs
Updated the PathStatusView to take Reachability into account for it's status indicator
Fixed an issue where a user couldn't delete their own messages sent to a community
Fixed an issue where the app didn't require a passcode to be set to use screen lock
Fixed an issue where the delivery status on a sending message might not update when on the conversation screen
Fixed an issue where read receipts weren't working
2 years ago
Morgan Pretty 345b693225 Fixed build issues, bugs, added unit tests and added the ConvoInfoVolatile handling
Added the unit tests for the ConvoInfoVolatile
Added icons to the swipe actions
Updated jobs to be able to be prioritised (and added priorities to the launch jobs to avoid some odd behaviours)
Fixed some build issues resulting from merging
Fixed an issue with the open group pubkey encoding
Fixed an issue where an imageView could get it's image set on a background thread
Fixed a bug where the swipe actions weren't getting theming applied when the theme changed
Fixed a bug where scheduling code after the next db transaction completes couldn't be nested (resulting in code not running)
Fixed a bug where the PagedDataObserver might not notify of unobserved changes if they reverted previous unobserved changes
Fixed a couple of incorrect SQL ordering use cases (was overriding instead of appending ordering)
Fixed an issue where the app would re-upload the avatar every launch (only affected this branch)
Fixed an issue where the home screen wouldn't update group avatars when their profile data changed
2 years ago
Morgan Pretty 8f3dcbc6be Sorted out a bunch of the config syncing logic
Updated the onboarding to attempt to retrieve the current user profile config and skip display name collection if it already exists
Updated the logic to get the snode pool and build paths immediately on launch even if the user hasn't been created yet (faster onboarding)
Removed the iOS-specific concurrent dual snode '/store' behaviour
Cleaned up the profile updating logic
Fixed an issue where the pollers could end up deadlocking the main thread if too many tried to start concurrently
2 years ago
ryanzhao c4e6f3fe47 clear open group inbox when clear account data 2 years ago
Morgan Pretty 174725c7fd Removed unneeded imports of libraries to understand usage
Refactored some 3rd-part standard encryption to use CryptoKit
Removed the PromiseKit pod
Fixed the broken tests
2 years ago
Morgan Pretty f1e9412c7a Added in missing code changes unrelated to closed groups rebuild 2 years ago
Morgan Pretty 5033738994 Fixed a few issues caused by the PromiseKit refactor
Started cleaning up the TODOs
Fixed a couple of merge conflict issues
Fixed a bug with the state of attachments which failed to download

# Conflicts:
#	SessionMessagingKit/Database/Models/Attachment.swift
2 years ago