Matthew Chen
f001e8c225
Respond to CR.
...
// FREEBIE
8 years ago
Michael Kirk
ce2a4422e3
fix desktop linking for some users
...
// FREEBIE
8 years ago
Matthew Chen
b74da07f7e
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
825503210b
Remove extraneous database view.
...
// FREEBIE
8 years ago
Matthew Chen
11cadf4200
Send, receive & show read receipts to senders/from receivers.
...
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.
// FREEBIE
8 years ago
Matthew Chen
f2d19ffe09
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
7268bde506
Add stress group to debug UI.
...
// FREEBIE
8 years ago
Matthew Chen
bd416176ae
Add stress group to debug UI.
...
// FREEBIE
8 years ago
Matthew Chen
77e0c9664c
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
edd63164d7
Fix build breaks.
...
// FREEBIE
8 years ago
Matthew Chen
874ebf7038
Use private queues in message decrypter and batch processor.
...
// FREEBIE
8 years ago
Matthew Chen
077b74a0aa
Fix handling of edge cases around groups.
...
// FREEBIE
8 years ago
Matthew Chen
2b0b49b7f6
Don't batch message decryption.
...
// FREEBIE
8 years ago
Matthew Chen
bfb03c0db4
Fix message processing edge cases.
...
// FREEBIE
8 years ago
Matthew Chen
35a2470cb7
Post notifications asynchronously.
...
// FREEBIE
8 years ago
Matthew Chen
1c8dbcd223
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
3eaeb4e0ec
Add read receipts manager.
...
* Simplify read receipts plumbing.
* Rework incoming read receipts handling.
* Rework outgoing read receipts handling.
* Make "database view registration complete" check thread-safe.
* Don't send sync messages to self if no linked devices.
// FREEBIE
8 years ago
Matthew Chen
2cfa24ba7b
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
b28c4b74b2
Pull out TSMessageDecrypter class.
...
// FREEBIE
8 years ago
Matthew Chen
f1b7d895e2
Modify precommit script to clean up includes and forward declarations.
...
// FREEBIE
8 years ago
Matthew Chen
993df25f3f
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
46f17a02cb
DRY up decryption logic.
...
// FREEBIE
8 years ago
Matthew Chen
e39b9169b9
Decrypt and process messages in batches.
...
// FREEBIE
8 years ago
Matthew Chen
9987ebb3c0
Decrypt and process messages in batches.
...
// FREEBIE
8 years ago
Matthew Chen
023c804a61
Decrypt and process messages in batches.
...
// FREEBIE
8 years ago
Matthew Chen
fa353259c3
Process messages in a single transaction (wherever possible).
...
// FREEBIE
8 years ago
Matthew Chen
6fce2c26b7
Process messages in a single transaction (wherever possible).
...
// FREEBIE
8 years ago
Matthew Chen
afc753e7ed
Add batch message processor.
...
// FREEBIE
8 years ago
Matthew Chen
c498e4b354
Decouple message decryption and processing.
...
// FREEBIE
8 years ago
Matthew Chen
bfd50a9e0e
Make "database view registration complete" check thread-safe.
...
// FREEBIE
8 years ago
Matthew Chen
8a4d67a6e4
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
183f0f1ccd
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
74b2f30523
Revert "Modify read receipt photos to support sending read receipts to both linked devices and senders."
...
This reverts commit 37e67179c8a8d6ebfdfa124ef0c1229f220ed11d.
8 years ago
Matthew Chen
a7546aee63
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
8 years ago
Matthew Chen
39a961e376
Rework incoming read receipts handling.
...
// FREEBIE
8 years ago
Matthew Chen
2b1ea19960
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
8 years ago
Matthew Chen
0e7eaf7c62
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
8 years ago
Matthew Chen
a5ece18e6c
Fix build break.
...
// FREEBIE
8 years ago
Matthew Chen
400f536e37
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
872ce17dd6
Clean up data source temp files when complete.
...
// FREEBIE
8 years ago
Matthew Chen
05b1818874
Don't "scroll to bottom" when messages are sent from desktop.
...
// FREEBIE
8 years ago
Matthew Chen
d3ad0950ba
Clean up the data source class.
...
// FREEBIE
8 years ago
Matthew Chen
9dfebb2d4b
Apply OWSFail() in more places.
...
// FREEBIE
8 years ago
Matthew Chen
c21a7673c8
Rework preservation of attachment filenames.
...
// FREEBIE
8 years ago
Matthew Chen
0746b1300d
Apply DataSource to message sender.
...
// FREEBIE
8 years ago
Matthew Chen
b95b5f69de
Apply DataSource to message sender.
...
// FREEBIE
8 years ago
Matthew Chen
20e5013aae
Convert DataSource to Objective-C.
...
// FREEBIE
8 years ago
Matthew Chen
69816cdf0e
Convert DataSource to Objective-C.
...
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen
bb1681f965
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
cc048b3971
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
d032339472
Modify debug builds to use production service.
...
// FREEBIE
8 years ago
Michael Kirk
01d0117f9b
provisioning cipher: Fix memory leak, handle failure
...
Explicitly malloc'd buffer should either be explicitly free'd or
ownership given to NSData via `freeWhenDone:YES`
Instead I opted to avoid the explict malloc altogether, and avoided some
unnecessary allocations.
Also made sure encryption failures propogate to error handler
// FREEBIE
8 years ago
Michael Kirk
1f7b6f61c6
Regression test for provisioning cipher
...
// FREEBIE
8 years ago
Michael Kirk
bdb75fa596
infer when group has been whitelisted on linked device
...
// FREEBIE
8 years ago
Matthew Chen
b00db33d12
Don't ignore attachments.
...
// FREEBIE
8 years ago
Michael Kirk
3ffb321e2a
fix assert
...
// FREEBIE
8 years ago
Michael Kirk
d71b7684a6
cleanup logging
...
// FREEBIE
8 years ago
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
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