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 any
s 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