Commit Graph

16423 Commits

Author SHA1 Message Date
ryanzhao fa1a67d957 feat: show all media view with media & document sections from tapping All Media nav button 2022-08-10 13:41:24 +10:00
ryanzhao a162f324b1 feat: add select button and delete function in media title screen 2022-08-10 13:32:53 +10:00
ryanzhao 99989f9944 Merge branch 'dev' into add-documents-section 2022-08-09 16:00:44 +10:00
ryanzhao 1fa505d1a2 feat: show media detail 2022-08-09 16:00:05 +10:00
Morgan Pretty b40752dc78
Merge pull request #649 from mpretty-cyro/fix/background-fetch-timeout
Fix/background fetch timeout
2022-08-09 15:24:53 +10:00
Morgan Pretty 201c59fd2b Updated the logic for the background fetch timeout
Updated the logic for the background fetch timeout to happen in the AppDelegate and be based on a system property to avoid a few edge-cases
Removed the ID Blinding error handling 'e' suffix (as it's not actually part of the error)
2022-08-09 15:18:57 +10:00
ryanzhao 402bee2d38 feat: add action for document section 2022-08-09 12:39:26 +10:00
Ryan Zhao ab3bbab656 add one more localised string 2022-08-08 17:11:56 +10:00
Ryan Zhao 8c74ecbe63 add localised strings 2022-08-08 17:07:58 +10:00
Ryan Zhao bc16e3da4b fix: shift the threadId filter line above the variant and sourceFilename lines 2022-08-08 17:01:36 +10:00
Morgan Pretty f2cda62882 Merge remote-tracking branch 'upstream/dev' into dev 2022-08-08 15:15:38 +10:00
Ryan Zhao d0039e446e Merge branch 'dev' into add-documents-section 2022-08-08 15:15:06 +10:00
Morgan Pretty 7ec48baffa
Merge pull request #612 from mpretty-cyro/feature/database-refactor
Database refactor
2022-08-08 15:11:29 +10:00
Morgan Pretty 09f2b41242 Updated the build number 2022-08-08 15:10:33 +10:00
Ryan Zhao dc0220accc Merge branch 'database-refactor' into add-documents-section 2022-08-08 14:58:03 +10:00
Morgan Pretty 2025fd2638 Fixed a crash and the SOGS deletion logic to continue to support the deprecated approach for the time being
Fixed an issue where the app could crash when entering the background during migration
Added the old 'messageServerIdsToRemove' code back for the time being to support the deprecated deletion behaviour
2022-08-08 13:56:11 +10:00
Ryan Zhao 86a5fb7f1f Merge branch 'database-refactor' into add-documents-section 2022-08-08 09:21:51 +10:00
Morgan Pretty 3f63a44c31 Increased the build number 2022-08-05 17:11:14 +10:00
Morgan Pretty 1224e539ea Reduced unneeded DB write operations and fixed a few minor UI bugs
Updated the database to better support the application getting suspended (0xdead10cc crash)
Updated the SOGS message handling to delete messages based on a new 'deleted' flag instead of 'data' being null
Updated the code to prevent the typing indicator from needing a DB write block as frequently
Updated the code to stop any pending jobs when entering the background (in an attempt to prevent the database suspension from causing issues)
Removed the duplicate 'Capabilities.Capability' type (updated 'Capability.Variant' to work in the same way)
Fixed a bug where a number of icons (inc. the "download document" icon) were the wrong colour in dark mode
Fixed a bug where the '@You' highlight could incorrectly have it's width reduced in some cases (had protection to prevent it being larger than the line, but that is a valid case)
Fixed a bug where the JobRunner was starting the background (which could lead to trying to access the database once it had been suspended)
Updated to the latest version of GRDB
Added some logic to the BackgroundPoller process to try and stop processing if the timeout is triggered (will catch some cases but others will end up logging a bunch of "Database is suspended" errors)
Added in some protection to prevent future deferral loops in the JobRunner
2022-08-05 17:10:01 +10:00
ryanzhao ebe422e55c Merge branch 'database-refactor' into add-documents-section 2022-08-05 09:55:44 +10:00
Morgan Pretty ecbded3819 Cleaned up the poller logic a bit 2022-08-04 18:09:03 +10:00
Morgan Pretty f8b2f73f7b Fixed a few issues found during QA
Fixed an issue where quotes containing images wouldn't send
Fixed an issue where a MessageSend job could get stuck in an infinite retry loop if it had an attachment in an invalid state
Fixed an issue where quotes containing non-media files wouldn't contain the correct data
Fixed an issue where the quote thumbnail was getting the wrong content mode set
Fixed an issue where the local disappearing messages config wasn't getting generated correctly
Fixed an issue where the format parameters for the disappearing message info message were the wrong way around in one case
Updated the AttachmentUploadJob to try to support images which haven't completed downloading (untested as it's not supported via the UI)
2022-08-04 13:25:46 +10:00
ryanzhao 61bdbe6e9b Merge branch 'database-refactor' into add-documents-section 2022-08-03 09:58:33 +10:00
Morgan Pretty d8103ede12 Updated the build number 2022-08-03 09:12:01 +10:00
Morgan Pretty 5f1039b39e Updated the PushNotificationAPI to use V4 onion requests instead of V2
Fixed a crash which could occur when handling 'loadMedia' edge cases in the MediaView (was running on non-main thread)
2022-08-03 09:10:20 +10:00
ryanzhao 075dce02f7 Merge branch 'database-refactor' into add-documents-section 2022-08-02 09:30:04 +10:00
Morgan Pretty 8f3e7fc36a Removed the debug code and added a migration to remove the old YDB
Fixed a typo
2022-08-01 16:53:05 +10:00
Morgan Pretty b468efc33b Updated the GarbageCollectionJob to log the number of files it removes 2022-08-01 10:05:30 +10:00
Morgan Pretty fde19efc13 Fixed a duplicate dependency issue 2022-07-29 15:29:20 +10:00
Morgan Pretty 775cc4f156 Increased build number 2022-07-29 15:27:53 +10:00
Morgan Pretty 4d5ded7557 Fixed a few bugs with media attachment handling, added webp support
Updated the OpenGroupManager to create a BlindedIdLookup for messages within the `inbox` (validating that the sessionId does actually match the blindedId)
Added support for static and animated WebP images
Added basic support for HEIC and HEIF images
Fixed an issue where the file size limit was set to 10,000,000 bytes instead of 10,485,760 bytes (which is actually 10Mb)
Fixed an issue where attachments uploaded by the current user on other devices would always show a loading indicator
Fixed an issue where media attachments that don't contain width/height information in their protos weren't updating the values once the download was completed
Fixed an issue where the media view could download an invalid file and endlessly appear to be downloading
2022-07-29 15:26:24 +10:00
ryanzhao d70d45c32a Merge branch 'database-refactor' into add-documents-section 2022-07-29 09:15:54 +10:00
Morgan Pretty c022f7cda2 Added an exponential back-off to polling open groups when they fail to poll 2022-07-28 18:26:22 +10:00
Morgan Pretty ae4999c3a7 Fixed a couple of crashes and a couple of other bugs
Fixed a crash due to database re-entrancy
Fixed an issue where interacting with a push notification wouldn't open the conversation in some cases
Added code to prevent a user from being able to start a DM with a blinded id
Updated some open group polling logs to be clearer
2022-07-28 15:36:56 +10:00
ryanzhao ef36ccfd02 Merge branch 'database-refactor' into add-documents-section 2022-07-26 16:24:25 +10:00
Morgan Pretty aed1b73185 Fixed a few additional issues uncovered
Added a explicit "timeout" error to make debugging a little easier
Added code to prevent the AttachmentUploadJob from continuing to try to upload if it's associated interaction has been deleted
Updated the getDefaultRoomsIfNeeded to make an unauthenticated sequence all to get both capabilities and rooms (so we will know if the server is blinded and retrieve the room images using blinded auth)
Fixed a bug where the notification badge wouldn't get cleared when removing data from a device
Fixed a bug where adding an open group could start with an invalid 'infoUpdates' value resulting in invalid data getting retrieved
Fixed a bug where under certain circumstances the PagedDatabaseObserver was filtering out updates (noticeable when restoring a device, would happen if the currentCount of content was smaller than the pageSize)
2022-07-26 11:36:32 +10:00
ryanzhao 69289cbfd6 Merge branch 'database-refactor' into add-documents-section 2022-07-26 09:15:58 +10:00
Morgan Pretty 9859cf95a4 Attempted to fix the notification & call reporting issues
Fixed an issue where fileIds weren't correctly getting sent along with open group messages
Fixed an issue where the screens could miss updates if the device was locked with the app in the foreground and then later unlocked after receiving notifications
Added an optimisation to prevent attempting to send a message after it has been deleted
Added logic to report fake calls if the code goes down an invalid code path when handling a call (to prevent Apple blocking the app)
Delayed the core which clears notifications to increase the time the app has to handle interactions (just in case it was a race condition)
2022-07-25 17:03:09 +10:00
ryanzhao 456c9ac874 Merge branch 'database-refactor' into add-documents-section 2022-07-19 16:16:42 +10:00
Morgan Pretty 3df3114bee Fixed the broken unit tests 2022-07-19 09:22:15 +10:00
Morgan Pretty 44e7a2dfa4 Added defensive coding to prevent some crashes
Added some defensive coding to prevent path selection from being able to crash due to being empty
Fixed a crash where the MediaDetailViewController could access UI on a non-main thread
Updated the BackgroundPoller to no longer retry the users or closed group swarms and to "cancel" and return immediately if we hit 25 seconds of run time (OS will kill the process if we hit 30 seconds)
2022-07-18 17:40:32 +10:00
Ryan Zhao b7d17da9cc Merge branch 'database-refactor' into add-documents-section 2022-07-18 16:43:15 +10:00
Morgan Pretty 0d80678a77 Updated the message request approval process to run asynchronously
Fixed a bug where the MessageRequestsViewController wouldn't page properly in certain cases
2022-07-18 12:32:46 +10:00
Morgan Pretty d730ce3e62 Reverted the logic to only download attachments when opening a conversation (new flag in future)
Fixed a minor bug where the UpdateProfilePictureJob could get stuck in a "defer loop"
2022-07-18 10:08:26 +10:00
Morgan Pretty 9fff4dce20 Fixed a number of bugs found during QA
Fixed a bug where the "Block user" toggle wasn't correctly reflecting the current users state
Fixed a bug where the "Blocked banner" wasn't showing the "unblock this user" alert.
Fixed a bug where the "Blocked banner" wouldn't re-appear if you re-block a user after unblocking them.
Fixed a bug where the conversation screen unblocking logic wasn't actually unblocking the user.
Fixed a bug where some settings options were disabled in open groups because the code thought the user had left the group.
Fixed a bug where the settings button wouldn't appear after accepting a message request.
2022-07-18 09:54:23 +10:00
Morgan Pretty 3c07a2d044 Added linting for the localized strings, updated the quote & mention behaviour for the current user
Added a script and build step to error if we have localised a string in code bug don't have an entry in the localisable files
Added the logic and UI to replace the current users public key (or blinded key) with 'You' in mentions and quotes
Cleaned up some duplicate & missing localised strings
Fixed a bug where new closed groups weren't getting setup locally correctly
Updated the id truncating behaviour to always truncate from the middle
2022-07-15 18:15:28 +10:00
ryanzhao b0d78754c4 Merge branch 'database-refactor' into add-documents-section 2022-07-13 13:23:36 +10:00
ryanzhao 13ded2d4b2 minor fix 2022-07-13 13:23:17 +10:00
Morgan Pretty 5b6be3912d Fixed an edge-case crash, a couple of minor bugs and made future-proofing tweaks
Fixed a bit of the OnionRequest error handling to better send through server error messages for debugging
Fixed a bug where the initial offset could be negative if the number of messages was less than the page size resulting in a crash
Fixed a crash due to a code path which was thought to be impossible exiting but is actually possible (so just erroring)
Added the 'expire' SnodeAPI endpoint
Removed the 'openGroupServerTimestamp' property (was unused and just added confusion)
Updated the logic to always handle the 'fileId' for uploads/downloads as a string instead of casting it to an Int64
Updated the OpenGroup room parsing to support either Int or String values for image ids
2022-07-12 17:43:52 +10:00
ryanzhao 13370dbb9e add comments 2022-07-12 15:31:54 +10:00