Matthew Chen
9154cc46f0
Sketch out OWSVerificationManager.
...
// FREEBIE
9 years ago
Matthew Chen
69e40cdf1c
Format fail messages.
...
// FREEBIE
9 years ago
Matthew Chen
f63c85f5d5
Rework and unify the system messages.
...
// FREEBIE
9 years ago
Michael Kirk
ab378f79b4
better message receipt logging
...
// FREEBIE
9 years ago
Matthew Chen
7c78d62a0d
Remove obsolete TSUIDatabaseConnectionDidUpdateNotification notification.
...
// FREEBIE
9 years ago
Michael Kirk
ebd4800e21
return unseen identity rather than bool
...
This turns out to be more versitile for the client app
// FREEBIE
9 years ago
Michael Kirk
e10cc0c180
determine if recipient identity change is unseen
...
// FREEBIE
9 years ago
Matthew Chen
cd7a172b94
Revert "Remove obsolete TSUIDatabaseConnectionDidUpdateNotification notification."
...
This reverts commit f2fb2cb9dc .
// FREEBIE
9 years ago
Matthew Chen
f2fb2cb9dc
Remove obsolete TSUIDatabaseConnectionDidUpdateNotification notification.
...
// FREEBIE
9 years ago
Michael Kirk
806a64ee53
Store session as Immutable to be clear about when it's mutated.
...
// FREEBIE
9 years ago
Michael Kirk
29e86901e7
Do not cache session objects
...
Ensure that any uncommitted session mutation doesn't hang around.
// FREEBIE
9 years ago
Matthew Chen
32d97bc6c7
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
09f7a9df4e
Add incoming and outgoing message database views.
...
// FREEBIE
9 years ago
Matthew Chen
2b197197be
Clean up timer usage.
...
// FREEBIE
9 years ago
Matthew Chen
e889f49e3b
Fix “mark as read” logic.
...
// FREEBIE
9 years ago
Matthew Chen
a5bebaf862
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
0eff3625c9
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
31e216519a
Respond to CR.
...
* Add [TSInteraction compareForSorting].
* Add a separate database view for safety number changes.
// FREEBIE
9 years ago
Matthew Chen
7c5a11b221
Changes for unseen indicator.
...
* Create separate database views for “unseen” and “unread” messages.
* Add “unseen tracking” to info and error messages.
* Rationalize “timestamp” vs. “receipt timestamp”.
* Ensure microsecond precision for interaction sorting.
* Add OWSFail() macros.
// FREEBIE
9 years ago
Matthew Chen
32d5e52142
DRY up the creation of database views.
...
// FREEBIE
9 years ago
Matthew Chen
6e94b3cccb
Add a database view for dynamic interactions.
...
// FREEBIE
9 years ago
Matthew Chen
66927f206d
Cache display names for accounts.
...
// FREEBIE
9 years ago
Michael Kirk
42b35bb897
Don't notify for some error messages
...
Specifically:
- Don't play alert when building block offer
- Don't play/show redundant alert/lockscreen notifications for id changes
e.g.: if you share 100 groups with Bob, and Bob's SN change, you only
need *one* notification, even though we display the message in 100
group threads + 1 contact thread.
// FREEBIE
9 years ago
Michael Kirk
09d7d8c027
Given a recipient id, returns any unconfirmed identity
...
// FREEBIE
9 years ago
Michael Kirk
5df67c8e5c
move constant per code review
...
// FREEBIE
9 years ago
Michael Kirk
fe075d2f77
Support for profile fetching so we can display SN changes upon entering
...
a thread
// FREEBIE
9 years ago
Matthew Chen
ef9303dd03
Rename audio duration and image size methods in TSAttachmentStream.
...
// FREEBIE
9 years ago
Michael Kirk
3be70e9719
log error on failure
...
// FREEBIE
9 years ago
Michael Kirk
4a6a02c009
Ensure updates don't clobber
...
// FREEBIE
9 years ago
Michael Kirk
8ee57d9132
save identity to legacy identity store so we can switch versions while
...
testing
// FREEBIE
9 years ago
Michael Kirk
0001b6c493
Code style per code review, no functional changes
...
// FREEBIE
9 years ago
Michael Kirk
f2f3acb897
IdentityKeyStore changes
...
1) Always accept keys from incoming messages
2) Block sending only if it's a recent change, or if always
block is enabled
// FREEBIE
9 years ago
Matthew Chen
07bf3b9af5
Remove invalid assert in socket manager.
...
// FREEBIE
9 years ago
Matthew Chen
fe796d6c52
Cache image size and audio duration on attachments.
...
// FREEBIE
9 years ago
Matthew Chen
58edbdfbd9
Let users manually specify the domain fronting country.
...
// FREEBIE
9 years ago
Matthew Chen
98ff7e5aba
Add support for manually activating censorship circumvention.
...
// FREEBIE
9 years ago
Matthew Chen
d3fc5e4ab8
Rework how the views observe socket state.
...
// FREEBIE
9 years ago
Matthew Chen
45b947dc04
Rework how the views observe socket state.
...
// FREEBIE
9 years ago
Matthew Chen
2171cd1d96
Add support for manually activating censorship circumvention.
...
// FREEBIE
9 years ago
Matthew Chen
66b8d54015
“Add to contacts” offer.
...
// FREEBIE
9 years ago
Matthew Chen
fcc7eb6565
Try the country code for the local phone number when parsing phone numbers.
...
// FREEBIE
9 years ago
Matthew Chen
df17403ec9
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
c955b189f7
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
9fb1012c6e
Persist attachment file paths.
...
// FREEBIE
9 years ago
Matthew Chen
c75769d407
Rename attachment source filename property.
...
// FREEBIE
9 years ago
Michael Kirk
92d72b3fc8
make nonatomic per code review
...
// FREEBIE
9 years ago
Michael Kirk
47b1c31b50
Contact Name in SN changed notifications
...
// FREEBIE
9 years ago
Michael Kirk
fcbfde3874
nonblocking SN change notifications don't percolate group threads to the
...
top unless there is a message in that thread.
Otherwise the user is overwhelmed by a bunch of group threads with
redundant notifications. The notifications will be there if the user
later enters the threads. The affect is that only the thread with the
relevant message will pop to the top.
// FREEBIE
9 years ago
Michael Kirk
4becd43973
"Bob's SN changed" displayed in every group containing Bob
...
// FREEBIE
9 years ago
Matthew Chen
5bf3a80935
Honor the local calling code in select recipient view.
...
// FREEBIE
9 years ago
Matthew Chen
09712f0b7b
Retry push token registration.
...
// FREEBIE
9 years ago
Michael Kirk
e585b9052e
remove checks for other country codes since it's expensive
...
Unfortunately calls to `NBPhoneNumberUtil parse:defaultRegion:error` are
not cheap, calling it with a bunch of permutations on every contact is
too expensive to justify it's incremental value unless we can get
upstream optimized.
e.g. for US numbers this was 26 extra calls per phone number
// FREEBIE
9 years ago
Michael Kirk
52be0e2ffc
dont cache when parsing fails with error
...
// FREEBIE
9 years ago
Michael Kirk
1ee30023b9
Reduce time between editing contacts and seeing those changes in the app
...
* Move a couple lib methods behind our own interface
* Cache parsing phone numbers since it's expensive
* I considered caching formatting as well since it's also a bit
expensive, but generating an appropriate cache key was actually slower
than the raw implementation.
// FREEBIE
9 years ago
Matthew Chen
e6ff79c126
Revert "Merge branch 'charlesmchen/autoMarkAsRead'"
...
This reverts commit 25e086c221 , reversing
changes made to 77833e727a .
9 years ago
Michael Kirk
3cc982e65b
use mic for voice message snippet
...
// FREEBIE
9 years ago
Matthew Chen
0936dd936b
Don’t reply to “request group info” messages from non-members of the group in question.
...
// FREEBIE
9 years ago
Matthew Chen
8d10d19f8f
Only reply to group info requester.
...
// FREEBIE
9 years ago
Matthew Chen
a0c13490ca
Clean up ahead of PR.
...
// FREEBIE
9 years ago
Matthew Chen
f3ed7697db
Move filename property to TSAttachment.
...
// FREEBIE
9 years ago
Michael Kirk
772b3a6ba1
thumbnail hash without allocating big string.
...
// FREEBIE
9 years ago
Michael Kirk
873d8ff2bc
include emails in contat hash
...
// FREEBIE
9 years ago
Michael Kirk
5ac08dfeb4
hashable method to detect when contact has changed
...
// FREEBIE
9 years ago
Matthew Chen
150c166a60
Show example phone numbers.
...
// FREEBIE
9 years ago
Matthew Chen
fb3e2557e0
Show example phone numbers.
...
// FREEBIE
9 years ago
Matthew Chen
587d035019
Don’t ignore “unnamed” phone numbers.
...
// FREEBIE
9 years ago
Matthew Chen
77dbf6480c
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
c89b9fb0bf
Disable “disappearing messages” job when inactive.
...
// FREEBIE
9 years ago
Matthew Chen
6e52009ff0
Rework the “disappearing messages” logic.
...
// FREEBIE
9 years ago
Matthew Chen
d5118273b8
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
315775ff23
Auto-rejoin groups by emitting and responding to “request group info” messages.
...
// FREEBIE
9 years ago
Michael Kirk
e9c0c46a23
Always keep at least 3 old signed prekeys (accepted or otherwise).
...
If the keys weren't marked as accepted, we risk deleting keys which are
still probably relevant.
// FREEBIE
9 years ago
Matthew Chen
b846532351
Flag voice messages as such in protos.
...
// FREEBIE
9 years ago
Matthew Chen
3e9fbb1bec
Prefer to deduce the MIME type from the file extension using lookup, not the UTI type.
...
// FREEBIE
9 years ago
Matthew Chen
cb6de93a83
Try to deduce attachment MIME type from the file extension if possible.
...
// FREEBIE
9 years ago
Matthew Chen
6c2de6ed56
Fix a hotspot in the phone number parsing logic.
...
// FREEBIE
9 years ago
Matthew Chen
1b93cd29c2
Rework handling of phone number names.
...
// FREEBIE
9 years ago
Matthew Chen
9bfcc8e38b
Add “is complete” flag to contacts sync proto.
...
// FREEBIE
9 years ago
Matthew Chen
41e564db47
Use SignalAccount class to sync contacts.
...
// FREEBIE
9 years ago
Matthew Chen
741e5c02ac
Add “is complete” flag to contacts sync proto.
...
// FREEBIE
9 years ago
Michael Kirk
ad31c75e88
fix more compiler warnings
...
* initWithCoder is a designated initializer for *any* TSYapDatabase model
* doc fixes
* cast log param appropriately
Compiler Warnings: 337 -> 331
// FREEBIE
9 years ago
Michael Kirk
50df5b682b
nullability annotations for TSInteraction
...
Compiler warnings: 343 -> 337
// FREEBIE
9 years ago
Michael Kirk
c9f397d590
nullability audit for MimeTypeUtil
...
* added missing nullability annotations
* guard against insterting nil into set
* remove unused code
Compiler Warnings: 364 -> 343
// FREEBIE
9 years ago
Michael Kirk
1754ad25d2
nullability annotations
...
Compiler Warnings: 387 -> 364
// FREEBIE
9 years ago
Michael Kirk
a92129a0ee
better sending logs
...
// FREEBIE
9 years ago
Michael Kirk
4338c59356
disambiguate contact param
...
// FREEBIE
9 years ago
Matthew Chen
9b8d6bd87d
Minor cleanup.
...
// FREEBIE
9 years ago
Matthew Chen
2a64ff29e5
Temporary change to improve read receipt logging.
9 years ago
Michael Kirk
f4dd01e300
Properly handle "work", "home", and "other" labels
...
// FREEBIE
9 years ago
Matthew Chen
5058eb837e
Add SignalAccount class.
...
// FREEBIE
9 years ago
Matthew Chen
cd9e1fb574
Add SignalAccount class.
...
// FREEBIE
9 years ago
Matthew Chen
e3c9598122
Extract labels for phone numbers.
...
// FREEBIE
9 years ago
Matthew Chen
9dc6014850
Extract labels for phone numbers.
...
// FREEBIE
9 years ago
Michael Kirk
52b19a9118
better debug messages about what *kind* of encrypted message we received
...
Uniform logging, removing redundant logging wherever possible, to add
details about what kind of message was received.
In particular, with calls, when there are lots of messages going back
and forth, this makes it easier to make sense of what's being exchanged.
// FREEBIE
9 years ago
Michael Kirk
bf6f013153
debug tool: print signed prekey report
...
Example output:
SignedPreKeys Report:
currentId: 111111111
firstPrekeyUpdateFailureDate: (null)
prekeyUpdateFailureCount: 0
All Keys (count: 2):
#1 <SignedPreKeyRecord: id: 111111111, generatedAt: 2017-04-24 19:23:55 +0000, wasAcceptedByService:YES, signature: <abcdefgh ..>
#2 <SignedPreKeyRecord: id: 222222222, generatedAt: 2017-04-20 19:23:55 +0000, wasAcceptedByService:YES, signature: <12345678 ..>
// FREEBIE
9 years ago
Matthew Chen
b986db808d
Add filename to attachment streams.
9 years ago
Matthew Chen
19754bacb9
Add a "UTI type for file extension" method.
...
// FREEBIE
9 years ago
Matthew Chen
72730c06a6
Improve handling of whitespace in contacts.
...
// FREEBIE
9 years ago
Matthew Chen
6686167cc3
Ignore oversize messages.
...
// FREEBIE
9 years ago
Michael Kirk
e1055c26a3
Sync EndSession messages to linked devices
...
Alternatively, I considered deleting *only* the session with the device
which sent the message, but since other clients are deleting *all*
sessions associated with the contact, it will be less disruptive to get
in line with their behavior.
Fixes the scenario wherein:
* Alice.1 has a session with Bob.1 and Bob.2
* Bob.1 sends an EndSession to Alice
* Thus Alice.1 deletes her sessions with Bob.1 and Bob.2
* Bob.2 sends Alice1 "hi" (with the existing session - as a regular WM,
not a PKWM)
* Alice has no session with Bob.2 so cannot decrypt the message.
// FREEBIE
9 years ago
Michael Kirk
a21108db5c
Log message type in prod
...
// FREEBIE
9 years ago
Matthew Chen
b40ec508b6
Do not retry fatal message send errors.
...
// FREEBIE
9 years ago
Michael Kirk
68476a51dc
Download service emits progress notifications
...
// FREEBIE
9 years ago
Matthew Chen
9b24ad7f14
Do not try to resend unsaved outgoing messages when accepting a safety number change.
...
// FREEBIE
9 years ago
Matthew Chen
f0ca468839
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
0e9da39c6b
Add muting of threads.
...
// FREEBIE
9 years ago
Matthew Chen
a3db112c50
Fix outgoing message status for messages sent from linked devices.
...
// FREEBIE
9 years ago
Matthew Chen
6341905c9b
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
ced9d6f460
Retry group sends if any of its errors are re-tryable.
...
// FREEBIE
9 years ago
Matthew Chen
f191d6b096
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
aa70ada399
Refine error handling for outgoing group messages.
...
// FREEBIE
9 years ago
Matthew Chen
db051b3b3e
Consider group send a failure if sending to any member in the group fails.
...
// FREEBIE
9 years ago
Matthew Chen
1023eeb8a0
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
1404d0d7eb
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
bf18b1f286
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
654ef89049
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
04dc930e0c
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
0ab6bcd080
Rework outgoing message state.
...
// FREEBIE
9 years ago
Matthew Chen
42e005a498
Avoid lost messages by acknowledges message receipt after the message is processed.
...
// FREEBIE
9 years ago
Matthew Chen
406e2d862b
De-bounce the prekey checks.
...
// FREEBIE
9 years ago
Matthew Chen
0224af7465
De-bounce the prekey checks.
...
// FREEBIE
9 years ago
Michael Kirk
522c191fd1
Persist when signed pre key was 'acceptedByService'
...
// FREEBIE
9 years ago
Matthew Chen
fa2ff8158c
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
40dcc7c873
Honor attachment filenames.
...
// FREEBIE
9 years ago
Matthew Chen
bc10aea202
Honor attachment filenames.
...
// FREEBIE
9 years ago
Matthew Chen
b09f7e5e52
Honor attachment filenames.
...
// FREEBIE
9 years ago
Matthew Chen
715e9e85ff
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
00f1b53e61
Reduce usage of contacts intersection endpoint.
...
// FREEBIE
9 years ago
Matthew Chen
06a56ccede
Update SignalAttachment to allow arbitrary attachments.
...
// FREEBIE
9 years ago
Matthew Chen
aa3402b535
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
04b3166b85
Rework socket manager.
...
// FREEBIE
9 years ago
Matthew Chen
b7e24c664b
Rework socket manager.
...
// FREEBIE
9 years ago
Matthew Chen
3d46f8e835
Rework socket manager.
...
// FREEBIE
9 years ago
Michael Kirk
edc556b106
Fix multiple match for SignalRecipient
...
when searching for contacts by phone number
// FREEBIE
9 years ago
Matthew Chen
daa832bbca
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
17b751d22a
Create block offer when non-contacts send you a message.
...
// FREEBIE
9 years ago
Matthew Chen
d89d4dea8a
Remove the properties related to Redphone and WebRTC support.
...
// FREEBIE
9 years ago
Matthew Chen
e28a81e6ad
Improve attachment upload progress indicator.
...
* Should never show up for attachments in the failed state.
* Show show up without delay for attachments being sent.
* Show disappear when attachment upload fails in any way.
// FREEBIE
9 years ago
Matthew Chen
f08d779f4d
Fix file extensions for arbitrary file types.
...
// FREEBIE
9 years ago
Matthew Chen
e6cd3d0712
Fix audio playback.
...
// FREEBIE
9 years ago
Matthew Chen
004a952bc0
Respond to CR.
...
// FREEBIE
9 years ago
Matthew Chen
8258f26aec
Don’t mark messages as failed until all retries are exhausted.
...
// FREEBIE
9 years ago
Michael Kirk
97f93eef7e
only assert queues in debug
...
// FREEBIE
9 years ago
Michael Kirk
513c275107
Log when we delete sessions
...
// FREEBIE
9 years ago
Michael Kirk
bb38fce54e
Ensure that deleting sessions happens on session queue
...
// FREEBIE
9 years ago
Michael Kirk
2d93b8c6ec
Handle mismatched/stale devices on session queue
...
The session state should never be manipulated concurrently.
// FREEBIE
9 years ago
Michael Kirk
773b09b015
Inspect session store on serial queue
...
// FREEBIE
9 years ago
Michael Kirk
9e74f38095
deprecate unused method
...
I'd want to spend time validating correctness if we ever wanted to use
this.
// FREEBIE
9 years ago
Michael Kirk
9a444f4288
Assert that session mutation occurs on serial queue
...
// FREEBIE
9 years ago
Michael Kirk
7578176e37
rename sessionCipher to sessionStoreQueue
...
// FREEBIE
9 years ago