Commit graph

1700 commits

Author SHA1 Message Date
Matthew Chen
ab9770c175 Fix missing “database upgrade” label on launch screen.
// FREEBIE
2017-07-06 15:05:09 -04:00
Matthew Chen
5038744811 Fix missing “database upgrade” label on launch screen.
// FREEBIE
2017-07-06 15:05:09 -04:00
Matthew Chen
d94ee7ab11 Add options to send 3k debug messages.
// FREEBIE
2017-07-06 14:59:22 -04:00
Matthew Chen
9e5447f1d4 Respond to CR.
// FREEBIE
2017-07-06 13:20:21 -04:00
Matthew Chen
b400c0a327 Don’t show app upgrade nag unless we are at rest in home view or registration view.
// FREEBIE
2017-07-06 12:56:27 -04:00
Matthew Chen
944cd7beef Show app update nag on launch if necessary.
// FREEBIE
2017-07-06 12:56:27 -04:00
Michael Kirk
8e891eb357 Merge branch 'hotfix/2.13.3.0'
// FREEBIE
2017-07-06 09:33:57 -05:00
Matthew Chen
c5bf85d0b3 Respond to CR.
// FREEBIE
2017-07-05 18:49:02 -04:00
Matthew Chen
ab3aa9d0ce Respond to CR.
// FREEBIE
2017-07-05 18:12:06 -04:00
Matthew Chen
97169f521a Move more initialization until after didBecomeActive is complete to avoid the “bad food” crash.
// FREEBIE
2017-07-05 17:54:22 -04: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
906b307e1f remove unneccessary hack
Now that we have a nice system message design, we don't need to shoe
horn group updates into the TSCall adapter.

// FREEBIE
2017-07-05 16:55:11 -04:00
Michael Kirk
174706817c clearer comment
I erroneously thought this code was an error, maybe a better comment
would have saved me some time?

// FREEBIE
2017-07-05 12:58:04 -05:00
Michael Kirk
1f9f066fa9 print call record when declining a call
// FREEBIE
2017-07-05 12:45:34 -05:00
Michael Kirk
1e0cf89f7a Explanatory comment
// FREEBIE
2017-07-05 11:55:00 -05:00
Michael Kirk
43a3a4afaf play *after* stop
In theory this shouldn't make a difference, since we're not playing the
ringer twice, but in practice I fail to here ringer audio 50% of the
time (in DEBUG builds) while app is in the foreground.

// FREEBIE
2017-07-05 11:53:16 -05: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
ff10f52779 remove unneccessary hack
Now that we have a nice system message design, we don't need to shoe
horn group updates into the TSCall adapter.

// FREEBIE
2017-07-05 11:51:18 -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
Michael Kirk
6335782568 Make sure we're requesting access for contacts before checking access
I'm actually not sure how I got my simulator wedged into this state -
but my contacts access was "undetermined" and I had several messages.

Maybe they appeared while the app was closed?

I verified that the banner appears as expected when access is denied.

// FREEBIE
2017-07-05 11:28:27 -05:00
Matthew Chen
1552c64777 Add “delete old messages” and “save all attachments” debug commands.
// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen
72faa5f82d Add clean up command to the “orphan audit” debug UI.
// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen
feb32fdf8e Find orphan and missing attachment stream files.
// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen
284d55ef6c Rework the debug UI.
* Move debug stats to the about view.
* Convert about view to OWSTableView.
* Add DebugUIPage.
* Add non-thread Debug UI.

// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen
07c8eb54b7 Prevent "scroll to button" button from blipping.
// FREEBIE
2017-07-04 11:15:21 -04:00
Michael Kirk
c6cd0bbcae Always show timestamp after unread indicator
// FREEBIE
2017-07-04 09:15:46 -04:00
Michael Kirk
bef3a56e50 DebugUI: create fake unread messages
helpful for printing unread indicator

