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
Michael Kirk
f99d4e9df9
Merge branch 'hotfix/2.15.2'
8 years ago
Michael Kirk
3856f3dfb1
Improve asserts/logging
...
// 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
Michael Kirk
8a4712bf4c
Only access localNumber on AccountManager and cache it
...
// FREEBIE
8 years ago
Matthew Chen
43b3abe321
Merge branch 'hotfix/2.15.2'
8 years ago
Matthew Chen
539490ee19
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
9c5934359e
Don’t dismiss call view controller to present other view.
...
// FREEBIE
8 years ago
Matthew Chen
791e270578
Terminate call if call view presentation is delayed.
...
// FREEBIE
8 years ago
Matthew Chen
6f03c2d92f
Don’t hide threads if they are a group thread, or if they have _ever_ had a message.
...
// FREEBIE
8 years ago
Matthew Chen
c603a2651d
Rework how user profiles are updated and persisted. Persist other user’s profiles. Load and cache other user’s profile avatars.
...
// FREEBIE
8 years ago
Matthew Chen
d7f275ce73
Add accessor for other users’ profile names.
...
// FREEBIE
8 years ago
Matthew Chen
aa6312b586
DRY up and refine the logic to attach the local profile key to outgoing messages.
...
// FREEBIE
8 years ago
Matthew Chen
1c1e173c58
Add support for adding groups to the profile whitelist.
...
// FREEBIE
8 years ago
Matthew Chen
26b668cce7
Add profile key to proto schema. Send and receive profile keys. Cache profile manager state.
...
// FREEBIE
8 years ago
Matthew Chen
e58358ce53
Add profile key to content proto schema.
...
// FREEBIE
8 years ago
Matthew Chen
202724cdcc
Persist profile whitelist and known profile keys.
...
// FREEBIE
8 years ago
Matthew Chen
2993ac002f
Clean up database convenience methods and add assertions.
...
// FREEBIE
8 years ago
Matthew Chen
a3b16812ec
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
8 years ago
Matthew Chen
4be706caf5
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
8 years ago
Matthew Chen
7692a393c1
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
8 years ago
Matthew Chen
a748987d72
Add option to clear profile avatar.
...
// FREEBIE
8 years ago
Matthew Chen
03a4ebc4d8
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
c331788c06
Modify the profile view to update profile manager state.
...
// FREEBIE
8 years ago
Matthew Chen
0f3a3d1903
Sketch out profile upload.
...
// FREEBIE
8 years ago
Matthew Chen
0bd23345a1
Sketch out the profile view.
...
// FREEBIE
8 years ago
Matthew Chen
72ea096970
Sketch out the profile view.
...
// FREEBIE
8 years ago
Matthew Chen
63e20cd8bb
Sketch out profile manager.
...
// FREEBIE
8 years ago
Michael Kirk
4bf407a24f
fix some compiler warnings
...
// FREEBIE
8 years ago
Michael Kirk
a196693425
Make sure DB views are ready before kicking processing job
...
// FREEBIE
8 years ago
Michael Kirk
0b38b46683
remove unnecessary dispatch
...
// FREEBIE
8 years ago
Michael Kirk
6a5c6a9fc9
didBecomeActive kicks the processing queue
...
// FREEBIE
8 years ago
Michael Kirk
1066089980
Fix thread explosion
...
Without this, when the user has a large message queue to process, things
slow to a crawl as we spew more and more threads. Since it's on a serial
queue anyway, there's no need to have multiple threads executing this
code.
// FREEBIE
8 years ago
Matthew Chen
bdb50552d3
Fix asserts in analytics macros.
...
// FREEBIE
8 years ago
Matthew Chen
678db31c1f
Hide empty conversations in home view.
...
// FREEBIE
8 years ago
Matthew Chen
c042a96aa4
Hide empty conversations in home view.
...
// FREEBIE
8 years ago
Matthew Chen
c6e21e83a3
Hide empty conversations in home view.
...
// FREEBIE
8 years ago
Matthew Chen
8e628a6296
Hide empty conversations in home view.
...
// FREEBIE
8 years ago
Matthew Chen
103a7fab36
Hide empty conversations in home view.
...
// FREEBIE
8 years ago
Matthew Chen
07ee0db80c
Merge branch 'charlesmchen/moreCallServiceAnalytics'
8 years ago
Matthew Chen
dd13119f12
Add more instrumentation to CallService.
...
// FREEBIE
8 years ago
Matthew Chen
e16d0e326b
Avoid crash when deleting threads - and improve perf.
...
// FREEBIE
8 years ago
Matthew Chen
e5c0fa89d6
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
465711c2cb
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Matthew Chen
f1807cd709
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Matthew Chen
0cf9c01af2
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Matthew Chen
8aff95c44e
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Matthew Chen
b4f348ad14
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Matthew Chen
31ab9a00da
Add script to extract and gather analytics event names.
...
// FREEBIE
8 years ago
Michael Kirk
91ad2ec32b
Properly handle too-large messages
...
1. Take note of any large messages.
2. If they are way too large, we just drop them on the floor.
// FREEBIE
8 years ago
Matthew Chen
531489a828
Streamline analytics properties.
...
// FREEBIE
8 years ago
Matthew Chen
f973af5a83
Streamline analytics properties.
...
// FREEBIE
8 years ago
Matthew Chen
013bf62f7c
Streamline analytics properties.
...
// FREEBIE
8 years ago
Michael Kirk
3f4dcecf15
ensure blocking keychange message has identityKey before proceeding
...
This is increasingly irrelevant due to recent safety number changes, but
legacy clients with old messages can still run into this.
FIXES: https://github.com/WhisperSystems/Signal-iOS/issues/2346
// FREEBIE
8 years ago
Michael Kirk
eafc370bbe
CR: move property to method to clearly avoid Mantle serialization
...
Also some formatting cleanup and extra asserts
// FREEBIE
8 years ago
Michael Kirk
4d8429186d
Store undecrypted envelopes before doing any processing.
...
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.
// FREEBIE
8 years ago
Matthew Chen
d72c4a21c3
Fix missing variable type.
...
// FREEBIE
8 years ago
Matthew Chen
863fd27abe
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
7cbdde7b1d
Rework handling of critical errors, e.g. errors while initializing TSStorageManager.
...
// FREEBIE
8 years ago
Matthew Chen
958a8b4c80
Instrument CallService.
...
// FREEBIE
8 years ago
Matthew Chen
ef4b1cf477
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
fa7a2407bf
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
b17a7c5751
Review NSError usage.
...
// FREEBIE
8 years ago
Matthew Chen
11f52757b2
Use background task when sending analytics events.
...
// FREEBIE
8 years ago
Matthew Chen
543c05b2c5
Add a “critical” severity level for analytics events.
...
// FREEBIE
8 years ago
Matthew Chen
2418baec15
Respond to CR.
...
// FREEBIE
8 years ago
Matthew Chen
9587aab37b
Instrument network errors.
...
// FREEBIE
8 years ago
Matthew Chen
117bca7c48
Instrument errors in app delegate.
...
// FREEBIE
8 years ago
Matthew Chen
7da5df594f
Instrument errors in storage manager.
...
// FREEBIE
8 years ago
Matthew Chen
19c0a7ad7c
Instrument errors in message sender.
...
// FREEBIE
8 years ago
Matthew Chen
e168db79aa
Instrument errors in message manager.
...
// FREEBIE
8 years ago
Michael Kirk
6e19c1aae8
Don't crash when messaging user with malformed profile
...
// FREEBIE
8 years ago
Michael Kirk
a5f067936c
migration to fix any half-registered users
...
// FREEBIE
8 years ago
Michael Kirk
7c28805442
Don't consider yourself registered until you've uploaded your prekeys
...
// FREEBIE
8 years ago
Matthew Chen
c8b2e22a3b
[SSK] Migrating changes from obsolete SSK repo.
...
// FREEBIE
8 years ago
Matthew Chen
64a99c63b3
[SSK] Migrating changes from obsolete SSK repo.
...
// FREEBIE
8 years ago
Matthew Chen
4f5b2993b0
[SSK] Migrating changes from obsolete SSK repo.
...
// FREEBIE
8 years ago
Michael Kirk
ccb4a88742
Import SSK (and history) into Signal-iOS
...
git remote add ssk ../SignalServiceKit
git remote update
git merge -s ours --allow-unrelated-histories --no-commit ssk/master
git read-tree --prefix=SignalServiceKit -u ssk/master
git commit
8 years ago