Commit graph

1309 commits

Author SHA1 Message Date
Ryan Zhao
bf5f927ad0 Merge branch 'dev' into message-and-image-info 2023-02-27 10:03:34 +11:00
Ryan Zhao
c9b9400e9e fix a crash caused by database write method reentrance 2023-02-23 14:40:10 +11:00
Morgan Pretty
ff36b3eeab Resolved a number of TODOs and a couple of crashes
Updated the logic to always fetch all config messages (and not de-dupe them)
Updated the onboarding to fallback to fetch the legacy config if the there is no updated user config
Added sorting to config message processing to reduce the turn-around time for certain edge-cases to resolve
Removed some redundant code
Fixed a database re-entrancy crash
Fixed a crash when merging config messages
Fixed an issue which could occur by registering too many 'afterTransaction' closures
2023-02-21 17:10:02 +11:00
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
2023-02-21 11:11:06 +11:00
Morgan Pretty
c8a199a8ba Fixed the remaining broken tests 2023-02-21 09:55:21 +11:00
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
2023-02-20 12:56:48 +11:00
Ryan Zhao
a14a99896b Merge branch 'dev' into switch-video-view 2023-02-20 10:02:18 +11:00
Ryan Zhao
aca587be17 Merge branch 'dev' into fix-quoting-in-community-chats 2023-02-20 10:02:08 +11:00
Morgan Pretty
e0f9be082a
Merge pull request #791 from mpretty-cyro/feature/pin-note-to-self-in-share-extension
Update the share extension to always show 'Note to Self' first
2023-02-20 08:45:56 +11:00
Morgan Pretty
e4d6400375 Merge remote-tracking branch 'upstream/dev' into fix/remaining-reachability-oddities
# Conflicts:
#	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
2023-02-20 08:44:56 +11:00
Morgan Pretty
507ab9f34f
Merge pull request #787 from mpretty-cyro/fix/warn-first-giphy-use
Added a warning prompt the first time someone uses Giphy
2023-02-20 08:40:28 +11:00
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
2023-02-15 15:11:57 +11:00
Morgan Pretty
bdddfb35d7 Update the share extension to always show 'Note to Self' first 2023-02-15 12:03:26 +11:00
Morgan Pretty
f68bbc2f0a Fixed an issue where mentions weren't working in groups 2023-02-15 10:08:41 +11:00
Morgan Pretty
3b8153edd2 Added a warning prompt the first time someone uses Giphy 2023-02-14 16:02:24 +11:00
Morgan Pretty
3344e58716 Cleaned up some logic around sync messages
Added logic to indicate when a sync message failed to send (and the ability to retry)
Added the retry/resync button to the long press message menu
Updated sync messages to run via the MessageSendJob
Updated the delivery status to always show on the last outgoing message
Updated the logic to update the delivery status when retrying to send a failed message
Removed the convoluted recursion logic for turning self-send messages into sync messages
2023-02-14 13:41:24 +11:00
Ryan Zhao
62b1470b55 further clean up for message sender 2023-02-13 17:20:25 +11:00
Ryan Zhao
08de65f774 minor refactor 2023-02-13 16:39:59 +11:00
Ryan Zhao
1845340582 WIP: refactor on the call UI to add switching function of caller and callee's video views 2023-02-13 14:22:54 +11:00
Ryan Zhao
b271e9c4c9 update local open group message to save blinded author id 2023-02-13 11:55:55 +11:00
Morgan Pretty
d020a7a05f Fixed a couple of reachability oddities and bugs
Updated the PathVC to indicate the network reachability
Updated messages sent to 'Note to Self' to properly indicate whether they were sent to the swarm
Fixed an issue where 'Note to Self' messages weren't actually getting sent to the swarm
2023-02-10 17:36:40 +11:00
ryanzhao
a6fa53aaf0 fix #768 2023-02-09 16:53:29 +11:00
ryanzhao
092864f918 Merge branch 'dev' into message-and-image-info 2023-02-09 11:17:16 +11:00
Morgan Pretty
1b97bb6aa8 Fixed an incorrect size in the FileServerAPI which could result in upload errors 2023-02-08 09:19:06 +11:00
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
2023-02-06 12:51:34 +11:00
ryanzhao
d322c38458 WIP: show media full screen 2023-02-03 17:00:42 +11:00
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
2023-02-01 18:12:36 +11:00
Ryan Zhao
d1aacf24c2 Merge branch 'dev' into message-and-image-info 2023-01-30 09:49:38 +11:00
Morgan Pretty
07046db4b6 Updated to the latest libSession, fixed a few bugs
Added the logic to sync the last read state for a conversation
Added the legacyClosedGroup thread variant
Updated the config handling to be able to update the 'mergeResult' and require a dump/push due to local changes
Fixed an issue where the name on the CallVC could go off the screen
Fixed an issue where OpenGroup info could sometimes incorrectly get deleted
Fixed an issue where the ConfirmationModal on a SessionTableViewController wouldn't trigger it's action
Fixed an issue where the config handling could incorrectly trigger a contacts update when there were no changes
2023-01-27 14:51:04 +11:00
Morgan Pretty
4f8fb63f2c Merge remote-tracking branch 'upstream/dev' into feature/updated-user-config-handling
# Conflicts:
#	Session/Media Viewing & Editing/PhotoCapture.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/Onboarding/RestoreVC.swift
#	Session/Shared/SessionTableViewController.swift
#	Session/Shared/SessionTableViewModel.swift
#	SessionMessagingKit/Calls/WebRTCSession.swift
#	SessionMessagingKit/Database/Models/Attachment.swift
#	SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
#	SessionMessagingKit/File Server/FileServerAPI.swift
#	SessionMessagingKit/Jobs/Types/AttachmentDownloadJob.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPI.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionSnodeKit/OnionRequestAPI.swift
#	SessionSnodeKit/SnodeAPI.swift
#	SessionUtilitiesKit/Database/Models/Identity.swift
#	SessionUtilitiesKit/JobRunner/JobRunner.swift
2023-01-27 14:26:17 +11:00
RyanZhao
a5cc813dd5
Merge pull request #769 from mpretty-cyro/feature/read-status-updates
Added the updated delivery status UI
2023-01-27 11:24:10 +11:00
Morgan Pretty
5659b55eae Fixed a bug where a stale flag was used to determine how to send a push notification 2023-01-24 17:37:30 +11:00
Morgan Pretty
0abb09c0cf Fixed a few small issues found when testing
Fixed a couple of issues with the ConfigurationSyncJob logic
Moved the proto parsing out of the MessageReceiveJob write block (to reduce time blocking writes)
Removed difficulty from the SendMessageResponse (deprecated and removed)
2023-01-18 10:56:18 +11:00
ryanzhao
f185ccf506 add info message view in context menu vc 2023-01-17 14:24:21 +11:00
Ryan Zhao
d97730ab63 WIP: add receivedAtTimestampMs to MessageViewModel 2023-01-16 17:17:29 +11:00
Morgan Pretty
5c05fbbbb6 Added the updated delivery status UI
Updated the create closed group screen to cancel the search field when tapping outside of it (previously required tapping the cancel button)
2023-01-16 15:46:51 +11:00
Morgan Pretty
af9a135c08 Fixed an issue where open group info could incorrectly get removed 2023-01-16 09:19:56 +11:00
RyanZhao
8d8028da13
Merge pull request #754 from RyanRory/bug-fixes
Bug fixes
2023-01-10 11:42:09 +11:00
RyanZhao
1f9e58956c
Merge pull request #761 from mpretty-cyro/fix/use-offset-time
Use service node offset time where possible
2023-01-10 11:41:54 +11:00
Morgan Pretty
29ba25916c Fixed a few issues uncovered when testing the shared util feature flag
Added code to handle an edge-case where an account could exist without a display name if crashing at the right time when onboarding/linking (now request a display name on start up)
Fixed a crash which could occur when downloading new avatars
Fixed a minor layout issue with the seed reminder view
2023-01-05 13:40:33 +11:00
Morgan Pretty
4d487f2686 Fixed the broken unit tests 2023-01-05 12:36:47 +11:00
Morgan Pretty
e3a080dd5b Updated to the latest version of the libSession-utl (contacts size)
Fixed some broken unit tests (still some broken ones)
2022-12-21 18:29:57 +11:00
Morgan Pretty
a3da087352 Fixed a few build errors and cases where the offset wasn't taken into account 2022-12-21 17:46:18 +11:00
Morgan Pretty
f7199b4c44 Updated the code to take the service node offset into account when setting timestamps 2022-12-21 16:39:52 +11:00
Morgan Pretty
c78409a2d6 Increased the file upload size to 10Mb
Removed the 'fileSizeORMultiplier' that was dealing with the b64 encoding (no longer exists)
Increased the request timeout for file upload/download to 30 seconds (up from 10 seconds)
2022-12-21 09:10:47 +11:00
Morgan Pretty
14174e3fbd Fixed the build errors caused by removing the old 'syncConfiguration' function 2022-12-16 17:02:40 +11:00
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
2022-12-16 16:51:08 +11:00
Ryan Zhao
751eb8ce66 fix an issue where linking a device will remove the username on main device 2022-12-15 15:23:41 +11:00
Ryan Zhao
a14b2c0960 fix an issue where open group messages over 6 months old won't actually be trimmed 2022-12-15 15:20:59 +11:00
Morgan Pretty
893967e380 Updated to the latest config lib and added it's unit tests 2022-12-09 13:19:14 +11:00
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
2022-12-08 18:07:02 +11:00
Morgan Pretty
f1e9412c7a Added in missing code changes unrelated to closed groups rebuild 2022-12-08 14:21:38 +11:00
Morgan Pretty
70ff2b49f0 Fixed the broken tests and resolved some warnings
Stopped migration logs from appearing in unit tests