// FREEBIE
2017-07-04 09:15:46 -04:00
Michael Kirk
964e558139 log when starting token sync in prod
// FREEBIE
2017-07-03 16:05:04 -05:00
Michael Kirk
d0d4e67615 update badge count when app is in background
// FREEBIE
2017-06-30 09:39:26 -10: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
db3407853a Refine fake contact creation.
// FREEBIE
2017-06-23 09:37:22 -04:00
Matthew Chen
791c5bb89e Revise phone number length limit in registration view.
// FREEBIE
2017-06-23 09:34:02 -04:00
Matthew Chen
351c8c00f0 Remove phone number length limit in registration view.
// FREEBIE
2017-06-23 09:29:58 -04:00
Michael Kirk
a933fbf215 sync verifications with contact syncing
// FREEBIE
2017-06-22 15:21:25 -04:00
Michael Kirk
37b7bf18e9 clarify code and clean up code formatting
I think we hit some pathological cases in clang format, but this is
clearer anyway IMO

// FREEBIE
2017-06-22 15:20:34 -04:00
Matthew Chen
e814ae129d Fix crash in manual censorship circumvention logic on iOS 9.
// FREEBIE
2017-06-22 15:10:14 -04:00
Matthew Chen
f7c81bae9d Show the “scroll down” button if user scrolls up, even if there are no unread messages.
// FREEBIE
2017-06-22 15:08:35 -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
15ecb03471 Respond to CR.
// FREEBIE
2017-06-22 09:37:30 -04:00
Matthew Chen
7726c68047 Persist registration values in the keychain for debug builds only.
// FREEBIE
2017-06-22 09:34:07 -04:00
Matthew Chen
3d0811c03f Respond to CR.
// FREEBIE
2017-06-21 18:06:29 -04:00
Matthew Chen
029da7e0ce Hang up current call if we receive a call offer from the same user.
// FREEBIE
2017-06-21 17:47:42 -04:00
Matthew Chen
9fc92990f5 Improve logging in CallService.
// FREEBIE
2017-06-21 17:47:42 -04:00
Matthew Chen
0855faabb4 Respond to CR.
// FREEBIE
2017-06-21 15:06:48 -04:00
Matthew Chen
efbda70764 Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen
afb83cfaaa Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen
f1e5be4c17 Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen
a039aac36d Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -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
b39c4905c3 Invalid message adapter cache when app becomes visible.
// FREEBIE
2017-06-21 10:00:56 -04:00
Matthew Chen
0738568b94 Fix upgrade launch screen.
// FREEBIE
2017-06-20 17:48:11 -04:00
Michael Kirk
11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
2017-06-20 17:45:28 -04:00
Michael Kirk
8898f4a6d4 CR: future proof view placement if we change hierarchy
// FREEBIE
2017-06-20 17:31:47 -04:00
Michael Kirk
da7dae8163 CR: rename longpress->longPress
// FREEBIE
2017-06-20 17:31:12 -04:00
Michael Kirk
c70b1e9681 Make system messages deletable
// FREEBIE
2017-06-20 17:18:19 -04:00
Michael Kirk
fbba2f5dd7 colocate CollectionViewDelegate methods
// FREEBIE
2017-06-20 17:18:19 -04:00
Michael Kirk
39563ab8c2 present from signalsViewController so users don't get confused by being
dropped into a different thread when the call is over.

e.g. chatting with Alice, but Bob calls. When I end the call with Bob It
would be too easy to fire off a message assuming it's going to Bob.

// FREEBIE
2017-06-20 16:41:07 -04:00
Michael Kirk
982433c2bf update call screen avatar when contacts change
in particular this is a problem when initiating a call from a cold app
state. The call screen renders before the contacts have completely
loaded.

// FREEBIE
2017-06-20 16:28:35 -04:00
Michael Kirk
36c09aeb84 cleanup ahead of PR
// FREEBIE
2017-06-20 16:24:59 -04:00
Michael Kirk
ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 2017-06-20 16:17:37 -04:00
Matthew Chen
5ae4b99f89 Refine observation of async registration completion.
// FREEBIE
2017-06-20 13:17:44 -04:00
Matthew Chen
de453b2960 Respond to CR.
// FREEBIE
2017-06-20 13:12:51 -04:00
Matthew Chen
5796bbd858 Max out the unread count at 99.
// FREEBIE
2017-06-20 13:02:25 -04:00
Michael Kirk
bee4b118e6 remove unneccessary explanation of UI
// FREEBIE
2017-06-20 11:27:10 -04:00
Michael Kirk
0419d35f12 CR: rename method
not always resized when used

