Commit Graph

131 Commits (55d0db8c46c9f41870927c40b832c11e90f9d37c)

Author SHA1 Message Date
Michael Kirk ec0cf36abb Don't print empty bubbles.
e.g. if we add another "invisible" flag message in the future we want to
be able to roll it out immediately.

// FREEBIE
8 years ago
Michael Kirk 69e8ca8eac Handle receiving profile key messages
(don't print empty bubble)

// FREEBIE
8 years ago
Michael Kirk 9c56660618 profile key flag and debug action
// FREEBIE
8 years ago
Michael Kirk 0feb966a1c comment cleanup / code formatting
// FREEBIE
8 years ago
Michael Kirk 6cde79c568 Assert profile key length on sending/receiving
// FREEBIE
8 years ago
Michael Kirk 6235e7fe5c Don't send profile key with every sync message since we explicitly sync
upon update/create.

Following Signal-Android's lead here.

// FREEBIE
8 years ago
Michael Kirk 526d5e33b9 Sync profile key to sibling devices when updating contact
// FREEBIE
8 years ago
Michael Kirk 46919e4702 Add own profile key to multidevice provisioning message
// FREEBIE
8 years ago
Michael Kirk 1f3d2d1ed6 Send any profile key in contact sync
// FREEBIE
8 years ago
Michael Kirk f0a57edde0 proto update: multiDevice profileKey sync
Also:

- minimize diff between Signal-Android's protos
- comment whereever we diverge from Signal-Android

// FREEBIE
8 years ago
Michael Kirk 1e51bf4899 extract event names
// FREEBIE
8 years ago
Michael Kirk 251e206b6d profiles vs. censorship circumvention
// FREEBIE
8 years ago
Michael Kirk bde40a1f9c Ensure avatar upates right after profile change.
// FREEBIE
8 years ago
Matthew Chen 703b348091 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a9b55675cd Add assert to ensure that we don't use write transactions before sync database view registration is complete.
// FREEBIE
8 years ago
Matthew Chen 97f74ca5b4 Only use staging service in debug builds.
// FREEBIE
8 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen 98eb4693c5 Rework the contact offers.
// FREEBIE
8 years ago
Michael Kirk 0ab958f03a cleanup per codereview
- reference OWS OpenSSL
- clarify comments
- fix typo

// FREEBIE
8 years ago
Michael Kirk 0f9f26a577 handle remote user's profile key has changed
// FREEBIE
8 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
8 years ago
Matthew Chen 164bf19b47 Respond to CR.
// FREEBIE
8 years ago
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
8 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
8 years ago
Michael Kirk 97afa4d48a verification on decrypt
// FREEBIE
8 years ago
Michael Kirk 135243e383 CR: variable rename, better comments, fix up tests
// FREEBIE
8 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
8 years ago
Michael Kirk fc3f9ae396 Replace server sent avatar URL with hardcoded
// FREEBIE
8 years ago
Michael Kirk 9fdc3202af White listing must happen on main thread
followup to: ee613e4889

Again, this solves a crash, but we'll want to revisit the perf
implications.

// FREEBIE
8 years ago
Michael Kirk 40b99a15ed Fix up some tests
Included plausible test implementation for an in-memory profile manager.

Note two tests remain failing (they've been failing for a while)

// FREEBIE
8 years ago
Michael Kirk a3ae22c84f Upload profile avatar to service
WIP, this currently lacks crypto pending further discussion.

// FREEBIE
8 years ago
Michael Kirk 45a1f534ba Rename method to make way for new method.
No behavioral changes.

// FREEBIE
8 years ago
Michael Kirk 72b3f3779b Discard GroupInfoRequest from unknown group
// FREEBIE
8 years ago
Michael Kirk ee613e4889 Can only set whitelist on main thread
As written solves a crash, but we'll probalby want to revisit the perf
implications.

// FREEBIE
8 years ago
Michael Kirk e07ed50170 define avatar form URL
// FREEBIE
8 years ago
Matthew Chen e01fbc247e Refine profile logic.
// FREEBIE
8 years ago
Matthew Chen 21304c18a6 Once we've shared our profile key with a user (perhaps due to being a member of a whitelisted group), make sure they're whitelisted.
// FREEBIE
8 years ago
Matthew Chen 98def41782 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 823927685d Update profile on service.
// FREEBIE
8 years ago
Matthew Chen 83e2fbe28c Rework where profile key is attached in photos.
// FREEBIE
8 years ago
Matthew Chen b5fdc05b91 Move profile key to data, call, sync and null protos.
// FREEBIE
8 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
8 years ago
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
8 years ago
Michael Kirk f99d4e9df9 Merge branch 'hotfix/2.15.2' 8 years ago
Michael Kirk 3856f3dfb1 Improve asserts/logging
// FREEBIE
8 years ago
Michael Kirk 52bd682565 fix some recently broken tests
// FREEBIE
8 years ago
Matthew Chen 6ec756de44 Move profile manager to Signal.
// FREEBIE
8 years ago
Matthew Chen 540a0a8e48 Refine UserProfile class. Move local user properties to UserProfile.
// FREEBIE
8 years ago
Michael Kirk 935b51aa19 Fixup tests
// FREEBIE
8 years ago
Michael Kirk 01e808febe localNumber persistance from Category -> TSAccountManager
Following the pattern that singleton methods for effectively global
state should get/set on their own dedicated dbConnection for consistency
and to avoid being blocked by unrelated writes.
8 years ago