Matthew Chen
5fcf89dff1
Ignore "GIF of death."
...
// FREEBIE
2017-08-30 12:46:21 -04:00
Matthew Chen
b9908997c9
Remain scrolled to bottom after presenting the keyboard in messages view.
...
// FREEBIE
2017-08-30 12:44:10 -04:00
Matthew Chen
d7b0b6a253
Fix build break in production builds.
...
// FREEBIE
2017-08-29 17:30:56 -04:00
Matthew Chen
3c90c3361a
Respond to CR.
...
// FREEBIE
2017-08-29 16:31:27 -04:00
Matthew Chen
71d7490e35
Re-sync local profile state with service if necessary.
...
// FREEBIE
2017-08-29 16:29:54 -04:00
Matthew Chen
ac3743f810
Fix RTL layout of system message cells.
...
// FREEBIE
2017-08-29 16:26:23 -04:00
Matthew Chen
92a0fbe01b
Fix yet another edge case around message view scroll state.
...
// FREEBIE
2017-08-29 13:30:56 -04:00
Matthew Chen
4a2ca15b70
Fix build break around parameter name.
...
// FREEBIE
2017-08-29 12:26:41 -04:00
Matthew Chen
997cd2ef2b
Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
...
// FREEBIE
2017-08-29 12:20:58 -04:00
Matthew Chen
7f717c0ca6
Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
...
// FREEBIE
2017-08-29 12:20:58 -04:00
Michael Kirk
4c51f1810c
sync local profile as soon as it's created
...
// FREEBIE
2017-08-29 11:05:19 -04:00
Michael Kirk
ab84cbd670
use messageSender property now that the class relies on it in multiple
...
places.
(due to rebase)
// FREEBIE
2017-08-29 10:49:22 -04:00
Michael Kirk
42934e5fd4
remove retry logic per code review
...
the system naturally recovers anyway, upon sending messages, no need to
hit the user with another alert.
// FREEBIE
2017-08-29 10:49:22 -04:00
Michael Kirk
d71b7684a6
cleanup logging
...
// FREEBIE
2017-08-29 10:46:10 -04:00
Michael Kirk
55d0db8c46
Disable profile-key sending with feature flag
...
// FREEBIE
2017-08-29 10:39:36 -04:00
Michael Kirk
4382f33618
Send blank PROFILE_MESSAGE after whitelisting someone
...
So they can immediately fetch your profile.
Note, we're going to put this behind a feature flag for initial release
since iOS prints an empty bubble when receiving a message like this.
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk
6c63009e9e
Dedicated "Profile" debug section
...
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk
9c56660618
profile key flag and debug action
...
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk
d8aa9b4a3d
better comment per CR
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
0feb966a1c
comment cleanup / code formatting
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
526d5e33b9
Sync profile key to sibling devices when updating contact
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
46919e4702
Add own profile key to multidevice provisioning message
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
1f3d2d1ed6
Send any profile key in contact sync
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Matthew Chen
d3d9e5dabc
Fix scroll down button state.
...
// FREEBIE
2017-08-28 14:55:39 -04:00
Matthew Chen
cdfdb80fd1
Respond to CR.
...
// FREEBIE
2017-08-28 13:11:13 -04:00
Matthew Chen
7e4859241a
Clear the local profile avatar immediately when we request upload form.
...
// FREEBIE
2017-08-28 13:09:33 -04:00
Matthew Chen
0fa19b5269
Clear own avatar on service if necessary when updating local profile. Clear others' avatar when appropriate.
...
// FREEBIE
2017-08-28 11:59:36 -04:00
Matthew Chen
50a8d0f165
Clear own avatar on service if necessary when updating local profile. Clear others' avatar when appropriate.
...
// FREEBIE
2017-08-28 11:57:39 -04:00
Michael Kirk
1e51bf4899
extract event names
...
// FREEBIE
2017-08-25 17:19:31 -04:00
Michael Kirk
251e206b6d
profiles vs. censorship circumvention
...
// FREEBIE
2017-08-25 17:17:43 -04:00
Matthew Chen
f2ae73e156
Remove obsolete "scrollLaterTimer" hack in messages view.
...
// FREEBIE
2017-08-25 17:01:13 -04:00
Matthew Chen
8794880db8
Unbound message bubble cache size and DRY up cache logic.
...
// FREEBIE
2017-08-25 17:01:13 -04:00
Matthew Chen
c90ca331e3
Respond to CR.
...
// FREEBIE
2017-08-25 16:50:14 -04:00
Matthew Chen
6b8e189f45
Add view to Crop and scale avatar.
...
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen
728028563c
Add double-tap to zoom out.
...
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen
e7b32f9fd1
Add double-tap to zoom out.
...
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen
2b50eb5acc
Add view to Crop and scale avatar.
...
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen
2c301feeb7
Add view to Crop and scale avatar.
...
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen
374a59e937
Remove an old TODO.
...
// FREEBIE
2017-08-25 16:01:09 -04:00
Matthew Chen
e8a6ca1c22
Show an error when profile name is too long.
...
// FREEBIE
2017-08-25 16:01:09 -04:00
Michael Kirk
bde40a1f9c
Ensure avatar upates right after profile change.
...
// FREEBIE
2017-08-25 12:40:19 -04:00
Michael Kirk
f6720f9afa
properly clear all cached avatar images
...
// FREEBIE
2017-08-25 12:40:19 -04:00
Michael Kirk
b579ea5915
Use profile name when building avatar if contact name is unavailable
...
// FREEBIE
2017-08-25 12:40:19 -04:00
Matthew Chen
89bacf5cce
Respond to CR.
...
// FREEBIE
2017-08-24 17:29:52 -04:00
Matthew Chen
65db75a91d
Fix group profile whitelist check.
...
// FREEBIE
2017-08-24 17:29:32 -04:00
Matthew Chen
9bf80a215f
Don't add avatar to new contacts.
...
// FREEBIE
2017-08-24 17:28:18 -04:00
Michael Kirk
903d792af4
Debug action to clobber local profile and key
...
// FREEBIE
2017-08-24 14:52:49 -04:00
Michael Kirk
041c5a4a11
CR: setNeedsLayout
...
// FREEBIE
2017-08-24 14:44:14 -04:00
Michael Kirk
f49e122567
listen for profile names change notifications
...
// FREEBIE
2017-08-23 17:09:43 -04:00
Michael Kirk
96f0ab215c
wip
2017-08-23 16:42:55 -04:00
Michael Kirk
fd99354673
profile name vs. verified in ContactTableViewCell
...
// FREEBIE
2017-08-23 16:42:22 -04:00
Michael Kirk
e54e1d11c0
show profile name snippet in inbox and conversation settings
...
// FREEBIE
2017-08-23 15:56:58 -04:00
Michael Kirk
279eb89023
Fix whitelist
...
whitelist cache are a bunch of NSNumber's, we need to check their
boolValue
// FREEBIE
2017-08-23 14:59:25 -04:00
Matthew Chen
b28a6bab26
Respond to CR.
...
// FREEBIE
2017-08-23 14:57:02 -04:00
Matthew Chen
57b76b3411
Ensure message view range is properly truncated with view is configured.
...
// FREEBIE
2017-08-23 14:56:16 -04:00
Matthew Chen
15d2fd23d7
Rework save/cancel buttons in profile view.
...
// FREEBIE
2017-08-23 14:07:31 -04:00
Matthew Chen
68309eb00f
Rework save/cancel buttons in profile view.
...
// FREEBIE
2017-08-23 13:31:06 -04:00
Michael Kirk
0a57e7db09
Fix slow start crash after upgrade to 2.16
...
We were opening a write transaction before our sync extensions were
registered. This seems to have caused our views to rebuild themselves
once they did register, which in turn can cause device timeout.
Instead of opening transcations in `init`, we only build the
localProfile once it's needed.
A future PR will ensure transactions
aren't being created before syncViews are registered.
// FREEBIE
2017-08-23 11:02:24 -04:00
Matthew Chen
5e6f5804c1
Respond to CR.
...
// FREEBIE
2017-08-21 17:50:40 -04:00
Matthew Chen
584ddab0b9
Show "share profile with group" banner.
...
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen
ae1908c40c
Show "share profile with group" banner.
...
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen
68ee56174a
Pad empty profile names instead of nil.
...
// FREEBIE
2017-08-21 17:49:04 -04:00
Matthew Chen
7eeb326865
Fix minor build error.
...
// FREEBIE
2017-08-21 17:40:18 -04:00
Matthew Chen
6dda535f24
Rework the profile view.
...
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen
313d06b31d
Rework the profile view.
...
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen
020d2c567a
Rework the profile view.
...
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen
3181ee7882
Rework the profile view.
...
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen
9dfeb132cb
Respond to CR.
...
// FREEBIE
2017-08-21 17:27:30 -04:00
Matthew Chen
1e43e93371
Observe profile changes in conversation view.
...
// FREEBIE
2017-08-21 17:25:07 -04:00
Matthew Chen
14d472781f
Respond to CR.
...
// FREEBIE
2017-08-21 17:13:36 -04:00
Matthew Chen
a340c9ebdc
Clean up ahead of CR.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
4578a72ab2
Reorder where contact offers appear.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
02c96b7b0e
Rework the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
9e02524b0b
Rework the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
c2f9d7dcb2
Rework the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
265bdce0ba
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
a825fad47b
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
98eb4693c5
Rework the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
5f2f8ec6d8
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Michael Kirk
72fbb02028
aes-gcm via openssl
...
// FREEBIE
2017-08-21 16:37:16 -04:00
Matthew Chen
27e496ad06
Respond to CR.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen
1b055c485d
Rework "cancel navigate back" logic.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen
25b0f79615
Rework "cancel navigate back" logic.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen
08347478a2
Implement alternative approach to veto-able back buttons.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen
9d8c396848
Add profile view to upgrade/nag workflow.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen
ffb4b3f9d2
Add profile view to registration workflow.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
Michael Kirk
7c386b1d1e
CR: RTL, trim profile names, ensure not empty
...
- RTL support with localizable format strings
- Trim decrypted profile names
- more rigorous empty check
// FREEBIE
2017-08-17 12:24:31 -04:00
Michael Kirk
4511b4015f
Clarify where we use the profile name
...
Add some hints to differentiate profile name usage from a name pulled
from the contacts.
// FREEBIE
2017-08-17 12:24:31 -04:00
Matthew Chen
164bf19b47
Respond to CR.
...
// FREEBIE
2017-08-17 11:22:25 -04:00
Matthew Chen
d476bc286d
* Add debug UI tools for clearing and logging the profile whitelist.
...
* Auto-add new contact threads to profile whitelist when local user sends first message to that thread.
* Ensure dynamic interactions have a non-negative timestamp even if the conversation was empty.
* Only call updateMessageMappingRangeOptions _after_ beginLongLivedReadTransaction and updating messageMappings.
* Improve documentation around how to avoid corrupt mappings in conversation view.
* Fix edge cases around large initial range sizes.
* Always treat dynamic interactions as read.
* Rebuild the “unseen” database views to remove dynamic interactions (see above).
// FREEBIE
2017-08-17 11:22:25 -04:00
Matthew Chen
0b14f87575
Improve comments about mapping consistency in conversation view.
...
// FREEBIE
2017-08-17 11:22:25 -04:00
Michael Kirk
e08fa4bcec
Fix jolting animation after sending a message
...
When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.
1. leave the footer on the n-1th message
2. draw the nth message with the "..." footer
3. update the nth message with the "sent" footer and hide the footer for
the n-1th message
In the normal case this all happens very quickly, which results in some
unpleasant flicker every time you send a message.
The concession here is that we'll only print the n-1th footer if the
outgoing message *fails*. So until we implement a design more like
Android's double-check for sent/delivery, the user will not be able to
distinguish between a sent and delivered message *while* their message
is outgoing.
In my opinion the lack of jank in the normal case makes the app
supercedes this use case.
// FREEBIE
2017-08-17 11:19:46 -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
Matthew Chen
6c3662b944
Increase max conversation range length.
...
// FREEBIE
2017-08-16 17:07:18 -04:00
Matthew Chen
ddd8c9ff5f
Respond to CR.
...
// FREEBIE
2017-08-16 16:10:07 -04:00
Matthew Chen
3ecd415b84
Show activity indicator during profile update; trim whitespace from profile names.
...
// FREEBIE
2017-08-16 16:05:05 -04:00
Matthew Chen
943945b4bd
Fix “profiles not encoded” bug.
...
// FREEBIE
2017-08-16 16:03:16 -04:00
Matthew Chen
46d27cef30
Respond to CR.
...
// FREEBIE
2017-08-16 10:46:56 -04:00
Matthew Chen
1dd75a05ff
Tweak concurrency in profile manager.
...
// FREEBIE
2017-08-16 10:40:17 -04:00
Matthew Chen
02f8b13f4f
Rework concurrency in the profile manager.
...
// FREEBIE
2017-08-16 10:40:17 -04:00
Matthew Chen
b2360ace6e
Fix layout glitch in messages view.
...
// FREEBIE
2017-08-16 10:38:29 -04:00
Matthew Chen
f618f87825
Respond to CR.
...
// FREEBIE
2017-08-15 17:02:07 -04:00
Matthew Chen
90f959d0ab
Respond to CR.
...
// FREEBIE
2017-08-15 16:47:12 -04:00
Matthew Chen
cdb181eadc
Sketch out profile header in app settings view.
...
// FREEBIE
2017-08-15 16:47:12 -04:00
Matthew Chen
13aea66878
Sketch out profile header in app settings view.
...
// FREEBIE
2017-08-15 16:47:12 -04:00
Michael Kirk
abec536729
simplify check for max file size per CR
...
// FREEBIE
2017-08-15 16:25:01 -04:00
Michael Kirk
2c3e99c372
better var name per code review
...
// FREEBIE
2017-08-15 15:51:41 -04:00
Michael Kirk
fd02644ca7
resize profile avatar
...
// FREEBIE
2017-08-15 15:51:41 -04:00
Michael Kirk
9f72db44ac
Avoid lossy re-encoding of profile image
...
// FREEBIE
2017-08-15 15:45:52 -04:00
Michael Kirk
0290f176c0
Use profile name/avatar when creating new contact
...
// FREEBIE
2017-08-15 15:45:52 -04:00
Michael Kirk
135243e383
CR: variable rename, better comments, fix up tests
...
// FREEBIE
2017-08-14 15:18:12 -04:00
Michael Kirk
7499b3aaf0
Avatar API integration / WIP crypto scheme
...
Crypto Scheme:
- Name (un)padding
- WIP AES-GCM (funtioning, but need to verify against android
implementation, and tag functionality)
Changes to avatar API:
- hard code avatar domain (cdn.signal.org)
- avatar form hands out new avatar key, invalidating old avatar
- preliminary aes-gcm integration
Also:
- New type to represent AES128 keys, rather than passing around opaque
data blobs everywhere, we can use the compiler to help us make sure
we're passing compliant keying material.
- Started using factory pattern for API requests. This is intended to be
a lighter weight way to implement new API requests, rather than the
current 1-method class ceremony.
// FREEBIE
2017-08-14 12:45:37 -04:00
Michael Kirk
283d36c55b
remove avatar digest.
...
For ease of CDN cache expiry, each new avatar will have a unique URL, so
no need for a separate digest. Contents of file at URL will be verified
by forthcoming crypto scheme.
// FREEBIE
2017-08-11 11:28:38 -04:00
Michael Kirk
fc3f9ae396
Replace server sent avatar URL with hardcoded
...
// FREEBIE
2017-08-11 11:19:05 -04:00
Michael Kirk
3d9796db77
Debug actions for calling
...
For testing stale hangup/busy messages
Extracted MessageSender promise API
Moved call debug actions to their own page
// FREEBIE
2017-08-11 09:21:11 -04:00
Michael Kirk
1ee27996e4
Merge branch 'hotfix/2.15.3.1'
2017-08-11 07:42:00 -04:00
Michael Kirk
8da3108b53
Drop stale EndCall/BusyCall messages
...
// FREEBIE
2017-08-11 07:35:48 -04:00
Michael Kirk
0e241299d2
Discard GroupInfoRequest from unknown group
...
// FREEBIE
2017-08-10 12:17:42 -04:00
Michael Kirk
a3ae22c84f
Upload profile avatar to service
...
WIP, this currently lacks crypto pending further discussion.
// FREEBIE
2017-08-09 11:44:34 -04:00
Michael Kirk
72b3f3779b
Discard GroupInfoRequest from unknown group
...
// FREEBIE
2017-08-08 12:17:26 -04:00
Michael Kirk
16c646a939
Use profile name/image when available.
...
Refactored the ContactAvatarBuilder to clarify intent of the two
methods. One is only used for non-signal contacts in the Invite flow.
The other should be used for any signal contacts so we have a single
consistent way of generating the avatar initials.
// FREEBIE
2017-08-07 16:50:55 -04:00
Matthew Chen
e01fbc247e
Refine profile logic.
...
// FREEBIE
2017-08-04 17:35:22 -04:00
Matthew Chen
09e65a674b
Incomplete work to upload avatars.
...
// FREEBIE
2017-08-04 17:35:16 -04:00
Matthew Chen
f6668d24c1
Download profile avatars.
...
// FREEBIE
2017-08-04 17:35:02 -04:00
Matthew Chen
9266c3a4f9
Clear profile state when a user’s profile key changes.
...
// FREEBIE
2017-08-04 17:34:27 -04:00
Matthew Chen
8b9749202d
Load local user profile avatar if necessary.
...
// FREEBIE
2017-08-04 17:34:27 -04:00
Matthew Chen
823927685d
Update profile on service.
...
// FREEBIE
2017-08-04 15:25:17 -04:00
Matthew Chen
83d01eed76
Don’t encrypt/decrypt avatar URL or digest.
...
// FREEBIE
2017-08-04 15:25:10 -04:00
Matthew Chen
f6bcff5427
Fix rebase breakage.
...
// FREEBIE
2017-08-04 15:23:17 -04:00
Matthew Chen
37ce388eb6
Add “add to profile whitelist” offer.
...
// FREEBIE
2017-08-04 15:23:02 -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
ddf3929be1
Auto-add groups to profile whitelist groups when you make them.
...
// FREEBIE
2017-08-04 10:17:24 -04:00
Matthew Chen
ba506bf092
Respond to CR.
...
// FREEBIE
2017-08-04 10:16:17 -04:00
Matthew Chen
49e65ba1b1
Update user profile update date on successful update.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen
9c0f94f1c0
Fetch profiles from profile manager. Update profile manager with profile fetch results.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen
6ec756de44
Move profile manager to Signal.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen
540a0a8e48
Refine UserProfile class. Move local user properties to UserProfile.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen
a70bd3307d
Show threads if possible.
...
// FREEBIE
2017-08-04 09:35:10 -04:00
Michael Kirk
8a4712bf4c
Only access localNumber on AccountManager and cache it
...
// FREEBIE
2017-08-03 13:27:09 -04:00
Michael Kirk
357eb62502
[DEBUG-UI] Add avatar to (some) fake contacts
...
// FREEBIE
2017-08-03 13:18:36 -04:00
Matthew Chen
43b3abe321
Merge branch 'hotfix/2.15.2'
2017-08-03 13:10:01 -04:00
Matthew Chen
539490ee19
Respond to CR.
...
// FREEBIE
2017-08-03 12:05:53 -04:00
Matthew Chen
d9bc3ac806
Respond to CR.
...
// FREEBIE
2017-08-03 10:49:37 -04:00
Matthew Chen
9c5934359e
Don’t dismiss call view controller to present other view.
...
// FREEBIE
2017-08-03 10:41:16 -04:00
Matthew Chen
138301975c
Don’t dismiss call view controller to present other view.
...
// FREEBIE
2017-08-03 10:40:45 -04:00
Matthew Chen
791e270578
Terminate call if call view presentation is delayed.
...
// FREEBIE
2017-08-03 10:29:40 -04:00
Matthew Chen
634617b7d4
Terminate call if call view presentation is delayed.
...
// FREEBIE
2017-08-03 10:26:22 -04:00
Michael Kirk
81d7f28253
Timer to ensure call screen shown
...
// FREEBIE
2017-08-02 19:13:46 -04:00
Michael Kirk
c6069376d8
more logging
...
// FREEBIE
2017-08-02 19:13:06 -04:00
Matthew Chen
282ac4bb29
Add “share profile” row to conversation settings.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
26b668cce7
Add profile key to proto schema. Send and receive profile keys. Cache profile manager state.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
a3b16812ec
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
2017-08-02 10:38:23 -04:00
Matthew Chen
a748987d72
Add option to clear profile avatar.
...
// FREEBIE
2017-08-01 16:32:36 -04:00
Matthew Chen
03a4ebc4d8
Respond to CR.
...
// FREEBIE
2017-08-01 16:30:24 -04:00
Matthew Chen
8a8f3d81fc
Clean up ahead of PR.
...
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen
c331788c06
Modify the profile view to update profile manager state.
...
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen
873f5208c4
Sketch out the profile view.
...
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen
72ea096970
Sketch out the profile view.
...
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen
b62ab3f666
Merge remote-tracking branch 'origin/hotfix/2.15.1'
2017-08-01 16:17:18 -04:00
Matthew Chen
99c948568b
Remove iOS 9-only APIs from layout code.
...
// FREEBIE
2017-08-01 15:10:36 -04:00
Michael Kirk
249a3fcabc
Show proper setting for CallKitPrivacy
...
// FREEBIE
2017-08-01 14:29:47 -04:00
Michael Kirk
742f8cf902
Avoid unnecessariy flashing avatars
...
Make avatar building sync
Tests on a iPhone5 with 1k threads, 3k contacts show no noticeable lag.
Profiling shows ~4% of usage goes to contact avatar building, but once
cached, even that goes towards zero.
// FREEBIE
2017-08-01 12:07:54 -04:00
Michael Kirk
092578045e
[DEBUG-UI] create fake contact threads
...
// FREEBIE
2017-08-01 12:07:54 -04:00
Matthew Chen
63e20cd8bb
Sketch out profile manager.
...
// FREEBIE
2017-08-01 11:41:55 -04:00
Matthew Chen
3c3bd3c914
Tweaks to registration views.
...
// FREEBIE
2017-07-31 11:02:56 -04:00
Matthew Chen
a0eead37c7
Ensure size of message mappings range increases monotonically.
...
// FREEBIE
2017-07-28 17:13:35 -04:00
Michael Kirk
a196693425
Make sure DB views are ready before kicking processing job
...
// FREEBIE
2017-07-28 17:12:47 -04:00
Michael Kirk
6a5c6a9fc9
didBecomeActive kicks the processing queue
...
// FREEBIE
2017-07-28 17:12:47 -04:00
Matthew Chen
31d65c3d77
Fix RTL alignment of message footers.
...
// FREEBIE
2017-07-28 15:03:31 -04:00
Michael Kirk
feb1061c04
Fix spinner layout on iphone5
...
// FREEBIE
2017-07-28 15:00:48 -04:00
Matthew Chen
43f451e236
Remove errant assert.
...
// FREEBIE
2017-07-28 11:36:39 -04:00
Matthew Chen
5acb3714e9
Add debug UI to enable manual censorship circumvention.
...
// FREEBIE
2017-07-28 11:17:25 -04:00
Matthew Chen
75c7cc4abf
Add debug UI to enable manual censorship circumvention.
...
// FREEBIE
2017-07-28 11:15:09 -04:00
Matthew Chen
d22e29ec09
Include local number when creating debug groups.
...
// FREEBIE
2017-07-28 11:03:02 -04:00
Matthew Chen
8f17730d9b
Modify “create groups” debug UI to use current 1:1 contact.
...
// FREEBIE
2017-07-28 10:16:02 -04:00
Matthew Chen
653f7faca8
Add debug UI for creating groups.
...
// FREEBIE
2017-07-28 09:41:27 -04:00
Matthew Chen
1890039165
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:40:19 -04:00
Matthew Chen
103a7fab36
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:39:26 -04:00
Matthew Chen
bca736a2b7
Merge tag '2.13.4.0'
...
// FREEBIE
2017-07-27 15:04:03 -04:00
Matthew Chen
dd13119f12
Add more instrumentation to CallService.
...
// FREEBIE
2017-07-27 13:57:29 -04:00
Matthew Chen
904515994f
Add more instrumentation to CallService.
...
// FREEBIE
2017-07-27 13:28:05 -04:00
Matthew Chen
465711c2cb
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:45:29 -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
0cf9c01af2
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:27:48 -04:00
Matthew Chen
8aff95c44e
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
b4f348ad14
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
31ab9a00da
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:26:02 -04:00
Matthew Chen
6858a1e944
Fix assert in conversation view around nil title.
...
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen
803e91c3ce
Fix assert in conversation view around nil title.
...
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen
4ac7600c07
Respond to CR.
...
// FREEBIE
2017-07-27 10:24:07 -04:00
Matthew Chen
d4af62adcc
Instrument registration happy path with analytics.
...
// FREEBIE
2017-07-27 10:17:54 -04:00
Matthew Chen
f973af5a83
Streamline analytics properties.
...
// FREEBIE
2017-07-27 10:16:16 -04:00
Matthew Chen
013bf62f7c
Streamline analytics properties.
...
// FREEBIE
2017-07-27 10:16:16 -04:00
Michael Kirk
3f4dcecf15
ensure blocking keychange message has identityKey before proceeding
...
This is increasingly irrelevant due to recent safety number changes, but
legacy clients with old messages can still run into this.
FIXES: https://github.com/WhisperSystems/Signal-iOS/issues/2346
// FREEBIE
2017-07-26 16:00:32 -04:00
Michael Kirk
4d8429186d
Store undecrypted envelopes before doing any processing.
...
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.
// FREEBIE
2017-07-26 14:29:56 -04:00
Matthew Chen
d80f470c2c
Respond to CR.
...
// FREEBIE
2017-07-26 12:39:43 -04:00
Matthew Chen
2e7fe5cfd5
Rework database observation in home and message views.
...
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen
1f1a681180
Rework database observation in home and message views.
...
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen
c1139a3a28
Fix many leaks in the view controllers.
...
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen
f0cecfad11
Surface memory leaks by logging the deallocation of view controllers.
...
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen
511cbbeaaf
Make it easier to tap-to-edit group names in new group and update group vies.
...
// FREEBIE
2017-07-26 10:54:27 -04:00
Matthew Chen
863fd27abe
Respond to CR.
...
// FREEBIE
2017-07-26 10:52:15 -04:00
Matthew Chen
8e51b5ade1
Clean up ahead of PR.
...
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
958a8b4c80
Instrument CallService.
...
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
9587aab37b
Instrument network errors.
...
// FREEBIE
2017-07-24 16:05:39 -04:00
Matthew Chen
117bca7c48
Instrument errors in app delegate.
...
// 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
97772a32ff
Respond to CR.
...
// FREEBIE
2017-07-24 12:55:05 -04:00
Matthew Chen
9eaeba9af3
Address yet another edge cases around pasteboards that contain both textual and non-textual content, e.g. a gif and the URL of that gif.
...
// FREEBIE
2017-07-24 10:06:30 -04:00
Matthew Chen
ceb243b30b
Always reload home view table when changing grouping.
...
// FREEBIE
2017-07-24 09:12:54 -04:00
Matthew Chen
03aacbd682
[SSK] Try applying national prefixes when parsing phone numbers.
...
// FREEBIE
2017-07-21 15:21:22 -04:00
Matthew Chen
fdac0305cb
Update analytics macros.
...
// FREEBIE
2017-07-21 15:04:41 -04:00
Matthew Chen
14621e1288
Respond to CR.
...
// FREEBIE
2017-07-21 14:49:24 -04:00
Matthew Chen
34f7cd1a47
Clean up ahead of PR.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
02c510691c
Adapt number formatting to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
5edec99fd6
Adapt number formatting to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
04fb3642b2
Remove .xib for home view cells; adapter home view to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
eaacac9d8b
DRY up common table cell patterns.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
96fd5e11e5
Adapt more UI elements to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
c799e18c74
Adapt voice messages UI to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
8005cf0227
Adapt conversation settings view to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
d4e62efce5
Adapt call view to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
e2125978de
Adapt "new group" and "update group" views to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
693e74e868
Adapt conversation settings view to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
656cc47de5
Adapt registration views to RTL.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
d4f012fbb7
Fix contact table cell and “add to block list” view.
...
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
e15432720c
Add arabic translation; begin work on right-to-left layout.
...
// FREEBIE
2017-07-21 14:48:52 -04:00
Matthew Chen
a9ce1cde2f
Simplify CallViewController.
...
// FREEBIE
2017-07-19 09:47:55 -04:00
Matthew Chen
149c64ce49
Refine call service.
...
// FREEBIE
2017-07-19 09:47:55 -04:00
Michael Kirk
46ddaa9cae
fix: unregistered user shows "add to contacts"
...
// FREEBIE
2017-07-19 09:44:33 -04:00
Michael Kirk
17b1b70726
Remove verification debug UI
...
There is a more true-to-life way to set verification state - mark
someone as verified or default via the SN UI.
If they are marked as verified, you can mark them as no-longer-verified
by toggling a keychange in the debug UI
// FREEBIE
2017-07-19 09:43:30 -04:00
Michael Kirk
df0cf76603
Assert that mapping is set whenever accessing
...
// FREEBIE
2017-07-19 09:42:14 -04:00
Michael Kirk
1c9ce5eaf3
CR: Don't just build, but present, alert controller
...
// FREEBIE
2017-07-19 09:39:50 -04:00
Michael Kirk
5c66e5584c
Adding to existing contact requires contact access
...
Previously we'd show an empty "list" of existing contacts.
// FREEBIE
2017-07-19 09:38:48 -04:00
Matthew Chen
8b60765627
Respond to CR.
...
// FREEBIE
2017-07-19 09:36:43 -04:00
Matthew Chen
81a4ebdaf5
Apply OWSTableViewController to more views.
...
// FREEBIE
2017-07-19 09:34:55 -04:00
Matthew Chen
dc3f07cb54
Apply OWSTableViewController to more views.
...
// FREEBIE
2017-07-19 09:34:55 -04:00
Michael Kirk
9287b8560c
clean up comments per code review
...
// FREEBIE
2017-07-15 17:11:41 -04:00
Michael Kirk
fb5c17a6b4
minimize sound overlap
...
Because there is some asynchrony involved, there may be a blip during
the switch between sounds/audio sessions
// FREEBIE
2017-07-15 17:11:41 -04:00
Michael Kirk
e3faddedbc
Disallow bluetooth when user has opted for local receiver
...
// FREEBIE
2017-07-15 17:11:41 -04:00
Michael Kirk
524ba80b75
WIP: have ensureAudioSession set preferred input
...
Call it all the time, but only mutate the AVAudioSession when necessary
TODO
Can't switch to iPhone
// FREEBIE
2017-07-15 17:11:41 -04:00
Michael Kirk
220cd345f6
add comments
...
// FREEBIE
2017-07-15 17:11:41 -04:00
Michael Kirk
ba97ff3f5f
Label tweaks for device listing
...
// FREEBIE
2017-07-15 17:11:41 -04:00
Matthew Chen
d36e60b0e9
Respond to CR.
...
// FREEBIE
2017-07-14 20:46:36 -04:00
Matthew Chen
b6264383d3
Add possible fixes for the ‘empty home view’ issue.
...
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen
90dabe1c81
Add possible fixes for the ‘empty home view’ issue.
...
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen
f52814bb70
Add possible fixes for the ‘empty home view’ issue.
...
// FREEBIE
2017-07-14 20:46:35 -04:00