// FREEBIE
2017-06-20 11:04:11 -04:00
Michael Kirk
8fc2289152 prefer becomeFirstResponder
Feels a little more reasonable than interecepting canBecomeFirstResponder

// FREEBIE
2017-06-20 11:04:11 -04:00
Michael Kirk
b4d3e8e744 Fix: tapping input obscures last messages
// FREEBIE
2017-06-20 11:04:11 -04:00
Matthew Chen
d01a52758b Respond to CR.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
0d07e0222f Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
331a1e90e3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
f6f08891eb Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
9f2a2d1ee6 Don’t show “export with Signal” UI until async database view registration is complete.
// FREEBIE
2017-06-19 17:38:09 -04:00
Michael Kirk
b404fa3c2b Save identity from profile fetch even if there's no pre-existing
identity.

This allows us to view someone's SN before messaging them.

// FREEBIE
2017-06-19 15:31:16 -04:00
Matthew Chen
fa58977683 Prevent layout from jumping around in fingerprint view.
// FREEBIE
2017-06-19 10:39:31 -04:00
Michael Kirk
4f3278db1e Fix layout of timestamp for system messages
Incorporate topLabelSize into cell size for system messages.

We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.

// FREEBIE
2017-06-19 09:16:37 -04:00
Michael Kirk
1125e2ac99 System messsages can show timestamp
added the JSQCollectionViewCell cellTopLabel to the system message
layout

