Commit graph

1996 commits

Author SHA1 Message Date
Michael Kirk
0ec2ac862a Marquee label for callview controller
// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
bd6387d1df fit more of profile name on call screen
// FREEBIE
2017-09-11 10:01:21 -04:00
Michael Kirk
c4139b0f3e Callkit ringer uses profile name
Also presents formatted number instead of e164

// FREEBIE
2017-09-11 10:01:21 -04:00
Matthew Chen
0c281cab95 Add "log user profiles" debug UI action.
// FREEBIE
2017-09-07 15:33:12 -04:00
Matthew Chen
d8d3f36070 Add "delete all contacts" debug UI action.
// FREEBIE
2017-09-07 15:27:08 -04:00
Matthew Chen
948da2afbb Merge remote-tracking branch 'origin/release/2.16.0' 2017-09-07 15:20:45 -04:00
Matthew Chen
df2bf63384 Fix back button width on iOS 11.
// FREEBIE
2017-09-07 13:49:32 -04:00
Michael Kirk
5d58f43837 More profile logging
// FREEBIE
2017-09-07 13:32:45 -04:00
Michael Kirk
04bf548a7b Fix one-time crash when opening thread without having a local profile
// FREEBIE
2017-09-07 13:24:15 -04:00
Michael Kirk
25a2646c8b Always present settings from OWSNavigationController
// FREEBIE
2017-09-07 11:06:52 -04:00
Matthew Chen
26a6e76f3c Rework conversation view header.
// FREEBIE
2017-09-07 10:47:35 -04:00
Matthew Chen
b626fb5bf8 Rework conversation view header.
// FREEBIE
2017-09-07 10:36:28 -04:00
Matthew Chen
644f435b16 Rework conversation view header.
// FREEBIE
2017-09-07 10:35:11 -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
Matthew Chen
fd4f00fa4d Rename new contact thread view.
// FREEBIE
2017-09-06 13:55:01 -04:00
Matthew Chen
fc92293da3 Fix build break.
// FREEBIE
2017-09-06 13:32:47 -04:00
Michael Kirk
6911c8047e validate push settings on main thread
// FREEBIE
2017-09-06 13:32:47 -04:00
Michael Kirk
2d13c49222 [iOS11] Support sending .heif filesS
// FREEBIE
2017-09-06 12:11:54 -04:00
Michael Kirk
83ca34edbe Fix sending images taken on iOS11 camera.
Convert .heic to .jpg upon sending

// FREEBIE
2017-09-06 11:47:01 -04:00
Michael Kirk
ecf8ca093f [JSQMVC] iOS11 compatability
// FREEBIE
2017-09-06 11:46:25 -04:00
Matthew Chen
0d04cf251b Ensure the crop view is WYSIWIG.
// FREEBIE
2017-09-05 16:36:42 -04:00
Michael Kirk
4e93bec230 black masking style for avatar cropper
- cancel/done buttons
- no navbar for modal edit
- vertically center image

// FREEBIE
2017-09-05 16:36:42 -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
90b1db9eb4 new upgrade layout
// FREEBIE
2017-09-05 16:24:33 -04:00
Michael Kirk
b7cc1e9f56 top margin iphone5c 2017-09-05 16:24:33 -04:00
Michael Kirk
73a441a28c introducing profiles
// FREEBIE
2017-09-05 16:24:33 -04:00
Matthew Chen
16dcc73b2d Respond to CR.
// FREEBIE
2017-09-05 12:31:19 -04:00
Matthew Chen
2ce66527fb Add group members individual to profile whitelist when adding group.
// FREBIE
2017-09-05 12:30:15 -04:00
Matthew Chen
6a2d14ad2a Refine message view's initial range size.
// FREEBIE
2017-09-05 09:21:36 -04:00
Matthew Chen
a1cb2c015e Refine message view's initial range size.
// FREEBIE
2017-09-05 09:21:36 -04:00
Michael Kirk
cd4cfb50d3 clean up avatar icon
avatar outline was showing behind camera which had transparent center

// FREEBIE
2017-09-01 18:15:50 -04:00
Michael Kirk
ae174d4a87 proper handling for multibyte characters
// FREEBIE
2017-09-01 18:15:02 -04:00
Michael Kirk
362b383785 Length-limit profile name field
// FREEBIE
2017-09-01 18:14:08 -04:00
Matthew Chen
3d0300242a Use "skip" not "stop" in profile upgrade nag.
// FREEBIE
2017-09-01 15:26:11 -04:00
Matthew Chen
94daccc78e Fix fake contacts.
// FREEBIE
2017-09-01 15:24:27 -04:00
Matthew Chen
a35a21d5cc Batch the creation of fake contacts.
// FREEBIE
2017-09-01 15:24:27 -04:00
Michael Kirk
1cd51a8df2 Use existing isViewLoaded var
Defined in UIKit, this will actually already do what we need without
having to define a new var

// FREEBIE
2017-09-01 14:39:52 -04:00
Michael Kirk
3b85c5e495 crashfix: production crash when notification fired before view loaded
We're observing notifications in init that modify the view, which is
problematic if we receive a notification before the view has loaded.

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
2cd2596ddc crashfix: thread.uniqueId is sometimes nil in production
fail early and print diagnostics

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
bb8f6c1b73 crashfix: crash while accessing image property
assert on blind cast

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
2eaaba9082 crashfix: on addObject, presumably it's nil.
I'm not sure how this is happening, but this will prevent the crash and
give us additional diagnostic data in the cases where it is happening.

// FREEBIE
2017-09-01 12:56:50 -04:00
Matthew Chen
95eaa2c3bb Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
b2c8ad2d29 Restore scroll state after resetting the conversation view's mapping.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
7d32491968 Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:27 -04:00
Matthew Chen
fce2ad2793 Refine the "is scrolled to bottom" logic to better handle new conversations.
// FREEBIE
2017-08-30 13:00:02 -04:00
Matthew Chen
cc048b3971 Respond to CR.
// FREEBIE
2017-08-30 12:46:21 -04:00
Matthew Chen
ef21c6d50c Ignore "GIF of death."
// FREEBIE
2017-08-30 12:46:21 -04:00
Matthew Chen
7f15228aba Ignore "GIF of death."
// FREEBIE
2017-08-30 12:46:21 -04:00
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