Commit graph

299 commits

Author SHA1 Message Date
Matthew Chen
c817aa51b3 Migrate environment to SignalMessaging. 2017-12-05 10:28:46 -05:00
Michael Kirk
fcb17585b0 fix compiler warnings
// 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
Matthew Chen
8cc33b3de1 Refine loading view of share extension. 2017-12-01 10:48:18 -05:00
Matthew Chen
e7b32899cb Sketch out SAE load screen; make a number of infrastructure changes. 2017-12-01 09:37:52 -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
Michael Kirk
a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
607a5cb08e Fix typo in re-registration flow
// FREEBIE
2017-11-16 13:31:46 -05:00
Michael Kirk
e84fcd7c94 Registration bug also affects other versions of iOS
// FREEBIE
2017-11-16 13:31:46 -05:00
Matthew Chen
00feb14b10 Respond to CR.
// FREEBIE
2017-11-15 13:15:48 -05:00
Matthew Chen
6e840ff956 Fix build warnings from XCode 9. 2017-11-09 02:52:44 -05:00
Michael Kirk
c0bcc40a6f Ensure we re-upload push tokens after re-registering.
// FREEBIE
2017-11-08 10:55:34 -05:00
Matthew Chen
03241128f6 Respond to CR.
// FREEBIE
2017-11-06 12:37:15 -05:00
Michael Kirk
c5244e175e orphan cleanup shouldn't happen until DB is registered
// FREEBIE
2017-10-21 18:16:52 -07:00
Matthew Chen
3b945a9da2 Respond to CR.
// FREEBIE
2017-10-18 12:13:26 -07:00
Matthew Chen
227fd5280d Resize conversation view cells as necessary.
// FREEBIE
2017-10-16 20:41:14 -07:00
Michael Kirk
3080cb512b Compose View: collation index and group search
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names

// FREEBIE
2017-10-16 12:22:02 -07:00
Michael Kirk
9a7e3cb9d8 Register for manual message fetching when unable to obtain push tokens
// FREEBIE
2017-10-12 12:02:22 -04:00
Michael Kirk
df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
2017-10-12 12:02:22 -04:00
Michael Kirk
876521f4c3 Fetch messages sooner when launched from background
The only reason a notification wakes/launches the app is to fetch
messages.

However, upon launching, especially if the app had been killed, it can
take a second or two before being notified of the notification that woke
us. Rather than wait, just fetch messages ASAP.

// FREEBIE
2017-10-10 11:33:40 -04:00
Matthew Chen
e0194fd605 Allow multiple simultaneous GIF downloads.
// FREEBIE
2017-10-02 13:37:32 -04:00
Michael Kirk
175474e0d1 Read receipt update screen
// FREEBIE
2017-09-29 16:02:00 -04:00
Michael Kirk
a2421d5b3e Fix "unknown attachment" notifications
The transaction in which the attachments were created hasn't been
committed yet.

// FREEBIE
2017-09-29 15:57:54 -04:00
Michael Kirk
344903fa5b Show proper thread from notification
// FREEBIE
2017-09-28 14:55:13 -04:00
Matthew Chen
9573e0e16d Move more work off the main thread.
// FREEBIE
2017-09-28 14:30:27 -04:00
Matthew Chen
11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
bfb03c0db4 Fix message processing edge cases.
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
8a4d67a6e4 Respond to CR.
// FREEBIE
2017-09-20 09:19:15 -04:00
Matthew Chen
183f0f1ccd Respond to CR.
// FREEBIE
2017-09-19 17:45:18 -04:00
Matthew Chen
40d728e022 Add read receipts preference.
// FREEBIE
2017-09-19 17:35:42 -04:00
Matthew Chen
80e5f281c6 Rename app preferences class.
// FREEBIE
2017-09-19 17:35:42 -04:00
Matthew Chen
2c68b06412 Respond to CR.
// FREEBIE
2017-09-18 16:12:51 -04:00
Matthew Chen
04d452b074 Normalize conversation presentation logic.
// FREEBIE
2017-09-18 16:08:18 -04:00
Matthew Chen
b6d782046a Normalize conversation presentation logic.
// FREEBIE
2017-09-18 16:08:18 -04:00
Matthew Chen
c106794fe8 Rename conversation view.
// FREEBIE
2017-09-06 14:13:18 -04:00
Matthew Chen
928525c31e Rename home view.
// FREEBIE
2017-09-06 13:59:39 -04:00
Michael Kirk
59eb782d57 Optimize layout for profile upgrade, remove other upgrade screens
// FREEBIE
2017-09-05 16:24:33 -04:00
Michael Kirk
0244a82031 code cleanup for clarity
// FREEBIE
2017-09-05 16:24:33 -04:00
Michael Kirk
73a441a28c introducing profiles
// FREEBIE
2017-09-05 16:24:33 -04:00
Matthew Chen
a825fad47b Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Michael Kirk
2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
2017-08-17 10:56:36 -04:00
Michael Kirk
ed4de7e8af Simplify code / pre-cache localNumber
Now that localNumber is read from a dedicated dbConnection we don't have
to worry about it blocking.

