Commit Graph

1359 Commits (71862a52b83b05b6d54161b15ac642f41c935f75)

Author SHA1 Message Date
Ryan Zhao 1fc8261944 fix update expiries testing on testnet 1 year ago
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)
1 year ago
ryanzhao f185ccf506 add info message view in context menu vc 1 year ago
Ryan Zhao d97730ab63 WIP: add receivedAtTimestampMs to MessageViewModel 1 year ago
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)
1 year ago
Ryan Zhao 73e05ec19e use new endpoint to shorten messages' TTL 1 year ago
Morgan Pretty af9a135c08 Fixed an issue where open group info could incorrectly get removed 1 year ago
ryanzhao 1f3bfde5b2 WIP: make new property lastChangeTimestampsMs optional 2 years ago
ryanzhao 4c366dedc2 clean up SyncedExpiries 2 years ago
ryanzhao 0bfc337bcc add index & clean 2 years ago
ryanzhao 071d23c0df update comments 2 years ago
ryanzhao a50af6702e make expiresInSeconds & expiresStartedAtMs private(set) 2 years ago
ryanzhao 87dda2aa20 clean 2 years ago
ryanzhao 9954cddc2a Merge branch 'dev' into disappearing-message-redesign 2 years ago
RyanZhao 8d8028da13
Merge pull request #754 from RyanRory/bug-fixes
Bug fixes
2 years ago
RyanZhao 1f9e58956c
Merge pull request #761 from mpretty-cyro/fix/use-offset-time
Use service node offset time where possible
2 years ago
Ryan Zhao f105c1d7bc clean 2 years ago
Ryan Zhao 3712893bdc clean 2 years ago
Ryan Zhao 9c39945c89 clean 2 years ago
Ryan Zhao 3a3be0ca7b resolve a TODO 2 years ago
Ryan Zhao a3f8d9e81a clean 2 years ago
Ryan Zhao 71449c22b1 feat: remove previous disappearing messages change info message when adding a new one 2 years ago
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
2 years ago
Morgan Pretty 4d487f2686 Fixed the broken unit tests 2 years ago
Morgan Pretty e3a080dd5b Updated to the latest version of the libSession-utl (contacts size)
Fixed some broken unit tests (still some broken ones)
2 years ago
Morgan Pretty a3da087352 Fixed a few build errors and cases where the offset wasn't taken into account 2 years ago
Morgan Pretty f7199b4c44 Updated the code to take the service node offset into account when setting timestamps 2 years ago
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)
2 years ago
Morgan Pretty 14174e3fbd Fixed the build errors caused by removing the old 'syncConfiguration' function 2 years ago
Morgan Pretty 8f3dcbc6be Sorted out a bunch of the config syncing logic
Updated the onboarding to attempt to retrieve the current user profile config and skip display name collection if it already exists
Updated the logic to get the snode pool and build paths immediately on launch even if the user hasn't been created yet (faster onboarding)
Removed the iOS-specific concurrent dual snode '/store' behaviour
Cleaned up the profile updating logic
Fixed an issue where the pollers could end up deadlocking the main thread if too many tried to start concurrently
2 years ago
Ryan Zhao 751eb8ce66 fix an issue where linking a device will remove the username on main device 2 years ago
Ryan Zhao a14b2c0960 fix an issue where open group messages over 6 months old won't actually be trimmed 2 years ago
ryanzhao c4e6f3fe47 clear open group inbox when clear account data 2 years ago
ryanzhao 123c458c32 update disappearing messages off config info message's expiration 2 years ago
Ryan Zhao e93c83b9f2 wip: update disappearing messages config off info message's expiration 2 years ago
Ryan Zhao 4cc6d24404 fix sync expiries jobs 2 years ago
Ryan Zhao 3368f184de fix sync expiries job 2 years ago
Ryan Zhao f736e4709b refactor: make sync expiries to a job & only save sync message server hash for outgoing messages 2 years ago
Morgan Pretty 893967e380 Updated to the latest config lib and added it's unit tests 2 years ago
Morgan Pretty 174725c7fd Removed unneeded imports of libraries to understand usage
Refactored some 3rd-part standard encryption to use CryptoKit
Removed the PromiseKit pod
Fixed the broken tests
2 years ago
Ryan Zhao 4c5bfe258d fix an issue where sync expiry will falsely start disappearing messages according to current config 2 years ago
Ryan Zhao a33958ae7b add server hash to disappearing messages info message 2 years ago
Morgan Pretty f1e9412c7a Added in missing code changes unrelated to closed groups rebuild 2 years ago
Ryan Zhao 3b1bc3615e clean 2 years ago
Ryan Zhao 5542f0e389 fix an issue where linked device will remove current username 2 years ago
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
2 years ago
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
2 years ago
Morgan Pretty 5033738994 Fixed a few issues caused by the PromiseKit refactor
Started cleaning up the TODOs
Fixed a couple of merge conflict issues
Fixed a bug with the state of attachments which failed to download