// FREEBIE
2017-06-19 09:14:52 -04:00
Matthew Chen
104a548eb2 Ensure message mapping is up-to-date when app returns from background.
// FREEBIE
2017-06-17 14:59:46 -04:00
Matthew Chen
dc134a991a Tweak font size on fingerprint view.
// FREEBIE
2017-06-17 14:57:34 -04:00
Matthew Chen
57c1519b1c Tweak font size on registration view.
// FREEBIE
2017-06-17 14:57:34 -04:00
Matthew Chen
e14b9b511d Respond to CR.
// FREEBIE
2017-06-17 14:03:44 -04:00
Matthew Chen
8649b26033 Don’t auto-scroll after “loading more messages” unless we have “more unseen messages”.
// FREEBIE
2017-06-17 13:55:50 -04:00
Matthew Chen
4d0b15f58c Show long-form app version in about view.
// FREEBIE
2017-06-17 13:55:05 -04:00
Matthew Chen
119f1f3429 Respond to CR.
// FREEBIE
2017-06-17 13:51:26 -04:00
Matthew Chen
6276dcb34c Fix “Invalid media attachments” crash.
// FREEBIE
2017-06-17 13:49:30 -04:00
Matthew Chen
ab95b04e56 Respond to CR.
// FREEBIE
2017-06-17 13:47:10 -04:00
Matthew Chen
90c4ba27bf Respond to post-holiday code reviews.
// FREEBIE
2017-06-17 13:38:19 -04:00
Matthew Chen
bd440f0878 Respond to post-holiday code reviews.
// FREEBIE
2017-06-17 13:38:19 -04:00
Michael Kirk
1661e8dc34 assume contact in 1:1 thread
// FREEBIE
2017-06-16 12:34:15 -04:00
Michael Kirk
a41b10a695 ignore tap on legacy non-blocking SN change message
// FREEBIE
2017-06-16 12:34:15 -04:00
Matthew Chen
3c28f15dbd Respond to CR.
// FREEBIE
2017-06-16 12:07:15 -04:00
Matthew Chen
3e38967590 Do not show database upgrade screen for unregistered users.
// FREEBIE
2017-06-16 12:07:15 -04:00
Matthew Chen
f9fcbad1aa Add a “last app completed launch” version.
// FREEBIE
2017-06-16 12:07:15 -04:00
Matthew Chen
cf3101226b Improve the upgrade screen.
// FREEBIE
2017-06-16 12:06:53 -04:00
Matthew Chen
75ccff0e4f Improve debug tools for creating “fake” and “tiny attachment” messages.
// FREEBIE
2017-06-16 12:06:53 -04:00
Michael Kirk
60e87bb16f clearer copy for SN changes
// FREEBIE
2017-06-16 10:52:35 -04:00
Matthew Chen
35d68c6180 Fix "writes on long-lived read connection" issue.
// FREEBIE
2017-06-16 02:16:26 -04:00
Matthew Chen
16dd87a407 Use launch screen as root view controller while database views are loading.
// FREEBIE
2017-06-15 17:15:56 -04:00
Matthew Chen
3bc73bea25 Don't return busy signal to untrusted callers.
// FREEBIE
2017-06-15 15:46:56 -04:00
Matthew Chen
f71f33c2a6 Respond to CR.
// FREEBIE
2017-06-15 15:36:27 -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
b18e7cde34 Don’t show offers in conversation with self.
// FREEBIE
2017-06-14 14:54:39 -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
d0791bf510 Add debug UI to create fake messages.
// FREEBIE
2017-06-14 12:48:13 -04:00
Matthew Chen
575d631123 Reduce number of database views.
// FREEBIE.
2017-06-14 12:27:23 -04:00
Matthew Chen
6f1f1fac80 Improve handling of group creation failures.
// FREEBIE
2017-06-13 15:09:47 -04:00
Matthew Chen
bdfa435738 Allow notification sound check from any thread.
// FREEBIE
2017-06-13 13:45:07 -04:00
Matthew Chen
f5f506d06f Investigate “call stuck on connecting” issue.
// FREEBIE
2017-06-13 11:18:27 -04:00
Matthew Chen
55b86eba28 Use reference cells for measurement.
// FREEBIE
2017-06-13 11:13:28 -04:00
Matthew Chen
83b03c0047 Use reference cells for measurement.
// FREEBIE
2017-06-13 11:08:58 -04:00
Matthew Chen
91af4f93e1 Use reference cells for measurement.
// FREEBIE
2017-06-13 11:08:58 -04:00
Matthew Chen
389305e2b9 Fix build warnings.
// FREEBIE
2017-06-13 10:42:35 -04:00
Matthew Chen
5e993e72c1 Throttle notification sounds.
// FREEBIE
2017-06-12 17:13:34 -04:00
Matthew Chen
a73c6ede60 Tweak verification UI.
* Add “tap for options” to verification banner copy.
* Add close button to banners.
* Always use shield icon for verification row in conversation settings view.
* Add action sheet to verification banner.

// FREEBIE
2017-06-12 15:52:38 -04:00
Matthew Chen
935244843e Tweak verification UI.
* Add “tap for options” to verification banner copy.
* Add close button to banners.
* Always use shield icon for verification row in conversation settings view.
* Add action sheet to verification banner.

// FREEBIE
2017-06-12 15:51:21 -04:00
Matthew Chen
c18a670d6b Don’t update expiration for messages twice.
// FREEBIE
2017-06-12 13:28:29 -04:00
Matthew Chen
027cd8cb34 Rework how messages are marked read.
// FREEBIE
2017-06-12 11:52:21 -04:00
Matthew Chen
65d84fd043 Throttle profile fetch and retry on failure.
// FREEBIE
2017-06-12 10:21:35 -04:00
Matthew Chen
f8f4e5ee6f Throttle profile fetch and retry on failure.
// FREEBIE
2017-06-12 10:17:12 -04:00
Matthew Chen
b68b188379 Use shield instead of checkmark in conversation settings view when users is not verified.
// FREEBIE
2017-06-10 14:00:56 -04:00
Matthew Chen
7d7b6689c4 Tweak verification state messages.
// FREEBIE
2017-06-09 17:16:27 -04:00
Matthew Chen
7da28bd5dc Multiple refinements around verification.
* Check for identity key before presenting fingerprint view.
* Show verification state in a separate subtitle in conversation view.
* Let users verify from group members view.

