Commit Graph

481 Commits (178ad94ce18aeb17966f13c3c8d871ce2e6098e7)

Author SHA1 Message Date
Matthew Chen b77528ca0a Fix asserts & logging. 7 years ago
Matthew Chen 0125535d4d Pull out SignalCoreKit. 7 years ago
Matthew Chen 3c22d0b0c8 Swift exit(). 7 years ago
Matthew Chen 4ad7ca79b7 Respond to CR. 7 years ago
Matthew Chen b883209f91 Refine logging. 7 years ago
Michael Kirk 9f35b93647 CR: clarify comment 7 years ago
Michael Kirk 619597cd61 ensure operations run to completion on the PreKey operation queue 7 years ago
Michael Kirk b11bd6ea46 extract convenience intitializer for param parser 7 years ago
Matthew Chen b00858921d Update Cocoapods. 7 years ago
Matthew Chen 9b94580dae Update assertions.
* Streamline precompiled headers.
* Remove obsolete assertions in Constraints.h.
7 years ago
Matthew Chen bcceda1861 Respond to CR. 7 years ago
Matthew Chen eb616a3411 Respond to CR. 7 years ago
Matthew Chen 399dd13cee Add test app context; use mock "document" and "shared data container" directories in tests, use mock keychain storage in tests. 7 years ago
Matthew Chen f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 7 years ago
Michael Kirk 9ec82b9a44 graceful failure when receiving too-small profile data 7 years ago
Michael Kirk 503cb046e4 remove unused FunctionalUtil code 7 years ago
Michael Kirk a2852ee930 Overflow math and safer asserts in Cryptography.m
Also removed some unused code
7 years ago
Michael Kirk c7662b5a86 Step 2/2 %s/OWSAssert/OWSAssertDebug for existing previous assert semantics
Going forward, we want to prefer safer asserts, but we don't want to blindly
apply crashing asserts across the codebase
7 years ago
Michael Kirk a54ed8b201 Step 1/2 Prefer safer asserts 7 years ago
Matthew Chen 9fefdd2e2c Respond to CR. 7 years ago
Matthew Chen 34a05cdb85 Refine image validation. 7 years ago
Matthew Chen b6649319da Fix build breakage. 7 years ago
Matthew Chen a088b94c74 Update Cocoapods, fix build breakage. 7 years ago
Matthew Chen b91751a114 Respond to CR. 7 years ago
Matthew Chen 9eb2a4f5ad Raise max valid image size. 7 years ago
Matthew Chen 32bf47fc74 Don't track thumbnail metadata in db; improve thumbnail quality. 7 years ago
Matthew Chen 8748dc9b2e Modify new thumbnail system to include video and GIF thumbnails. 7 years ago
Matthew Chen ac4365e1c9 Add OWSThumbnailService. 7 years ago
Matthew Chen 44a3a81469 Update logging and asserts in hotfix changes. 7 years ago
Matthew Chen f4d1f25656 Merge remote-tracking branch 'origin/release/2.29.1' 7 years ago
Michael Kirk e715bf9ea2 image sizing
Validate image sizing
7 years ago
Matthew Chen 9477606732 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen f473f60111 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen cc5a480baa Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen c0d486b1f1 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 3a50377902 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen d81dea1d84 Add OWS log macros. 7 years ago
Matthew Chen 713606271c Rename fail macros in Obj-C. 7 years ago
Matthew Chen 5b50e81b4f Rename fail macros in Swift. 7 years ago
Matthew Chen 7be8f30877 Apply -> Never. 7 years ago
Matthew Chen d01023d862 Respond to CR. 7 years ago
Matthew Chen 11eaf1474e Add OWSProdExit(). 7 years ago
Matthew Chen 4f2f4a44a0 Respond to CR. 7 years ago
Matthew Chen f34bdd34bc Respond to CR. 7 years ago
Matthew Chen dd4f1babba Respond to CR. 7 years ago
Matthew Chen e1049fdfcc Respond to CR. 7 years ago
Matthew Chen bc23e38efc Respond to CR. 7 years ago
Matthew Chen 3697974ca8 Rework Swift logging. 7 years ago
Michael Kirk 82e559d11b Use swift macros for main thread assert 7 years ago
Michael Kirk 1295a09ab3 add comment 7 years ago
Matthew Chen 26001e49d1 Unify log tags. 7 years ago
Michael Kirk c05700fd98 Log in OWSFail
step 1: rename OWSFail->OWSFailNoProdLog
step 2: rename OWSProdLogAndFail->OWSFail
step 3: Convert OWSFailNoProdLog->OWSFail where we want logging
step 4: Rename OWSCFail->OWSCFailNoProdLog
step 5: Rename OWSProdLogAndCFail -> OWSCFail
step 6: Convert OWSCFailNoProdLog -> OWSCFail where we want logging
7 years ago
Matthew Chen db3df249bf Merge NSData categories. 7 years ago
Matthew Chen 2c9c028504 Clean up. 7 years ago
Matthew Chen 1868c58037 Converge appLaunchTime. 7 years ago
Matthew Chen b3c62d91be Merge remote-tracking branch 'origin/release/2.28.1' 7 years ago
Matthew Chen 45e782c243 Revamp orphan data cleaner. 7 years ago
Matthew Chen 463addaa6c Ignore new calls in the incomplete calls job. 7 years ago
Matthew Chen 64c6d820fd Fix typo. 7 years ago
Matthew Chen d709a02493 Clean up formatting. 7 years ago
Michael Kirk 0bc03b0fd4 Move seed 7 years ago
Matthew Chen dfc39b4a1d Tidy files. 7 years ago
Matthew Chen e6bc37d941 Tidy files. 7 years ago
Matthew Chen 8f55f53329 Tidy files. 7 years ago
Matthew Chen 87f4b0ac2e Clean up data. 7 years ago
Matthew Chen 4a4edc68e7 Clean up data. 7 years ago
Michael Kirk ac461ca2d1 Fixup parser: Robust to servers various "empty" types
For base64Encoded data, sometimes the server sends "null" sometimes the server
sends an empty string.
7 years ago
Matthew Chen 9334143f5e Organize attachments. 7 years ago
Michael Kirk bae2e8649d Dry up Parameter parsing logic 7 years ago
Michael Kirk 8c5d6ba9bb Respond to code review. 7 years ago
Michael Kirk b42f528713 Integrate with new contact discovery endpoint
Also:
* use system cookie parsing
* add AESGCM additional authenticated data parameter

