Commit graph

3803 commits

Author SHA1 Message Date
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
26f9c7ad00 Merge branch 'mkirk/clarify-profile-name-use' 2017-08-17 12:24:38 -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
c536f4d4b7 Merge branch 'charlesmchen/newContactConversationsVsProfileWhitelist' 2017-08-17 11:22:41 -04:00
Matthew Chen
164bf19b47 Respond to CR.
// FREEBIE
2017-08-17 11:22:25 -04:00
Matthew Chen
622c0c3f5f * 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
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
58a4993b24 Merge branch 'mkirk/fix-send-jank' 2017-08-17 11:19:49 -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
92ecf0cdc1 Merge branch 'mkirk/push-registration-blocks-signal-registration' 2017-08-17 10:58:10 -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
d41a9fd4d6 Merge branch 'charlesmchen/increaseConversationRangeSize' 2017-08-16 17:07:36 -04:00
Matthew Chen
6c3662b944 Increase max conversation range length.
// FREEBIE
2017-08-16 17:07:18 -04:00
Matthew Chen
2f2902a762 Bump build from to 2.16.0.2.
// FREEBIE
2017-08-16 16:10:52 -04:00
Matthew Chen
34a0f9810c Merge branch 'charlesmchen/profileViewTweaks' 2017-08-16 16:10:17 -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
14b6fbcb04 Merge branch 'charlesmchen/profilesVsEncoding' 2017-08-16 16:03:22 -04:00
Matthew Chen
943945b4bd Fix “profiles not encoded” bug.
// FREEBIE
2017-08-16 16:03:16 -04:00
Matthew Chen
7a03ab4e7c Bump build from to 2.16.0.1.
// FREEBIE
2017-08-16 16:02:19 -04:00
Matthew Chen
83f400c161 Merge branch 'charlesmchen/profileManagerConcurrency' 2017-08-16 10:47:14 -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
8dce481ea1 Merge branch 'charlesmchen/layoutGlitch' 2017-08-16 10:38:37 -04:00
Matthew Chen
b2360ace6e Fix layout glitch in messages view.
// FREEBIE
2017-08-16 10:38:29 -04:00
Matthew Chen
34cf56fb3a Merge branch 'charlesmchen/profileVsAppSettingsHeader' 2017-08-15 17:02:46 -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
Matthew Chen
fde0ca6ed7 Update l10n strings.
// FREEBIE
2017-08-15 16:42:21 -04:00
Matthew Chen
80951349ea Bump version to 2.16.0.0.
// FREEBIE
2017-08-15 16:40:34 -04:00
Michael Kirk
00860e8981 Merge branch 'mkirk/scale-avatar' 2017-08-15 16:25:28 -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
6bb102783d Merge branch 'mkirk/save-profile-to-contact' 2017-08-15 15:48:54 -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
9f45ddd393 Merge branch 'mkirk/gcm-verification' 2017-08-15 15:20:02 -04:00
Michael Kirk
97afa4d48a verification on decrypt
// FREEBIE
2017-08-15 15:19:40 -04:00
Michael Kirk
b3ddd73cee Merge branch 'mkirk/new-profile-service-scheme' 2017-08-14 15:18:33 -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