Morgan Pretty
529cb2e0f9
Added the legacy group deprecation logic (pending final copy)
...
• Added a separate feature flag for deprecating legacy groups
• Added the ability for a legacy group admin to "Recreate" the group (ie. pre-fill a new group with the same members)
• Updated the "Leave" button to be "Delete" for legacy groups once deprecated
• Disabled the "mark as unread" action for legacy groups once deprecated
• Disabled the input and conversation settings for legacy groups once deprecated
• Disabled the long press menu and removing reactions for legacy groups once deprecated
2 months ago
Morgan Pretty
23159439f2
Small fix to the database error logging
2 months ago
Morgan Pretty
4028cf1023
Database reentrancy fixes
...
• Reworked synchronous database access to prevent reentrancy issues
• Updated the JobExecuter to take a "Scheduler" rather than a "DispatchQueue" (allows for a potentially refactor to use "OperationQueue" instead if we want more fine-tuned control over the number of concurrent executions which can occur)
2 months ago
Morgan Pretty
0a7cd9a500
Fixed a few issues related to database reentrancy
...
• Reworked the database rentrancy fixes
• Added a timeout to prevent deadlocks with our custom synchronous database actions
• Fixed a case where we were incorrectly accessing the database in a reentrant way
2 months ago
Morgan Pretty
1db80dfa13
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/CallVC.swift
# Session/Calls/WebRTC/WebRTCSession+MessageHandling.swift
# Session/Calls/WebRTC/WebRTCSession.swift
# Session/Meta/AppDelegate.swift
# Session/Utilities/Permissions.swift
# SessionMessagingKit/Sending & Receiving/Errors/MessageReceiverError.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
3 months ago
Morgan Pretty
7b0f7ea8af
Fixed a number of QA issues and other bugs founds
...
• Added a 2000 limit to the input field
• Added an error when opening the share extension before completing onboarding
• Updated the code to treat an empty `adminSignature` as null (in case a client sends it incorrectly)
• Updated the code to include updated group control messages when determining unread
• Updated code to perform a supplemental key rotation (if needed) when resending invites to members flagged as supplemental (to handle a case where the initial invite request failed)
• Updated the code to schedule group config update control messages when making the local changes but make their sending contingent on the next config sync succeeding
• Updated the code to only enable the Share and Notification extensions once the onboarding process has been completed
• Updated the code to always enqueue config syncs for all configs on launch (if there are no pending changes then it won't do anything, but if there are then this will increase the likelihood that they will be synced)
• Fixed an issue where the default contacts query was based on thread records instead of contact records
• Fixed an issue where creating a conversation by tapping on a group member or avatar wasn't correctly creating the conversation in the draft state
• Fixed an issue where incoming messages could be added to the "Note to Self" conversation if the "syncTarget" was incorrectly set on them
3 months ago
Morgan Pretty
81242de035
Fixed a few more QA issues
...
• Added some localised copy
• Added the helpdesk article URL for the deprecated groups banner
• Updated mentions to include the current user in groups, 1-1 and NTS conversations (also made the current user appear as "you")
• Fixed a layout issue with the deleted message view
• Fixed an issue where the "mark as unread" action would incorrectly appear for the Note to Self conversation
• Fixed an issue where we were incorrectly sending an ExpirationTimerUpdate in some cases
3 months ago
Ryan ZHAO
1b40c1363a
Merge branch 'dev' into fix-calls-issue-3
3 months ago
Morgan Pretty
bcbe7ec11c
Build error and redundant variable removal
3 months ago
Morgan Pretty
16addb3b91
Additional 'afterAsync' changes for the groups branch
3 months ago
Morgan Pretty
28699798f1
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Home/HomeVC.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/SessionApp.swift
# SessionMessagingKit/Jobs/Types/UpdateProfilePictureJob.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
3 months ago
Morgan Pretty
800e32c633
Cleaned up some TODOs, QA fixes and refetch on admin promotion
...
• Added logic to trigger a full refetch when getting promoted to admin within a group
• Added a timeout to display picture uploads
• Updated the code to inject the DisplayPictureManager via dependencies
• Updated the resend invite functionality to have a blocking loading indicator as well
• Refactored some closure-based logic for display picture uploads to use Combine instead
• Refactored the SnodeReceivedMessageInfo (with a migration) so it's no longer using a weird constructed key (now have individual queryable columns for the values)
3 months ago
Morgan Pretty
37ea2a89bc
Fixed a number of crashes currently affecting production
...
• Fixed a crash due to our ThreadSafe code using a struct instead of a class (rendering it non thread safe)
• Fixed a crash which could occur on the home screen if the data loaded before the UI finished loading
• (Hopefully) Fixed a crash which could occur when the OS optimised async execution to run immediately within an existing database transaction (potentially resulting in re-entrant database access)
• Fixed an issue where the database read/write publishers weren't checking for a valid database state before actual query execution (only during the creation of the stream)
3 months ago
Ryan ZHAO
a16e3aa61a
workaround for a permission issue in NotificationServiceExtension
3 months ago
Morgan Pretty
f8716f26c3
Fixed the build issues and broken unit tests
3 months ago
Morgan Pretty
1dd8e8f197
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/Views & Modals/IncomingCallBanner.swift
# Session/Calls/WebRTC/WebRTCSession.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/SessionApp.swift
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/Onboarding.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Utilities/IP2Country.swift
# Session/Utilities/MockDataGenerator.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Calls/CallManagerProtocol.swift
# SessionMessagingKit/Database/Migrations/_013_SessionUtilChanges.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Sending & Receiving/Typing Indicators/TypingIndicators.swift
# SessionMessagingKit/Utilities/AppReadiness.swift
# SessionMessagingKit/Utilities/Preferences.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKit/Utilities/SessionEnvironment.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareNavController.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionUIKit/Components/PlaceholderIcon.swift
# SessionUIKit/Utilities/UIContextualAction+Theming.swift
# SessionUtilitiesKit/Crypto/Crypto.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/Database/Utilities/Database+Utilities.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/Atomic.swift
# SessionUtilitiesKit/General/Caches.swift
# SessionUtilitiesKit/General/Dependencies.swift
# SessionUtilitiesKit/General/FileSystem.swift
# SessionUtilitiesKit/General/Logging.swift
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SessionUtilitiesKit/Types/BackgroundTaskManager.swift
# SessionUtilitiesKit/Types/KeychainStorage.swift
# SignalUtilitiesKit/Utilities/AppSetup.swift
# _SharedTestUtilities/Mock.swift
# _SharedTestUtilities/MockCaches.swift
# _SharedTestUtilities/NimbleExtensions.swift
3 months ago
Morgan Pretty
5d5a32af8e
Updated the JobRunner 'afterJob' function to work via Combine instead of closures
3 months ago
Morgan Pretty
38dad27969
Fixed a bunch of QA issues
...
• Updated to the latest Lucide version
• Updated the bin icons to use the new Lucide icon
• Fixed an issue where flagging a members messages to be deleted when kicking them wasn't using the standard message removal process
• Fixed an issue where you couldn't delete a group after it was destroyed
• Fixed an issue where being promoted to admin would fail because you weren't already an admin
• Fixed an issue where the share extension wasn't populating it's conversation list
• Fixed an issue where the share extension had a translucent header
• Fixed an issue where messages could incorrectly be considered disappearing messages (with no duration)
• Fixed an issue where non-admins couldn't locally delete messages in community conversations
• Fixed an issue where deleting Note to Self messages for all devices was incorrectly leaving an artifact
• Fixed an issue where emoji reacts added to messages which have been deleted locally would still get added to the deleted artifact
• Fixed a layout issue in groups/communities with the "this message was deleted" artifact
• Fixed an issue where highlighting and unhighlighting a "danger" action in the context menu would result in it changing to a non-danger colour
• Fixed an issue where the community poller always thought it was the initial poll
3 months ago
Ryan ZHAO
403ca8c10c
refactor on getting microphone permission state to try to fix an issue
3 months ago
Morgan Pretty
7002234095
Fixed a number of QA issues
...
• Added a loading indicator while config syncing is happening while sending group invitations/promotions
• Added a mechanism to trigger a libSession config change but prevent the change from enqueuing a config sync (so we can do a blocking sync)
• Fixed a couple of bugs where the disappearing message control messages could behave incorrectly in updated groups
• Fixed an issue where deleting a message which was quoted by another message wouldn't remove the quoted content until returning to the screen
• Fixed an issue where a leaving member could appear to be removed before they were actually removed
• Fixed an issue where a group member wouldn't return to the "sending" state when resending an invitation
• Fixed an issue where the current user could see group admins actions before they had been flagged as an accepted admin
3 months ago
Morgan Pretty
3a91bc52e1
Merge pull request #342 from mpretty-cyro/fix/atomic-reentrancy
...
Refactor Atomic<T> to Support Reentrancy
3 months ago
Morgan Pretty
c6365e597d
Merge branch 'dev' into fix/atomic-reentrancy
3 months ago
stfsession
f52fabeefb
[Automated] Update translations from Crowdin
3 months ago
Morgan Pretty
e59770170b
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCallManager+Action.swift
# Session/Calls/Call Management/SessionCallManager+CXProvider.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/WebRTC/WebRTCSession.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Settings/HelpViewModel.swift
# SessionMessagingKit/Database/Models/LinkPreview.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionUtilitiesKit/Media/DataSource.swift
4 months ago
Morgan Pretty
13fabbb305
Fixed an issue where sharing attachments could lose filename and extension
4 months ago
Morgan Pretty
08c7a2cf7f
Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject`
...
• Refactored `Atomic<T>` to `@ThreadSafe` and `@ThreadSafeObject` (the latter supports reentrancy
• Added some logging to the debug import process
4 months ago
Morgan Pretty
7c4f0e8ef2
Fixed a number of QA issues
...
• Added some missing accessibility identifiers
• Added the inline Lucide icon on the Conversation screen for legacy groups
• Added a temporary fix for a crash when restoring an account (really need to fix up the reentrant Atomic<T> access issues)
• Updated the in-conversation blocked state as per UX feedback
• Updated the code to insert the "members added" control message on the admins device after creating a group
• Minor copy tweak
• Fixed a crash which could happen during onboarding due to the poller getting incorrectly created when entering the background before the account is created
• Fixed a bug where sync messages weren't working correctly
• Fixed an issue where the "delete before" behaviours weren't leaving behind the "this message was deleted" messages
• Fixed an issue where group admins wouldn't appear in mentions
4 months ago
Morgan Pretty
fe5c815e2b
Fixed an issue where attachments could end up with incorrect file extensions
4 months ago
Morgan Pretty
cf9136a1ab
Added new 'animationsEnabled' feature flag, message deletion tweaks
4 months ago
Morgan Pretty
81b0bbfc10
Fixed the broken unit tests
4 months ago
Morgan Pretty
c398fa01ae
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/CallVC.swift
# Session/Calls/Views & Modals/IncomingCallBanner.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Home/New Conversation/NewMessageScreen.swift
# Session/Home/New Conversation/StartConversationScreen.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/SessionApp.swift
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/DisplayNameScreen.swift
# Session/Onboarding/LoadingScreen.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/PNModeScreen.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/BlockedContactsViewModel.swift
# Session/Settings/DeveloperSettingsViewModel.swift
# Session/Settings/PrivacySettingsViewModel.swift
# Session/Settings/QRCodeScreen.swift
# Session/Settings/SettingsViewModel.swift
# Session/Settings/Views/VersionFooterView.swift
# Session/Shared/Types/ObservableTableSource.swift
# Session/Utilities/MockDataGenerator.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Calls/CallManagerProtocol.swift
# SessionMessagingKit/Database/Migrations/_013_SessionUtilChanges.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/BlindedIdLookup.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/Database/QueryInterfaceRequest+Utilities.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/LibSession/Types/Config.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+UnsendRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Shared Models/SessionThreadViewModel.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKit/Utilities/SessionEnvironment.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionUIKit/Utilities/Localization+Style.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/LibSession/LibSessionError.swift
4 months ago
Morgan Pretty
f262b6d7a8
Merge remote-tracking branch 'upstream/dev' into fix/inconsistent-deletion-behaviours
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Notifications/PushRegistrationManager.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
4 months ago
Morgan Pretty
03f07a725d
Merge pull request #330 from mpretty-cyro/feature/dev-settings
...
Added logic for dev setting import/export
4 months ago
Morgan Pretty
3f893b1ce0
Cleaned up and finished the export/import logic
4 months ago
Ryan ZHAO
12d499a5e5
clean up
4 months ago
Morgan Pretty
35758b2946
Added logic for dev setting import/export
...
• Added the dev settings UI
• Added export and import functionality (import is unfinished)
• Updated the export logs to allow for either sharing or saving direct to files
5 months ago
Ryan ZHAO
8f10f43494
further fix on app state issues
5 months ago
Ryan ZHAO
1dddedf3eb
add logs and fix a case when the call is going with CallKit but the app state is not in background
5 months ago
Ryan ZHAO
bf5db2ab93
fix an issue where job runner is not activated when answering calls from CallKit
5 months ago
Morgan Pretty
2ee1fa0125
Updated NTS & 1-1 conversation deletion to be consistent with other plats
...
• Added a few functions to retrieve conversation settings from libSession
• Updated the Note to Self swipe action to be "Hide" (hides the conversation but does not delete the messages)
• Updated the one-to-one deletion behaviour (now syncs both hiding the conversation and deleting it's messages)
• Updated the logic to retrieve the relevant disappearing messages setting from libSession when creating a thread if it doesn't exist (allows us to delete threads without worrying about losing settings)
• Updated a bunch of dependency management & injection code so the unit tests would pass
5 months ago
Morgan Pretty
ffd7bb2569
Fixed a bunch of issues found by QA
...
• Updated the GroupMembers handling to updated the current users entry if they have the admin key and their current state is not correct
• Updated the "groups have been upgraded" banner to be visible for non-admins
• Updated the code to prevent changes from being able to be made on group configs without the admin key (was crashing previously)
• Added the new "deleted" group state and copy
• Fixed a layout issue on the settings screen when the editable text is too long
• Fixed a case sensitive contact sorting issue
• Fixed an issue where the groups v2 min version banner was appearing on legacy groups screens
• Fixed a bug where profile information may not be updated due to a timestamp resolution issue
• Fixed a bug where the group name would incorrectly be used in the block modal for group message requests
• Fixed a bug where the block button wasn't appearing within the group message request screen
• Fixed a bug where there was an incorrect timestamp conversion when checking whether to drop a message that was sent earlier than the 'deleteBefore' timestamp
• Fixed an issue where the "you left the group" message wouldn't be visible if you rejoined a group
• Fixed an issue where crashing during the initial creation of a group could result in it's state never loading
• Fixed an issue where deleting before a timestamp wasn't correctly using the network-offset timestamp
• Fixed an issue where the submodule was pointing at the wrong repo
• Removed some duplicate code
5 months ago
Morgan Pretty
03020ad556
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/WebRTC/WebRTCSession+DataChannel.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Message Cells/Content Views/OpenGroupInvitationView.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/OpenGroupInvitationView_SwiftUI.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/VoiceMessageView_SwiftUI.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Database/Migrations/_001_ThemePreferences.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeViewModel.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Home/New Conversation/NewMessageScreen.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
# Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/SessionApp.swift
# Session/Meta/Translations/remove_unused_strings.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Onboarding/Onboarding.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/SettingsViewModel.swift
# Session/Settings/Views/VersionFooterView.swift
# Session/Shared/FullConversationCell.swift
# Session/Shared/SessionHostingViewController.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Configuration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/ClosedGroup.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/FailedMessageSendsJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift
# SessionMessagingKit/Sending & Receiving/Attachments/ThumbnailService.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/SubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/UnsubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
# SessionMessagingKit/Utilities/OWSAudioPlayer.m
# SessionMessagingKit/Utilities/Preferences.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionShareExtension/ShareNavController.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/Types/ProxiedContentDownloader.swift
# SessionUIKit/Components/ConfirmationModal.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/FileSystem.swift
# SessionUtilitiesKit/General/NSTimer+Proxying.m
# SessionUtilitiesKit/General/SNUserDefaults.swift
# SessionUtilitiesKit/General/UIDevice+featureSupport.swift
# SessionUtilitiesKit/Media/MediaUtils.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorCropViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
# SignalUtilitiesKit/Media Viewing & Editing/OWSVideoPlayer.swift
# SignalUtilitiesKit/Screen Lock/ScreenLockViewController.swift
5 months ago
Ryan ZHAO
71de47e1b9
fix an issue where thumbnail is not properly generated
5 months ago
RyanZhao
fac94f94be
Merge pull request #1048 from mpretty-cyro/feature/query-optimisation
...
Updated the SQL for checking session id prefixes
6 months ago
Morgan Pretty
7b70ba03fc
Fixed a couple of bugs revolving around handling group invitations
6 months ago
Morgan Pretty
b2ccd24172
Fixed an app submission issue due to private API naming collision
6 months ago
Morgan Pretty
532bbd2590
Updated the SQL for checking session id prefixes
6 months ago
Morgan Pretty
a32af018a7
Refactored the LintLocalizableStrings script
...
• Added new 'LintControl' mechanisms to allow for ignoring sections of code
• Added new 'MatchType' mechanisms for excluding unlocalized cases
• Updated the code to explicitly handle localized template strings (both single and multiline)
• Updated the code to process files across multiple threads to improve performance
• Updated the code to use Swift 5.7 regex and store in static variables to prevent reconstruction every time they are used
• Removed the list of individual files which are ignored (now just output a count)
• Fixed an issue where having a localized string on a subsequent line could result in an unlocalized (or incorrectly localized) string not being detected
• Fixed an issue where having multiple strings on a single line could result in an unlocalized string not being detected
• Fixed an issue where zero-width characters would result in the variable count comparison between translations failing
• Fixed a number of localization warnings
6 months ago
Morgan Pretty
ad2c9ff5a6
Fixed a number of bugs found when checking the acceptance criteria
...
• Fixed some incorrect copy
• Fixed a bug where being the only member in a group would result in messages always having the "sending" status
• Fixed a bug where accepting a group invitation on a linked device wouldn't start the poller on the current device
• Fixed a bug where there could be a duplicate 'you were invited to join the group' info message after accepting the group invite
• Fixed a bug where the failed invitation toast could appear multiple times
• Fixed a bug where the legacy groups banner was appearing for non-admins (apparently it shouldn't be)
6 months ago
Morgan Pretty
208d7aa22c
Removed FileSystem and use a properly injected FileManagerType everywhere
6 months ago
Morgan Pretty
8bd2468fb6
Profile info update change, RadioButton bugfix, unit test changes
...
• Update group member profile info on invite acceptance
• Fixed a bug with the default RadioButton enabled state
• Added a few more unit tests
6 months ago
Morgan Pretty
a6e39d930f
Added localisations for some strings and resolved a bunch of warnings
6 months ago
Morgan Pretty
6cbd8cbf15
Updated the method 'Setting' data manipulation to be safer
...
Also resolves a warning about an unsafe pointer
6 months ago
Morgan Pretty
f5802050d3
Reverted the isRTL changes (preferred the old approach)
6 months ago
Morgan Pretty
840e01d847
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Meta/Settings.bundle/Root.plist
# Session/Meta/Translations/InfoPlist.xcstrings
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/LinkPreview.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionUtilitiesKit/Configuration.swift
# SessionUtilitiesKit/Media/Data+Image.swift
# SessionUtilitiesKit/Media/DataSource.swift
# SignalUtilitiesKit/Configuration.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorModel.swift
# _SharedTestUtilities/NimbleExtensions.swift
6 months ago
Morgan Pretty
42721db399
Added additional developer settings and fixed some bugs
...
• Added a setting to show the string keys instead of localised values
• Added settings to test the updated groups delete all messages settings
• Updated the onboarding UI to indicate whether it's currently pointing at Testnet
• Tweaked the 'isRTL' dependency setting to be clearer that it's not an injected value
• Fixed a bug with dependency name collision between the different storage types
• Fixed a bug with attachment file path creation
6 months ago
Morgan Pretty
afb60fbf5c
Fixed a couple of bugs with attachment path creation
6 months ago
Morgan Pretty
dedff539f2
Fixed a crash and fixed a multithreading issue
...
• Properly fixed the multithreading duplicate dependency initialisation issue
• Fixed a crash which could occur when freeing config objects
6 months ago
Morgan Pretty
46533cbe1a
Fixed a few TODOs and cleaned up some logic
...
• Refactored the internal logic for the Dependencies class to resolve some multithreading issues
• Fixed a crash caused by using the wrong config when updating userGroups
• Fixed an issue where a group conversation you had been kicked from wasn't showing the "kicked" copy as it's snippet
• Fixed a copy TODO
• Removed some duplicate code from the Edit Group screen
6 months ago
Morgan Pretty
d570e10430
Merge remote-tracking branch 'upstream/dev' into feature/uniform-type-identifiers-refactoring
...
# Conflicts:
# Session/Meta/Translations/InfoPlist.xcstrings
6 months ago
Morgan Pretty
675325c216
Merge pull request #1032 from mpretty-cyro/fix/logging-issue
...
Fixed a bug with return from background logs
6 months ago
Morgan Pretty
c1b11a6196
Some code clean up and bug fixes
...
• Fixed a couple of layout issues with the incoming call banner
• Fixed an issue with the network callback registration
• Cleaned up the libSession Cache interface a bit
6 months ago
Morgan Pretty
07f765b716
Merge remote-tracking branch 'upstream/dev' into feature/groups-rebuild
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# Session/Meta/Translations/InfoPlist.xcstrings
# Session/Settings/SettingsViewModel.swift
# SessionUIKit/Components/ConfirmationModal.swift
6 months ago
Morgan Pretty
bbadc038f6
Merge remote-tracking branch 'RyanFork/strings' into feature/groups-rebuild
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# Session.xcodeproj/xcshareddata/xcschemes/Session.xcscheme
# Session/Calls/Call Management/SessionCall.swift
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Calls/CallVC.swift
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Closed Groups/NewClosedGroupVC.swift
# Session/Conversations/Context Menu/ContextMenuVC+Action.swift
# Session/Conversations/Context Menu/ContextMenuVC+ActionView.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/ConversationVC.swift
# Session/Conversations/ConversationViewModel.swift
# Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
# Session/Conversations/Message Cells/CallMessageCell.swift
# Session/Conversations/Message Cells/Content Views/MediaAlbumView.swift
# Session/Conversations/Message Cells/Content Views/MediaView.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Message Cells/Content Views/ReactionContainerView.swift
# Session/Conversations/Message Cells/Content Views/SwiftUI/QuoteView_SwiftUI.swift
# Session/Conversations/Message Cells/InfoMessageCell.swift
# Session/Conversations/Message Cells/VisibleMessageCell.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Conversations/Views & Modals/MessageRequestFooterView.swift
# Session/Emoji/Emoji+Available.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Home/HomeVC.swift
# Session/Home/HomeViewModel.swift
# Session/Home/Message Requests/MessageRequestsViewModel.swift
# Session/Home/New Conversation/NewConversationVC.swift
# Session/Home/New Conversation/NewConversationViewModel.swift
# Session/Home/New Conversation/NewDMVC.swift
# Session/Media Viewing & Editing/DocumentTitleViewController.swift
# Session/Media Viewing & Editing/GIFs/GifPickerCell.swift
# Session/Media Viewing & Editing/GIFs/GifPickerLayout.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/GIFs/GiphyAPI.swift
# Session/Media Viewing & Editing/GIFs/GiphyDownloader.swift
# Session/Media Viewing & Editing/ImagePickerController.swift
# Session/Media Viewing & Editing/MediaTileViewController.swift
# Session/Media Viewing & Editing/MessageInfoScreen.swift
# Session/Media Viewing & Editing/PhotoCapture.swift
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Media Viewing & Editing/PhotoCollectionPickerViewModel.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Media Viewing & Editing/SendMediaNavigationController.swift
# Session/Meta/AppDelegate.swift
# Session/Meta/AppEnvironment.swift
# Session/Meta/MainAppContext.swift
# Session/Meta/SessionApp.swift
# Session/Meta/Translations/ar.lproj/Localizable.strings
# Session/Meta/Translations/be.lproj/Localizable.strings
# Session/Meta/Translations/bg.lproj/Localizable.strings
# Session/Meta/Translations/bn.lproj/Localizable.strings
# Session/Meta/Translations/cs.lproj/Localizable.strings
# Session/Meta/Translations/da.lproj/Localizable.strings
# Session/Meta/Translations/de.lproj/Localizable.strings
# Session/Meta/Translations/el.lproj/Localizable.strings
# Session/Meta/Translations/en.lproj/Localizable.strings
# Session/Meta/Translations/eo.lproj/Localizable.strings
# Session/Meta/Translations/es-ES.lproj/Localizable.strings
# Session/Meta/Translations/fa.lproj/Localizable.strings
# Session/Meta/Translations/fi.lproj/Localizable.strings
# Session/Meta/Translations/fil.lproj/Localizable.strings
# Session/Meta/Translations/fr.lproj/Localizable.strings
# Session/Meta/Translations/hi.lproj/Localizable.strings
# Session/Meta/Translations/hr.lproj/Localizable.strings
# Session/Meta/Translations/hu.lproj/Localizable.strings
# Session/Meta/Translations/id.lproj/Localizable.strings
# Session/Meta/Translations/it.lproj/Localizable.strings
# Session/Meta/Translations/ja.lproj/Localizable.strings
# Session/Meta/Translations/ko.lproj/Localizable.strings
# Session/Meta/Translations/ku.lproj/Localizable.strings
# Session/Meta/Translations/lt.lproj/Localizable.strings
# Session/Meta/Translations/lv.lproj/Localizable.strings
# Session/Meta/Translations/ne-NP.lproj/Localizable.strings
# Session/Meta/Translations/nl.lproj/Localizable.strings
# Session/Meta/Translations/no.lproj/Localizable.strings
# Session/Meta/Translations/pl.lproj/Localizable.strings
# Session/Meta/Translations/pt-BR.lproj/Localizable.strings
# Session/Meta/Translations/pt-PT.lproj/Localizable.strings
# Session/Meta/Translations/ro.lproj/Localizable.strings
# Session/Meta/Translations/ru.lproj/Localizable.strings
# Session/Meta/Translations/si-LK.lproj/Localizable.strings
# Session/Meta/Translations/sk.lproj/Localizable.strings
# Session/Meta/Translations/sl.lproj/Localizable.strings
# Session/Meta/Translations/sv-SE.lproj/Localizable.strings
# Session/Meta/Translations/th.lproj/Localizable.strings
# Session/Meta/Translations/tr.lproj/Localizable.strings
# Session/Meta/Translations/uk.lproj/Localizable.strings
# Session/Meta/Translations/vi.lproj/Localizable.strings
# Session/Meta/Translations/zh-CN.lproj/Localizable.strings
# Session/Meta/Translations/zh-TW.lproj/Localizable.strings
# Session/Notifications/NotificationPresenter.swift
# Session/Notifications/PushRegistrationManager.swift
# Session/Notifications/SyncPushTokensJob.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Onboarding/DisplayNameVC.swift
# Session/Onboarding/FakeChatView.swift
# Session/Onboarding/LandingVC.swift
# Session/Onboarding/LinkDeviceVC.swift
# Session/Onboarding/Onboarding.swift
# Session/Onboarding/PNModeVC.swift
# Session/Onboarding/RegisterVC.swift
# Session/Onboarding/RestoreVC.swift
# Session/Onboarding/SeedVC.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Path/PathVC.swift
# Session/Settings/BlockedContactsViewModel.swift
# Session/Settings/ConversationSettingsViewModel.swift
# Session/Settings/HelpViewModel.swift
# Session/Settings/NotificationSettingsViewModel.swift
# Session/Settings/NukeDataModal.swift
# Session/Settings/PrivacySettingsViewModel.swift
# Session/Settings/QRCodeVC.swift
# Session/Settings/SeedModal.swift
# Session/Settings/SettingsViewModel.swift
# Session/Settings/Views/VersionFooterView.swift
# Session/Shared/FullConversationCell.swift
# Session/Shared/OWSBezierPathView.m
# Session/Shared/ScanQRCodeWrapperVC.swift
# Session/Shared/SessionCarouselView+SwiftUI.swift
# Session/Shared/SessionTableViewController.swift
# Session/Shared/Types/NavigatableState.swift
# Session/Shared/Types/ObservableTableSource.swift
# Session/Shared/Types/SessionCell+Accessory.swift
# Session/Shared/Views/SessionCell+AccessoryView.swift
# Session/Utilities/BackgroundPoller.swift
# Session/Utilities/IP2Country.swift
# Session/Utilities/MentionUtilities.swift
# Session/Utilities/MockDataGenerator.swift
# Session/Utilities/UIApplication+OWS.swift
# Session/Utilities/UIContextualAction+Utilities.swift
# SessionMessagingKit/Crypto/Crypto+Attachments.swift
# SessionMessagingKit/Crypto/Crypto+SessionMessagingKit.swift
# SessionMessagingKit/Database/Migrations/_004_RemoveLegacyYDB.swift
# SessionMessagingKit/Database/Migrations/_014_GenerateInitialUserConfigDumps.swift
# SessionMessagingKit/Database/Migrations/_015_BlockCommunityMessageRequests.swift
# SessionMessagingKit/Database/Migrations/_018_DisappearingMessagesConfiguration.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/Interaction.swift
# SessionMessagingKit/Database/Models/LinkPreview.swift
# SessionMessagingKit/Database/Models/Profile.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Database/Models/SessionThread.swift
# SessionMessagingKit/Jobs/AttachmentDownloadJob.swift
# SessionMessagingKit/Jobs/AttachmentUploadJob.swift
# SessionMessagingKit/Jobs/CheckForAppUpdatesJob.swift
# SessionMessagingKit/Jobs/ConfigMessageReceiveJob.swift
# SessionMessagingKit/Jobs/ConfigurationSyncJob.swift
# SessionMessagingKit/Jobs/DisappearingMessagesJob.swift
# SessionMessagingKit/Jobs/MessageSendJob.swift
# SessionMessagingKit/Jobs/RetrieveDefaultOpenGroupRoomsJob.swift
# SessionMessagingKit/Jobs/Types/GroupLeavingJob.swift
# SessionMessagingKit/Jobs/UpdateProfilePictureJob.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Contacts.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+ConvoInfoVolatile.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+Shared.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserGroups.swift
# SessionMessagingKit/LibSession/Config Handling/LibSession+UserProfile.swift
# SessionMessagingKit/LibSession/LibSession+SessionMessagingKit.swift
# SessionMessagingKit/Messages/Control Messages/ClosedGroupControlMessage.swift
# SessionMessagingKit/Messages/Control Messages/ExpirationTimerUpdate.swift
# SessionMessagingKit/Messages/Message.swift
# SessionMessagingKit/Open Groups/Crypto/Crypto+OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/Models/SOGSMessage.swift
# SessionMessagingKit/Open Groups/OpenGroupAPI.swift
# SessionMessagingKit/Open Groups/OpenGroupManager.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionMessagingKit/Sending & Receiving/Attachments/ThumbnailService.swift
# SessionMessagingKit/Sending & Receiving/Errors/MessageSenderError.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+Calls.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+DataExtractionNotification.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+MessageRequests.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+LegacyClosedGroups.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionMessagingKit/Sending & Receiving/MessageSender+Convenience.swift
# SessionMessagingKit/Sending & Receiving/MessageSender.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/SubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/Models/UnsubscribeRequest.swift
# SessionMessagingKit/Sending & Receiving/Notifications/PushNotificationAPI.swift
# SessionMessagingKit/Sending & Receiving/Pollers/ClosedGroupPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/CurrentUserPoller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupAPI+Poller.swift
# SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
# SessionMessagingKit/Shared Models/MessageViewModel.swift
# SessionMessagingKit/Utilities/Preferences.swift
# SessionMessagingKit/Utilities/ProfileManager.swift
# SessionMessagingKit/Utilities/ProfileManagerError.swift
# SessionMessagingKitTests/Jobs/MessageSendJobSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionSpec.swift
# SessionMessagingKitTests/LibSession/LibSessionUtilSpec.swift
# SessionMessagingKitTests/LibSession/Utilities/LibSessionTypeConversionUtilitiesSpec.swift
# SessionMessagingKitTests/Open Groups/Models/SOGSMessageSpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupAPISpec.swift
# SessionMessagingKitTests/Open Groups/OpenGroupManagerSpec.swift
# SessionMessagingKitTests/Utilities/CryptoSMKSpec.swift
# SessionNotificationServiceExtension/NSENotificationPresenter.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ShareAppExtensionContext.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionSnodeKit/Crypto/Crypto+SessionSnodeKit.swift
# SessionSnodeKit/Database/Models/SnodeReceivedMessageInfo.swift
# SessionSnodeKit/LibSession/LibSession+Networking.swift
# SessionSnodeKit/Models/DeleteAllBeforeResponse.swift
# SessionSnodeKit/Models/DeleteAllMessagesResponse.swift
# SessionSnodeKit/Models/DeleteMessagesResponse.swift
# SessionSnodeKit/Models/RevokeSubkeyRequest.swift
# SessionSnodeKit/Models/RevokeSubkeyResponse.swift
# SessionSnodeKit/Models/SendMessageResponse.swift
# SessionSnodeKit/Models/SnodeAuthenticatedRequestBody.swift
# SessionSnodeKit/Models/UpdateExpiryAllResponse.swift
# SessionSnodeKit/Models/UpdateExpiryResponse.swift
# SessionSnodeKit/Networking/Network+OnionRequest.swift
# SessionSnodeKit/Networking/PreparedRequest+OnionRequest.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionSnodeKit/Types/IPv4.swift
# SessionSnodeKit/Types/PreparedRequest.swift
# SessionSnodeKit/Types/ProxiedContentDownloader.swift
# SessionSnodeKit/Types/ValidatableResponse.swift
# SessionSnodeKitTests/Types/BencodeResponseSpec.swift
# SessionSnodeKitTests/_TestUtilities/SSKMockedExtensions.swift
# SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift
# SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift
# SessionTests/Database/DatabaseSpec.swift
# SessionTests/Settings/NotificationContentViewModelSpec.swift
# SessionUIKit/Components/ConfirmationModal.swift
# SessionUIKit/Components/PlaceholderIcon.swift
# SessionUIKit/Components/ToastController.swift
# SessionUIKit/Components/TopBannerController.swift
# SessionUIKit/Style Guide/ThemeManager.swift
# SessionUIKit/Style Guide/Values.swift
# SessionUtilitiesKit/Crypto/Crypto+SessionUtilitiesKit.swift
# SessionUtilitiesKit/Crypto/Crypto.swift
# SessionUtilitiesKit/Database/Models/Identity.swift
# SessionUtilitiesKit/Database/Storage.swift
# SessionUtilitiesKit/Database/Types/Migration.swift
# SessionUtilitiesKit/General/AppContext.swift
# SessionUtilitiesKit/General/Data+Utilities.swift
# SessionUtilitiesKit/General/Features.swift
# SessionUtilitiesKit/General/FileSystem.swift
# SessionUtilitiesKit/General/General.swift
# SessionUtilitiesKit/General/Logging.swift
# SessionUtilitiesKit/General/String+Trimming.swift
# SessionUtilitiesKit/General/String+Utilities.swift
# SessionUtilitiesKit/General/UIEdgeInsets.swift
# SessionUtilitiesKit/JobRunner/JobRunner.swift
# SessionUtilitiesKit/LibSession/LibSession.swift
# SessionUtilitiesKit/Media/Data+Image.swift
# SessionUtilitiesKit/Media/DataSource.swift
# SessionUtilitiesKit/Media/MediaUtils.swift
# SessionUtilitiesKit/Media/MimeTypeUtil.swift
# SessionUtilitiesKit/Meta/SessionUtilitiesKit.h
# SessionUtilitiesKit/Networking/Network.swift
# SessionUtilitiesKit/Types/Threading.swift
# SessionUtilitiesKit/Utilities/Bencode.swift
# SessionUtilitiesKit/Utilities/UIImage+Utilities.swift
# SessionUtilitiesKitTests/Database/Models/IdentitySpec.swift
# SessionUtilitiesKitTests/Database/Utilities/PersistableRecordUtilitiesSpec.swift
# SessionUtilitiesKitTests/General/SessionIdSpec.swift
# SessionUtilitiesKitTests/JobRunner/JobRunnerSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeDecoderSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeResponseSpec.swift
# SessionUtilitiesKitTests/Utilities/BencodeSpec.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
# SignalUtilitiesKit/Media Viewing & Editing/Image Editing/ImageEditorModel.swift
# SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift
# SignalUtilitiesKit/Meta/SignalUtilitiesKit.h
# SignalUtilitiesKit/Screen Lock/ScreenLock.swift
# SignalUtilitiesKit/Utilities/AppSetup.swift
# SignalUtilitiesKit/Utilities/Bench.swift
# SignalUtilitiesKit/Utilities/NoopNotificationsManager.swift
# SignalUtilitiesKit/Utilities/SwiftSingletons.swift
# _SharedTestUtilities/CommonMockedExtensions.swift
# _SharedTestUtilities/GRDBExtensions.swift
# _SharedTestUtilities/MockCrypto.swift
# _SharedTestUtilities/MockJobRunner.swift
# _SharedTestUtilities/Mocked.swift
# _SharedTestUtilities/SynchronousStorage.swift
7 months ago
Morgan Pretty
2c9427edcf
Refactored MimeTypeUtil to use UniformTypeIdentifiers
7 months ago
Morgan Pretty
79b98994fe
Fixed a bug with return from background logs
...
Fixed a bug where logs sent before the logger finishes setting up after returning from the background weren't getting added to the log gile
7 months ago
Morgan Pretty
7086fe1ba0
Number of small Xcode 16 build fixes
...
• Renamed an init which matched a private API so triggered a store submission warning
• Fixed a unit test build issue in Xcode 16
• Updated the LintLocalizableStrings updatePermissionStrings output to be sorted (so it doesn't change every time)
• Moved the 'Ensure InfoPlist.xcstrings updated' build step to the Session target
7 months ago
Ryan ZHAO
b9beb7aec4
Use English strings as the default strings & update build number
7 months ago
Morgan Pretty
ecd066f7a1
Merge remote-tracking branch 'upstream/dev' into strings
...
# Conflicts:
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Notifications/AppNotifications.swift
# Session/Settings/SettingsViewModel.swift
# Session/Utilities/Permissions.swift
# SessionMessagingKit/Messages/Control Messages/CallMessage.swift
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
# SessionShareExtension/ThreadPickerVC.swift
7 months ago
Morgan Pretty
a7e73080fa
Minor logging tweaks
7 months ago
Morgan Pretty
d8294aac0d
Fixed logging issue and other minor tweaks
...
• Fixed a bug where the libSession logs wouldn't all come through correctly
• Added logic to handle response headers from libSession
• Minor optimisation to closed groups poller setup
• Minor logging tweaks
7 months ago
Ryan ZHAO
ae3fde1e1c
Merge branch 'dev' into strings
7 months ago
Morgan Pretty
a87a547886
libSession attachment upload/download improvements, logging tweaks
7 months ago
Morgan Pretty
bce7a093cf
Merge remote-tracking branch 'upstream/dev' into fix/crashes-and-improvements
...
# Conflicts:
# Session.xcodeproj/project.pbxproj
# Session/Calls/Call Management/SessionCallManager.swift
# Session/Meta/AppDelegate.swift
# Session/Notifications/PushRegistrationManager.swift
# SessionNotificationServiceExtension/NotificationServiceExtension.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionUtilitiesKit/Database/Storage.swift
7 months ago
Morgan Pretty
a02bc55445
Fixed an endless loading state when clearing data with no network
7 months ago
Morgan Pretty
dfe690cc1a
Merge pull request #1010 from mpretty-cyro/fix/attachment-dictionary-crash-2
...
Reworked the SignalAttachmentItem hash function
7 months ago
Morgan Pretty
7e771467d6
Fixed an issue with push notifications in legacy groups
...
• Reworked the NotificationServiceExtension to just always reset and reload it's state to avoid weird bugs
• Updated the legacy group messages to fallback to using a locally generated serverHash if one isn't provided (always happens for legacy PNs)
• Include error info when failing to process extension logs
• Made a bunch of the Storage functions instance functions instead of static functions
7 months ago
Ryan ZHAO
d21a0815fa
add constants
7 months ago
Ryan ZHAO
630e20fc69
Merge branch 'dev' into standardised-strings
7 months ago
Morgan Pretty
1396652698
Refactored the DSL for interacting with C structs
...
There were a few logs related to bad memory access within libSession and the `toLibSession` convention which we'd originally setup made me nervous as C-friendly objects would be allocated in Swift and then assigned to C struct properties but I'm not sure how the memory would actually behave in this case.
This updated approach unfortunately involves a bunch of duplicate code within 'TypeConversion+Utilities' (and some horrible type aliases for tuples) but as a result we now have compile-time safe 'get' and 'set' functions for any C struct which conforms to `CAccessible` and `CMutable`. The other nice benefit about this change is that the new `set` functions copy memory across into the C structs so we can have more confidence that the memory ownership has shifted to the libSession side of things.
8 months ago
Ryan ZHAO
367104c835
fix on strings
8 months ago
Ryan ZHAO
318d5beaab
fix time formatting
8 months ago
Ryan ZHAO
5b637c7b77
fix an issue where plural strings have other dynamic values
8 months ago
Morgan Pretty
ddd36b96a2
Reworked deadlock handling, fixed a few other issues
...
• Fixed an issue where the background task to finish sending messages may not have sent the sync message or the main message after and upload
• Fixed an issue where the SessionBackgroundTask was incorrectly reporting a failure to be created
• Fixed an incorrect modal action colour
• Fixed a crash when creating legacy groups
• Updated the code so that we take charge of resolving the deadlock issue instead of relying on GRDB to do it
• Updated the logic to timeout the SessionBackgroundTask with 5 seconds of background time remaining (to ensure we have enough time to suspend the network & database)
8 months ago
Morgan Pretty
3a1f086d0c
Reworked deadlock handling, fixed a few other issues
...
• Fixed an issue where the background task to finish sending messages may not have sent the sync message or the main message after and upload
• Fixed an issue where the SessionBackgroundTask was incorrectly reporting a failure to be created
• Fixed an incorrect modal action colour
• Fixed a crash when creating legacy groups
• Updated the code so that we take charge of resolving the deadlock issue instead of relying on GRDB to do it
• Updated the logic to timeout the SessionBackgroundTask with 5 seconds of background time remaining (to ensure we have enough time to suspend the network & database)
8 months ago
Ryan ZHAO
ca5c979f8f
Merge branch 'dev' into standardised-strings
8 months ago
Morgan Pretty
67830ed767
Fixed a legacy group message decryption issue
...
Fixed a bug where we were incorrectly generating and requiring 64 byte secrets for legacy groups (we only need 32 bytes), since we do length checks before calling the libSession C API (to prevent crashes) we would fail before attempting to decrypt because the key was too short
8 months ago
Morgan Pretty
375f66f45a
Reworked to just use a unique id rather than hacky hash overrides
8 months ago
Ryan ZHAO
771b21a96d
Merge branch 'dev' into standardised-strings
8 months ago
Ryan ZHAO
0413baa06e
refactor localized string with style
8 months ago
Morgan Pretty
027ce1604d
Fixed a few issues found during QA
...
• Fixed an issue where incoming legacy group messages were failing to decrypt
• Fixed an issue where decoding push notifications could result in an infinite loop
• Fixed an issue where the extensions would incorrectly try to append extension logs (only want the main app to do this)
• Updated the accessibility ids for the switches and radios on the privacy and disappearing message settings screens
8 months ago
Morgan Pretty
9b7b61e0d7
Merge remote-tracking branch 'upstream/dev' into standardised-strings
...
# Conflicts:
# Session/Conversations/ConversationVC+Interaction.swift
8 months ago
Morgan Pretty
c5feb76759
Added back incorrectly removed accessibilityIds, bumped build number
8 months ago
Morgan Pretty
a0ad92defa
Fixed some build errors
8 months ago
Morgan Pretty
2bcd8e28ab
Merge remote-tracking branch 'upstream/dev' into standardised-strings
...
# Conflicts:
# Scripts/LintLocalizableStrings.swift
# Session.xcodeproj/project.pbxproj
# Session/Closed Groups/EditClosedGroupVC.swift
# Session/Conversations/ConversationVC+Interaction.swift
# Session/Conversations/Message Cells/Content Views/QuoteView.swift
# Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift
# Session/Conversations/Settings/ThreadSettingsViewModel.swift
# Session/Conversations/Views & Modals/ConversationTitleView.swift
# Session/Home/GlobalSearch/GlobalSearchViewController.swift
# Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
# Session/Media Viewing & Editing/PhotoCaptureViewController.swift
# Session/Media Viewing & Editing/PhotoLibrary.swift
# Session/Notifications/UserNotificationsAdaptee.swift
# Session/Open Groups/JoinOpenGroupVC.swift
# Session/Settings/NukeDataModal.swift
# Session/Shared/ScanQRCodeWrapperVC.swift
# SessionMessagingKit/Database/Models/Attachment.swift
# SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift
# SessionMessagingKit/Database/Models/RecipientState.swift
# SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift
# SessionShareExtension/ShareNavController.swift
# SessionShareExtension/ThreadPickerVC.swift
# SessionUIKit/Components/TopBannerController.swift
# SessionUtilitiesKit/General/String+Utilities.swift
# SessionUtilitiesKit/Networking/IPv4.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalInputAccessoryView.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift
# SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
# SignalUtilitiesKit/Screen Lock/ScreenLock.swift
8 months ago
Morgan Pretty
7d38c9066c
Reworked unobserved change handling to try to resolve crash (regenerate changeset)
8 months ago
Morgan Pretty
69de29912c
Clearing libSession logger when clearing data (seemed to cause crash)
8 months ago
Morgan Pretty
2032dafc74
Merge remote-tracking branch 'upstream/dev' into feature/swift-package-manager
...
# Conflicts:
# SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift
# SessionMessagingKit/Sending & Receiving/MessageReceiver.swift
# SessionSnodeKit/Networking/SnodeAPI.swift
# SessionUtilitiesKit/Media/DataSource.h
# SessionUtilitiesKit/Media/DataSource.m
8 months ago
Morgan Pretty
432238debe
Merge pull request #970 from RyanRory/disappearing-messages-v2-post-enabling
...
Cleaning up legacy disappearing messages
8 months ago
Morgan Pretty
af463d874e
Merge remote-tracking branch 'upstream/dev' into fix/minor-deadlock-improvements
...
# Conflicts:
# SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
8 months ago