// FREEBIE
2017-06-09 16:58:00 -04:00
Matthew Chen
11ca51c95f Show verification state banner. Show verification state in conversation settings view.
// FREEBIE
2017-06-09 16:21:59 -04:00
Matthew Chen
471e307ecc Use checkmark to indicate verification status in conversation view header subtitle, fingerprint view, and in conversation settings row icon.
// FREEBIE
2017-06-09 13:12:33 -04:00
Matthew Chen
a7269a9a5d Clean up ahead of PR.
// FREEBIE
2017-06-09 11:56:37 -04:00
Matthew Chen
128e147c1b Show verification state in fingerprint view and let user change that state.
// FREEBIE
2017-06-09 11:48:06 -04:00
Matthew Chen
10f3f7fe13 Add “learn link”. Move “scan” button into QR code.
// FREEBIE
2017-06-09 11:48:06 -04:00
Matthew Chen
8b9a1e41b4 DRY up safety number success and failure handling.
* Add “mark as verified” option to success case.

// FREEBIE
2017-06-09 11:48:06 -04:00
Matthew Chen
051b005582 Move QR code scanning to a separate view.
// FREEBIE
2017-06-09 07:48:48 -04:00
Matthew Chen
5264602106 Move QR code scanning to a separate view.
// FREEBIE
2017-06-09 07:48:48 -04:00
Matthew Chen
5a867e3f6c Respond to CR.
// FREEBIE
2017-06-09 07:48:48 -04:00
Matthew Chen
58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
2017-06-09 07:48:48 -04:00
Michael Kirk
6d3d06bd1a CR: continue to delete sessions for EndSession
// FREEBIE
2017-06-08 16:20:23 -04:00
Michael Kirk
6715e76c99 Prefer archiving, to deleting old sessions for better handling of out of
order decryption.

// FREEBIE
2017-06-08 16:19:31 -04:00
Michael Kirk
a139bd73e6 Remove deprecated info message from debug UI
// FREEBIE
2017-06-08 16:04:36 -04:00
Matthew Chen
fe0ddb53d2 Clean up ahead of PR.
// FREEBIE
2017-06-08 15:34:54 -04:00
Matthew Chen
93a587c896 Convert FingerprintViewController to programmatic layout.
// FREEBIE
2017-06-08 15:12:03 -04:00
Matthew Chen
3508feaec3 Convert FingerprintViewController to programmatic layout.
// FREEBIE
2017-06-08 14:55:26 -04:00
Matthew Chen
869cdfd12c Add verification state change messages.
// FREEBIE
2017-06-08 10:44:23 -04:00
Matthew Chen
bc63a72c25 Add verification state change messages.
// FREEBIE
2017-06-08 10:44:23 -04:00
Michael Kirk
75bab75dc8 Show no redundant error when failing to send due to changed identity
The old "blocking" style SN alerts are deprecated. We maintain the
functionality to decrypt incoming messages from legacy SN alerts so that
users have time to recover their undecrypted messages.

// FREEBIE
2017-06-08 10:34:45 -04:00
Matthew Chen
1ef9ba0659 Clea up usage of fail macro.
// FREEBIE
2017-06-08 10:25:28 -04:00
Matthew Chen
c3edbd9aa4 Fix paste of text fragments.
// FREEBIE
2017-06-08 10:22:39 -04:00
Michael Kirk
842baa3072 CR: use weak self
// FREEBIE
2017-06-07 22:33:29 -04:00
Michael Kirk
f7468acad2 Properly dismiss file view after proceeding with share to no-longer
verified identity

// FREEBIE
2017-06-07 22:31:52 -04:00
Michael Kirk
4e995b76f3 Don't try to share file to untrusted identity
There's a problem with this approach - specifically we need to dismiss
the external file share view controller eventually.

But more generally, because SN can present a view controller, it's kind
success/retry handling is contextual to it's presenting view controller.

So, probably the thing to do is duplicate this logic at it's various
presentation contexts.