# Conflicts:
#	Session/Settings/RemoveUsersModal.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
2022-12-07 16:05:32 +11:00
Morgan Pretty
ca4ce52402 Fixing the broken unit tests, resolved the remaining TODOs
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKitTests/Open Groups/Models/BatchRequestInfoSpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
#	SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
#	SessionMessagingKitTests/_TestUtilities/TestOnionRequestAPI.swift
#	SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
#	SessionUtilitiesKit/Networking/BatchResponse.swift
#	SessionUtilitiesKitTests/Networking/BatchResponseSpec.swift
2022-12-07 16:04:31 +11:00
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
2022-12-07 15:59:17 +11:00
Morgan Pretty
6970ff22cc Refactored the remaining references to PromiseKit
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Media Viewing & Editing/PhotoCapture.swift
#	SessionMessagingKit/Jobs/Types/GarbageCollectionJob.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
#	SessionMessagingKit/Utilities/Promise+Utilities.swift
#	SessionShareExtension/ShareVC.swift
#	SessionShareExtension/ThreadPickerVC.swift
#	SessionSnodeKit/OnionRequestAPI+Encryption.swift
#	SessionSnodeKit/OnionRequestAPI.swift
#	SessionUtilitiesKit/Database/Storage.swift
#	SessionUtilitiesKit/Networking/HTTP.swift
2022-12-07 15:58:53 +11:00
Morgan Pretty
8b37002d89 Removed some unneeded imports
# Conflicts:
#	SessionMessagingKit/Jobs/Types/AttachmentUploadJob.swift
#	SessionMessagingKit/Jobs/Types/MessageSendJob.swift
#	SessionShareExtension/SAEScreenLockViewController.swift
#	SessionSnodeKit/Models/SnodeBatchRequest.swift
2022-12-07 15:54:56 +11:00
Morgan Pretty
8ac6b25ced Further refactoring work
Refactored usages and removed AFNetworking
Updated the media screens to use Combine

