Commit Graph

148 Commits (5ee048330b79d4e58661aaa690aa42ea201dc641)

Author SHA1 Message Date
Ryan ZHAO 5ee048330b plurals and fix some strings 8 months ago
Ryan ZHAO 003816117f Merge branch 'dev' into standardised-strings 8 months ago
Ryan ZHAO 19b4055a2e Merge branch 'onboarding' into standardised-strings 9 months ago
Morgan Pretty 1fd65230b7 Fixed the broken unit tests
• Added a method to customise mock parameter summaries for unit tests
• Pulled across the updated libSession cache logic
9 months ago
Morgan Pretty e2fc0a5b51 Further fixes
• Fixed an issue where the default log level was set too low
• Fixed an issue where sending the app to the background without any pending jobs could result in the database and network not being suspended correctly
• Updated to latest libSession (don't try to recover paths, just rebuild)
9 months ago
Morgan Pretty 185e84dc95 Fixed a few PN behaviours
• Tweaked the message request notification behaviour
• Fixed an issue where duplicate message errors would result in the generic notification being shown
• Further notification logging improvements
10 months ago
Morgan Pretty db796896f4 Tweaks to notification extension
• Fixed an issue where the notification extension could end up in an invalid state if you delete and create a new account in rapid succession
• Fixed an issue where notification processing errors weren't getting handled correctly resulting in the notification extension timing out
• Stopped the notification extension from trying to download profile images
• Added commit hash to version info
• Tweaked the notification extension logic flow to be more straight forward
10 months ago
Morgan Pretty a49a27207d Missed some code 10 months ago
Morgan Pretty 27a3dff06b NSE tweaks to ensure code paths all behave as expected 10 months ago
Morgan Pretty cac5542868 Additional bug fixes, log tweaks and update checking
• Added a new CheckForAppUpdates job which runs at most once every 24 hours
• Updated the job failure logs to include the error that caused the failure
• Updated the network instance to use 'single_path_mode' when not executing within the main app
• Updated the logger to append extension logs when resuming instead of only during startup
• Updated the export logs behaviour to append the previously rotated log data if the latest log file is too short (to ensure we get more useful info when debugging)
• Updated to the latest libSession commit to resolve a couple of edge-cases
10 months ago
Morgan Pretty 6663bd64c4 Stopped the PN extension suspending the network and improved logging
• Removed the SOGS polling from the notification extension (rarely worked and caused network suspension bugs)
• Cleaned up some logging
10 months ago
Ryan ZHAO 527c921df3 Merge branch 'onboarding' into standardised-strings 10 months ago
Morgan Pretty a91024f0bb Separate streams for attachment upload/download and bug fixes
• Updated the code to stop sending legacy PNs outside of legacy group conversations
• Updated the logger logic to clean things up and use the local date/time (with time zone info) to ease debugging user reports
• Fixed an issue where messages in a community could incorrectly accept disappearing message settings
• Fixed an issue where duplicate messages could be sent in some cases
• Fixed an issue where the conversation might not scroll to the bottom after sending an attachment
• Fixed an issue where attachment encryption was happening in a db write thread
10 months ago
Morgan Pretty 6cb9294143 Changed the networking logic to suspend/resume rather than just cancel connections 10 months ago
Morgan Pretty d1a4683bc3 Worked on fixing the main libQuic crashes
• Revert logic to stop voice messages from playing when their associated message disappears
• Updated the libSession build script to pass through the build type (so we get debug libSession builds when doing debug builds)
• Fixed a couple of issues in libSession around recovering network connectivity
10 months ago
Ryan ZHAO 90de873ea0 add and modify strings 10 months ago
Morgan Pretty 593c3792b2 Fixed a bug where we stopped handling call message PNs 10 months ago
Morgan Pretty 733694d464 Defensive coding for C API conversation, threading & logging tweaks
• Reworked some of the C API conversions to try to prevent invalid cases
• Tweaked the threading around libSession networking callbacks to minimise Swift code blocking libSession threads
• More logging tweaks
11 months ago
Morgan Pretty dd5716e831 Initial work on 2.6.0 issues
• Fixed an issue where voice messages wouldn't stop playing when deleting a message or leaving a conversation
• Fixed an issue where the notification extension was handling errors and finishing while within a database transaction
• Fixed an issue where the ShareExtension may not have been able to send LinkPreviews
• Fixed an issue where displaying or logging the paths weren't maintaining the correct order
• Tweaked some of the logging behaviours
11 months ago
Morgan Pretty d9a64e0148 Merge remote-tracking branch 'upstream/dev' into standardised-strings
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Closed Groups/EditClosedGroupVC.swift
#	Session/Closed Groups/NewClosedGroupVC.swift
#	Session/Conversations/ConversationVC+Interaction.swift
#	Session/Conversations/ConversationVC.swift
#	Session/Conversations/Emoji Picker/EmojiPickerCollectionView.swift
#	Session/Conversations/Settings/ThreadSettingsViewModel.swift
#	Session/Emoji/Emoji+Available.swift
#	Session/Home/New Conversation/NewDMVC.swift
#	Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift
#	Session/Meta/AppDelegate.swift
#	Session/Meta/SessionApp.swift
#	Session/Onboarding/PNModeVC.swift
#	Session/Path/PathVC.swift
#	Session/Utilities/IP2Country.swift
#	SessionMessagingKit/Messages/Control Messages/SharedConfigMessage.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/OpenGroupPoller.swift
#	SessionMessagingKit/Sending & Receiving/Pollers/Poller.swift
#	SessionNotificationServiceExtension/NotificationError.swift
#	SessionUIKit/Style Guide/Values.swift
#	SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentCaptionToolbar.swift
11 months ago
Ryan ZHAO 96832484b3 minor refactor on getting app name 11 months ago
Morgan Pretty eccaa29c4a Fixed the background crash issues
• Updated GRDB and SQLCipher
• Shifted the ThreadSettingsViewModel code into a separate function to fix a compilation issue
11 months ago
Morgan Pretty 9491b4a97b Fixed a crash and config issue
• Fixed a bad memory crash which could occur when returning from the background
• Fixed an issue where config messages were incorrectly getting double wrapped in protobuf wrappers
11 months ago
Morgan Pretty 99abcdebf6 Removed some unneeded code and fixed a couple of bugs
• Removed the 'runOnceTransient' behaviour (no longer have jobs that run before the user exists)
• Removed the session id from the message snippet in the conversation list
• Fixed an issue where the SyncPushTokensJob might not run because the paths hadn't been built yet
12 months ago
Ryan ZHAO 6d297dc2a9 update strings 12 months ago
Morgan Pretty a3188ebea4 Fixed a number of bugs found in the internal release
• Moved the 'getSwarm' behaviour into a distinct job to prevent duplicate API calls
• Updated to the latest libSession (fix libQuic crash)
• Updated the JobRunner to support the `runOnceTransient` behaviour and be able to run transient jobs in the app extensions
• Reworked the extension file logging to be written directly to the file in a single operation rather than line-by-line via the logger
• Fixed a bug where community invites has the wrong author
• Fixed a bug where the title on the disappearing messages settings screen was clipping vertically
• Fixed a bug where tapping on the disappearing messages setting subtitle could incorrectly appear in read-only state for admins
• Fixed a log which contained notification content
• Tweaks to extension logging logic
12 months ago
Morgan Pretty afe1efbd90 Deduped path building and attempted to improve extension logging
• Moved the build paths logic into the BuildPathsJob to allow for better deduping
• Updated the notification and share extensions to generate log files and append to the bottom of the app log file
12 months ago
Ryan ZHAO 63658f70d7 Merge branch 'dev' into standardised-strings 1 year ago
Morgan Pretty 4818a6d074 Merge remote-tracking branch 'origin/dev' into feature/lib-quic-integration
# Conflicts:
#	Podfile.lock
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/Session-Info.plist
1 year ago
Morgan Pretty 756e256d9a Moving libSession into SessionUtilitiesKit to expose it to other targets 1 year ago
Ryan ZHAO 6a04ba5fc2 fix untouched strings 1 year ago
Ryan ZHAO fd1c368ca0 WIP: check for any untouched strings 1 year ago
Ryan ZHAO f5afdae646 Merge branch 'dev' into message-detail-screen 1 year ago
Ryan ZHAO 8f0b6d8202 WIP: Replace strings 1 year ago
Ryan ZHAO f9ef58c9d3 WIP: add strings 1 year ago
Morgan Pretty cbcdb9b37f Refactored AppContext and AppRediness to Swift 1 year ago
ryanzhao f4b17c0f06 Merge branch 'dev' into message-detail-screen 2 years ago
Morgan Pretty a2f1f36d2c Fixed a number of issues with the Notification Service Extension
Fixed an issue where receiving a PN for outgoing messages could break the NotificationServiceExtension
Fixed an issue where the NotificationServiceExtension could startup in an invalid way resulting in subsequent PNs failing to process
Fixed an issue where you could incorrectly receive multiple generic notifications after receiving an incoming call notification
Fixed an issue where the read state syncing might not clear notifications from the notification center
Fixed an issue with parsing Bencoded data
Updated the PN subscription to subscribe to CONVO_INFO_VOLATILE notifications (update read state)
Updated the NotificationServiceExtension to use standard message processing where possible
Updated the NotificationServiceExtension to update the app badge based on a database query
2 years ago
ryanzhao 7f1a1e1f29 Merge branch 'dev' into message-detail-screen 2 years ago
Morgan Pretty dfdf843f66 Fixed a few more issues
Fixed an issue where tapping a remote notification wasn't opening the conversation
Fixed an issue where the Share Extension could fail due to not having a snode pool loaded
Fixed an issue where the Theme may not be applied at the right time in the Share extension
2 years ago
Ryan Zhao 9fe9f19c94 Merge branch 'dev' into message-detail-screen 2 years ago
Morgan Pretty c63a9d3994 Fixed an issue preventing notifications from working
Fixed an issue where Storage could be left in an invalid state when it was completed silently before properly getting setup
2 years ago
Morgan Pretty 5285d81177 Fixed a few more PN logic issues
Sorted out some more threading issues
Removed a redundant SyncPushTokensJob run
Fixed an issue where the NotificationServiceExtension could incorrectly setup the database before setting up it's context
Fixed a few warnings
Removed a bunch of legacy code
Refactored the MainAppContext from Objective C into Swift
2 years ago
Ryan Zhao 0e376d0d8a rename Environment to SessionEnvironment to avoid conflicts on SwiftUI @Environment 2 years ago
Morgan Pretty 1b0fda56ad Merge remote-tracking branch 'upstream/dev' into feature/updated-push-server
# Conflicts:
#	Session.xcodeproj/project.pbxproj
#	Session/Meta/AppDelegate.swift
#	Session/Meta/Translations/de.lproj/Localizable.strings
#	Session/Meta/Translations/en.lproj/Localizable.strings
#	Session/Meta/Translations/es.lproj/Localizable.strings
#	Session/Meta/Translations/fa.lproj/Localizable.strings
#	Session/Meta/Translations/fi.lproj/Localizable.strings
#	Session/Meta/Translations/fr.lproj/Localizable.strings
#	Session/Meta/Translations/hi.lproj/Localizable.strings
#	Session/Meta/Translations/hr.lproj/Localizable.strings
#	Session/Meta/Translations/id-ID.lproj/Localizable.strings
#	Session/Meta/Translations/it.lproj/Localizable.strings
#	Session/Meta/Translations/ja.lproj/Localizable.strings
#	Session/Meta/Translations/nl.lproj/Localizable.strings
#	Session/Meta/Translations/pl.lproj/Localizable.strings
#	Session/Meta/Translations/pt_BR.lproj/Localizable.strings
#	Session/Meta/Translations/ru.lproj/Localizable.strings
#	Session/Meta/Translations/si.lproj/Localizable.strings
#	Session/Meta/Translations/sk.lproj/Localizable.strings
#	Session/Meta/Translations/sv.lproj/Localizable.strings
#	Session/Meta/Translations/th.lproj/Localizable.strings
#	Session/Meta/Translations/vi-VN.lproj/Localizable.strings
#	Session/Meta/Translations/zh-Hant.lproj/Localizable.strings
#	Session/Meta/Translations/zh_CN.lproj/Localizable.strings
#	Session/Notifications/SyncPushTokensJob.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift
#	SessionMessagingKit/Sending & Receiving/Message Handling/MessageSender+ClosedGroups.swift
#	SessionShareExtension/ShareNavController.swift
2 years ago
Morgan Pretty f373a989a8 Fixes for user config crashes
Added a method to determine if the database is suspended
Updated the code to show the "Failed" state if sending a message fails due to a suspended database
Prevented a crash which could occur in rare cases when accessing the Seed via the home screen prompt (direct user to share logs with session - db locked or device in an invalid state)
Prevented a crash which could occur when trying to send a message due to failing to retrieve the mnemonic (db locked or device in an invalid state)
Fixed a bug where optimistic messages could end up appearing multiple times
Fixed a crash with the QRCode scanner
Fixed a crash when trying to take a video attachment
Fixed a crash where the image picker grid could go out of bounds when selecting elements
Fixed a crash which could occur when a user provides a recovery password with a word that contains less than 3 characters
Fixed a potential issue where the dependency injection could result in a stale date being used in some places (removing the DI here, proper fix requires larger changes in another branch)
2 years ago
Morgan Pretty 3151aa8901 Fixed an issue where the users push token might never get unregistered 2 years ago
Morgan Pretty ec81236615 Fixed a few more threading-related bugs
Updated the libSession build script to reset and checkout submodules based on a flag (simplify the process)
Updated the share and notification extensions to generate the DSYM on debug builds to allow for better debugging
Added additional startup logging for debugging purposes
Tweaked the SNLog function to indicate when the log happens on the main thread (slightly less efficient but should help track down logic incorrectly running on the main thread)
Fixed a bug where we weren't recording the last PN server registration (so would re-register every time)
Fixed a bug where if the user sent the app to the background too quickly after launching the app wouldn't successfully startup when re-opening
Fixed a bug where the Notification and Share extensions would assert because they were dispatching the post-migration logic to the main thread (due to the threading changes in a previous release)
Fixed a bug where the Notification extension would incorrectly poll open groups on the main thread
2 years ago
Morgan Pretty b6328f79b9 Reworked the app startup process
Shifted the initial HomeVC population to a background thread to avoid blocking launch processing
Added some logging for database 'ABORT' errors to better identify cases of deadlocks
Added a launch timeout modal to allow users to share their logs if the startup process happens to hang
Updated the notification handling (and cancelling) so it could run on background threads (seemed to take up a decent chunk of main thread time)
Fixed an issue where the IP2Country population was running sync which could cause a hang on startup
Fixed an issue where the code checking if the UIPasteBoard contained an image was explicitly advised against by the documentation (caused some reported hangs)
Fixed a hang which could be caused by a redundant function when the ImagePickerController appeared
2 years ago
Morgan Pretty 53a5db0ea5 Fixed a number of issues found during internal testing
Added copy for an unrecoverable startup case
Added some additional logs to better debug ValueObservation query errors
Increased the pageSize to 20 on iPad devices (to prevent it immediately loading a second page)
Cleaned up a bunch of threading logic (try to avoid overriding subscribe/receive threads specified at subscription)
Consolidated the 'sendMessage' and 'sendAttachments' functions
Updated the various frameworks to use 'DAWRF with DSYM' to allow for better debugging during debug mode (at the cost of a longer build time)
Updated the logic to optimistically insert messages when sending to avoid any database write delays
Updated the logic to avoid sending notifications for messages which are already marked as read by the config
Fixed an issue where multiple paths could incorrectly get built at the same time in some cases
Fixed an issue where other job queues could be started before the blockingQueue finishes
Fixed a potential bug with the snode version comparison (was just a string comparison which would fail when getting to double-digit values)
Fixed a bug where you couldn't remove the last reaction on a message
Fixed the broken media message zoom animations
Fixed a bug where the last message read in a conversation wouldn't be correctly detected as already read
Fixed a bug where the QuoteView had no line limits (resulting in the '@You' mention background highlight being incorrectly positioned in the quote preview)
Fixed a bug where a large number of configSyncJobs could be scheduled (only one would run at a time but this could result in performance impacts)
2 years ago