// FREEBIE
2017-06-07 22:31:52 -04:00
Michael Kirk
1a3204bf46 create interaction in thread when missing call due to changed identity
// FREEBIE
2017-06-07 15:04:21 -04:00
Michael Kirk
022292e2e5 CR: extract method for readability
// FREEBIE
2017-06-07 14:51:52 -04:00
Michael Kirk
5b2428c8a5 debug toggle verification state
// FREEBIE
2017-06-07 14:51:52 -04:00
Michael Kirk
4000908f43 clarify assert per code review
// FREEBIE
2017-06-07 11:20:12 -04:00
Michael Kirk
bae91d97d6 clearer code style
// FREEBIE
2017-06-07 11:02:07 -04:00
Michael Kirk
d77addc01e extract session state debug utils into section
// FREEBIE
2017-06-07 10:56:23 -04:00
Michael Kirk
54865e43ed debug item to locally simulate a SN change
...because constantly reinstalling a secondary device takes too long

You can toggle twice to switch it back, but most of the time you'll
simply pull the latest (real) key when the message view regains focus.

// FREEBIE
2017-06-07 10:44:24 -04:00
Michael Kirk
8c592a373a log error on assertion failure
// FREEBIE
2017-06-07 10:30:08 -04:00
Michael Kirk
f74c3a0e87 remove unused code
// FREEBIE
2017-06-07 10:29:45 -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
Michael Kirk
146031e4d5 update copy / remove some unused "unseen" tracking
// FREEBIE
2017-06-07 10:19:09 -04:00
Michael Kirk
41a34e572b Update Safety Number alerts to work with verification
// FREEBIE
2017-06-07 10:18:16 -04:00
Matthew Chen
c7c243cfed Clean up ahead of PR.
// FREEBIE
2017-06-07 10:18:16 -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
1dffdb5ca0 Indicate if censorship circumvention is active in the main app settings view.
// FREEBIE
2017-06-06 16:03:00 -04:00
Matthew Chen
15074cdb8f Clean up system message cells, make them tappable, etc.
// FREEBIE
2017-06-06 10:26:06 -04:00
Matthew Chen
2d76f2beb9 Respond to CR.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
301c8c51a1 Clean up ahead of PR.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
eb53958aeb Clean up ahead of PR.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
efa40dbdb7 Rework icons in conversation settings view.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
b3c42f0c3e Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
a013a7206e Rework and unify the system messages.
// FREEBIE
2017-06-06 10:15:56 -04:00
Matthew Chen
459c6c6ed4 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
Matthew Chen
74209561cc Clean up ahead of PR.
// FREEBIE
2017-06-05 16:27:53 -04:00
Matthew Chen
713d31ea6a Rework appearance of the unread indicator.
// FREEBIE
2017-06-05 16:25:25 -04:00
Matthew Chen
c8fc47c08c Rework appearance of the unread indicator.
// FREEBIE
2017-06-05 16:25:25 -04:00
Matthew Chen
a847a5c86b Fix layout of unread indicator cell subtitle.
// FREEBIE
2017-06-05 16:25:25 -04:00
Matthew Chen
dab8ddb37d Rework appearance of the unread indicator.
// FREEBIE
2017-06-05 16:25:25 -04:00
Matthew Chen
90cdb6fcc6 Only show unread indicator if there is more than one message in the thread.
// FREEBIE
2017-06-05 16:21:26 -04:00
Matthew Chen
165de573c5 Fix edge cases in the unseen indicator.
// FREEBIE
2017-06-05 16:21:26 -04:00
Matthew Chen
84d5ee8e47 Clean up ahead of PR.
// FREEBIE
2017-06-05 16:21:26 -04:00
Matthew Chen
a69c6cce4e Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
2017-06-05 16:21:26 -04:00
Matthew Chen
831046338e Respond to CR.
// FREEBIE
2017-06-02 10:29:22 -04:00
Matthew Chen
e48bf65347 Fix “can’t paste GIF from iMessage” issue.
// FREEBIE
2017-06-02 10:23:43 -04:00
Matthew Chen
5dcdace26f Fix “can’t paste GIF from iMessage” issue.
// FREEBIE
2017-06-02 10:23:43 -04:00
Matthew Chen
5fad3304a5 Streamline observation of database modifications in home view.
// FREEBIE
2017-06-02 09:57:18 -04:00
Matthew Chen
b5f5599774 Fix edge cases in the unseen indicator.
// FREEBIE
2017-06-02 09:39:31 -04:00
Matthew Chen
226a975859 Clean up ahead of PR.
// FREEBIE
2017-06-02 09:39:31 -04:00
Matthew Chen
22fc69bbb4 Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
2017-06-02 09:39:31 -04:00
Michael Kirk
1059cc062c replace FOUNDATION_EXPORT with extern per code review
// FREEBIE
2017-06-01 12:59:34 -07:00
Michael Kirk
5b12f4afae Prevent outgoing calls started from various places unless have been seen
e.g. from contacts app