# Conflicts:
#	SessionMessagingKit/Database/Models/Attachment.swift
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Morgan Pretty f5933bdf75 Updated to the latest version of the shared util library
# Conflicts:
#	Session/Onboarding/Onboarding.swift
2 years ago
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
2 years ago
Morgan Pretty ba33d2c95e Added the logic to create the UserProfile data dump in the migration 2 years ago
Morgan Pretty f721178b49 Added in a migration to create the user profile config and trigger a sync
# Conflicts:
#	Session.xcodeproj/project.pbxproj
2 years ago
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
2 years ago
ryanzhao ea44a16f9d fix expire timer update message 2 years ago
ryanzhao 8caed9dc9c fix open group trimming & removing unread disappearing messages after 14 days 2 years ago
ryanzhao 491ca58e9d fix an issue where the info message won't disappearing if it is from expiration timer update message 2 years ago
Ryan Zhao bdea161aba feat: bring back legacy disappearing messages info message 2 years ago
Ryan Zhao 49b22ab98e fix an issue where in some cases the new client will be marked as old ones 2 years ago
Ryan Zhao 3643a96918 clean 2 years ago
Ryan Zhao c247064fa8 feat: check contacts client version based on protobuf 2 years ago
Ryan Zhao 245682b40d feat: add database column for version detecting 2 years ago
ryanzhao 3b08339e0b feat: add column for contact using outdated client in database 2 years ago
Ryan Zhao 8e64cda138 re-enable the handling for expiration timer update messages until the new design is enabled 2 years ago
Ryan Zhao f4a2d41d34 do not add disappearing messages configuration to content message proto until the new design is enabled 2 years ago
Ryan Zhao 4225ba6a04 feat: do not update messages' ttl until the new design is enabled 2 years ago
Ryan Zhao f0b3044e89 ui: add legacy option for 1-1 disappearing messages and clean 2 years ago
Ryan Zhao 984aee4aa9 WIP: add legacy disappearing messages 2 years ago
ryanzhao eeb0f4e47c Merge branch 'dev' into disappearing-message-redesign 2 years ago
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
2 years ago
ryanzhao a198145fb2 remove padding for sync expiry messages 2 years ago
ryanzhao afbb60b66d fix: disappear after read for control messages 2 years ago
ryanzhao 14a853ab07 feat: send expire timer update message 2 years ago
ryanzhao 49c019a9d4 make control message disappears as the settings 2 years ago
ryanzhao 1a4343e6df update protobuf 2 years ago
ryanzhao 9e80187214 refactor to make disappearing message after send work for control messages 2 years ago
ryanzhao 1c4981cb5d WIP: disappearing messages for control messages 2 years ago
Ryan Zhao bfd0fc3c0c fix closed group member & admin sql statement in convo settings 2 years ago
Ryan Zhao 879c55906e fix disappear after send 2 years ago
Ryan Zhao 9866e26d03 update disappear after send message receiving 2 years ago
Ryan Zhao 2ad8041b59 feat: allow group admin to set disappearing message config 2 years ago
ryanzhao 5c345174c1 update protobuf 2 years ago
ryanzhao 3da092019b Merge branch 'dev' into disappearing-message-redesign 2 years ago
RyanZhao 7e161e30a0
Merge pull request #655 from RyanRory/quote-standardise
Quote standardise
2 years ago
ryanzhao 723d676d81 sync expiries message handling 2 years ago
ryanzhao 89a5739883 send sync expiries 2 years ago
ryanzhao ab2dc8deaf Merge branch 'dev' into quote-standardise 2 years ago
ryanzhao fd14c50f61 add sync expires message and update protobuf 2 years ago
ryanzhao d4d7f6c72c clean 2 years ago
ryanzhao 387b5f953b apply disappearing message config to sync messages 2 years ago
ryanzhao f855e71d61 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Morgan Pretty 7cbdca672e Fixed a bug where copying the open group url wasn't working correctly 2 years ago
Morgan Pretty 9dbab87ba4 Actually setting the 'forceBlinded' flag 2 years ago
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
2 years ago
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
2 years ago
Ryan Zhao 03ed90c31d reverse & clean 2 years ago
Ryan Zhao 31c90162d3 fix sending messages with disappearing messages ttl 2 years ago
Ryan Zhao 3efba397ab add YOU for disappearing messages info message 2 years ago
Ryan Zhao e54a37ead0 update ttl after read when disappear after read is set 2 years ago
Ryan Zhao aa81a907a5 update disappearing messages info message 2 years ago
Ryan Zhao e4bf474fea fix disappearing messages configuration sending & receiving 2 years ago
Ryan Zhao 0567a4eb6a update protobuf 2 years ago
Ryan Zhao d5c7e3178f minor fix 2 years ago
Ryan Zhao 6e58a0d967 insert info message for updating disappearing message config 2 years ago
ryanzhao 601cc7b92a set disappearing messages config info to all kinds of messages 2 years ago
ryanzhao 38594f8dc1 minor refactor 2 years ago
ryanzhao aaa25c3004 add function to handle disappearing messages configuration 2 years ago
ryanzhao 61647e1c72 fix the migration 2 years ago
ryanzhao 8377da0876 lastChangeTimestamp migration 2 years ago
Ryan Zhao 03b3136316 disappearing message config to proto 2 years ago
Ryan Zhao 95d065f775 update protobuf 1 2 years ago
Ryan Zhao 70ba0bdc13 set ttl as disappearing message config 2 years ago
Ryan Zhao f5e41907d4 fix retrieve disappearing message config from database with session thread data model 2 years ago
ryanzhao 54914d69c6 WIP: fetch disappearing message config from database 2 years ago
ryanzhao 6708104efa update database migration 2 years ago
ryanzhao d01cda454c disappearing message settings UI for closed groups 2 years ago
ryanzhao 1a98b0be62 Merge branch 'dev' into disappearing-message-redesign 2 years ago
Ryan Zhao d0f790421a WIP: disappearing message settings ui 2 years ago
Morgan Pretty 301ae76b0f Updated the OpenGroupAPI to always use authentication and default to blinded when no capabilities are present 2 years ago
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
2 years ago
ryanzhao 981621738a Merge branch 'dev' into quote-standardise 2 years ago
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
2 years ago
ryanzhao 85147551cf Merge branch 'dev' into quote-standardise 2 years ago
Morgan Pretty 42e82af8a2 Removed the 'screenshot notifications' setting 2 years ago
Ryan Zhao 01c0f8152c Merge branch 'dev' into quote-standardise 2 years ago
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)
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Morgan Pretty 5b1e19dd2e Increased the max username length from 26 bytes to 64 bytes 2 years ago
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
2 years ago
Morgan Pretty d9c6f2fc90 Fixed an issue where some data wasn't getting removed when handling an UnsendRequest 2 years ago
Morgan Pretty f98e2a157e Added rounding to the settings and updated the SettingVC to use the config approach
Removed some unused code
2 years ago
Morgan Pretty 6099bd94d8 Updated the rest of the SnodeAPI static variables to be atomic to prevent threading crashes 2 years ago
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
2 years ago
Morgan Pretty f7fd15dae0 Finished removing usages to non-theme colour variables
Updated theming throughout
Fixed a couple of bugs with the media gallery
2 years ago
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
2 years ago
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)
2 years ago
ryanzhao d14cd07a5c minor refactor 2 years ago
Ryan Zhao 07fb498664 minor fix 2 years ago
Ryan Zhao 05bb1e1e61 clean up Permissions 2 years ago
Ryan Zhao 0539e4b192 clean up 2 years ago
Ryan Zhao 30e0e40ffa feat: disable typing and message requests in open groups if you don’t have "write" permission 2 years ago
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
2 years ago
RyanZhao 570883e28a
Merge pull request #687 from RyanRory/badcall-fix
Voice & video call fix
2 years ago
RyanZhao 31b62e28a7
Merge pull request #685 from RyanRory/emoji-react-tweak-2
Emoji reacts tweaks
2 years ago
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
2 years ago
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
2 years ago
ryanzhao 47463280d2 Merge branch 'dev' into quote-standardise 2 years ago
ryanzhao c121f99b22 Merge branch 'dev' into add-silence-audio 2 years ago
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)
2 years ago
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
2 years ago
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)
2 years ago
Ryan Zhao ccbf4e0945 clean 2 years ago
Ryan Zhao 31605672e2 fix call threading issues 2 years ago
ryanzhao a5ede8c6a2 fix a case when the app goes into background with an ongoing call 2 years ago
ryanzhao 3eb7a5c5d9 fix self-send reaction notification 2 years ago
ryanzhao 3e8abd1952 tweak: make seqNo optional 2 years ago
ryanzhao 82e55a8d5b tweak: local reaction entry logic change 2 years ago
ryanzhao ddbbf63d14 Merge branch 'dev' into emoji-react-tweak-1 2 years ago
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
2 years ago
ryanzhao 931a356537 Merge branch 'dev' into emoji-react-tweak-1 2 years ago
Ryan Zhao 31dcb3c985 feat: cache remove all for open group emoji reacts 2 years ago
Morgan Pretty 08a52f9497 Fixed an issue which could cause the DB migration to fail for users with closed groups 2 years ago
ryanzhao 29dd85ebe7 minor refactor 2 years ago
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
2 years ago
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
2 years ago
ryanzhao 287fabb390 Merge branch 'dev' into emoji-reacts-tweaks 2 years ago
Ryan Zhao 81ef5a744a fix count logic 2 years ago
Ryan Zhao 543f729247 feat: add local cache and deal with merging for reaction changes 2 years ago
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
2 years ago
Morgan Pretty 84ccb63b35 Fixed a bug where the "DataExtractionNotification" messages weren't correctly setting their tmestamps 2 years ago
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
2 years ago
Ryan Zhao 3a81ffc752 feat: add response for reaction endpoints 2 years ago
Ryan Zhao 128ef747b3 tweak: only fetch and show 5 reactors for open group reactions 2 years ago
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 2 years ago
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
2 years ago
ryanzhao 851ad6c4c9 minor refactor 2 years ago
Ryan Zhao c7c92f747c Merge branch 'various-bugs-and-optimisations' into emoji-reacts 2 years ago
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
2 years ago
Ryan Zhao 651373234a feat: add capability check for open group emoji reacts 2 years ago
Ryan Zhao a41a2f12bb Merge branch 'dev' into quote-standardise 2 years ago
Ryan Zhao f7a4c92d38 Merge branch 'dev' into emoji-reacts 2 years ago
Morgan Pretty d116ac0ebe Fixed an issue where the 2.0.2 migration broke the original _003_ migration 2 years ago
ryanzhao 0a9856d49a tweak: fix reaction notifications 2 years ago
ryanzhao f93820362c add silence audio file 2 years ago
ryanzhao 29ed636285 Merge branch 'dev' into quote-standardise 2 years ago
ryanzhao c26e6f7e9e Merge branch 'dev' into emoji-reacts 2 years ago
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
2 years ago
ryanzhao 8d43eac608 Merge branch 'dev' into quote-standardise 2 years ago
ryanzhao 131cb9170b Merge branch 'dev' into emoji-reacts 2 years ago
Morgan Pretty 362986e73a Fixed a bug where the notification sound "preview" playing wasn't working 2 years ago
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
2 years ago
Morgan Pretty 9f4d1a678a Fixed a bug where deleted incoming messages could incorrectly be counted as unread 2 years ago
Morgan Pretty 0ce96976bf Fixed an issue where the open group seqNo wasn't updated for deletions 2 years ago