Commit Graph

228 Commits (af8ddf7bf09129a2115b8fe0b84b01387d8d900d)

Author SHA1 Message Date
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
Michael Kirk 5e7ca89930 Proper function prototypes
// FREEBIE
8 years ago
Matthew Chen bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 8 years ago
Michael Kirk 336d59a6ce restore chrono timestamp
make SSK compatible with c++ by using non-modular imports, which
requires disambiguating our ddLog variable.

// FREEBIE
8 years ago
Matthew Chen d17ccadea2 Use AppContext to resolve share extension FIXMEs. 8 years ago
Matthew Chen e712e8bfc4 Use AppContext to resolve share extension FIXMEs. 8 years ago
Matthew Chen 4c31d99498 Respond to CR. 8 years ago
Matthew Chen ffa69b3502 Add application context class. 8 years ago
Matthew Chen 8d4e9b4565 Respond to CR. 8 years ago
Matthew Chen 779e89fe74 Clean up ahead of PR. 8 years ago
Matthew Chen 7429e1968c Clean up ahead of PR. 8 years ago
Matthew Chen edaf65223a Migrate to shared data NSUserDefaults. 8 years ago
Matthew Chen cd11ec5698 Add app group, share keychain. Take a first pass at file migration to shared data directory. 8 years ago
Michael Kirk 2072359a72 add todo 8 years ago
Michael Kirk c5b0f7cd01 framework compatible CocoaLumberjack import
With previous import style, the `LOG_ASYNC_ENABLED, LOG_LEVEL_DEF`
macros were not being defined.

@import style module includes are handled differently in ObjC++, causing
problems with out millisecondTimeStamp implementation. Rather than
address that problem head on, I simple reimplemented our millisecond
timestamp method in objective-c, removing our single ObjC++ file.

// FREEBIE
8 years ago
Michael Kirk 7894a58769 FIXME: Changes to get share extension compiling
This was a slash and burn approach, and breaks existing functionality.
We need to address all of these before merging.

// FREEBIE
8 years ago