// FREEBIE
2017-06-01 12:59:34 -07:00
Michael Kirk
130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
2017-06-01 12:59:34 -07:00
Matthew Chen
b31ef7231a Respond to CR.
// FREEBIE
2017-05-31 10:01:56 -04:00
Matthew Chen
f49309bf66 Add incoming and outgoing message database views.
// FREEBIE
2017-05-31 09:58:32 -04:00
Matthew Chen
78982f2377 Fix issues around initial layout of messages view.
// FREEBIE
2017-05-31 09:47:33 -04:00
Matthew Chen
76df8431a8 Reset the unread indicator state if possible while app is in the background.
* Clean up timer usage.

// FREEBIE
2017-05-31 09:45:17 -04:00
Matthew Chen
0bccd58213 Make “send message” button easier to tap.
// FREEBIE
2017-05-31 09:37:11 -04:00
Michael Kirk
9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
2017-05-30 13:10:45 -07:00
Michael Kirk
2d7f03a1c8 interstitial SN confirmation for attachments/voicenotes
// FREEBIE
2017-05-30 13:10:45 -07:00
Michael Kirk
47783a9df0 request confirmation when calling changed SN
...rather than failing with "SN Changed" error

// FREEBIE
2017-05-30 13:10:45 -07:00
Michael Kirk
76fafbce54 not using ibdesignable and it sometimes crashes interface builder. =/
// FREEBIE
2017-05-30 13:07:34 -07:00
Michael Kirk
ea08faa550 remove default avatar image, we should always specify
// FREEBIE
2017-05-30 13:07:34 -07:00
Michael Kirk
c55f7044a6 Use avatar view in group views
// FREEBIE
2017-05-30 13:07:34 -07:00
Michael Kirk
52aa8a3744 require explicit avatar diameter
This will help us get crisper text in our generated avatars.

// FREEBIE
2017-05-30 13:07:34 -07:00
Michael Kirk
19d74d91e0 Build higher res avatar for call screen
Initials avatar looks blurry on call screen

// FREEBIE
2017-05-30 13:07:34 -07:00
Michael Kirk
b11f8affa7 Use AvatarImageView
Conistently apply avatar style

* contact picker
* conversation settings
* home view

// FREEBIE
2017-05-30 13:07:34 -07:00
Matthew Chen
746d131a89 Respond to CR.
// FREEBIE
2017-05-30 10:05:53 -04:00
Matthew Chen
8a6ca8c012 Fix glitch around downloading attachments.
// FREEBIE
2017-05-30 10:05:53 -04:00
Matthew Chen
02df277d19 Respond to CR.
* Add [TSInteraction compareForSorting].
* Add a separate database view for safety number changes.

// FREEBIE
2017-05-30 10:05:53 -04:00
Matthew Chen
7afcad81c6 Fix data type issue around losing millisecond precision in message expiration times.
// FREEBIE
2017-05-30 10:05:53 -04:00
Matthew Chen
19390abc41 Refine the unseen indicators.
* Fix sizing of the unread indicator cells.
* Fix conflicts between paging and “load window” of conversation view and unseen indicator.
* Modify unseen indicator to indicate whether there are more unseen messages and safety number changes.
* Fix conflicts between modifying the “load window” size and updating the dynamic interactions.
* Clear the “bubble size calculator” cache whenever the view changes size.
* Improve the scrolling behavior around “load more messages”.
* Improve management of “load window” size.
* Fix issues around caching of bubble sizes.