// FREEBIE
7 years ago
Matthew Chen 28f021ba55 Pull byte parser out into separate source file. 7 years ago
Matthew Chen 906d0b01a4 Fix build break. 7 years ago
Matthew Chen 819c2b1ceb Remove Twisted Oak. 7 years ago
Matthew Chen 460f7344ad Remote attestation. 7 years ago
Matthew Chen 6686ecb125 Remote attestation. 7 years ago
Michael Kirk eb4c62593b Cancel quickly if dependent operation fails 7 years ago
Michael Kirk b7288b2565 Move contact intersection into batched operation
// FREEBIE
7 years ago
Michael Kirk f277ae877c Clarify OWSOperation behavior (no behavioral changes) 7 years ago
Matthew Chen 03e5d2973b Delta contact intersections. 7 years ago
Michael Kirk ef9a0880ae Fix analyzer warnings 7 years ago
Michael Kirk 77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 7 years ago
Michael Kirk d591fb7f2c Fix some compiler warnings 7 years ago
Michael Kirk 4d3d5d98e1 Sync colors with contacts 7 years ago
Michael Kirk 28abf426f1 White status bar for call screen
Transition to VC controlled status bar style.
7 years ago
Michael Kirk 9cb25024c3 bump limit to allow more legit strings through 7 years ago
Matthew Chen 1412998b4a Rework isRTL. 7 years ago
Matthew Chen ac6f78a5fc Tweak message cells. 7 years ago
Matthew Chen 20b1a2606e Outage detection. 7 years ago
Matthew Chen 463a323585 Image content types. 7 years ago
Matthew Chen 1607aa7f57 Image content types. 7 years ago
Matthew Chen b88254244a Respond to CR. 7 years ago
Matthew Chen f1708c0b30 Improve logging around deserialization failures. 7 years ago
Matthew Chen c8fee4efa7 Add swift logging to SSK. 7 years ago
Óscar Morales Vivó 51a9841144 https://github.com/signalapp/Signal-iOS/issues/3455: Treat AMR files as generic attachments (AVFoundation doesn't support playback) 7 years ago
Matthew Chen 6bc145ce3a Fix more build warnings. 8 years ago
Matthew Chen fefc9843b1 Modify views to observe changes when active, not just foreground. 8 years ago
Matthew Chen d62725d3b7 Add reported application state. 8 years ago
Michael Kirk 4c9808d1a1 Fix iPhoneX layout show status bar above call banner
// FREEBIE
8 years ago
Matthew Chen 1a441cc40c Respond to CR. 8 years ago
Matthew Chen 8a76e778b5 Use websocket for sends. 8 years ago
Matthew Chen 5f1682deab Use websocket for sends. 8 years ago
Matthew Chen 3967a5ab05 Call lifecycle edge cases. 8 years ago
Matthew Chen d3b484482c Detect and handle corrupt database views. 8 years ago
Michael Kirk b3cd6a112b Add OWSJanksUI assertion
// FREEBIE
8 years ago
Matthew Chen 08d36aa862 Add screen lock UI to SAE. 8 years ago
Matthew Chen eb51ea42e3 Merge remote-tracking branch 'origin/hotfix/2.23.4' 8 years ago
Matthew Chen 85cb78ddfe Add mainWindow property to app context. 8 years ago
Matthew Chen 6caa5b87b6 Add more asserts around thread in SAE. 8 years ago
Matthew Chen abba24988c Rework how dates are formatted in home view. 8 years ago
Michael Kirk 81b2b57703 CR: add comments, make atomic
// FREEBIE
8 years ago
Michael Kirk 4399967e99 Comment cleanup, remove unnecessary includes
// FREEBIE
8 years ago
Michael Kirk 0b8b3b4f16 WIP: towards avatar attachment streams
// FREEBIE
8 years ago
Michael Kirk 53af41fcc6 Reusable UploadOperation based on extracted OWSOperation
// FREEBIE
8 years ago
Matthew Chen 8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
8 years ago
Matthew Chen c2e31540d7 Elaborate debug UI for messages. 8 years ago
Matthew Chen 3406d1562e Add local cache of backup fragment metadata. 8 years ago
Matthew Chen 61dc2c0249 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen e88f5643f7 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 8 years ago
Matthew Chen ef34cd5d58 Fix 'invalid auth can hang on launch' issue. 8 years ago
Michael Kirk 394cc6637c Backport comments from translations
// FREEBIE
8 years ago
Matthew Chen bb596dba98 Add screen lock feature. 8 years ago
Matthew Chen 2d6d375e82 Add screen lock feature. 8 years ago
Matthew Chen 1612642c26 Add screen lock feature. 8 years ago
Matthew Chen 08ba7c85ed Clean up ahead of PR. 8 years ago
Michael Kirk 267e85915a Avoid overflow
// FREEBIE
8 years ago
Michael Kirk d9a2effff6 CR: remove "k" from non constant
// FREEBIE
8 years ago
Matthew Chen cf13a780e9 Retry backup failures. 8 years ago
Matthew Chen 4746948dfe Respond to CR. 8 years ago
Matthew Chen 68ba8976c5 Clean up ahead of PR. 8 years ago
Matthew Chen 76b4deffe4 Respond to CR. 8 years ago
Matthew Chen 5035cb040e Implement backup import logic. 8 years ago
Matthew Chen aa546a02df Merge remote-tracking branch 'origin/release/2.22.0' 8 years ago
Matthew Chen c1169ce240 Fix typo in background task. 8 years ago
Matthew Chen 0971bad4b2 Upload database and manifest files to CloudKit. 8 years ago
Matthew Chen c84bf81cf3 Export database for backup. 8 years ago
Michael Kirk a885fb5dee Fix first reminder too early, offset bugs.
Schedule first reminder date relative to now, handle overflow

