Commit Graph

2084 Commits (14d472781f6d243e112a0d908380f23bd71a4a74)

Author SHA1 Message Date
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
7 years ago
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
7 years ago
Matthew Chen 4578a72ab2 Reorder where contact offers appear.
// FREEBIE
7 years ago
Matthew Chen 02c96b7b0e Rework the contact offers.
// FREEBIE
7 years ago
Matthew Chen 9e02524b0b Rework the contact offers.
// FREEBIE
7 years ago
Matthew Chen c2f9d7dcb2 Rework the contact offers.
// FREEBIE
7 years ago
Matthew Chen 265bdce0ba Start reworking the contact offers.
// FREEBIE
7 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
7 years ago
Matthew Chen 98eb4693c5 Rework the contact offers.
// FREEBIE
7 years ago
Matthew Chen 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
7 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
7 years ago
Michael Kirk d6d403ce69 fix some tests
// FREEBIE
7 years ago
Matthew Chen 27e496ad06 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 1b055c485d Rework "cancel navigate back" logic.
// FREEBIE
7 years ago
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
7 years ago
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
7 years ago
Matthew Chen 9d8c396848 Add profile view to upgrade/nag workflow.
// FREEBIE
7 years ago
Matthew Chen ffb4b3f9d2 Add profile view to registration workflow.
// FREEBIE
7 years ago
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
7 years ago
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
7 years ago
Matthew Chen 164bf19b47 Respond to CR.
// FREEBIE
7 years ago
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
7 years ago
Matthew Chen 0b14f87575 Improve comments about mapping consistency in conversation view.
// FREEBIE
7 years ago
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
7 years ago
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
7 years ago
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
7 years ago
Matthew Chen 2f2902a762 Bump build from to 2.16.0.2.
// FREEBIE
7 years ago
Matthew Chen ddd8c9ff5f Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 3ecd415b84 Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
7 years ago
Matthew Chen 943945b4bd Fix “profiles not encoded” bug.
// FREEBIE
7 years ago
Matthew Chen 7a03ab4e7c Bump build from to 2.16.0.1.
// FREEBIE
7 years ago
Matthew Chen 46d27cef30 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 1dd75a05ff Tweak concurrency in profile manager.
// FREEBIE
7 years ago
Matthew Chen 02f8b13f4f Rework concurrency in the profile manager.
// FREEBIE
7 years ago
Matthew Chen b2360ace6e Fix layout glitch in messages view.
// FREEBIE
7 years ago
Matthew Chen f618f87825 Respond to CR.
// FREEBIE
7 years ago
Matthew Chen 90f959d0ab Respond to CR.
// FREEBIE
7 years ago
Matthew Chen cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
7 years ago
Matthew Chen 13aea66878 Sketch out profile header in app settings view.
// FREEBIE
7 years ago
Matthew Chen fde0ca6ed7 Update l10n strings.
// FREEBIE
7 years ago
Matthew Chen 80951349ea Bump version to 2.16.0.0.
// FREEBIE
7 years ago
Michael Kirk abec536729 simplify check for max file size per CR
// FREEBIE
7 years ago
Michael Kirk 2c3e99c372 better var name per code review
// FREEBIE
7 years ago
Michael Kirk fd02644ca7 resize profile avatar
// FREEBIE
7 years ago
Michael Kirk 9f72db44ac Avoid lossy re-encoding of profile image
// FREEBIE
7 years ago
Michael Kirk 0290f176c0 Use profile name/avatar when creating new contact
// FREEBIE
7 years ago
Michael Kirk 135243e383 CR: variable rename, better comments, fix up tests
// FREEBIE
7 years ago
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
7 years ago
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
7 years ago
Michael Kirk fc3f9ae396 Replace server sent avatar URL with hardcoded
// FREEBIE
7 years ago