Commit graph

676 commits

Author SHA1 Message Date
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
Scott Nonnenberg
9ab54b9b83 Move web_api.js and js/modules/crypto.js to TypeScript 2020-04-15 14:44:51 -07:00
Ken Powers
37ad95af27 Passive UUID fixes 2020-03-24 17:03:22 -07:00
Ken Powers
a90246cbe5 Passive UUID support
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-03-24 16:59:35 -07:00
Josh Perez
0843f569a0
Adds additional logging to boot path 2020-02-18 10:48:58 -08:00
Scott Nonnenberg
7ca0dfdfbe
Move logic into handleDataMessage for proper queuing 2020-02-14 16:28:35 -05:00
Scott Nonnenberg
de630a2ea8
Ensure that message.previousCounter can never go below zero 2020-01-29 14:13:50 -08:00
Ken Powers
153503efc5 Send Reactions 2020-01-23 15:57:37 -08:00
Scott Nonnenberg
e5e4f90974 Send: Gracefully degrade if we don't have sender certificate 2020-01-16 21:36:14 -08:00
Scott Nonnenberg
11266cb775 Handle both given and family name in decrypted profile name
* Decrypt given and family names from profile name string
* Handle both given and family name from decrypted profile name
* Ensure we properly handle profiles with no family name
2020-01-13 17:28:28 -05:00
Scott Nonnenberg
14cc11d5de OutgoingMessage: On OutgoingKeyError, archive all sessions
* OutgoingMessage: On OutgoingKeyError, archive all sessions
* Improve logging
2020-01-10 11:10:43 -05:00
Ken Powers
0d3b390129 Upgrade Prettier 2020-01-08 09:44:54 -08:00
Scott Nonnenberg
38e9ddef40 Add logging to help track down 401s during registration 2019-12-03 16:29:03 -08:00
Scott Nonnenberg
e9f08c3da9 Bugfixes for v1.29
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05:00
Scott Nonnenberg
c930b6c349 Additional logging in unusual error cases
* Add more logging with 'Over 5000 messages into future' error
* When a Bad MAC error happens on decrypt, print out more info
* Fix loggin
2019-11-11 12:59:09 -05:00
Scott Nonnenberg
fd5af8bb62 SessionRecord: Once again serialize/deserialize within libsignal 2019-10-30 12:12:30 -07:00
Scott Nonnenberg
104b694186 MessageReceiver: Ensure that we always clearTimeout before set 2019-10-30 12:12:30 -07:00
Scott Nonnenberg
f876b81493 MessageReceiver: removeFromCache no longer returns a promise 2019-10-14 11:35:29 -04:00
Scott Nonnenberg
28aed8247f MessageReceiver: Remove contact/group sync from cache immediately 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
2481784ab2 Increase maximum message counter from 2000 to 5000 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
0c09f9620f Improve message download performance 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
a8a8d65e5b MessageReceiver: Add note about out-of-band updateCache calls 2019-09-18 16:08:46 -07:00
Scott Nonnenberg
d3d2b0ec52 Use curve functions from native module 2019-08-21 14:55:12 -07:00
Scott Nonnenberg
6ac7f4ccf6 Two fixes for messages causing errors
* Queue delivery receipt sends, only start after we get 'empty'
* Retry cached two minutes after empty, or any post-empty message
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
2beb421067 Allow for zero-length attachment pointers 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
d42eb2126e Changes to View Once 2019-08-05 16:23:47 -07:00
Scott Nonnenberg
df74103335 Two small changes
* Signed prekey rotation: better logging, let => const

* Ensure that we remove sync messages from cache
2019-07-19 09:35:04 -04:00
Scott Nonnenberg
cb2c691667 Improve queuing strategies in the app 2019-07-17 11:29:51 -07:00
Scott Nonnenberg
e62a1a7812 Receive support for View Once photos 2019-07-17 11:29:51 -07:00
Scott Nonnenberg
0df9b4b8fb Prevent multiple parallel signed prekey rotations
* Prevent multiple parallel signed prekey rotations

* When logging error, recalculate id to capture sealed sender info
2019-07-03 14:56:49 -04:00
Scott Nonnenberg
058feb317c Avoid crash in processing incoming message if timestamp is null 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
9375300691 Set proper isRecipientUpdate flag on outgoing sync messages 2019-05-30 12:43:18 -07:00
Scott Nonnenberg
e18b6bed1f Refactor 'waiting' flags into one location, fix timestamp check 2019-05-16 17:15:54 -07:00
Scott Nonnenberg
089a232a60 Set timestamps in dataMessage, prepare for validation 2019-05-16 17:15:54 -07:00
Ken Powers
29de50c12a Stickers
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-16 16:10:37 -07:00
Scott Nonnenberg
13ad4abaea Handle and send isRecipientUpdate sync messages
* Handle and send isRecipientUpdate sync messages
* Disable sending isRecipientUpdates for now
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
26a3342d2a Padded attachments, attachments v2
* Handle incoming padded attachments
* Attachments v2 - multipart form POST, and direct CDN GET access
* Pad outgoing attachments before encryption (disabled for now)
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
a450cdf528 Lint fixes for recent PRs 2019-04-08 11:30:19 -07:00
sachaaaaa
d99dc100a5 Fix arguments in MessageSenderWrapper (#2671) 2019-04-08 10:22:06 -07:00
Scott Nonnenberg
494806b314 libsignal-protocol: Be resilient to missing open session 2019-04-08 09:44:08 -07:00
Scott Nonnenberg
32fa5cccde Send sync sent messages properly in 1-member group 2019-03-13 10:46:00 -07:00
Scott Nonnenberg
b83ae11cb3 Single member groups: Make all group-related sends a noop 2019-03-13 09:19:37 -07:00
Scott Nonnenberg
c76d537482 Note to Self: On just expire timer update, set TIMER_UPDATE flag 2019-03-13 09:11:39 -07:00
Scott Nonnenberg
b3ac1373fa Move left pane entirely to React 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
0b0dfbce9d Don't return error for groups with no members but yourself 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
e4f18f9daa libsignal-protocol: Protect against null thrown Errors 2019-03-12 17:44:14 -07:00
Scott Nonnenberg
3fb6ab295f Debug log optimizations and improvements 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
77ae717b9b Clean up shutdown handling - stop processing incoming messages 2019-02-20 16:51:30 -08:00
Scott Nonnenberg
af40ceda6c Note to Self timer fixes for bugs reported by beta users 2019-02-20 16:40:35 -08:00
Scott Nonnenberg
7c4ba5446c Throw error if incoming attachment has mismatched attachment size 2019-02-20 16:40:35 -08:00