Commit Graph

266 Commits (0c1ea23b08644a945b33c20ebd9184b9f8fdfc7b)

Author SHA1 Message Date
Morgan Pretty 4f2b629239 Added bolding to the control messages and unit testing work
Added bolding to the control messages
Reworked the MockFunctionHandler to have different calls with inferred return types to reduce boilerplate
Fixed broken unit tests
Fixed an issue which could occur in the ObservableTableSource where it could miss the first output if it returned too quickly
Started adding DownloadDisplayPictureJob unit tests
Minor copy tweak
2 years ago
Morgan Pretty b90ee74c91 Added promotion handling, message deletion & deprecation banner
Added logic to handle promotion messages
Added a debounced toast for promotion failures
Added support for the 'delete_before' and 'attach_delete_before' functionality
Added in the deprecated legacy groups banner.
Cleaned up the UserListViewModel a little
Updated the 'User count' header subtitle to take the user to the 'Group Members' or 'Edit Group' screens based on admin status
Updated the sorting of the group member lists to match the requirements
Fixed the debounced group invite failure toast
Fixed an issue where some libSession errors wouldn't get propagated back into the Swift code resulting in invalid database changes
Fixed an issue where admins couldn't properly leave groups
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
Morgan Pretty a3ef1c92d3 Started adding logic for the GroupUpdate messages 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 32495f0a8a Did some refactoring to better distinguish between publicKeys and sessionIds in the codebase 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 0982526057 Adding support for a few more properties group members
Added 'name' value to updated groups USER_GROUP entry
Added ConvoInfoVolatile for updated groups
Cleaned up a bunch of direct sodium usages
Updated the code to create GroupMember entries based on the GROUP_MEMBERS config
Updated to the latest libSession
Fixed a bunch of group authentication issues
Fixed a minor threading issue
Fixed an issue with the PreparedRequest type conversion
2 years ago
Morgan Pretty c77d7ecda1 [WIP] Refactored dependency access to be more generic 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
ryanzhao 18d3ab0e0e Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty b12497e305 Include specific fixes from the other branch
Fixed a crash with the QRCode scanner
Fixed a crash when trying to take a video attachment
2 years ago
Morgan Pretty bc5d8d0931 Cleaning up final things before release
Added basic support for the '25' blinded prefix
Fixed a unit test CI issue
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
Morgan Pretty c7f6b5a94e Replaced the 'ZXingObjC' dependency with a native implementation for scanning QR Codes 2 years ago
Ryan Zhao defd7e3cfe Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty f976d85c27 Fixed infinite loops introduced by the last change >_> 2 years ago
Morgan Pretty f45568644e Fixed a somehow reproducable crash
Fixed a crash when autoLoadNextPageIfNeeded was run after the table data was updated but before the tableView was reloaded resulting in a index out of bounds exception
2 years ago
Ryan Zhao e78015faa1 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty d0be7f786c Fixed a hang, removed redundant libs, files and code
Fixed an issue where returning the app from the background would result in the app staying permanently on the splash screen
Included a CRC32 implementation so we can drop the CryptoSwift dependenciy (using CryptoKit everywhere else)
Removed 'SocketRocket' (unused)
Removed the `xcode_14_3_workaround` post-install hook (fixed with CocoaPods 1.12.1)
Removed the `enable_fts5_support` post-install hook (enabled by default since GRDB 6.7.0 so redundant)
Removed the `enable_whole_module_optimization_for_crypto_swift` post-install hook (dropped CryptoSwift support)
Cleared out a bunch of headers from the Signal-Bridging-header file (direct imports instead to reduce incremental build sizes)
Deleted some unused code
2 years ago
Ryan Zhao d81a8743ac Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 5e2e103ee1 Resolved the remaining known internal testing issues
Removed the 'immediatelyOnMain' extensions as they would break in some cases (eg. upstream errors with multiple 'receive(on:)' calls) resulting in logic running on unexpected threads
Updated the ReplaySubject to add subscribers in an Atomic just to be safe
Updated the code to remove the invalid open group when the user receives an error after joining
Fixed a bug with editing closed group members
Fixed broken unit tests
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
Morgan Pretty d8ae9669c8 Fixed a breaking issue and a few other minor bugs
Fixed a busted version comparison
Fixed an issue where the config dump population wasn't setting the 'created' timestamp for contacts
Fixed an issue where the 'SyncPushTokensJob' could run logic on the wrong thread
Fixed a bug where the 'scroll to bottom' button wouldn't initial be visible in some cases
Fixed a bug where the 'scroll to bottom' button would fade out when there were subsequent pages
Fixed a bug where an open group image might not get downloaded in some cases
Fixed an issue where we would incorrectly append a wildcard character to the end of a search term that ended in a quotation mark
Finished refactoring the OpenGroupAPI to use PreparedSendData
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 f7c7c75527 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty f07313c7ac Fixed a number of bugs found during internal testing
Updated to the latest libSession to increase the available size for config message content (size check now happens after compression rather than before)
Added some additional logs for config size info
Fixed a bug where the database could be accessed before the migrations ran which could result in unexpected behaviours
Fixed a bug where you couldn't mark a non one-to-one thread as read/unread
Fixed a bug where a database initialization failure wouldn't result in a migration failure (user would be stuck on the splash screen indefinitely)
Fixed a bug where if a message was too large for the screen the conversation would open it centered on the screen (now it will be positioned to the top)
Started looking at broken unit tests
Increased the build number
2 years ago
ryanzhao d80ac97217 WIP: refactor BezierPathView with swiftUI 2 years ago
ryanzhao 32d7dd2ea6 refactor on accessibility of SessionButton.Info, and fix some unit tests on disappearing messages config 2 years ago
Ryan Zhao 43e38c5644 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty 613dbb4afa Another tweak for the string linter and a couple of UI fixes
Fixed a minor UI bug with the ProfilePictureView when in a SessionCell
Fixed a height calculation issue on the EditClosedGroupVC
2 years ago
Ryan Zhao afb456b710 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 2 years ago
Morgan Pretty fd2794cbc2 Merge remote-tracking branch 'RyanFork/global-search-improvement' into feature/updated-user-config-handling
# Conflicts:
#	Session/Shared/FullConversationCell.swift
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 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 66d7226d80 get rid of truncating calculation and guard constant number 2 years ago
ryanzhao 86705d88e3 Merge branch 'feature/updated-user-config-handling' into disappearing-message-redesign 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 e061bb02cd
Merge pull request #850 from mpretty-cyro/fix/general-bug-fixes
Various tweaks and fixes
2 years ago
Ryan Zhao c69c7fc63f fix an issue when using global search and there is a long long search result, the app will end up hanging 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