Commit Graph

2093 Commits (9833ac91decf54a1832a8777cb5c3cf6c252950d)

Author SHA1 Message Date
ryanzhao 22c7559e63 Merge branch 'dev' into disappearing-message-redesign 10 months ago
ryanzhao 2d0bbe4455 Merge branch 'dev' into disappearing-message-redesign
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.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/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/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/vi.lproj/Localizable.strings
#	Session/Meta/Translations/zh-CN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-TW.lproj/Localizable.strings
10 months ago
Morgan Pretty 1d0733baa7 Added additional new disappearing messages strings 10 months ago
ryanzhao 38c34f2977 trigger disappear after read for community invitaion 10 months ago
Morgan Pretty b280c0a852 Increased Build and Version Numbers and removed extra strings 10 months ago
Morgan Pretty 7628edbb1c Merge remote-tracking branch 'upstream/dev' into fix/xcode-15-build-issues 10 months ago
Morgan Pretty e6494d3432
Merge pull request #910 from mpretty-cyro/feature/translations-update
Updated to the latest translations from Crowdin
10 months ago
Morgan Pretty c4aadaff1c Fixed the broken tests and updated test dependencies
Properly fixed the busted migration issue
Updated to the latest version of Quick and Nimble (unit testing libraries)
Updated the tests based on the above
10 months ago
Morgan Pretty 20ce1deb23 Merge remote-tracking branch 'upstream/dev' into fix/xcode-15-build-issues 10 months ago
ryanzhao d415ea5781 Merge branch 'dev' into disappearing-message-redesign 10 months ago
Morgan Pretty 323a7a1bce
Merge pull request #906 from mpretty-cyro/feature/add-timestamps-to-notification-metadata
Added additional notification metadata and rate-limited PN subscriptions
10 months ago
Morgan Pretty 134d257faf
Merge pull request #907 from mpretty-cyro/fix/incorrect-screen-popping
Fixed an issue where the conversation screen was dismissed incorrectly
10 months ago
Morgan Pretty dbfeaef006
Merge pull request #904 from RyanRory/fix-link-preview-image
Fix link preview
10 months ago
Morgan Pretty 8fee4edf34 Updated to the latest translations from Crowdin 10 months ago
Ryan Zhao 07348f2079 Merge branch 'dev' into disappearing-message-redesign 10 months ago
Morgan Pretty 52836cff91 Fixed a couple more issues
Fixed an issue with the Emoji generation
Fixed the SessionThread 'isPinned' property
Fixed an issue when migrating from a pre 2.3.0 version to the latest version
10 months ago
Ryan Zhao 66e37cef07 Merge branch 'dev' into disappearing-message-redesign 10 months ago
Morgan Pretty 4c934d2fda [WIP] Started work fixing XCode 15 build issues
Reworked the EmojiGenerator to structure the 'EmojiWithSkinTones+String" file as the original structure was causing XCode 15 to build forever
Reworked the seed node certificate loading in an effort to fix a crash
Updated to the latest version of webp
Commented out a line causing build issues
Fixed a number of build warnings
Fixed an issue which could cause migration issues when upgrading from certain old versions
10 months ago
Morgan Pretty f92579db07 Fixed a couple more bugs with link previews
Fixed an issue where sending a link with a preview wouldn't work if you have a previous "failed" preview for the same link
Fixed an issue where receiving a link with a preview could update all existing previews to an invalid state
10 months ago
Morgan Pretty 8cbd318cca Fixed an issue where the conversation screen was dismissed incorrectly
Fixed a bug where going to the settings screen in a conversation with no messages would pop to the conversation list
10 months ago
Morgan Pretty 8b1a4aaba0 Added additional notification metadata and rate-limited PN subscriptions
Fixed an issue where the PN subscription API call wasn't taking the frequency rate limit into account
Added the timestamp and expiration timestamp to the notification metadata
10 months ago
vlzuykov b9a5e0befb
Add files via upload 10 months ago
Ryan Zhao 5f25abc213 add paged database observer for link preview attachment 10 months ago
ryanzhao 5088e394f2 clean 10 months ago
Morgan Pretty 65acd79812
Merge pull request #902 from mpretty-cyro/fix/notification-extension-issues
Fixed a number of issues with the Notification Service Extension
10 months 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
10 months ago
Morgan Pretty b79de0cf32 Fixed an issue where call messages wouldn't get marked as read when the last message in a conversation 10 months ago
Morgan Pretty ab610578e6
Merge pull request #900 from mpretty-cyro/fix/media-detail-to-all-media-transition
Fixed an issue where tapping All Media on the media detail screen wasn't working
10 months ago
Morgan Pretty eaceabe217
Merge pull request #899 from mpretty-cyro/fix/media-picker-reload
Fixed an issue where the media picker wouldn't reload when changing image access
10 months ago
Morgan Pretty cbc1ab437b Fixed an issue where tapping All Media on the media detail screen wasn't working 10 months ago
Morgan Pretty c98af2386c Fixed an issue where the media picker wouldn't reload when changing image access 10 months ago
Morgan Pretty 260e9b0a43 Fixed a bug where the quote preview width could be too small 10 months ago
Ryan Zhao 6c75007c0b Merge branch 'dev' into disappearing-message-redesign 10 months ago
Morgan Pretty 7a8941db5c Fixed a couple of config handling bugs
Fixed an bug where config messages could be processed in the wrong order
Tweaked the behaviour or removing threads (this would cause issues with future config-based settings changes that live on the thread getting lost)
10 months ago
ryanzhao 8b529676a4 Merge branch 'dev' into disappearing-message-redesign 10 months ago
Morgan Pretty a4ade7fdb4 Merge remote-tracking branch 'upstream/dev' into feature/drop-yap-database-support 10 months ago
Morgan Pretty 6d990559b7
Merge pull request #888 from mpretty-cyro/fix/minor-outgoing-quote-bugs
Fix a couple of minor bugs and clean up query interface
10 months ago
Morgan Pretty a6a545710d Merge remote-tracking branch 'upstream/dev' into feature/drop-yap-database-support 10 months ago
Morgan Pretty f3b2cc577c Fixed the settings bundle and added Cocoapod acknowledgements 11 months ago
Morgan Pretty e1950ed0b5 Merge branch 'dev' into feature/drop-yap-database-support
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift
#	SessionUtilitiesKit/Database/Storage.swift
11 months ago
Morgan Pretty dfdf843f66 Fixed a few more issues
Fixed an issue where tapping a remote notification wasn't opening the conversation
Fixed an issue where the Share Extension could fail due to not having a snode pool loaded
Fixed an issue where the Theme may not be applied at the right time in the Share extension
11 months ago
Morgan Pretty 252e85fef9 Fixed a bug where the swipe-to-reply wasn't moving the message status text 11 months ago
Morgan Pretty e6c26e7ff4 Cleaned up the GRDB interface for complex queries 11 months ago
Morgan Pretty 42853a08c9 Fixed a couple of minor outgoing quote bugs
Added a nicer mechanism for using table aliases
Fixed a bug where the quote preview view close button could overlap the content
Fixed a bug where an outgoing quote wouldn't show it's thumbnail in some cases
Fixed a bug where quoting a link preview wouldn't show the link preview attachment
11 months ago
Ryan Zhao 9e1f68380a Merge branch 'dev' into disappearing-message-redesign 11 months ago
Morgan Pretty 382b466ded Fixed a bug where conversations without messages could display invalid dates 11 months ago
Morgan Pretty 9c9fb09254 Merge remote-tracking branch 'upstream/dev' into feature/blinded-message-request-setting
# Conflicts:
#	SessionMessagingKit/Configuration.swift
11 months ago
Morgan Pretty 32527d7e83
Merge pull request #856 from mpretty-cyro/feature/updated-push-server
Updated Push Notification API Integration
11 months 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
11 months 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
11 months ago
Ryan Zhao 0eeb4fcd1a fix an UI issue when there is no message in an outdated conversation, the banner and empty state string will be overlapped 11 months ago
Ryan Zhao acbf6fb126 clean 11 months ago
Morgan Pretty 49f2d3bfe2 Removed another couple of main thread assertions 11 months ago
Morgan Pretty 1a383ea850 Fixed a crash due to an assertion for encryption on the main thread
Removed some commented out code
11 months ago
Morgan Pretty c293bbca3a Fixed a couple of migration issues and minor tweaks
Added the ability to define requirements for migrations (in case some data or state needs to be loaded for a migration to be able to be performed correctly)
Fixed a bug where the migration would throw because the user config might not have loaded it's state yet
Fixed a bug where the migration would throw if the user didn't exist yet
Commented out some logic in the ConfigSyncJob that could be problemmatic
11 months 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
11 months ago
Morgan Pretty 50bc2f9a5c Removed YapDatabase and the migrations
Removed the YapDatabase CocoaPod
Removed logic to migrate from YapDatabase to GRDB
Removed the logic to check for legacy config messages during onboarding
Added a database error for when a migration is no longer supported
11 months ago
Morgan Pretty 0e952b40bb Removed 'useSharedUtilForUserConfig' flag and most legacy config logic 11 months ago
Morgan Pretty 87668d86a1 Fixed an issue where the device might not reregister for push notifications 11 months 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
11 months ago
Morgan Pretty 66b94778e0 Fixed the build issues and a bug where a new legacy group wasn't subscribile 11 months 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
11 months 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
11 months 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)
11 months ago
ryanzhao 2b2d67a444 Merge branch 'dev' into disappearing-message-redesign 12 months ago
RyanZhao 19beff509b
Merge pull request #864 from f-person/feat/all-orientations-for-ipad
feat: Enable upside down orientation for iPad
12 months ago
Ryan Zhao cbc8a7806d Merge branch 'dev' into disappearing-message-redesign 12 months ago
ryanzhao 18d3ab0e0e Merge branch 'dev' into disappearing-message-redesign 12 months 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
12 months 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)
12 months ago
Morgan Pretty e768bebe6d Merge remote-tracking branch 'upstream/dev' into feature/job-runner-unit-tests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/Session-Prefix.pch
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Models/Profile.swift
#	SessionMessagingKit/Jobs/Types/AttachmentDownloadJob.swift
#	SessionMessagingKit/Jobs/Types/AttachmentUploadJob.swift
#	SessionMessagingKit/Jobs/Types/DisappearingMessagesJob.swift
#	SessionMessagingKit/Jobs/Types/FailedAttachmentDownloadsJob.swift
#	SessionMessagingKit/Jobs/Types/FailedMessageSendsJob.swift
#	SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
#	SessionMessagingKit/Jobs/Types/MessageReceiveJob.swift
#	SessionMessagingKit/Jobs/Types/MessageSendJob.swift
#	SessionMessagingKit/Jobs/Types/NotifyPushServerJob.swift
#	SessionMessagingKit/Jobs/Types/RetrieveDefaultOpenGroupRoomsJob.swift
#	SessionMessagingKit/Jobs/Types/SendReadReceiptsJob.swift
#	SessionMessagingKit/Jobs/Types/UpdateProfilePictureJob.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
#	SessionMessagingKit/Utilities/AppReadiness.m
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
#	SessionShareExtension/ShareNavController.swift
#	SessionSnodeKit/Jobs/GetSnodePoolJob.swift
#	SessionUtilitiesKit/Configuration.swift
#	SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
#	SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
#	SignalUtilitiesKit/Utilities/SSKAsserts.h
12 months 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
12 months ago
Morgan Pretty bc5d8d0931 Cleaning up final things before release
Added basic support for the '25' blinded prefix
Fixed a unit test CI issue
12 months ago
ryanzhao 31976048bd Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 12 months 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
12 months ago
Ryan Zhao 0fc00ab527 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 12 months ago
Morgan Pretty c7f6b5a94e Replaced the 'ZXingObjC' dependency with a native implementation for scanning QR Codes 1 year ago
Morgan Pretty 3c81e3a487 Changed the submodule to be via HTTPS instead of SSH
Cleaned out some old, unused references from project files
1 year 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
1 year 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.
1 year 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
1 year 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
1 year ago
Ryan Zhao b9b70b1e7f Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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
1 year ago
Ryan Zhao 0b0371e769 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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
1 year ago
Morgan Pretty 3151aa8901 Fixed an issue where the users push token might never get unregistered 1 year ago
Ryan Zhao defd7e3cfe Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year ago
Morgan Pretty f976d85c27 Fixed infinite loops introduced by the last change >_> 1 year 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
1 year ago
Ryan Zhao ce02aa3f5a Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year ago
Morgan Pretty 30779bdf5b Removed an incorrect `AssertIsOnMainThread` 1 year ago
Ryan Zhao e78015faa1 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year ago
ryanzhao aace269359 WIP: make job chain of disappearing messages job, expiration update job, and config sync job 1 year 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
1 year 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
1 year ago
Ryan Zhao d81a8743ac Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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
1 year 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
1 year 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
1 year ago
ryanzhao ee5de25d4a Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 1 year 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
1 year ago
Ryan Zhao 2d3b42a53a minor refactor 1 year ago
Ryan Zhao 9ae6d2f506 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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)
1 year ago
Ryan Zhao f8d0ac2075 fix an issue where disappearing messages config messages could not be marked as read when opening a conversation 1 year ago
Ryan Zhao f7c7c75527 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year ago
Morgan Pretty 0a638bf37b Fixed the broken JobRunner tests
Cleaned up the 'isRunningTests' logic so it isn't dependant on having an AppContext
1 year ago
Morgan Pretty 54fc75cd85 Tweaked the logic so the unreadMarker will appear via global search 1 year 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
1 year ago
Ryan Zhao e3537e55ca Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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
1 year ago
ryanzhao d80ac97217 WIP: refactor BezierPathView with swiftUI 1 year ago
ryanzhao d717828af5 remove unused objc AVAudioSession+OWS 1 year ago
ryanzhao 40f1d6491d Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 1 year ago
Morgan Pretty 1ba060b7f0 Cleaned up the outdated message logic and fixed a few bugs
Fixed a bug where showing hidden conversations would appear at the bottom of the list
Fixed a bug where you would be kicked from a one-to-one conversation when opening it if you had hidden it
Fixed a bug where joining a community via URL wasn't automatically opening the community
Fixed a bug where the community poller could trigger again before the previous poll completed
Fixed an edge-case where community messages could be missed if the app crashed at the right time when processing a poll response
1 year ago
ryanzhao 5b9944d668 Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 1 year 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
1 year ago
ryanzhao 32d7dd2ea6 refactor on accessibility of SessionButton.Info, and fix some unit tests on disappearing messages config 1 year ago
Ryan Zhao 43e38c5644 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year 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
1 year ago
Morgan Pretty 6209f2b5c1 Updated LintLocalizableStrings to be a bit more exclusive
Removed a bunch of unused hidden translation files
1 year ago
Morgan Pretty c455a13a7b Finished adding logic to ignore messages invalidated by config
Added timestamps to the Profile table to avoid overriding current profile info with older info
Updated the MessageReceiver to ignore the rest of the messages invalidated by the config
Updated to the latest libSession
Updated the JobRunner to expose some more info about the currently running jobs
Made some tweaks to the ConfigurationSyncJob to better support concurrent jobs running for different targets
1 year 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
1 year ago
ryanzhao 284bdab9f8 WIP: refactor on fixing disappear after read 1 year ago
ryanzhao 963b3f6029 WIP: fix disappear after read for message sender 1 year ago
ryanzhao b78c13eafd fix UI issue of incoming visible messages in 1-1 convos 1 year ago
Ryan Zhao afb456b710 Merge branch 'updated-user-config-handling' into disappearing-message-redesign 1 year ago
Ryan Zhao 58740d9639 sync disappearing messages config through libSession 1 year ago
Morgan Pretty fd2794cbc2 Merge remote-tracking branch 'RyanFork/global-search-improvement' into feature/updated-user-config-handling
# Conflicts:
#	Session/Shared/FullConversationCell.swift
1 year 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
1 year ago
Morgan Pretty 6fcfffafe7 Added logic to include the commit hash in the logs for debug builds 1 year ago
Morgan Pretty 4419d31077 Removed the ability to swipe-to-reply to sending/failed outgoing messages 1 year ago
Morgan Pretty cf2e198a64 Updated the profile picture modal
Moved the ProfilePictureView into SessionUIKit
Fixed a couple of minor ProfilePictureView bugs
1 year ago
ryanzhao 89324f01bf update disappearing messages unit test 1 year 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
1 year ago
Morgan Pretty 2bb68ccbcf Fixed a few issues found during QA
Fixed an issue where you could be left on the settings screen after deleting/leaving a conversation
Fixed an issue where deleting the last contact/group/community from a device would result in linked devices not deleting the relevant conversation
Fixed an issue where leaving a group created a race condition where linked devices wouldn't remove the group
1 year ago
Morgan Pretty b277056a62 Removed the extra debug logs for message sending 1 year ago
Morgan Pretty 44824c8127 Added a bunch of logs to the Jobs to better track the startup state 1 year ago
Morgan Pretty 77b6faccb3 Merge remote-tracking branch 'upstream/dev' into feature/job-runner-unit-tests
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionUtilitiesKit/Database/Models/Job.swift
#	SessionUtilitiesKit/Database/Models/JobDependencies.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
1 year ago
Morgan Pretty 3f362a71f3 Fixed a couple of QA issues
Forced the user config feature to be on (for testing)
Fixed a bug where triggering the 'Delete for everyone' functionality would incorrectly try to delete from the recipient swarm (not possible)
Fixed a bug where the 'profileNamePublisher' could only be set once resulting in potential issues if you try to restore different accounts within the same session
Re-added the limit to the number of reactions to display before collapsing to make it consistent with the designs and other platforms
Updated the SnodeAPI to ensure that when it retries it will actually select a new snode
1 year ago
Ryan Zhao e78b41164c add missing translation in French 1 year ago
Ryan Zhao edfe8a61b0 Merge branch 'feature/updated-user-config-handling' of https://github.com/mpretty-cyro/session-ios into disappearing-message-redesign 1 year ago
Ryan Zhao 66d7226d80 get rid of truncating calculation and guard constant number 1 year 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
1 year ago
ryanzhao 05eb059caf modify & add accessibility ids and labels 1 year ago
Morgan Pretty 19eddd79a1 Fixed an issue where non-visible messages were causing their conversations to appear
Fixed a crash when trying to unsend a message
1 year ago
Morgan Pretty 2053b6b0cd Added some accessibility info
Fixed an issue where the Display Picture update modal wouldn't rendering animated images actually animating
1 year ago
ryanzhao 31af9c2ab9 refactor & fix default duration of legacy disappearing message, and fix typo 1 year ago
ryanzhao 86705d88e3 Merge branch 'feature/updated-user-config-handling' into disappearing-message-redesign 1 year ago