// FREEBIE
2017-05-30 10:05:22 -04:00
Matthew Chen
b2fa93e2ad Skip redundant layout pass in messages view.
// FREEBIE
2017-05-30 10:05:21 -04:00
Matthew Chen
bd7b7f3d11 Cache the displayable text for messages.
// FREEBIE
2017-05-30 10:05:21 -04:00
Matthew Chen
ada4880dc3 Add a database view for dynamic interactions.
// FREEBIE
2017-05-30 10:05:21 -04:00
Matthew Chen
c871e2de3e Respond to CR.
// FREEBIE
2017-05-30 09:50:17 -04:00
Matthew Chen
616041c0fb Respond to CR.
// FREEBIE
2017-05-30 09:41:28 -04:00
Matthew Chen
86fb083079 Rationalize the attributed and unattributed display name formatting and caching.
// 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
Matthew Chen
3a83f93099 Tweak appearance of registration views.
// FREEBIE
2017-05-30 09:29:19 -04:00
Matthew Chen
d065c95270 Hide the socket status view when censorship circumvention is active.
// FREEBIE
2017-05-26 20:41:27 -04:00
Michael Kirk
fe54f4319f fix reply-from lockscreen on larger devices
// FREEBIE
2017-05-26 15:50:56 -07:00
Michael Kirk
37e0b1a004 Sending to unconfirmed idnetity presents confirmation
Rather than send/fail

// FREEBIE
2017-05-26 15:39:10 -07:00
Michael Kirk
643301eae6 Fix tag typo
// FREEBIE
2017-05-26 15:14:47 -07:00
Michael Kirk
1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// FREEBIE
2017-05-26 09:50:09 -07:00
Michael Kirk
2c7ccbe5db Make sure screen protection is applied before ending bg task
* code cleanup
* Prefer dispatch_async vs. dispatch_sync when possible

// FREEBIE
2017-05-26 09:45:51 -07:00
Matthew Chen
1d792d1878 Rename audio duration and image size methods in TSAttachmentStream.
// FREEBIE
2017-05-26 11:19:45 -04:00
Michael Kirk
4b8544d5f7 ensure atomic write to wasSeen property
// FREEBIE
2017-05-24 18:01:24 -07: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
2475406258 Respond to CR.
// FREEBIE
2017-05-24 17:47:56 -04:00
Matthew Chen
4680a2465a Remove registration storyboard.
// FREEBIE
2017-05-24 17:46:32 -04:00
Matthew Chen
78f443374f Respond to CR.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
964e6f1adf Improve asserts and logging in attachment adapters.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
b1f7cf0d62 Cache image size and audio duration on attachments.
// FREEBIE
2017-05-24 10:02:24 -04:00
Matthew Chen
9577038f11 Respond to CR.
// FREEBIE
2017-05-24 09:40:51 -04:00
Matthew Chen
7547d03a78 Clean up ahead of PR.
// FREEBIE
2017-05-24 09:40:01 -04:00
Matthew Chen
2fc683dd9d Add example phone number to registration view and make layout responsive.
// FREEBIE
2017-05-24 09:40:01 -04:00
Matthew Chen
070395e8b6 Rewrite registration view.
// FREEBIE
2017-05-24 09:40:01 -04:00
Matthew Chen
eeb510b903 Respond to CR.
// FREEBIE
2017-05-24 09:33:17 -04:00
Matthew Chen
4ac78d9b41 Replace app settings segue.
// FREEBIE
2017-05-24 09:17:25 -04:00
Matthew Chen
632cb78751 Respond to CR.
// FREEBIE
2017-05-23 22:08:22 -04:00
Matthew Chen
db097ab8de Fix caching of message bubble sizes.
// FREEBIE
2017-05-23 13:24:10 -04:00
Matthew Chen
b0005ea932 Respond to CR.
// FREEBIE
2017-05-23 09:33:31 -04:00