Commit Graph

1816 Commits (bf3b870c8f76478ec4a6e6f44fadc1524592ada1)

Author SHA1 Message Date
Ryan Zhao bf3b870c8f WIP: show full screen media gallery in message info screen 2 years ago
Ryan Zhao 0a7900ca1b fix date formatter 2 years ago
Ryan Zhao d5c448edac wrap and use MediaView for message info screen 2 years ago
Ryan Zhao a5f12649c1 link real data 2 years ago
Ryan Zhao d91fd27260 WIP: link real data to swiftui message info screen 2 years ago
Ryan Zhao 3ccf5995f2 add full screen button on message info screen 2 years ago
ryanzhao 8e1e74b9c0 WIP: binding real infos 2 years ago
Ryan Zhao 09bece5c10 add custom fonts to SwiftUI 2 years ago
Ryan Zhao 1a22bd07ef use theme color for message info screen 2 years ago
ryanzhao 34fbad4570 Merge branch 'dev' into message-detail-screen 2 years ago
ryanzhao d30b69911e WIP: theming with swiftui 2 years ago
RyanZhao 19beff509b
Merge pull request #864 from f-person/feat/all-orientations-for-ipad
feat: Enable upside down orientation for iPad
2 years ago
ryanzhao 7d18ed58fc minor fix 2 years ago
ryanzhao e07887c4aa add action sheet 2 years ago
Ryan Zhao 114868ef16 add detailed error info 2 years ago
Ryan Zhao cd0e699bde minor refactor 2 years ago
Ryan Zhao ae2a17a527 add message failing status 2 years ago
Ryan Zhao 1805b16fc4 Merge branch 'dev' into message-detail-screen 2 years ago
Ryan Zhao 2851e167ff WIP: add message failing status 2 years ago
Ryan Zhao c0270d53e0 Merge branch 'dev' into message-detail-screen 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 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 c2f57700a5 infinite loop carousel 2 years ago
Ryan Zhao b4d414bbfe add carousel view to message details screen 2 years ago
ryanzhao 4f774e6251 message bubble & file info 2 years ago
Morgan Pretty 703b1d9788 CI tweaks and tweak for initial UX issue with 'blinded25' id
Added parallelisation for the unit tests
Added the SSH_KEY env variable for the 'Upload artifacts' step
Disabled xcbeautify for the prod build (as I expect it's suppressing the build error)
Disabled support for starting a conversation with a 'blinded25' id (would be invalid at this stage)
Fixed a broken unit test
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 86bf0f6cbd Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into message-detail-screen 2 years ago
Ryan Zhao 9bbd8f31cc WIP: message detail screen with swiftui 2 years ago
Morgan Pretty b72bf42605 Updated the CI and fixed a couple of config bugs
Updated to the 1.0.0 release of libSession
Set the User Config feature flag to July 31st 10am AEST
Shifted quote thumbnail generation out of the DBWrite thread
Stopped the CurrentUserPoller from polling the user config namespaces if the feature flag is off
Fixed an issue where the scrollToBottom behaviour could be a little buggy when an optimistic update is replaced with the proper change
Fixed an issue where the 'attachmentsNotUploaded' error wouldn't result in a message entering an error state
Fixed a bug where sync messages with attachments weren't being sent
2 years ago
Morgan Pretty c7f6b5a94e Replaced the 'ZXingObjC' dependency with a native implementation for scanning QR Codes 2 years ago
ryanzhao ddf4c5b5ad WIP: wrap profile picture view with swift ui 2 years ago
ryanzhao acf49ef443 bind real data to view 2 years ago
ryanzhao d6e22cbdae WIP: build message info screen with swiftui 2 years ago
Morgan Pretty 3c81e3a487 Changed the submodule to be via HTTPS instead of SSH
Cleaned out some old, unused references from project files
2 years ago
Morgan Pretty 38420997b0 Fixed a couple of bugs and made some performance tweaks
Cleaned up some duplicate poller logic (avoid going back to the main queue)
Updated the code to remove a profile image if a user sends a message which doesn't have a profile image (ie. they've explicitly removed it)
Fixed an issue where some more logic could incorrectly run in the DBWrite queue
Fixed a bug where the OpenGroupPoller could stop polling when getting an error
Fixed a bug where messages which had the same timestamp wouldn't get correctly marked as read when scrolling under the right circumstances
2 years ago
Arshak Aghakaryan fbdb1ad690 feat: Enable upside down orientation for iPad
The "upside down" orientation for iPad devices was disabled in
05814add86d765b83c91baa3120ba65569803906b55b159fbd091a95876e40a70d.
However, as an iPad user, not having all orientations is quite
uncomfortable and sometimes annoying. Most apps support all
orientations on iPad nowadays. This commit brings back the upside down
orientation in all places where it was disabled.
2 years ago
Morgan Pretty 0f52d358d4 Fixed an issue where return from background could hang
Stopped trying to run migrations if there aren't any to run (remove unneeded DBWrite thread use)
Shifted return from background migration running to a background thread to prevent hanging
Updated the slow write log to also output once the write completes
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
Morgan Pretty a7761697a9 More performance logging and some minor optimisations
Added code to throttle the 'markAsRead' logic when scrolling to 100ms
Added a launch counter so we will always get error logs on launch if the database is suspended
Updated the logging to also indicate whether it's the DBWrite queue
Moved a couple of Atomic mutations outside of DB write closure on the off chance they are blocking
2 years ago
Morgan Pretty 0225f436bd Podfile tweaks to speed up sim builds, unit tests & minor bug fix
Added a patch to the Podfile to avoid rsync'ing and signing WebRTC-lib for simulator builds shaving off 10+ seconds of build time per target due to the sheer size of the WebRTC debug framework
Added some basic unit tests to validate the current search behaviour
Fixed some buggy search behaviours
2 years ago
Morgan Pretty 3151aa8901 Fixed an issue where the users push token might never get unregistered 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
Morgan Pretty 30779bdf5b Removed an incorrect `AssertIsOnMainThread` 2 years ago
Morgan Pretty ec81236615 Fixed a few more threading-related bugs
Updated the libSession build script to reset and checkout submodules based on a flag (simplify the process)
Updated the share and notification extensions to generate the DSYM on debug builds to allow for better debugging
Added additional startup logging for debugging purposes
Tweaked the SNLog function to indicate when the log happens on the main thread (slightly less efficient but should help track down logic incorrectly running on the main thread)
Fixed a bug where we weren't recording the last PN server registration (so would re-register every time)
Fixed a bug where if the user sent the app to the background too quickly after launching the app wouldn't successfully startup when re-opening
Fixed a bug where the Notification and Share extensions would assert because they were dispatching the post-migration logic to the main thread (due to the threading changes in a previous release)
Fixed a bug where the Notification extension would incorrectly poll open groups on the main thread
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
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
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