// FREEBIE
2017-08-04 15:19:26 -04:00
Matthew Chen
03774216a0 Respond to CR.
// FREEBIE
2017-08-04 10:32:00 -04:00
Matthew Chen
6ac4d8e971 Delete profile avatars on disk when unregistering.
// FREEBIE
2017-08-04 10:29:56 -04:00
Matthew Chen
bca736a2b7 Merge tag '2.13.4.0'
// FREEBIE
2017-07-27 15:04:03 -04:00
Matthew Chen
f1807cd709 Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:29:05 -04:00
Matthew Chen
f973af5a83 Streamline analytics properties.
// FREEBIE
2017-07-27 10:16:16 -04:00
Matthew Chen
9587aab37b Instrument network errors.
// FREEBIE
2017-07-24 16:05:39 -04:00
Michael Kirk
c74a5c0740 CR: strong reference to migration job, clarify variable
// FREEBIE
2017-07-24 13:01:43 -04:00
Michael Kirk
a5f067936c migration to fix any half-registered users
// FREEBIE
2017-07-24 13:01:43 -04:00
Matthew Chen
fdac0305cb Update analytics macros.
// FREEBIE
2017-07-21 15:04:41 -04:00
Matthew Chen
0b28285deb Fix broken tests.
// FREEBIE
2017-07-12 12:14:15 -04:00
Matthew Chen
69ba2811db Run orphan cleanup on startup.
// FREEBIE
2017-07-12 12:14:15 -04:00
Matthew Chen
d639d6557e Add owsFail free function for swift.
// FREEBIE
2017-07-11 16:20:20 -04:00
Matthew Chen
9aa54cad63 Fix missing “database upgrade” label on launch screen.
// FREEBIE
2017-07-06 15:10:47 -04:00
Michael Kirk
8e891eb357 Merge branch 'hotfix/2.13.3.0'
// FREEBIE
2017-07-06 09:33:57 -05:00
Matthew Chen
73869b1eff Fix possible cause of crash on launch.
// FREEBIE
2017-07-05 17:26:27 -04:00
Matthew Chen
7135895c1c Modify TSStorageManager to use separate shared read and write connections.
// FREEBIE
2017-07-05 17:01:28 -04:00
Michael Kirk
8abde1dff8 Non-Callkit adapter plays audio from notification when app is in
background

