Commit graph

500 commits

Author SHA1 Message Date
Matthew Chen
77572bdaec Retain changes from session database branch. 2018-01-10 12:36:23 -05:00
Matthew Chen
1839b10550 Retain changes from session database branch. 2018-01-10 12:18:34 -05:00
Matthew Chen
9ac2383a2c Retain changes from session database branch. 2018-01-10 12:18:29 -05:00
Matthew Chen
e77c3e6717 Retain changes from session database branch. 2018-01-10 12:18:23 -05:00
Michael Kirk
8d2934d86e CR: remove unnecessary code, comments
// FREEBIE
2018-01-08 15:11:35 -05:00
Matthew Chen
d01ec57f0e Fix storage reset. 2018-01-08 10:51:56 -05:00
Michael Kirk
81268012e5 Better keyboard management.
- fixes problems on iOS11.2 where emoji keyboard sometimes obscures text
  input.
- better animation for interactive pan gesture when viewing message
  details
- more intuitive swipe-to-dismiss keyboard in conversation view
- converge on one mnethod for dismissing keyboard in conversation view

- [ ] Pop keyboard, then hit attachment, dismisses keyboard, which is
      fine, but the content should immediately scroll down with the
      keyboard, instead it stays up, and scrolls down only once the
      attachment action sheet has been dismissed.

// FREEBIE
2018-01-08 01:10:31 -05:00
sdkjfhsdkjhfsdlkjhfsdf
6e2d9c8141 identity change vs. share extension
// FREEBIE
2018-01-02 11:24:36 -06:00
sdkjfhsdkjhfsdlkjhfsdf
8141843f27 comment typo 2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf
92477c78b7 cleanup before PR 2017-12-20 14:26:53 -06:00
Michael Kirk
bce18637f0 render attachments with captions
// FREEBIE
2017-12-20 14:26:53 -06:00
Michael Kirk
e20f44024c WIP: Support sending attachment captions
Looks fine on other clients, but locally we don't display the caption.

// FREEBIE
2017-12-20 14:26:53 -06:00
Matthew Chen
05100b1143 Respond to CR. 2017-12-20 11:32:48 -05:00
Matthew Chen
6b0e3508a5 Respond to CR. 2017-12-20 11:28:07 -05:00
Matthew Chen
245304116f Respond to CR. 2017-12-20 11:19:09 -05:00
Matthew Chen
085f8a6f64 Clean up ahead of PR. 2017-12-19 12:02:58 -05:00
Matthew Chen
70926d7f10 Clean up ahead of PR. 2017-12-19 11:50:01 -05:00
Matthew Chen
6b58b4cbde Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen
fe67cd924c Rework database view registration. 2017-12-19 11:42:06 -05:00
Matthew Chen
f88b954ab5 Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
d3efb2e1c9 Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
d52eba739d Clean up TSStorageManager usage. 2017-12-19 11:41:31 -05:00
Matthew Chen
85686d3144 Continue TSStorageManager refactor. 2017-12-19 11:41:30 -05:00
Matthew Chen
9a990b58e8 Respond to CR. 2017-12-19 11:38:25 -05:00
Matthew Chen
1163e76dee Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
9815bca825 Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
5dcf4b3bbc Clean up ahead of PR. 2017-12-19 11:16:01 -05:00
Matthew Chen
137fe6fb8b Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -05:00
Matthew Chen
a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 2017-12-19 11:16:01 -05:00
Matthew Chen
a572285ad2 Respond to CR. 2017-12-19 11:10:12 -05:00
Matthew Chen
2cc3752901 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
c3b6de4f83 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
f9ce34f553 Improve background task logic. 2017-12-19 11:05:17 -05:00
Matthew Chen
5adf98788d Use background task during message processing. 2017-12-19 11:05:17 -05:00
Matthew Chen
df8ded90b8 Use background task during attachment downloads. 2017-12-19 11:05:17 -05:00
Michael Kirk
157bf00410 Merge branch 'hotfix/2.19.3' 2017-12-17 14:02:03 -05:00
Michael Kirk
e78edcde87 Only clear cache when user pulls-to-refresh
// FREEBIE
2017-12-16 12:01:19 -05:00
Michael Kirk
f4e471e0db SignalAccount cache perf improvments
- only persist models that have changed
- remove duplicate contact SignalAccounts
- ensure serial execution of buildAccounts
- only buildSignalAccounts when intersection succeeds