// FREEBIE
8 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 8 years ago
Michael Kirk 39b87b702b Fix debuglogs.org integration
// FREEBIE
8 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 8 years ago
Matthew Chen 3435be5aba Preserve registration lock when updating account attributes. 8 years ago
Matthew Chen 0f7b852953 Persist registration lock PIN. 8 years ago
Matthew Chen 2d6b9a7c81 Respond to CR. 8 years ago
Matthew Chen 9db9409561 Share background tasks. 8 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
8 years ago
Michael Kirk 1ff2f3f42e Merge tag '2.21.0.1' 8 years ago
Matthew Chen 4bbf0d9e3d Integrate with logs service. 8 years ago
Matthew Chen 59c745756a Clean up codebase. 8 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 8 years ago
Matthew Chen 055061ff5e Clean up ahead of PR. 8 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 8 years ago
Matthew Chen 1f6cbd399e Sketch out 2FA feature. 8 years ago
Matthew Chen bf48ccd4ad Merge remote-tracking branch 'origin/hotfix/2.20.1' 8 years ago
Matthew Chen 47a6d844c9 Refine handling of unsafe filename characters. 8 years ago
Michael Kirk e020b0ff99 Persist default sound so we can use it for fallback notifications
// FREEBIE
8 years ago
Matthew Chen 1109158b5b Add comment. 8 years ago
Matthew Chen 70ba1720d9 Filter unicode ordering letters. 8 years ago
Matthew Chen 706006539f Improve the robustness of the migration logic. 8 years ago
Matthew Chen d91507d897 Improve the robustness of the migration logic. 8 years ago
Michael Kirk 033505afd7 Remove slow file protection updates from launch path
To avoid blocking launch, file protection is now updated async for most
moved files. Out of paranoia, the database files are also update
redundantly on a sync code path.

It's still critical that we update permissions recursively for two
reasons:

1. Updating a containing directories FileProtection does not affect
   existing files in that directory.

