Commit Graph

343 Commits (fd9ee4c9f34fa28d8b1fd903302be096a14e0d2c)

Author SHA1 Message Date
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. 7 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
Matthew Chen 16f7317579 Complete backup restore/import. 8 years ago
Matthew Chen 272a90d269 Add import back up UI. Begin work on import backup logic. 8 years ago
Matthew Chen 980b3d25a7 Rework "export backup" UI. 8 years ago
Matthew Chen 77572bdaec Retain changes from session database branch. 8 years ago
Matthew Chen 1839b10550 Retain changes from session database branch. 8 years ago
Matthew Chen 9ac2383a2c Retain changes from session database branch. 8 years ago
sdkjfhsdkjhfsdlkjhfsdf 6e2d9c8141 identity change vs. share extension
// FREEBIE
8 years ago
Matthew Chen 085f8a6f64 Clean up ahead of PR. 8 years ago
Matthew Chen d52eba739d Clean up TSStorageManager usage. 8 years ago
Matthew Chen 9a990b58e8 Respond to CR. 8 years ago
Matthew Chen 9815bca825 Clean up ahead of PR. 8 years ago
Matthew Chen 137fe6fb8b Pull out OWSStorage base class for TSStorageManager. 8 years ago
Matthew Chen a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 8 years ago
Matthew Chen a572285ad2 Respond to CR. 8 years ago
Matthew Chen 2cc3752901 Improve background task logic. 8 years ago
Matthew Chen c3b6de4f83 Improve background task logic. 8 years ago
Matthew Chen f9ce34f553 Improve background task logic. 8 years ago
Matthew Chen 5adf98788d Use background task during message processing. 8 years ago
Matthew Chen 609536fcb1 Include build version in logging. 8 years ago
Michael Kirk 56f1bf0305 cleanup 8 years ago
Matthew Chen 791743a5f0 Fix order of operations in SAE setup. 8 years ago
Matthew Chen f148003fb3 Convert logTag to property. 8 years ago
Matthew Chen 99f0b9d3e8 Fix issues around statics. 8 years ago
Michael Kirk 0429836ff9 CR: rename keyWindow -> keyReferenceView, split long line
// FREEBIE
8 years ago
Michael Kirk eca19e5874 Reconcile MediaMessageView zoom behavior with AppExtension
Previously it was predicated on UIApplication.shared

// FREEBIE
8 years ago
Michael Kirk 89b9887f1d Make DeviceSleepManager extension compatible
// FREEBIE
8 years ago
Michael Kirk a58f1f385c Share a photo from photos app
Shows the conversation picker, and sends the attachment to that
conversation.

There's still a lot TODO

-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager

// FREEBIE
8 years ago
Matthew Chen 150f417a5e Clean up ahead of PR. 8 years ago
Matthew Chen 022b2f93dd Respond to CR. 8 years ago
Matthew Chen e94ef01d72 Respond to CR. 8 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 8 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 8 years ago
Matthew Chen a16058e477 Migrate environment to SignalMessaging. 8 years ago
Matthew Chen 6d87df88aa Migrate environment to SignalMessaging. 8 years ago
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 8 years ago
Michael Kirk 06f52deaf9 address some additional compiler warnings 8 years ago
Michael Kirk 2af818b3ba Make SignalMessaging AppExtension safe
// FREEBIE
8 years ago
Michael Kirk 0138777343 New @available syntax avoids compiler warnings
// FREEBIE
8 years ago