// FREEBIE
2017-12-15 16:18:36 -05:00
Matthew Chen
3643414da1 Respond to CR. 2017-12-15 11:16:07 -05:00
Matthew Chen
f57c12f34d Update YapDatabase. 2017-12-15 11:11:04 -05:00
Matthew Chen
571840b1dc Update YapDatabase. 2017-12-15 11:11:04 -05:00
Matthew Chen
609536fcb1 Include build version in logging. 2017-12-15 11:11:04 -05:00
Michael Kirk
16448e2a0b Merge tag '2.19.3.0' 2017-12-14 11:42:57 -05:00
Michael Kirk
64e90d29fd CR: extract method, more asserts and annotations
// FREEBIE
2017-12-14 10:52:04 -05:00
Michael Kirk
336c92ddab remove cached display name machinery, cleanup
// FREEBIE
2017-12-13 17:31:36 -05:00
Michael Kirk
7ea4b85a2a Persist signal accounts (and their embedded Contact)
// FREEBIE
2017-12-13 17:31:36 -05:00
Michael Kirk
56f1bf0305 cleanup 2017-12-11 19:37:49 -05:00
Matthew Chen
b9b3eb0541 Clean up ahead of PR. 2017-12-11 12:28:28 -05:00
Matthew Chen
429312523f Simplify OWSUserProfile's "apply changes" logic using model diffing. 2017-12-11 12:28:28 -05:00
Matthew Chen
f684482c54 Don't emit "user profile changed" notifications if nothing changed. 2017-12-11 12:28:28 -05:00
Matthew Chen
97ce1a6675 Rework user profile saves; block SAE if no local user profile key. 2017-12-11 12:28:28 -05:00
Matthew Chen
791743a5f0 Fix order of operations in SAE setup. 2017-12-07 16:04:52 -05:00
Matthew Chen
f148003fb3 Convert logTag to property. 2017-12-07 14:32:22 -05:00
Matthew Chen
99f0b9d3e8 Fix issues around statics. 2017-12-07 12:34:02 -05:00
Michael Kirk
0429836ff9 CR: rename keyWindow -> keyReferenceView, split long line
// FREEBIE
2017-12-07 10:39:44 -05:00
Michael Kirk
eca19e5874 Reconcile MediaMessageView zoom behavior with AppExtension
Previously it was predicated on UIApplication.shared

// FREEBIE
2017-12-07 10:14:30 -05:00
Michael Kirk
3eceb86371 Show alert if we fail to build the attachment
// FREEBIE
2017-12-07 10:14:30 -05:00
Michael Kirk
89b9887f1d Make DeviceSleepManager extension compatible
// FREEBIE
2017-12-07 10:13:47 -05:00
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
2017-12-07 10:13:06 -05:00
Matthew Chen
69e0bcd308 Fix tests. 2017-12-06 10:36:12 -05:00
Matthew Chen
f5353fc7d5 Clean up ahead of PR. 2017-12-05 11:35:43 -05:00
Matthew Chen
150f417a5e Clean up ahead of PR. 2017-12-05 11:32:19 -05:00
Matthew Chen
022b2f93dd Respond to CR. 2017-12-05 11:22:52 -05:00
Matthew Chen
e94ef01d72 Respond to CR. 2017-12-05 11:22:01 -05:00
Matthew Chen
9da165b846 Continue conversion of app setup. 2017-12-05 11:19:11 -05:00
Matthew Chen
ce899edf10 Respond to CR. 2017-12-05 10:44:11 -05:00
Matthew Chen
b4e8df79da Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen
a16058e477 Migrate environment to SignalMessaging. 2017-12-05 10:29:29 -05:00
Matthew Chen
6d87df88aa Migrate environment to SignalMessaging. 2017-12-05 10:29:28 -05:00
Matthew Chen
c817aa51b3 Migrate environment to SignalMessaging. 2017-12-05 10:28:46 -05:00
Michael Kirk
06f52deaf9 address some additional compiler warnings 2017-12-04 12:52:59 -05:00
Michael Kirk
23d3006fd8 remove unused code
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
08c324f948 Fix compiler warnings around ambiguous macro redefinition.
LMK if there's a better way to do this, which doesn't involve requiring
modules.

// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
2af818b3ba Make SignalMessaging AppExtension safe
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
0138777343 New @available syntax avoids compiler warnings
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
f96b7bc27c CNContact doesn't exist before iOS9
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
0dec643b94 update header to match implementation atomicity
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
5e7ca89930 Proper function prototypes
// FREEBIE
2017-12-04 12:50:28 -05:00
Matthew Chen
bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 2017-12-01 12:55:47 -05:00
Michael Kirk
336d59a6ce restore chrono timestamp
make SSK compatible with c++ by using non-modular imports, which
requires disambiguating our ddLog variable.

// FREEBIE
2017-11-30 09:38:39 -08:00
Matthew Chen
e7df2511a4 Register CrossProcessNotifier. 2017-11-30 10:28:05 -05:00
Matthew Chen
64762eb427 Observe YapDatabaseModifiedExternallyNotification. 2017-11-30 10:28:05 -05:00
Matthew Chen
62cf9b1dd5 Respond to CR. 2017-11-30 10:19:34 -05:00
Matthew Chen
d17ccadea2 Use AppContext to resolve share extension FIXMEs. 2017-11-30 10:12:32 -05:00
Matthew Chen
e712e8bfc4 Use AppContext to resolve share extension FIXMEs. 2017-11-30 10:12:24 -05:00
Matthew Chen
4c31d99498 Respond to CR. 2017-11-30 10:10:30 -05:00
Matthew Chen
ffa69b3502 Add application context class. 2017-11-30 10:07:20 -05:00
Matthew Chen
8d4e9b4565 Respond to CR. 2017-11-30 10:02:04 -05:00
Matthew Chen
779e89fe74 Clean up ahead of PR. 2017-11-30 09:49:01 -05:00
Matthew Chen
7429e1968c Clean up ahead of PR. 2017-11-30 09:49:01 -05:00
Matthew Chen
edaf65223a Migrate to shared data NSUserDefaults. 2017-11-30 09:49:01 -05:00
Matthew Chen
cd11ec5698 Add app group, share keychain. Take a first pass at file migration to shared data directory. 2017-11-30 09:49:01 -05:00
Michael Kirk
336aa13520 Avoid overzealous assert
// FREEBIE
2017-11-29 14:57:04 -08:00
Michael Kirk
2072359a72 add todo 2017-11-29 14:07:03 -08:00
Michael Kirk
e9796600c6 disable some asserts for now
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
961727814b Move pinning certificates into App
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
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
2017-11-29 13:58:27 -08:00
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
2017-11-29 13:58:27 -08:00
Matthew Chen
829464baaf Remove concurrency limitations from signal service. 2017-11-28 14:45:52 -05:00
Matthew Chen
ba88da60ca Use dedicated db connection for recipient identities. 2017-11-22 09:40:39 -05:00
Matthew Chen
9b4ac4073f Improve robustness around unknown country codes. 2017-11-21 17:48:00 -05:00
Matthew Chen
d9fcfdeeb7 Fix deadlock when responding to contacts sync messages. 2017-11-21 11:21:08 -05:00
Matthew Chen
9b197fad03 Fix deadlock when responding to contacts sync messages. 2017-11-21 11:21:08 -05:00
Matthew Chen
d8ae5841d6 Respond to CR.
// FREEBIE
2017-11-20 14:50:43 -05:00
Matthew Chen
b3d17ea192 Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
45c7d80d97 Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
6d4a05bbea Improving handling of edge cases in conversation view. 2017-11-20 14:44:10 -05:00
Matthew Chen
2642f6fcea Fix group creation. 2017-11-17 16:06:30 -05:00
Matthew Chen
21e9f57cbe Imitate Android's behavior of delaying local notifications based on incoming sync messages. 2017-11-16 10:18:02 -05:00
Matthew Chen
2d8a7b03d0 Respond to CR.
// FREEBIE
2017-11-16 10:12:47 -05:00
Matthew Chen
d7b0424c75 Don't back up profile pics, attachments or gifs.
// FREEBIE
2017-11-16 09:59:02 -05:00
Matthew Chen
2f84e0c426 Fix calling; be explicit about which messages should be saved. 2017-11-15 20:52:07 -05:00
Matthew Chen
19ba564f80 Respond to CR.
// FREEBIE
2017-11-15 13:21:31 -05:00
Matthew Chen
00feb14b10 Respond to CR.
// FREEBIE
2017-11-15 13:15:48 -05:00
Matthew Chen
5eea0347b5 Rework the "update with..." methods to avoid re-saving deleted models. 2017-11-15 07:16:12 -05:00
Matthew Chen
94b59c326e Rework the "update with..." methods to avoid re-saving deleted models. 2017-11-15 07:16:12 -05:00
Matthew Chen
c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 2017-11-15 07:16:12 -05:00
Matthew Chen
69fa80b890 Don't resurrect zombies. 2017-11-15 07:16:12 -05:00
Matthew Chen
fce52841f9 Don't resurrect zombies. 2017-11-15 07:16:12 -05:00
Matthew Chen
5c90bc72df Never request contacts permission if app is in the background. 2017-11-10 13:21:34 -05:00
Matthew Chen
cc0e58365e Respond to CR.
// FREEBIE
2017-11-10 13:12:43 -05:00
Matthew Chen
0abdbffe1f Improve handling of attachment edge cases. 2017-11-10 13:12:43 -05:00
Matthew Chen
bac3bd4b68 Respond to CR.
// FREEBIE
2017-11-10 12:57:53 -05:00
Matthew Chen
518f15155a Respond to CR.
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
efcd42012c Respond to CR.
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
071dbd4414 Respond to CR.
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
8b65246619 Respond to CR.
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
e1b32315de Fix assert after registration.
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
5541be784f Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
6e840ff956 Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
a6bfc0a60e Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
2d21e2ae2c Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Matthew Chen
da7338580c Merge tag '2.18.1.0' 2017-11-06 14:28:43 -05:00
Michael Kirk
e82a3f3ddf respond to CR
// FREEBIE
2017-11-06 13:39:23 -05:00
Michael Kirk
8ef9e96b91 Avoid group-sync deadlock by making post-upload save async
// FREEBIE
2017-11-06 13:39:23 -05:00
Michael Kirk
98fd15fae7 Avoid groupsync deadlock - pass in transaction
// FREEBIE
2017-11-06 13:39:23 -05:00
Matthew Chen
8b6265f1b5 Respond to CR.
// FREEBIE
2017-11-03 15:24:22 -04:00
Matthew Chen
4d57402367 Ensure attachments always have a valid content type.
// FREEBIE
2017-11-03 15:03:17 -04:00
Matthew Chen
e07a240ee5 Merge tag '2.18.0.9' 2017-11-03 14:23:47 -04:00
Michael Kirk
81cff837ae Include root certs from pki.goog
// FREEBIE
2017-11-03 13:55:12 -04:00
Michael Kirk
6c13d46be2 use manually specified censorship host
// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
11e07370a9 more logging
// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
a30533e7b5 Add GTSGIAG3 to censorship circumvention trust store
openssl x509 -outform der -in GIAG3.pem -out GIAG3.crt

// FREEBIE
2017-11-03 11:24:57 -04:00
Michael Kirk
295646e5fa Rebase cleanup
// FREEBIE
2017-11-02 16:05:41 -04:00
Michael Kirk
0706edf42a Generate new registrationId on re-register
In order for others to know they should start a new session with us, we
need to change our registration id.

To achieve this, I consolidated all the Account related attributes on
TSAccountManager - luckily they were already in the proper collection, I
just moved the API to hang on the AccountManager instead of a TSStorage
category extension.

Also:

@synchronize access to `registrationId`

// FREEBIE
2017-11-02 16:05:41 -04:00
Michael Kirk
58d4c95362 Re-register without losing your messages in Debug-UI
// FREEBIE
2017-11-02 16:05:41 -04:00
Matthew Chen
1fa75ead5d Respond to CR.
// FREEBIE
2017-11-02 14:10:45 -04:00
Matthew Chen
74096fc2c2 Don't send sync messages to self if no linked devices.
// FREEBIE
2017-11-02 13:33:44 -04:00
Matthew Chen
db8a381960 Merge remote-tracking branch 'origin/release/2.18.0' 2017-11-01 12:02:37 -04:00