2. Because we've changed the containers default file protection level
   (from unspecified to NSFileProtectionComplete), some existing files
   will have there file protection updated upon launching Signal 2.20.
   It's not clear to me which files this affects, and I haven't found
   any relevant documentation, but from observation, it seems to affect
   any top-level files in the container. Regardless, we're now doing the
   right thing: after launching 2.20, ensure all file permissions are
   what we expect.

Also removed no-op file protection on legacy db files. They've already
been moved by the time this method runs in AppSetup.

// FREEBIE
8 years ago
Matthew Chen 283fe17649 Apply Indic script fixes to SAE and master. 8 years ago
Matthew Chen d648a258d1 Merge branch 'hotfix/2.19.7' 8 years ago
Matthew Chen abfd333a17 Address Indic script crash. 8 years ago
matthew chen 47aa29db25 Fix build breakage. 8 years ago
Michael Kirk da15f245cf CR: fix early return, assert on error
inline functions which were only used once

// FREEBIE
8 years ago
Michael Kirk b4359b33dd Fix "lose messages received while in background"
A moved legacy DB has the NSFileProtectionClassComplete, meaning it's
never accessible while the device is locked.

// FREEBIE
8 years ago
Matthew Chen d13511ca7d Exit SAE when complete. 8 years ago
Michael Kirk 5c432a2bc1 Fix crash on launch in debug.
OWSReadReceiptManager is not `init` on the main thread; however, because
it "schedules" it's own processing during init.

I considered dispatching to main, but since AppReadiness already *can*
resolve async if the app isn't yet ready, it should be no less safe to
also dispatch async when it's off the main thread.

// FREEBIE
8 years ago
Matthew Chen b7958262ba Respond to CR. 8 years ago
Matthew Chen 6f28c75257 Fix glitch in batch processing of incoming messages. 8 years ago
Matthew Chen 4b62faf2f8 Aggressively nag iOS 8 users to upgrade iOS. 8 years ago
Michael Kirk 3d5f7e6bf3 Clean up logging
- tag all log lines for easier filtering
- use up-to-date database path

// FREEBIE
8 years ago
Collin B. Stuart cc94573e9b Constant time compare
- fix case when second part of the && conditional is skipped when data is not equal

- isEqual variable marked volatile to prevent case when it doesn't equal 0, the loop can break early since it can never be 0 again

- tested with Fastest O3 and Whole Module optimization (App Store Release)

// FREEBIE
8 years ago
Joshua Lund 2c18a75d12 Update to the new GitHub organization name 8 years ago
Matthew Chen ba42ac73d8 Revisit TODOs in the SAE work. 8 years ago
Matthew Chen 9c8178653d Revisit TODOs in the SAE work. 8 years ago
Matthew Chen bd0f601792 Respond to CR. 8 years ago
Matthew Chen 7d3f79440f Clean up ahead of PR. 8 years ago
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 8 years ago
Michael Kirk a1d3073705 Cannot open settings from share extension
// FREEBIE
8 years ago
Matthew Chen 4bfdef520a Respond to CR. 8 years ago
Matthew Chen a30170b3b2 Prefer "app is ready" flag to "storage is ready" flag. 8 years ago
Matthew Chen 8e427111ef Clean up ahead of PR. 8 years ago
Matthew Chen 6eddfae214 Improve post-migration testing tools. 8 years ago
Matthew Chen 100adae245 Register all database views asynchronously. 8 years ago
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 8 years ago
Matthew Chen 6f7f1b3b08 Improve pre-migration testing tools. 8 years ago
Matthew Chen b3e6278a45 Clean up ahead of PR. 8 years ago
Matthew Chen 9d909025c9 Handle UIImage shares. 8 years ago
Matthew Chen 5770a18b08 Handle text shares like URLs. 8 years ago
Matthew Chen 6a81d8e5c2 Respond to CR. 8 years ago
Matthew Chen 7e769de5d2 Remove spurious warning. 8 years ago
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 8 years ago
Matthew Chen 149199138c Clean up ahead of PR. 8 years ago
Matthew Chen 173da64bc4 Modify YapDatabase to read converted database, part 1. 8 years ago
Michael Kirk 71dc7f55d3 Copy DB setup / keying from Yap into conversion
// FREEBIE
8 years ago
Michael Kirk 5dde17d939 Show approval/caption view in app.
ApprovalView/Captioning is shown for:
- Images/Videos from Library
- Images/Video from Camera
- Document Picker
- GIFs

Voice notes are intentionally not captionable.

Also, in main app, hide status bar when ApprovalView is presented

// FREEBIE
8 years ago
Matthew Chen 2b528ad894 Don't use mainApplicationState in business logic. 8 years ago
Matthew Chen 59933ce1d6 Fix rebase breakage. 8 years ago