Michael Kirk
bdb75fa596
infer when group has been whitelisted on linked device
...
// FREEBIE
2017-08-29 17:09:28 -04:00
Matthew Chen
b00db33d12
Don't ignore attachments.
...
// FREEBIE
2017-08-29 16:35:52 -04:00
Michael Kirk
3ffb321e2a
fix assert
...
// FREEBIE
2017-08-29 12:02:24 -04:00
Michael Kirk
d71b7684a6
cleanup logging
...
// FREEBIE
2017-08-29 10:46:10 -04:00
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
2017-08-29 10:39:36 -04:00
Michael Kirk
69e8ca8eac
Handle receiving profile key messages
...
(don't print empty bubble)
// 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
0feb966a1c
comment cleanup / code formatting
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
6cde79c568
Assert profile key length on sending/receiving
...
// FREEBIE
2017-08-29 10:35:18 -04:00
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
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
Michael Kirk
f0a57edde0
proto update: multiDevice profileKey sync
...
Also:
- minimize diff between Signal-Android's protos
- comment whereever we diverge from Signal-Android
// FREEBIE
2017-08-29 10:35:18 -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
Michael Kirk
bde40a1f9c
Ensure avatar upates right after profile change.
...
// FREEBIE
2017-08-25 12:40:19 -04:00
Matthew Chen
703b348091
Respond to CR.
...
// FREEBIE
2017-08-23 09:55:53 -04:00
Matthew Chen
a9b55675cd
Add assert to ensure that we don't use write transactions before sync database view registration is complete.
...
// FREEBIE
2017-08-23 09:46:26 -04:00
Matthew Chen
97f74ca5b4
Only use staging service in debug builds.
...
// FREEBIE
2017-08-22 17:19:44 -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
Michael Kirk
0ab958f03a
cleanup per codereview
...
- reference OWS OpenSSL
- clarify comments
- fix typo
// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
0f9f26a577
handle remote user's profile key has changed
...
// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
72fbb02028
aes-gcm via openssl
...
// FREEBIE
2017-08-21 16:37:16 -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
Michael Kirk
97afa4d48a
verification on decrypt
...
// FREEBIE
2017-08-15 15:19:40 -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
fc3f9ae396
Replace server sent avatar URL with hardcoded
...
// FREEBIE
2017-08-11 11:19:05 -04:00
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
2017-08-11 09:11:55 -04:00
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
2017-08-09 12:17:03 -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
45a1f534ba
Rename method to make way for new method.
...
No behavioral changes.
// FREEBIE
2017-08-08 15:03:48 -04:00
Michael Kirk
72b3f3779b
Discard GroupInfoRequest from unknown group
...
// FREEBIE
2017-08-08 12:17:26 -04:00
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
2017-08-07 16:48:12 -04:00
Michael Kirk
e07ed50170
define avatar form URL
...
// FREEBIE
2017-08-07 15:17:34 -04:00
Matthew Chen
e01fbc247e
Refine profile logic.
...
// FREEBIE
2017-08-04 17:35:22 -04:00
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
2017-08-04 17:34:27 -04:00
Matthew Chen
98def41782
Respond to CR.
...
// FREEBIE
2017-08-04 17:33:16 -04:00
Matthew Chen
823927685d
Update profile on service.
...
// FREEBIE
2017-08-04 15:25:17 -04:00
Matthew Chen
83e2fbe28c
Rework where profile key is attached in photos.
...
// FREEBIE
2017-08-04 15:23:17 -04:00
Matthew Chen
b5fdc05b91
Move profile key to data, call, sync and null protos.
...
// FREEBIE
2017-08-04 15:23:02 -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
Michael Kirk
f99d4e9df9
Merge branch 'hotfix/2.15.2'
2017-08-04 13:11:53 -04:00
Michael Kirk
3856f3dfb1
Improve asserts/logging
...
// FREEBIE
2017-08-04 12:14:43 -04:00
Michael Kirk
52bd682565
fix some recently broken tests
...
// FREEBIE
2017-08-04 11:33:51 -04:00