// FREEBIE
2017-07-05 11:53:16 -05:00
Michael Kirk
c1881c02c8 constantize file name per CR
// FREEBIE
2017-07-05 11:45:31 -05:00
Michael Kirk
9b1695f28c Play audible alert for missed call
// FREEBIE
2017-07-05 11:37:01 -05:00
Michael Kirk
89260e843f Unregistered users should have 0 badge count
// FREEBIE
2017-07-05 11:34:23 -05:00
Matthew Chen
e48d51d084 Respond to CR.
// FREEBIE
2017-06-23 14:18:17 -04:00
Matthew Chen
a462cba452 Don’t reply to “no longer verified”.
// FREEBIE
2017-06-23 13:55:21 -04:00
Matthew Chen
eff1974eeb [SSK] Reduce chattiness of logs; increase log file sizes.
// FREEBIE
2017-06-22 10:10:56 -04:00
Matthew Chen
f3f832557f Respond to CR.
// FREEBIE
2017-06-21 10:39:45 -04:00
Matthew Chen
ec077235ba Respond to CR.
// FREEBIE
2017-06-21 10:38:41 -04:00
Matthew Chen
6a5fe94d59 Improve perf of attachment stream file path upgrade.
// FREEBIE
2017-06-21 10:38:41 -04:00
Matthew Chen
0738568b94 Fix upgrade launch screen.
// FREEBIE
2017-06-20 17:48:11 -04:00
Matthew Chen
c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
2017-06-15 13:44:30 -04:00
Matthew Chen
05e316381b Remove “block on safety number changes” setting in preferences.
// FREEBIE
2017-06-14 14:36:21 -04:00
Matthew Chen
bdfa435738 Allow notification sound check from any thread.
// FREEBIE
2017-06-13 13:45:07 -04:00
Matthew Chen
5e993e72c1 Throttle notification sounds.
// FREEBIE
2017-06-12 17:13:34 -04:00
Michael Kirk
c8d547a08f Only allow callback for identities that were not previously verified
// FREEBIE
2017-06-07 10:29:45 -04:00
Michael Kirk
1127553041 restore "confirm and callback" functionality
// FREEBIE
2017-06-07 10:29:01 -04:00
Matthew Chen
b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
2017-06-07 10:18:16 -04:00
Matthew Chen
ceb210748e Sketch out OWSIdentityManager.
// FREEBIE
2017-06-07 10:18:16 -04:00
Matthew Chen
a013a7206e Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
9cdf907e20 Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
2cbf1e1d05 Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Michael Kirk
177800c641 only run migration once
// FREEBIE
2017-06-06 10:05:53 -04:00
Michael Kirk
130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
2017-06-01 12:59:34 -07:00
Matthew Chen
616041c0fb Respond to CR.
// FREEBIE
2017-05-30 09:41:28 -04:00
Matthew Chen
dd3394be1b Cache display names for accounts.
// FREEBIE
2017-05-30 09:41:28 -04:00
Michael Kirk
6d00aac046 style cleanup, no functional changes
// FREEBIE
2017-05-24 18:01:24 -07:00
Michael Kirk
bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
2017-05-24 18:01:24 -07:00
Matthew Chen
0ec095f216 Nag users on iOS 8 to upgrade.
// FREEBIE
2017-05-18 10:09:07 -04:00
Matthew Chen
5fd93eace0 Fix missing notifications.
// FREEBIE
2017-05-17 15:45:42 -04:00
Matthew Chen
fc7dec04aa Fix missing notifications.
// FREEBIE
2017-05-17 15:45:42 -04:00
Matthew Chen
e36b5a4602 Improve group members view.
// FREEBIE
2017-04-19 11:37:27 -04:00
Matthew Chen
c8466912f0 Add muting of threads.
// FREEBIE
2017-04-19 09:57:12 -04:00
Matthew Chen
3e53605009 Improve thread safety in PushManager and NotificationsManager.
// FREEBIE
2017-04-17 16:49:09 -04:00
Matthew Chen
b7b5dbb563 Do not present local notifications if a read receipt arrives immediately after.
// FREEBIE
2017-04-12 09:46:53 -04:00
Michael Kirk
a951d11d97 [SSK] move iOSVersion to SSK
// FREEBIE
2017-04-06 21:06:13 -04:00
Matthew Chen
5ff454fd90 Fix double creation of NotificationsManager singleton.
// FREEBIE
2017-03-31 23:25:30 -04:00
Matthew Chen
8374ca149e Apply assert to ensure singletons are only created once.
// FREEBIE
2017-03-31 18:45:51 -04:00
Michael Kirk
7f239c8040 [SSK] + Enforce singleton access for MessagesManager and MessageSender
// FREEBIE
2017-03-31 10:41:46 -04:00
Michael Kirk
0b49037179 Remove some more RP related code
// FREEBIE
2017-03-30 11:00:28 -04:00
Matthew Chen
47ae6ccf76 Don't show the "no contacts" mode of new conversation view again after it has been dismissed.
// FREEBIE
2017-03-29 12:59:48 -04:00