# Conflicts:
#	Session/Closed Groups/GroupMembersViewModel.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
#	Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
#	Session/Media Viewing & Editing/PhotoCapture.swift
2022-12-07 15:54:17 +11:00
Morgan Pretty
c9fdee9f24 Work on the PromiseKit refactor
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Home/Message Requests/MessageRequestsViewModel.swift
#	Session/Notifications/AppNotifications.swift
#	Session/Notifications/PushRegistrationManager.swift
#	Session/Notifications/SyncPushTokensJob.swift
#	Session/Notifications/UserNotificationsAdaptee.swift
#	Session/Settings/BlockedContactsViewModel.swift
#	Session/Settings/NukeDataModal.swift
#	Session/Settings/SettingsViewModel.swift
#	Session/Utilities/BackgroundPoller.swift
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/File Server/FileServerAPI.swift
#	SessionMessagingKit/Open Groups/OpenGroupAPI.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+UnsendRequests.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionSnodeKit/Networking/SnodeAPI.swift
#	SessionSnodeKit/OnionRequestAPI.swift
#	SessionUtilitiesKit/Networking/HTTP.swift
2022-12-07 15:50:58 +11:00
Morgan Pretty
f5933bdf75 Updated to the latest version of the shared util library
# Conflicts:
#	Session/Onboarding/Onboarding.swift
2022-12-07 15:08:04 +11:00
Morgan Pretty
1345e89809 Further config util logic
Removed the usage of the OWSAES256Key (using CryptoKit and raw data instead)
Removed the pre-compiled headers to speed up builds with minor changes (explicit imports instead)

# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Database/Models/ClosedGroup.swift
#	SessionMessagingKit/Protos/Generated/SNProto.swift
#	SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift
#	SessionMessagingKit/Protos/SessionProtos.proto
#	SessionMessagingKit/Sending & Receiving/MessageSender.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
#	SessionMessagingKit/Utilities/ProfileManager.swift
#	SessionSnodeKit/Models/DeleteAllMessagesRequest.swift
#	SessionSnodeKit/Models/GetMessagesRequest.swift
#	SessionSnodeKit/Models/SendMessageRequest.swift
#	SessionSnodeKit/Types/SnodeAPINamespace.swift
2022-12-07 15:06:15 +11:00
Morgan Pretty
ba33d2c95e Added the logic to create the UserProfile data dump in the migration 2022-12-07 14:40:56 +11:00
Morgan Pretty
f721178b49 Added in a migration to create the user profile config and trigger a sync
# Conflicts:
#	Session.xcodeproj/project.pbxproj
2022-12-07 14:40:54 +11:00
Morgan Pretty
edf3bde573 Started working on the integration
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	SessionMessagingKit/Configuration.swift
#	SessionMessagingKit/Database/Migrations/_012_AddClosedGroupInfo.swift
#	SessionMessagingKit/Database/Migrations/_013_AutoDownloadAttachments.swift
#	SessionMessagingKit/Open Groups/Models/SOGSBatchRequest.swift
#	SessionSnodeKit/OnionRequestAPI.swift
#	SessionSnodeKit/SSKDependencies.swift
#	SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
#	SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
#	SessionTests/Settings/NotificationContentViewModelSpec.swift
#	SessionUtilitiesKit/Networking/BatchResponse.swift
2022-12-07 14:40:03 +11:00
Morgan Pretty
b834dddbe4 Fixed another minor bug, added logging and defensive coding
Fixed a bug where you couldn't set animated avatars
Added some defensive coding to prevent the JobRunner queues from adding or starting jobs that don't have id's set
Tweaked the code to be a little more explicit when inserting jobs before other jobs
2022-11-30 11:57:13 +11:00
RyanZhao
7e161e30a0
Merge pull request #655 from RyanRory/quote-standardise
Quote standardise
2022-11-16 09:52:38 +11:00
ryanzhao
ab2dc8deaf Merge branch 'dev' into quote-standardise 2022-11-15 11:32:45 +11:00
Morgan Pretty
7cbdca672e Fixed a bug where copying the open group url wasn't working correctly 2022-11-09 11:07:13 +11:00
Morgan Pretty
9dbab87ba4 Actually setting the 'forceBlinded' flag 2022-11-07 10:19:17 +11:00
Morgan Pretty
f4d4e7d810 Fixed an issue with blinding being switched on
Fixed an issue where a user that was part of an open group before blinding was enabled wouldn't be able to access the group once blinding was switched on
Updated the code to better support errors sent from SOGS as bencoded data
2022-11-07 10:18:59 +11:00
Morgan Pretty
c934415355 General bug fixing
Fixed an issue where the database could get suspended if the app is launched when the app is doing a background fetch
Fixed an incorrectly localized string
Fixed an issue where the author name on a message didn't have it's width constrained
Fixed a bug where the conversation message list inset wasn't getting updated properly in some cases
Tweaked some logic in the OpenGroupPoller when running from the background to try and close some of the odd cases
2022-11-03 17:26:10 +11:00
Morgan Pretty
301ae76b0f Updated the OpenGroupAPI to always use authentication and default to blinded when no capabilities are present 2022-10-24 15:24:46 +11:00
Morgan Pretty
89df1261e3 Added a method to allow safer database inserts
Fixed an issue where the app settings were updating immediately making them seem to
Updated GRDB to version 6.1 and SQLCipher to 4.5.2
Added a method which allows for inserting into the database while omitting columns which exist in the object but not in the database (so allow for old migrations to run with less issues)
Updated all the migrations to use the migration safe insert method
Removed some ObjC support extension functions
2022-10-21 17:32:51 +11:00
ryanzhao
981621738a Merge branch 'dev' into quote-standardise 2022-10-19 16:14:20 +11:00
Morgan Pretty
d8fd3b35b4 Theming tweaks and bug fixes
Made a tweak to prevent some odd looking keyboard transitions when going to conversation settings
Updated the PagedDatabaseObserver to not call 'onChangeUnsorted' on the main thread (now we can generate the changeset on the background thread so there is less main thread work)
Fixed an issue where the most recently received message from the swarm could be removed from the swarm yet the app would still poll for it, resulting in the swarm always returning the oldest possible messages until the user sends a new one-to-one message
Fixed an issue where the initial scroll offset could be incorrect due to certain message types
Fixed an issue where the title view inside a conversation could jump when pushing to the conversation settings screen
Refactored a couple of ObjC functions to Swift as they were crashing (due to memory allocation?) hopefully this will fix it
Tweaked some DispatchQueue priorities to ensure PagedDatabaseObserver loading is prioritised
Updated buttons to use a standard convention for highlighted states
Updated the new conversation button to follow the new highlighted state convention
2022-10-14 17:09:38 +11:00
ryanzhao
85147551cf Merge branch 'dev' into quote-standardise 2022-10-12 10:32:34 +11:00
Morgan Pretty
42e82af8a2 Removed the 'screenshot notifications' setting 2022-10-10 17:33:10 +11:00
Ryan Zhao
01c0f8152c Merge branch 'dev' into quote-standardise 2022-10-10 13:32:21 +11:00
Morgan Pretty
2ad8fc381d Fixed a few message scrolling bugs and a couple minor UI tweaks
Fixed a bug where sending a quote message could result in the messages jumping incorrectly
Fixed a bug where the quote input UI wasn't styled correctly on dark themes
Fixed a minor padding issue
Fixed an issue where in-conversation search could be a bit jumpy (simplified logic greatly)
2022-10-10 11:48:48 +11:00
Morgan Pretty
58184d6d27 Fixed issues found during testing
Fixed an issue where the user config message wouldn't get sent correctly
Fixed an issue where the theme preference migration wasn't working properly
Fixed a crash which could occur in some cases when updating the theme
Fixed a crash which could occur when opening the new conversation screen with a contact with no name
Fixed a minor UI glitch with the 'sessionId' separator border
Fixed a minor UI issue where long author names in quotes could cause the message bubble to stretch incorrectly
Cleaned up some no-contact UI states
Updated the Atomic queue to have a 'userInteractive' priority so it can't be delayed by lower priority queues and block the main thread
2022-10-07 15:35:17 +11:00
Morgan Pretty
27e0981913 Added toast and info message deletion, fixed layout issues & unit tests
Added a toast when hitting the emoji reacts rate limit
Added the ability to delete info messages
Fixed some odd layout behaviours with the VisibleMessageCell
Fixed some layout issues with reactions
Removed some unneeded custom code
2022-10-05 18:44:25 +11:00
Morgan Pretty
db54bf657e Fixed remaining bugs
Split the date out of the VisibleMessageCell into it's own cell to clean up deletion/insertion animations
Fixed a layout issue with the Open Group
Fixed an issue where the QRCode tinting wasn't working on iOS 16
Implemented a swift version of an ObjC function
2022-10-04 16:21:13 +11:00
Morgan Pretty
0c09f2bfc5 Fixed a few more QA issues, added a minor feature
Updated the document download UI
Minor font tweaks to match settings more closely
Added profile data to the MessageRequestResponse
Fixed the broken tests
2022-10-03 18:23:34 +11:00
Morgan Pretty
91802e4812 Fixed a number of crashes and bugs
Fixed a crash which would occur when rendering a message containing both a mention and a url
Fixed a crash which could occur during migration due to the openGroupServerMessageId essentially being the max UInt64 value which was overflowing the Int64 storage
Fixed a bug where empty read receipt updates were sending messages (even for non one-to-one conversations)
Fixed a bug where loading in large numbers of messages (via the poller) was auto scrolling to the bottom if the user was close to the bottom (now limited to <5)
Fixed a memory leak with the AllMediaViewController (strong delegate references)
Fixed an issue where non-alphanumeric characters would cause issues with global search
Fixed an issue where search result highlighting wasn't working properly
Fixed an issue where the app switcher UI blocking wasn't working
Updated the conversations to mark messages as read while scrolling (rather than all messages when entering/participating in a conversation)
Updated the modal button font weight to be closer to the designs
Added the ability to delete "unsent" messages
2022-09-30 14:31:05 +10:00
Morgan Pretty
5b1e19dd2e Increased the max username length from 26 bytes to 64 bytes 2022-09-28 18:28:25 +10:00
Morgan Pretty
40109e0bea Cleaned up the config-based table view controller to be more reusable
Updated the settings screens to have the "rounded group" styling
Added a "loading conversations" label to the Message Requests screen before the conversations load
Removed the legacy UserCell (replaced with the more reusable 'SessionCell')
Renamed a few things to make them more generic and reusable
2022-09-28 17:30:31 +10:00
Morgan Pretty
d9c6f2fc90 Fixed an issue where some data wasn't getting removed when handling an UnsendRequest 2022-09-27 15:36:58 +10:00
Morgan Pretty
f98e2a157e Added rounding to the settings and updated the SettingVC to use the config approach
Removed some unused code
2022-09-27 15:36:47 +10:00
Morgan Pretty
6099bd94d8 Updated the rest of the SnodeAPI static variables to be atomic to prevent threading crashes 2022-09-26 11:28:29 +10:00
Morgan Pretty
8109a326cf Merge remote-tracking branch 'upstream/dev' into feature/theming
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/Message Cells/CallMessageCell.swift
#	Session/Conversations/Views & Modals/JoinOpenGroupModal.swift
#	Session/Home/HomeVC.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Home/NewConversationButtonSet.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/Open Groups/JoinOpenGroupVC.swift
#	Session/Open Groups/OpenGroupSuggestionGrid.swift
#	Session/Settings/SettingsVC.swift
#	Session/Shared/BaseVC.swift
#	Session/Shared/OWSQRCodeScanningViewController.m
#	Session/Shared/ScanQRCodeWrapperVC.swift
#	Session/Shared/UserCell.swift
#	SessionMessagingKit/Configuration.swift
#	SessionShareExtension/SAEScreenLockViewController.swift
#	SessionUIKit/Style Guide/Gradients.swift
#	SignalUtilitiesKit/Media Viewing & Editing/OWSViewController+ImageEditor.swift
#	SignalUtilitiesKit/Screen Lock/ScreenLockViewController.m
2022-09-26 11:16:47 +10:00
Morgan Pretty
f7fd15dae0 Finished removing usages to non-theme colour variables
Updated theming throughout
Fixed a couple of bugs with the media gallery
2022-09-20 16:06:01 +10:00
Morgan Pretty
a59d1b8153 Fixed a few bugs found during regression testing
Increased version & build numbers for release
Fixed a bug where the closed group info messages might not include names for members added/removed when the profile was unknown
Fixed a bug where removing members from closed groups wasn't showing an info message correctly
Fixed a minor layout issue in the CallMessageCell
2022-09-19 16:39:04 +10:00
Morgan Pretty
7dc75af361 Fixed some bugs with disappearing messages
Fixed an issue where the DisappearingMessages job could incorrectly overwrite it's nextRunTimestamp
Fixed an issue where sent/self-send messages wouldn't correctly trigger the disappearing messages job
Fixed an issue where sending the mnemonic along with an attachment wasn't showing the warning prompt
Fixed an issue where the home screen wasn't updating on launch if the displayed messages were removed disappearing messages
Fixed a small UI glitch where the input field wouldn't immediately get cleared when sending a message (unfortunately there is a slight delay before the message appears still)
2022-09-19 14:02:11 +10:00
ryanzhao
d14cd07a5c minor refactor 2022-09-16 10:16:52 +10:00
Ryan Zhao
07fb498664 minor fix 2022-09-15 16:55:59 +10:00
Ryan Zhao
05bb1e1e61 clean up Permissions 2022-09-15 16:49:39 +10:00
Ryan Zhao
0539e4b192 clean up 2022-09-15 15:56:29 +10:00
Ryan Zhao
30e0e40ffa feat: disable typing and message requests in open groups if you don’t have "write" permission 2022-09-15 15:50:15 +10:00
Morgan Pretty
1bc6b0bdba Merge remote-tracking branch 'upstream/dev' into feature/theming
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/ConversationViewModel.swift
#	Session/Conversations/Message Cells/VisibleMessageCell.swift
#	Session/Home/HomeVC.swift
#	Session/Home/Message Requests/MessageRequestsViewController.swift
#	Session/Media Viewing & Editing/MediaTileViewController.swift
#	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/Onboarding/LandingVC.swift
#	SessionMessagingKitTests/_TestUtilities/MockGeneralCache.swift
2022-09-15 14:22:11 +10:00
RyanZhao
570883e28a
Merge pull request #687 from RyanRory/badcall-fix
Voice & video call fix
2022-09-15 13:26:15 +10:00
RyanZhao
31b62e28a7
Merge pull request #685 from RyanRory/emoji-react-tweak-2
Emoji reacts tweaks
2022-09-15 13:25:54 +10:00
Morgan Pretty
7715c5ea09 Did some more styling and fixed a few UI bugs
Fixed a bug where the time label would no longer appear in the context menu
Fixed a bug where the tile label in the context menu could be clipped
Tweaked the context menu appearance animation to look less jumpy when at the edges of the screen
2022-09-14 18:32:23 +10:00
Morgan Pretty
fe14bb1b31 Fixed a couple of bugs and did some more theming
Started trying to add the unit tests that were in the settings refactor branch (need to be refactored due to the implementation changes)
Fixed a bug where the typing indicators wouldn't get cleaned up in some cases
2022-09-13 17:57:13 +10:00
ryanzhao
47463280d2 Merge branch 'dev' into quote-standardise 2022-09-13 16:16:04 +10:00
ryanzhao
c121f99b22 Merge branch 'dev' into add-silence-audio 2022-09-13 15:54:36 +10:00
Morgan Pretty
93c2f0f503 Fixed some bugs with disappearing messages
Fixed an issue where the DisappearingMessages job could incorrectly overwrite it's nextRunTimestamp
Fixed an issue where sent/self-send messages wouldn't correctly trigger the disappearing messages job
Fixed an issue where sending the mnemonic along with an attachment wasn't showing the warning prompt
Fixed an issue where the home screen wasn't updating on launch if the displayed messages were removed disappearing messages
Fixed a small UI glitch where the input field wouldn't immediately get cleared when sending a message (unfortunately there is a slight delay before the message appears still)
2022-09-13 10:51:26 +10:00
Morgan Pretty
c707a2f80c Started refactoring the conversation image picker screens
Fixed a bug where returning from the background on the conversation screen would result in the input view being hidden
Refactored the PhotoCollectionPickerViewController to use the SettingsTableViewController convention
Updated the SettingsTableViewModel to worked based on Combine instead of the DatabaseObservable so it's more reusable for non-db cases
2022-09-08 11:22:36 +10:00
Morgan Pretty
face9da02b Fixed search performance, started styling in-conversaiton settings
Fixed a bug where the scroll to bottom button wasn't working
Fixed an issue where searching was running on the main thread (which could cause UI issues)
Updated the searching to interrupt the previous query when the search term changes
Updated the in-conversation settings to be use the new config-based approach (deleted the OWSConversationSettingsViewController)
2022-09-07 17:37:01 +10:00
Ryan Zhao
ccbf4e0945 clean 2022-09-05 17:14:56 +10:00
Ryan Zhao
31605672e2 fix call threading issues 2022-09-05 11:27:25 +10:00
ryanzhao
a5ede8c6a2 fix a case when the app goes into background with an ongoing call 2022-09-02 16:59:50 +10:00
ryanzhao
3eb7a5c5d9 fix self-send reaction notification 2022-09-02 16:41:09 +10:00
ryanzhao
3e8abd1952 tweak: make seqNo optional 2022-08-31 16:38:25 +10:00
ryanzhao
82e55a8d5b tweak: local reaction entry logic change 2022-08-30 14:58:31 +10:00
ryanzhao
ddbbf63d14 Merge branch 'dev' into emoji-react-tweak-1 2022-08-30 11:59:33 +10:00
Morgan Pretty
fc860e3957 Added fixes and defensive coding for a number of crashes
Fixed a crash which could occur due to multithreaded dependency access
Fixed a crash which could occur if the 'keyWindow' wasn't set on the LandingVC in time since we were force-unwrapping
Fixed a crash which could occur due to multithreaded swarm cache access
Fixed the broken unit tests
2022-08-30 09:45:40 +10:00
ryanzhao
931a356537 Merge branch 'dev' into emoji-react-tweak-1 2022-08-30 09:07:53 +10:00
Ryan Zhao
31dcb3c985 feat: cache remove all for open group emoji reacts 2022-08-29 15:58:49 +10:00
Morgan Pretty
08a52f9497 Fixed an issue which could cause the DB migration to fail for users with closed groups 2022-08-29 13:11:45 +10:00
ryanzhao
29dd85ebe7 minor refactor 2022-08-26 14:22:31 +10:00
Morgan Pretty
c82ee0c44b Finished off the updated settings sections and fixed a couple of bugs
Added the Blocked contacts screen
Added a setting to control whether concurrent audio messages should auto-play
Finished updating the settings screens
Fixed an issue where items that should be removed from the PagedDatabaseObserver due to filter logic weren't getting removed in some cases
2022-08-26 14:09:41 +10:00
Morgan Pretty
a1e88329db Merge branch 'dev' into feature/theming
# Conflicts:
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
#	Session/Conversations/Message Cells/VisibleMessageCell.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
#	SessionMessagingKit/Shared Models/MessageViewModel.swift
#	SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
#	SignalUtilitiesKit/Profile Pictures/ProfilePictureView.swift
2022-08-26 13:24:42 +10:00
ryanzhao
287fabb390 Merge branch 'dev' into emoji-reacts-tweaks 2022-08-26 10:24:29 +10:00
Ryan Zhao
81ef5a744a fix count logic 2022-08-25 17:28:48 +10:00
Ryan Zhao
543f729247 feat: add local cache and deal with merging for reaction changes 2022-08-25 17:24:43 +10:00
Morgan Pretty
a0e43875e7
Merge pull request #674 from mpretty-cyro/fix/data-extraction-timestamp
Fixed a bug where the "DataExtractionNotification" messages weren't correctly setting their tmestamps
2022-08-25 15:03:05 +10:00
Morgan Pretty
84ccb63b35 Fixed a bug where the "DataExtractionNotification" messages weren't correctly setting their tmestamps 2022-08-25 14:16:59 +10:00
Morgan Pretty
c73bb43c56 Fixed a few bugs
Fixed a bug where open group message deletion wasn't thread-specific
Fixed a bug where the user couldn't delete pending/failed messages being sent to an open group
Fixed a bug where deleting content from "related" tables wouldn't correctly trigger an update within the PagedDatabaseObserver
Fixed a bug where a user that was an admin/mod of one open group would incorrectly appear to be an admin/mod of all open groups
2022-08-25 12:55:41 +10:00
Ryan Zhao
3a81ffc752 feat: add response for reaction endpoints 2022-08-25 12:01:49 +10:00
Ryan Zhao
128ef747b3 tweak: only fetch and show 5 reactors for open group reactions 2022-08-25 11:51:53 +10:00
Ryan Zhao
f9c2a2ce99 tweak: fix an issue where we may delete the wrong open group message and update reactions to wrong open group messages in other threads with the same server id 2022-08-25 11:12:22 +10:00
Morgan Pretty
823006a892 Updated the colours to source from direct theme values (instead of individual)
Removed an unused notification
Refactored the PrivacySettingsViewController
Refactored the ScreenLock code to Swift
Fixed an issue where the match dark/light setting wasn't getting applied on launch
Update the modal styling for the various settings modals
2022-08-24 17:33:10 +10:00
ryanzhao
851ad6c4c9 minor refactor 2022-08-23 12:25:23 +10:00
Ryan Zhao
c7c92f747c Merge branch 'various-bugs-and-optimisations' into emoji-reacts 2022-08-22 11:30:06 +10:00
Morgan Pretty
7097853d58 A few bugs fixes and some optimisations
Fixed a bug where notifications could incorrectly appear for messages in the current thread
Fixed a bug where swiping left/right on images in the MediaDetailViewController could load images from other threads
Fixed a bug where the unread count wouldn't appear correctly when opening a conversation
Fixed a bug where the unread count on the conversation cell could get truncated
Fixed a bug where notifications weren't working correctly when the app is in the foreground
Fixed a bug where we weren't clearing the 'received X new messages' count when in the foreground
Fixed a bug where outgoing messages could get marked as read in a very specific case
Updated the "group notification" logic to only apply to Open Groups (and always doing it rather than just in the background)
Added a placeholder person icon when you have a closed group with a single member
Added a couple of indexes to improve the HomeVC database query performance (reduce launch time by ~15% in some cases)
Added a background task to give message sending the chance to complete when sending the app to the background
Removed an unneeded query from the HomeViewModel init (reduce launch time by ~10% in some cases)
Optimised one of the queries used to load the data needed for the conversation screen
2022-08-19 16:58:47 +10:00
Ryan Zhao
651373234a feat: add capability check for open group emoji reacts 2022-08-18 16:13:20 +10:00
Ryan Zhao
a41a2f12bb Merge branch 'dev' into quote-standardise 2022-08-18 14:39:10 +10:00
Ryan Zhao
f7a4c92d38 Merge branch 'dev' into emoji-reacts 2022-08-18 14:38:01 +10:00
Morgan Pretty
d116ac0ebe Fixed an issue where the 2.0.2 migration broke the original _003_ migration 2022-08-18 13:38:02 +10:00
ryanzhao
0a9856d49a tweak: fix reaction notifications 2022-08-17 16:41:01 +10:00
ryanzhao
f93820362c add silence audio file 2022-08-17 14:19:14 +10:00
ryanzhao
29ed636285 Merge branch 'dev' into quote-standardise 2022-08-17 11:00:38 +10:00
ryanzhao
c26e6f7e9e Merge branch 'dev' into emoji-reacts 2022-08-17 11:00:06 +10:00
Morgan Pretty
20d63d106c Updated the app settings screens
Updated the MessageRequestViewModel to have the same page size as the HomeViewModel
Fixed a couple minor UI discrepancies
Refactored the old app settings child screens to be configuration based and all in Swift
2022-08-17 10:51:14 +10:00
ryanzhao
8d43eac608 Merge branch 'dev' into quote-standardise 2022-08-17 10:23:32 +10:00
ryanzhao
131cb9170b Merge branch 'dev' into emoji-reacts 2022-08-17 10:10:27 +10:00
Morgan Pretty
362986e73a Fixed a bug where the notification sound "preview" playing wasn't working 2022-08-17 10:02:23 +10:00
Morgan Pretty
3ab8bdec77 Fixed an issue where hidden mods/admins wouldn't be properly recognised
Added an isHidden flag to the GroupMember
Reset the OpenGroup 'infoUpdates' value to force a re-fetch of the data and fix users affected by this bug
Fixed the broken unit tests
2022-08-16 13:56:40 +10:00
Morgan Pretty
9f4d1a678a Fixed a bug where deleted incoming messages could incorrectly be counted as unread 2022-08-16 11:44:11 +10:00
Morgan Pretty
0ce96976bf Fixed an issue where the open group seqNo wasn't updated for deletions 2022-08-15 16:04:07 +10:00
Morgan Pretty
ea32e407a9 Applied theming to a number of screens, some minor cleanup and bug fixes
Updated the HomeVC, SettingsVC and GlobalSearch UI to use theming
Removed the "fade view" gradients from the various screens
Added a simple log to the PagedDatabaseObserver to make debugging easier
Updated the FullConversationCell to also show the "read" state for messages
Updated the read receipt icons to use SFSymbols directly
Updated the PlaceholderIcon to use the PrimaryColour's as it's colour options
2022-08-12 17:28:00 +10:00
Morgan Pretty
d56cee8234 Progressing on theming functionality
Created the ThemeManager and the system to control the dynamic theming
Started updating the main settings screens
Added the AppearanceViewController and connected it to the ThemeManager
Started adding theme values
Started applying theme values throughout
2022-08-12 13:35:17 +10:00
ryanzhao
6565c3fe73 feat: quotes refer to original attachments. 2022-08-12 11:46:28 +10:00
ryanzhao
9c9f1e3cd3 tweak: encode and sign reaction endpoints with raw emoji 2022-08-12 10:52:35 +10:00
Morgan Pretty
e007870c34 Fixed a bug where disappearing messages weren't working for local outgoing messages 2022-08-12 08:32:31 +10:00
Ryan Zhao
229e8376e5 WIP: observe quote update 2022-08-11 17:15:56 +10:00
Ryan Zhao
8ba7f927d8 feat: deal with quoted text 2022-08-11 16:44:22 +10:00
Ryan Zhao
88e419aac0 clean 2022-08-11 15:21:19 +10:00
Ryan Zhao
645f8e1d24 tweak: add update types of reaction to query parameter 2022-08-11 14:50:31 +10:00
Ryan Zhao
bedf3ab44b WIP: select quote body from original interaction 2022-08-11 14:41:08 +10:00
Ryan Zhao
4a5674f7b3 tweak: keep the old logic of removing open group messsages 2022-08-11 11:51:15 +10:00
Ryan Zhao
4cb2d81670 clean up 2022-08-11 11:32:29 +10:00
ryanzhao
8bedaa39fd Merge branch 'dev' into quote-standardise 2022-08-10 14:25:10 +10:00
ryanzhao
ba578fcb3c Merge branch 'dev' into emoji-reacts 2022-08-09 16:00:30 +10:00
Morgan Pretty
201c59fd2b Updated the logic for the background fetch timeout
Updated the logic for the background fetch timeout to happen in the AppDelegate and be based on a system property to avoid a few edge-cases
Removed the ID Blinding error handling 'e' suffix (as it's not actually part of the error)
2022-08-09 15:18:57 +10:00
Ryan Zhao
aaf91c3327 Merge branch 'database-refactor' into emoji-reacts 2022-08-08 15:00:00 +10:00
Ryan Zhao
c36520b420 Merge branch 'database-refactor' into quote-standardise 2022-08-08 14:58:36 +10:00
Morgan Pretty
2025fd2638 Fixed a crash and the SOGS deletion logic to continue to support the deprecated approach for the time being
Fixed an issue where the app could crash when entering the background during migration
Added the old 'messageServerIdsToRemove' code back for the time being to support the deprecated deletion behaviour
2022-08-08 13:56:11 +10:00
Ryan Zhao
7383ddad04 update sortId logic after open group reaction index 2022-08-08 13:07:29 +10:00
Ryan Zhao
91afad99d5 Merge branch 'database-refactor' into emoji-reacts 2022-08-08 10:16:07 +10:00
Ryan Zhao
d4237828a8 Merge branch 'database-refactor' into quote-standardise 2022-08-08 09:22:15 +10:00
Morgan Pretty
1224e539ea Reduced unneeded DB write operations and fixed a few minor UI bugs
Updated the database to better support the application getting suspended (0xdead10cc crash)
Updated the SOGS message handling to delete messages based on a new 'deleted' flag instead of 'data' being null
Updated the code to prevent the typing indicator from needing a DB write block as frequently
Updated the code to stop any pending jobs when entering the background (in an attempt to prevent the database suspension from causing issues)
Removed the duplicate 'Capabilities.Capability' type (updated 'Capability.Variant' to work in the same way)
Fixed a bug where a number of icons (inc. the "download document" icon) were the wrong colour in dark mode
Fixed a bug where the '@You' highlight could incorrectly have it's width reduced in some cases (had protection to prevent it being larger than the line, but that is a valid case)
Fixed a bug where the JobRunner was starting the background (which could lead to trying to access the database once it had been suspended)
Updated to the latest version of GRDB
Added some logic to the BackgroundPoller process to try and stop processing if the timeout is triggered (will catch some cases but others will end up logging a bunch of "Database is suspended" errors)
Added in some protection to prevent future deferral loops in the JobRunner
2022-08-05 17:10:01 +10:00
ryanzhao
073516ae78 feat: add sortId for reaction sorting 2022-08-05 14:23:28 +10:00
ryanzhao
34f6cf4646 Merge branch 'database-refactor' into quote-standardise 2022-08-05 09:55:18 +10:00
ryanzhao
99e4614bf8 Merge branch 'database-refactor' into emoji-reacts 2022-08-05 09:54:13 +10:00
Morgan Pretty
ecbded3819 Cleaned up the poller logic a bit 2022-08-04 18:09:03 +10:00
Ryan Zhao
a2c9bee269 WIP: add sortId 2022-08-04 17:10:24 +10:00
Ryan Zhao
37f876dffd deal with blinded id reactor 2022-08-04 13:43:47 +10:00
Morgan Pretty
f8b2f73f7b Fixed a few issues found during QA
Fixed an issue where quotes containing images wouldn't send
Fixed an issue where a MessageSend job could get stuck in an infinite retry loop if it had an attachment in an invalid state
Fixed an issue where quotes containing non-media files wouldn't contain the correct data
Fixed an issue where the quote thumbnail was getting the wrong content mode set
Fixed an issue where the local disappearing messages config wasn't getting generated correctly
Fixed an issue where the format parameters for the disappearing message info message were the wrong way around in one case
Updated the AttachmentUploadJob to try to support images which haven't completed downloading (untested as it's not supported via the UI)
2022-08-04 13:25:46 +10:00
Ryan Zhao
4d0b47fa7f clean 2022-08-04 11:32:35 +10:00
Ryan Zhao
6e0c812c6d fix a crash where reactors in open group doesn't have a profile 2022-08-04 11:03:58 +10:00
ryanzhao
30e48209e2 feat: persist open group reactions into local database 2022-08-03 16:40:29 +10:00
ryanzhao
cd08c792d3 WIP: include reactions into open group message detail info 2022-08-03 16:08:23 +10:00
ryanzhao
1c9d23eeb5 Merge branch 'database-refactor' into emoji-reacts 2022-08-03 09:59:29 +10:00
ryanzhao
9f12dee7b7 Merge branch 'database-refactor' into quote-standardise 2022-08-03 09:59:08 +10:00
ryanzhao
19a1edb33a WIP: persist reaction locally 2022-08-03 09:58:13 +10:00
Morgan Pretty
5f1039b39e Updated the PushNotificationAPI to use V4 onion requests instead of V2
Fixed a crash which could occur when handling 'loadMedia' edge cases in the MediaView (was running on non-main thread)
2022-08-03 09:10:20 +10:00
ryanzhao
a742e97d00 feat: decode reactions when polling for open group messages 2022-08-02 13:50:31 +10:00
ryanzhao
f99ae07309 Merge branch 'database-refactor' into emoji-reacts 2022-08-02 09:35:55 +10:00
ryanzhao
2ef31b83b3 Merge branch 'database-refactor' into quote-standardise 2022-08-02 09:30:25 +10:00
Ryan Zhao
85162cd8a2 WIP: decode open group reactions 2022-08-01 17:14:05 +10:00
Morgan Pretty
8f3e7fc36a Removed the debug code and added a migration to remove the old YDB
Fixed a typo
2022-08-01 16:53:05 +10:00
Ryan Zhao
28f4aad691 clean 2022-08-01 16:07:51 +10:00
Ryan Zhao
a66948812e feat: open group emoji reacts endpoints work 2022-08-01 15:45:59 +10:00
Morgan Pretty
b468efc33b Updated the GarbageCollectionJob to log the number of files it removes 2022-08-01 10:05:30 +10:00
Morgan Pretty
4d5ded7557 Fixed a few bugs with media attachment handling, added webp support
Updated the OpenGroupManager to create a BlindedIdLookup for messages within the `inbox` (validating that the sessionId does actually match the blindedId)
Added support for static and animated WebP images
Added basic support for HEIC and HEIF images
Fixed an issue where the file size limit was set to 10,000,000 bytes instead of 10,485,760 bytes (which is actually 10Mb)
Fixed an issue where attachments uploaded by the current user on other devices would always show a loading indicator
Fixed an issue where media attachments that don't contain width/height information in their protos weren't updating the values once the download was completed
Fixed an issue where the media view could download an invalid file and endlessly appear to be downloading
2022-07-29 15:26:24 +10:00
ryanzhao
233a77608e Merge branch 'database-refactor' into quote-standardise 2022-07-29 09:18:26 +10:00
ryanzhao
8920cbdc28 Merge branch 'database-refactor' into emoji-reacts 2022-07-29 09:15:36 +10:00
Morgan Pretty
c022f7cda2 Added an exponential back-off to polling open groups when they fail to poll 2022-07-28 18:26:22 +10:00
Ryan Zhao
f7a6d0dbb0 feat: add & delete emoji reacts in open groups 2022-07-28 16:32:51 +10:00