Commit graph

526 commits

Author SHA1 Message Date
Evan Hahn
393b740fe6
Fix crash when changing your username 2022-01-13 13:25:20 -08:00
Scott Nonnenberg
06165cb742
Include sender keys in SignalProtocolStore zones 2022-01-07 18:12:13 -08:00
Fedor Indutny
e98b281644
Use serverTimestamp for delivery receipts 2022-01-06 12:12:53 -08:00
Fedor Indutny
8070b8b14f
Block WebAPI during active registration 2021-12-17 22:26:50 +01:00
Scott Nonnenberg
a023fc1bb0
Usernames: Fetch own username from /whoami not /profile 2021-12-15 12:02:55 -08:00
Fedor Indutny
61a6f1b4cf
Reduce logging from rotateSignedPreKey 2021-12-09 11:45:21 -08:00
Evan Hahn
f9e98836b0
Retry delivery and read receipts for up to 24 hours 2021-12-07 14:41:40 -08:00
Fedor Indutny
b4b65c4f00
Add v2 implementation of CDS HSM 2021-12-06 23:54:20 +01:00
Evan Hahn
c0dcce7c82
Clean up AccountManager#registerSecondDevice 2021-12-03 18:46:44 +01:00
Fedor Indutny
ca1aef660f
Generate PNI key on standalone registration 2021-12-02 18:06:32 -08:00
Fedor Indutny
84407cb005
Use human-readable names for websockets 2021-12-01 19:55:17 +01:00
Fedor Indutny
77924918df
Don't treat TimeoutError as a decryption error 2021-11-30 20:34:05 +01:00
Fedor Indutny
348012ef4c
Add PNI endpoints to WebAPI 2021-11-30 20:33:51 +01:00
Fedor Indutny
7c1ce3366d
Move StandaloneRegistration to React 2021-11-30 09:51:53 -08:00
Evan Hahn
67b17ec317
Hide "become a sustainer" button if you're already a sustainer 2021-11-30 17:29:57 +01:00
Fedor Indutny
76a30a5196
Use throwOnTimeout option for PQueue 2021-11-23 23:01:03 +01:00
Scott Nonnenberg
3601279287
sendToGroup: Flow errors during key-fetching back up to original sender 2021-11-20 09:58:38 -06:00
Fedor Indutny
4afe1475d5
Add separator to envelope log id 2021-11-19 09:21:29 -08:00
Scott Nonnenberg
e45b3e97d0
Update protos with planned changes for stories 2021-11-15 17:20:09 -08:00
Fedor Indutny
5076972c5b
Add exhaustive UUIDKind checks to MessageReceiver 2021-11-15 16:10:18 -08:00
Fedor Indutny
c6ee6a038e
Add stream timeout for attachment downloads 2021-11-15 23:54:59 +01:00
Evan Hahn
ede34ecee3
Enable noImplicitOverride TypeScript compiler option 2021-11-12 15:44:20 -08:00
Fedor Indutny
066a23a6a9
Preliminary support for destinationUuid field 2021-11-12 13:26:52 -08:00
Fedor Indutny
bb15cfc622
Additional protocol changes for CDS v2 2021-11-12 21:45:30 +01:00
Scott Nonnenberg
cbae7f8ee9
Search for username in compose mode 2021-11-11 17:17:29 -08:00
Evan Hahn
5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Fedor Indutny
409bf1fc82
WebSocket API for CDS 2021-11-08 15:32:31 -08:00
Fedor Indutny
519ca05911
Update electron to 15.3.0 2021-11-08 22:43:37 +01:00
Evan Hahn
d6ffb08a63
Disable class-methods-use-this lint rule 2021-11-04 16:04:51 -05:00
Evan Hahn
f647c4e053
Display user badges 2021-11-02 16:01:13 -07:00
Scott Nonnenberg
3190f95fac
Usernames: Create/update/delete in profile editor 2021-11-01 12:13:35 -07:00
Fedor Indutny
63fcdbe787
Use UUIDs in group database schema 2021-10-26 15:59:08 -07:00
Evan Hahn
74fde10ff5
Prefer import type when importing types 2021-10-26 14:15:33 -05:00
Josh Perez
2e438aa876
Conversation details screen for 1:1 chats 2021-10-20 16:46:41 -07:00
Scott Nonnenberg
51af6947d4
onDecryptionError/onRetryRequest: Don't run until queue is empty 2021-10-20 14:50:00 -07:00
Scott Nonnenberg
fe49edce8a
updateGroup: Use hasMember instead of 'left' attribute for membership 2021-10-20 16:32:38 -05:00
Evan Hahn
92f7259272
Respect proxies when fetching link previews 2021-10-14 15:49:36 -07:00
Evan Hahn
c9a49ecb4b
WebAPI: Require options in getProfile 2021-10-12 14:32:38 -07:00
Fedor Indutny
27573e6dce
Use non-throttled timeouts for websockets 2021-10-07 11:18:22 -07:00
Fedor Indutny
1466f9f1b2
Update got/form-data to latest 2021-10-06 09:25:22 -07:00
Scott Nonnenberg
bd380086a4
Send related emoji along with Sticker, fix SendMessage types 2021-10-05 17:10:08 -05:00
Fedor Indutny
eec669f284
Remove unused code from WebAPI 2021-09-28 16:38:55 -07:00
Fedor Indutny
cd710bb8d2
Add jitter support to BackOff class 2021-09-28 15:12:43 -07:00
Fedor Indutny
0291830d16
Annotate WebAPI logs with request subtype 2021-09-28 13:55:50 -07:00
Fedor Indutny
af387095be
API to suspend/resume tasks with timeout 2021-09-27 11:22:46 -07:00
Scott Nonnenberg
cf4c81b11c
Clear stale sender certificates 2021-09-27 10:31:34 -07:00
Evan Hahn
9791fa43ef
Improve handling of 413 HTTP responses 2021-09-27 09:44:09 -05:00
Fedor Indutny
4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Fedor Indutny
b9d6497cb1
Better types for WebAPI 2021-09-21 17:58:03 -07:00
Scott Nonnenberg
250a89d953
Additional logging, new ability to force Conversation 'change' event 2021-09-20 11:51:30 -07:00
Josh Perez
e86a6119cd
Moves stringToArrayBuffer into util folder 2021-09-20 12:27:15 -04:00
Fedor Indutny
b83c00f43f
Defer unprocessed item attempt update 2021-09-17 16:11:24 -07:00
Josh Perez
65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Evan Hahn
fda21edd23
Remove unnecessary disables of consistent-return lint rule 2021-09-16 15:25:55 -05:00
Fedor Indutny
f937eba94e
Update socket status more eagerly 2021-09-16 13:18:42 -07:00
Fedor Indutny
5780c3d4b8
Fix socket management for unlinkAndDisconnect 2021-09-15 11:44:27 -07:00
Evan Hahn
4ef56667e2
Move MAX_MESSAGE_SIZE assertion 2021-09-10 13:16:53 -07:00
Scott Nonnenberg
9d4edb5893
WebsocketResources: Increase maximum outgoing message size 2021-09-10 13:43:53 -05:00
Fedor Indutny
091f3653e7
Ensure conversation id in storeSession 2021-09-10 10:17:32 -07:00
Fedor Indutny
c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Fedor Indutny
cd809a9922
Add changeNumber capability 2021-09-09 13:53:58 -07:00
Evan Hahn
1f45bce0a2
When a job fails, respect the Retry-After header if applicable 2021-09-02 17:31:21 -05:00
Fedor Indutny
c7873dd7ea
Reconnect websocket on e164 change 2021-09-02 16:47:42 -05:00
Fedor Indutny
c7b7a355ba
Clear sender certificate on E164 change 2021-09-02 10:12:11 -07:00
Evan Hahn
a85dd1be36
Retry outbound "normal" messages for up to a day 2021-08-31 13:58:39 -07:00
Evan Hahn
480e5b58c7
Handle missing Retry-After header with challenge errors 2021-08-30 11:39:25 -05:00
Fedor Indutny
a43abe628a
Update TypeScript to 4.4.2 2021-08-27 15:21:42 -05:00
Evan Hahn
9e9a815a2b
ESLint: allow for..of 2021-08-26 13:18:00 -05:00
Evan Hahn
f86f753df9
Add durations utility for computing durations 2021-08-26 09:10:58 -05:00
Fedor Indutny
fff4e9e97f
Simplify envelope drop due to stopped processing 2021-08-25 16:10:09 -07:00
Fedor Indutny
9012091d21
Start unauthenticated socket timer after request 2021-08-24 08:58:40 -07:00
Evan Hahn
52328c2634
Add type for ConversationModel#getGroupV1Info 2021-08-23 16:15:34 -07:00
Scott Nonnenberg
f11c366f53
AccountManager: Simplify key rotation pre-check 2021-08-20 11:27:12 -07:00
Fedor Indutny
f5a85a0488
Disable websocket in sticker-creator 2021-08-18 17:13:32 -07:00
Scott Nonnenberg
4a6d28e118
MessageReceiver: Drop blocked senders only after processing SKDMs 2021-08-17 11:40:55 -07:00
Evan Hahn
75f0cd50be
Send viewed receipt when you start listening to an audio message 2021-08-17 08:43:26 -07:00
Evan Hahn
b0750e5f4e
Show "unplayed" dot on incoming audio messages 2021-08-12 13:15:55 -05:00
Fedor Indutny
61b7eebfcf
Modernize Benchmarks CI 2021-08-11 12:29:07 -07:00
Scott Nonnenberg
81f06e2404
Sender Key: Hardcode senderKey to true, during link and thereafter 2021-08-10 17:41:27 -07:00
Fedor Indutny
8703b0e020
Reduce log file size 2021-08-09 15:04:17 -07:00
Josh Perez
9078919545
Transcode heic/heif images 2021-08-09 13:06:21 -07:00
Fedor Indutny
669005ace7
Fix multirecipient sends 2021-08-06 12:19:00 -07:00
Scott Nonnenberg
5069f48cf0
Message Send Log: Increase retention length 2021-08-05 20:17:23 -04:00
Fedor Indutny
a001882d58
Change Phone Number notifications 2021-08-05 16:34:49 -07:00
Scott Nonnenberg
3bbe859452
Partially revert "Sender Key: Prepare for testing in beta"
Partial revert of commit ab5a12fded
2021-08-04 16:49:05 -07:00
Fedor Indutny
c68fd3d727
confirmCode endpoint shouldn't reconnect socket 2021-08-04 13:12:35 -07:00
Fedor Indutny
d5810d6bac
Support more WebSocket endpoints 2021-08-03 17:37:17 -07:00
Scott Nonnenberg
a78d30cb5a
Simplify signed prekey handling - always save for 30 days, always save five 2021-08-03 15:26:00 -07:00
Fedor Indutny
6d04bfdf67
Fix undefined log function 2021-08-03 12:05:20 -05:00
Scott Nonnenberg
ab5a12fded
Sender Key: Prepare for testing in beta 2021-08-02 19:12:49 -05:00
Fedor Indutny
21ffb7c054 Unseal envelope in a separate step for better logs 2021-08-02 14:17:56 -07:00
Scott Nonnenberg
9fb8114691
Sender Key: Track registrationIds in senderKeyState 2021-07-30 11:35:25 -07:00
Fedor Indutny
03874a788f
Use smaller batches for receipts and syncs 2021-07-29 18:08:04 -07:00
Evan Hahn
8775c711ae
Mark many of SendMessage's arguments as readonly 2021-07-29 12:00:11 -07:00
Fedor Indutny
d4a30a0165
Properly handle connection timeout on unauthenticated websocket 2021-07-29 09:25:21 -07:00
Fedor Indutny
0acefaa656
Add assert to messages endpoint 2021-07-29 01:20:18 -07:00
Fedor Indutny
1c1d0e2da0
Move to websocket for requests to signal server 2021-07-28 14:37:09 -07:00
Fedor Indutny
85004699f5
MessageReceiver: Unwrap envelopes earlier in the processing chain 2021-07-27 12:55:39 -07:00
Evan Hahn
14929fb408
Show "unplayed" dot on outgoing audio messages 2021-07-27 10:42:25 -05:00
Scott Nonnenberg
eba182f8d0
Better logging for sealed sender, sender key distribution 2021-07-23 15:37:04 -07:00
Fedor Indutny
9c6343e10d
Unify MessageReceiver and MessageReceiverInner 2021-07-23 13:47:03 -07:00
Scott Nonnenberg
b0eaae93f1
archiveSessionOnMatch: Check for ratchet key match as well 2021-07-23 10:44:21 -07:00
Fedor Indutny
fdec47d637
Use single WebAPI instance across the app 2021-07-23 10:23:50 -07:00
Evan Hahn
07f0efc45f
Rename "view sync" to "view once open sync" 2021-07-22 12:07:53 -05:00
Josh Perez
d9e90e9ea8
Improvements to shared library components 2021-07-21 13:45:41 -07:00
Josh Perez
56d5d283bd
Support for announcement-only groups 2021-07-20 13:18:35 -07:00
Fedor Indutny
886e8966ff
Drop support for signaling key 2021-07-19 18:11:07 -07:00
Fedor Indutny
31989a7706
Translate errors before rejecting in SendMessage 2021-07-19 18:10:09 -07:00
Evan Hahn
c4a09b7507
Refactor outbound delivery state, take 2
This reverts commit ad217c808d.
2021-07-19 17:44:49 -05:00
Josh Perez
cd35a29638
Edit profile 2021-07-19 12:26:06 -07:00
Scott Nonnenberg
a42c41ed01
Message Send Log to enable comprehensive resend 2021-07-15 16:48:09 -07:00
Fedor Indutny
0fe68b57b1
Fix CDS lookup 2021-07-15 16:17:22 -07:00
Scott Nonnenberg
f7c85432a5
Ensure sender info propagates after sealed sender decrypt error 2021-07-15 12:13:48 -07:00
Fedor Indutny
668a4a5402
Fix sending previews without images 2021-07-15 10:47:12 -07:00
Fedor Indutny
c3bdf3d411
Show lightbox for GIFs 2021-07-14 16:39:52 -07:00
Fedor Indutny
570fb182d4
Fully move to protobufjs 2021-07-13 11:54:53 -07:00
Fedor Indutny
ad217c808d
Revert "Refactor outbound delivery state"
This reverts commit 9c48a95eb5.
2021-07-12 16:51:45 -07:00
Evan Hahn
9c48a95eb5
Refactor outbound delivery state 2021-07-09 16:38:51 -05:00
Fedor Indutny
e4efa01073
Fix attachment downloads for zero cdnId 2021-07-09 13:12:29 -07:00
Fedor Indutny
ddbbe3a6b1
More protobufjs migration 2021-07-09 12:36:10 -07:00
Evan Hahn
da27a6ac64
Add array-type TypeScript ESLint rule 2021-07-08 14:55:48 -07:00
Fedor Indutny
299fe2af36
More protobufjs use 2021-07-02 14:21:24 -05:00
Scott Nonnenberg
615ae1ccf7
Refactor SendMessage.ts to named parameters 2021-07-02 13:34:17 -05:00
Evan Hahn
7dac480df5
Don't expire incoming expiration timer updates 2021-07-01 16:48:40 -07:00
Fedor Indutny
a6394e0c8b
Reconnect within MessageReceiver 2021-06-23 09:47:42 -05:00
Fedor Indutny
9f0c630574
Move to protobufjs in ts/groups.ts 2021-06-22 09:46:42 -05:00
Fedor Indutny
d4d454e554
Reject WebSocket connect timeout with an HTTPError 2021-06-21 14:06:06 -05:00
Scott Nonnenberg
68f1023946
Move message.getPropsForBubble and friends to selectors 2021-06-17 10:15:10 -07:00
Fedor Indutny
584cedecff
Wrap all websocket errors, reconnect earlier 2021-06-14 17:12:58 -07:00
Fedor Indutny
8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Fedor Indutny
17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Scott Nonnenberg
bff3f0c74a
Sender Key: Prepare for production 2021-06-08 14:51:58 -07:00
Evan Hahn
e4a632f601
Link previews: clean up AbortSignal types 2021-06-08 13:55:37 -07:00
Scott Nonnenberg
13371fbeb7
Don't delete all data if e164 changes (focus on UUID if we have it) 2021-06-08 11:54:20 -07:00
Evan Hahn
eaf4036fc8
Compute provisioning URL in separate function 2021-06-07 09:27:02 -07:00
Evan Hahn
d46963e864
Fix sending of group messages to empty groups 2021-06-02 13:29:31 -07:00
Scott Nonnenberg
5a4fc5e425
Sender Key: Disable capability and bug fixes 2021-06-01 12:40:09 -07:00
Scott Nonnenberg
ee513a1965
Support for message retry requests 2021-05-28 12:11:19 -07:00
Scott Nonnenberg
b63d8e908c
Properly unpad incoming sender key messages 2021-05-28 09:06:09 -07:00
Scott Nonnenberg
ee41e4f71d
A few small bugfixes 2021-05-27 13:47:39 -07:00
Evan Hahn
d4dc9b8e39 Message Requests: Add new "Report spam and block" button 2021-05-27 13:37:58 -07:00
Scott Nonnenberg
e6f1ec2b6b
Send support for Sender Key 2021-05-25 15:40:04 -07:00
Fedor Indutny
227f532ec2
Fix processing of cached envelopes 2021-05-24 14:30:56 -07:00
Scott Nonnenberg
e76252d3b2
Fixes for Sender Key: Receive 2021-05-24 11:59:45 -07:00
Fedor Indutny
79a90802c0
Use websocket queue for queueAllCached() 2021-05-24 11:00:53 -07:00
Fedor Indutny
7b164fdf91 Further improve in-memory transactions in MessageReceiver 2021-05-20 17:37:26 -07:00
Fedor Indutny
7c07fdd589 Fix in-memory transactions in MessageReceiver 2021-05-20 17:37:19 -07:00
Evan Hahn
7c7f7ee5a0 Add concat iterable utility 2021-05-20 17:37:19 -07:00
Evan Hahn
d07996e910 Add type to WebAPI error message 2021-05-20 17:37:18 -07:00
Fedor Indutny
7418a5c663 Rename locks to zones 2021-05-20 17:37:18 -07:00
Fedor Indutny
1f0119a7ac Reuse global locks, handle empty envelopes 2021-05-20 17:37:17 -07:00
Scott Nonnenberg
bcaca1ebd5 View Once: Allow for missing sender; only require senderUuid 2021-05-20 17:37:17 -07:00
Fedor Indutny
2abc331058 Fix in-memory transactions while accessing sessions 2021-05-20 17:37:10 -07:00
Scott Nonnenberg
38f9aef2af On 401 response from Signal server, reconnect websocket 2021-05-20 17:37:09 -07:00
Fedor Indutny
94d2c56ab9 Introduce in-memory transactions for sessions 2021-05-20 17:37:09 -07:00
Scott Nonnenberg
403b3c5fc6 getSendOptions: Disable sealed sender whenever sending to own account 2021-05-20 17:37:09 -07:00
Scott Nonnenberg
e6bab06510 Receive support for Sender Key
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
2021-05-20 17:37:08 -07:00
Scott Nonnenberg
4c249ce5dc Don't reset session if sealed sender wrapper is invalid 2021-05-20 17:37:08 -07:00
Scott Nonnenberg
fc12d02a8d
Clean up inviteLink handling, harden compose input 2021-05-06 12:06:20 -07:00
Fedor Indutny
986d8a66bc
Show challenge when requested by server 2021-05-05 17:09:29 -07:00
Evan Hahn
8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Scott Nonnenberg
18c86898d1
OutgoingMessage: Use enqueueSessionJob for all encrypts 2021-05-04 18:03:03 -07:00
Evan Hahn
b9bc957299
Fix sendToIdentifier error message 2021-05-04 09:44:17 -07:00
Evan Hahn
bf6487c5b9 Don't mark conversations as unregistered unless there's no UUID 2021-04-29 14:27:37 -07:00
Evan Hahn
013923d3c1 Remove CDS feature flag 2021-04-29 14:27:36 -07:00
Scott Nonnenberg
86d2a4b5dd decrypt/encrypt with libsignal-client, remove libsignal-protocol-javascript 2021-04-29 14:27:35 -07:00
Fedor Indutny
4978fae69c
Call serverTimestamp.toNumber() for unprocessed 2021-04-28 13:21:11 -07:00
Fedor Indutny
a4ff7ae240
Report more performance stats 2021-04-13 16:43:56 -07:00
Scott Nonnenberg
e0415de893 Don't always show an error on manual contact sync 2021-04-09 00:06:46 -04:00
Evan Hahn
a82fa86176 Fetch sender certificates on-demand 2021-04-09 00:06:46 -04:00
Evan Hahn
8fe1be8678 Remove ability to set or read author E164 for new quotes 2021-04-08 23:51:54 -04:00
Evan Hahn
18ccda83ba Use UUID-only sender certificate when applicable 2021-04-08 23:51:54 -04:00
Evan Hahn
63ece2e9b4 Don't set or read reaction target phone number 2021-04-05 18:08:50 -04:00
Jost Schulte
9823eb2201
Fix typos in TypeScript and SCSS files
See [#5136][0].

[0]: https://github.com/signalapp/Signal-Desktop/pull/5136
2021-04-02 15:28:07 -05:00
Fedor Indutny
5c8cb6b89b Decrease batcher wait time to speed up startup 2021-03-30 20:40:48 -04:00
Fedor Indutny
990e501850
First pass on CI support 2021-03-25 19:02:53 -07:00
Fedor Indutny
746e99b8c2
Flush all watchers on empty queue 2021-03-25 17:00:03 -07:00
Fedor Indutny
a75402d290
Add timestamp utilities with helpful names 2021-03-22 16:08:52 -05:00
Scott Nonnenberg
58cb9fba6b Ensure we don't supply undefined to SyncMessage.Read protobuf 2021-03-19 16:57:36 -04:00
Scott Nonnenberg
7ffc01f0b0 MessageReceiver: Restore queuing for in-order decryption 2021-03-19 16:57:36 -04:00
Scott Nonnenberg
0eec84391f MessageReceiver: Be resilient to failed updateCache call 2021-03-19 16:57:36 -04:00
Fedor Indutny
f98c3cba8c Preliminary support for better performance testing 2021-03-19 16:57:36 -04:00
Fedor Indutny
fd8339e2ff Fix for UnregisteredUserError handling when fetching UUIDs 2021-03-19 16:57:36 -04:00
Josh Perez
62e04a1bbd Fix for unread syncs and ooo reactions 2021-03-19 16:57:35 -04:00
Fedor Indutny
11e9b971f0 Provide third HKDF parameter putRemoteAttestation 2021-03-19 16:57:35 -04:00
Josh Perez
468d491d34 Optimizations to the performance improvement changes 2021-03-19 16:57:35 -04:00
Josh Perez
d82ce07942 Improve cold start performance 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
c9ffb7c014 Move SecretSessionCipher to TypeScript 2021-03-19 16:57:35 -04:00
Scott Nonnenberg
1ee47735d9 Add 'chat session refreshed' to timeline for every error 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25 Automatic session reset 2021-03-19 16:53:51 -04:00
Scott Nonnenberg
bc0f4387fe Backwards compatibility updates for libsignal-client 2021-02-12 10:38:49 -08:00
Scott Nonnenberg
9858ae0642 Honor messageKeysLimit, remove batching for session saves 2021-02-10 14:47:55 -08:00
Scott Nonnenberg
a48b3e381e
Support for joining New Groups via invite links 2021-01-29 14:16:48 -08:00
Evan Hahn
10ace53845
Remove unnecessary query param for /v1/certificate/delivery endpoint 2021-01-27 11:10:00 -06:00
Evan Hahn
8a72607fa7 Prefer type to interface and add an ESLint rule 2021-01-25 18:29:00 -08:00
Evan Hahn
dd0ea6b3fe Upgrade TypeScript to the latest version, v4.1.3 2021-01-25 18:28:57 -08:00
Ehren Kret
38ab92da5d Keep signed prekeys for one month
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2021-01-25 18:28:57 -08:00
Scott Nonnenberg
4eb49ff304 Fix a few issues with linking a new Desktop instance 2021-01-19 17:35:07 -08:00
Scott Nonnenberg
37aa3146bb Be resilient to missing data in MessageReceiver constructor 2021-01-11 14:23:09 -08:00
Scott Nonnenberg
bc57a31e99 MessageReceiver: Envelope id is always locally generated 2021-01-11 14:23:09 -08:00
Scott Nonnenberg
3a726ad311
Adjust timeouts for better performance 2021-01-11 13:59:46 -08:00
Scott Nonnenberg
3f58a9b762
Clean up UUID-handling to prepare for future 2020-12-09 17:26:37 -05:00
Scott Nonnenberg
5369950c1d
Don't promote archived sessions, more logging on error 2020-12-09 14:05:11 -08:00
Evan Hahn
a142cb522e
Send group call events to linked devices 2020-12-09 16:02:50 -06:00
Scott Nonnenberg
a4d0c0dfab
MessageReceiver: still queue message, even if respond(200) fails 2020-12-03 10:04:50 -06:00
Scott Nonnenberg
845532c9b7
MessageReceiver: Wait for derived GV1 data 2020-12-02 14:31:42 -08:00
Evan Hahn
b30b83ed57
Send group call update messages when joining/leaving a call 2020-12-01 17:49:08 -08:00
Evan Hahn
688938b5a1
Don't send messages to blocked group members 2020-12-01 12:04:14 -05:00
Scott Nonnenberg
2b8ae412e0
New feature flag with ability to migrate GV1 groups 2020-12-01 10:42:35 -06:00
Scott Nonnenberg
2c69f2c367 Support for GV1 -> GV2 migration 2020-11-23 14:48:12 -05:00
Scott Nonnenberg
26884432a2 Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax 2020-11-23 14:45:44 -05:00
Evan Hahn
72e4ec95ce Minor: fix typo in WebAPI error message 2020-11-23 14:45:44 -05:00
Evan Hahn
022c4bd0f4 Initial group calling support 2020-11-23 14:45:44 -05:00
Scott Nonnenberg
7d4d85a755
Reactions: Don't send null 'remove' field 2020-11-11 21:03:56 -06:00
Scott Nonnenberg
d4d9688447
Ensure authorUuid is set in outgoing quotes 2020-11-06 13:06:21 -06:00
Chris Svenningsen
53c89aa40f Send @mentions 2020-11-04 13:03:13 -06:00
Evan Hahn
8bfaf598af Add license headers across the project 2020-11-04 13:03:13 -06:00
Scott Nonnenberg
18c71b291c
Fix left pane draft display and GV2 typing indicators 2020-11-03 16:16:20 -08:00
Scott Nonnenberg
05f905fd10
A few small bugfixes 2020-10-30 10:56:03 -07:00
Scott Nonnenberg
8eea20ea91
Reliability fixes for conversation formatting and message send 2020-10-28 14:54:33 -07:00
Scott Nonnenberg
5c0fcad6b1 Properly prepare, await and hand response for sync message send 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
74de4ea6f6 Capture original error stack when sending messages 2020-10-26 15:48:44 -07:00
Scott Nonnenberg
0122cfd22a Resilience to quick reconnects: always reprocess from cache first 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
b914b59969 Disable obsolete feature flags 2020-10-12 18:10:08 -04:00
Scott Nonnenberg
d51a0b5ece GroupsV2: Better group invite behavior 2020-10-12 18:10:08 -04:00
Chris Svenningsen
7b15bddfc9 Bring back conversation.leaveGroup for GV1 scenarios 2020-10-12 18:10:08 -04:00
Sidney Keese
866217a724 Delete For Everyone Send
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774 Outbound link previews 2020-10-12 18:10:08 -04:00
Evan Hahn
bf647b36d4 Fix a UUID variable holding an E164 2020-10-12 18:10:07 -04:00
Sidney Keese
dabab60f56 Remove TSLint
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Sidney Keese
7b6d8f55d6 Migrate textsecure to eslint
Co-authored-by: Chris Svenningsen <chris@carbonfive.com>
2020-10-12 18:10:07 -04:00
Chris Svenningsen
b5df9b4067 Migrate messages, conversations, conversation_view, background to TS
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
iomintz
6e7930f7a9
WebAPI.initialize: add missing validity check for proxyUrl (#4565) 2020-10-12 18:08:43 -04:00
Scott Nonnenberg
58af7adeaa
Update to the new gv2 capability string 2020-09-25 15:19:03 -05:00
Scott Nonnenberg
9f73b40d7a
MessageReceiver: Use UUID if we have it 2020-09-25 09:20:36 -05:00
Scott Nonnenberg
04d3769bd4
Update to the new gv2 capability string 2020-09-22 20:30:25 -04:00
Scott Nonnenberg
bc3b61db1d Add p-queue timeouts; fix search crash; improve promise rejection logging 2020-09-21 15:42:51 -04:00
Scott Nonnenberg
ec8ac1db58 Outgoing: Ensure that sends still succeed without CDS 2020-09-21 15:42:51 -04:00
Scott Nonnenberg
c2275b6aed Increase requiredProtocolVersion if quote includes @mention 2020-09-21 15:42:37 -04:00
Josh Perez
9657c38987 @mentions receive support 2020-09-21 15:42:37 -04:00
Scott Nonnenberg
9fae795e8f
GroupsV2: Register GV2 capabilities properly 2020-09-10 15:03:17 -07:00
Scott Nonnenberg
deb3dd5d4e
A couple of small bugfixes 2020-09-10 15:06:26 -05:00
Josh Perez
d87335f5a6 Support server-determined build expiration 2020-09-09 17:34:57 -07:00
Scott Nonnenberg
7a02cc815d Support for new GroupV2 groups 2020-09-09 17:34:57 -07:00
Josh Perez
1ce0959fa1 Storage Service: Write 2020-09-09 17:34:57 -07:00
Ken Powers
8290881bd8 Support for Contact Discovery Service 2020-09-09 17:34:57 -07:00
Evan Hahn
f6dcf91dbf Fix inbound link preview images 2020-09-04 14:41:07 -05:00
Evan Hahn
bd32a55c15 Fix issue with dates on inbound link previews 2020-09-02 14:49:47 -04:00
Evan Hahn
fd06ac9d57 Sticker improvements 2020-09-01 17:11:16 -04:00
Evan Hahn
333feaa81e A few logging improvements 2020-08-28 15:42:24 -04:00
Evan Hahn
b0b4c04c52 Minor: remove anys from createTaskWithTimeout 2020-08-28 15:42:24 -04:00
Evan Hahn
b32445cd20
Upgrade node-fetch to latest version, v2.6.0 2020-08-11 14:23:37 -07:00
Scott Nonnenberg
0fee1f9935
WebAPI.getProfileURL: Use profileKeyVersion by itself if we have it 2020-08-10 15:39:06 -04:00
Scott Nonnenberg
81cb7730a5
Message Requests improvements 2020-08-06 20:50:54 -04:00
Scott Nonnenberg
b63291507a
Sync messages: Additional debugging info, consistent ids 2020-08-06 13:28:56 -04:00
Scott Nonnenberg
901179440f Merge contacts when we discover split or duplicated contacts 2020-07-30 13:17:45 -07:00
Josh Perez
8502d23576 Social Graph: read-only state sync with primary device 2020-07-30 13:10:05 -07:00
Josh Perez
5b83485c89 Update safety number change warning dialog 2020-07-30 13:10:05 -07:00
Jim Gustafson
e87a0103cc Use message age to expire old incoming calls 2020-07-30 13:10:05 -07:00
Ken Powers
bf04c9114e Harden UUID-handling code paths 2020-07-30 13:10:03 -07:00
Peter Thatcher
d3a27a6442 Calling support 2020-07-30 13:08:47 -07:00
Ken Powers
83574eb067 Message Requests 2020-07-30 13:08:44 -07:00
Scott Nonnenberg
1518b159d3 Only use membersE164 field in GroupV1 messages 2020-07-27 14:49:37 -07:00
Scott Nonnenberg
36a0d1efcf Increase maximum frame size for incoming websocket messages 2020-07-27 14:39:19 -07:00
Josh Perez
ba6cb653bf Drop group messages that don't change group 2020-07-13 16:06:24 -07:00
Scott Nonnenberg
f04812eb5d rotateSignedPreKey: Protect against too-frequent rotation 2020-06-23 17:30:45 -07:00
Scott Nonnenberg
acf95f4745 resetSession: Take both UUID and e164, use each correctly 2020-06-10 14:39:45 -07:00
Ken Powers
d6d2d242d4
Always use sender certificates including UUID 2020-05-07 13:51:37 -07:00
Scott Nonnenberg
d13c3d3350 Link flow: Show 'you must upgrade' on 409 server response 2020-05-05 14:18:46 -07:00
Scott Nonnenberg
97b657da6d MessageReceiver: Drop sync messages with GroupContextV2 2020-05-05 14:18:46 -07:00
Ken Powers
ba5e2ff6e5 Receive support for DOE messages 2020-04-29 17:42:41 -07:00
Ehren Kret
a0e9791623 Add support for receiving attachments from CDN 2 2020-04-29 17:42:41 -07:00
Scott Nonnenberg
ba8aad3755 Reset Session: Include timestamp in DataMessage proto 2020-04-15 17:36:31 -07:00
Scott Nonnenberg
c1dfe3e5b4
Adds support for versioned profiles
* Add zkgroup library

* tsconfig.json: Prettier wants to mess it up. :0(

* Initial take on versioned profile fetches

* Fix up the logging in getProfiles() - warn instead of error

* Introduce new VERSIONED_PROFILE_FETCH flag

* Update zkgroup dependency to v0.5.0

* Fix lint-deps - new zkgroup library brought in new debug dep

* ts/zkgroup: Introduce some commonly-used helper functions

* Update to latest serverPublicParams

* Don't derive profileKeyVersion unless flag is set
2020-04-15 16:12:28 -07:00
Scott Nonnenberg
97a6e01d24 MessageReceiver: Drop messages with GroupContextV2 2020-04-15 14:45:11 -07:00
Scott Nonnenberg
b7d56def82 Moves libtextsecure to Typescript
* Starting to work through lint errors

* libsignal-protocol: Update changes for primary repo compatibility

* Step 1: task_with_timeout rename

* Step 2: Apply the changes to TaskWithTimeout.ts

* Step 1: All to-be-converted libtextsecure/*.js files moved

* Step 2: No Typescript errors!

* Get libtextsecure tests passing again

* TSLint errors down to 1

* Compilation succeeds, no lint errors or test failures

* WebSocketResources - update import for case-sensitive filesystems

* Fixes for lint-deps

* Remove unnecessary @ts-ignore

* Fix inability to message your own contact after link

* Add log message for the end of migration 20

* lint fix
2020-04-15 14:45:11 -07:00