Commit Graph

597 Commits (e2e0e4c96bf0999deecabc2602d5855f39c93a2d)

Author SHA1 Message Date
Scott Nonnenberg e2e0e4c96b Refine sealed sender logic 7 years ago
Scott Nonnenberg 1755e0adfd Move all remaining stores to SQLCipher 7 years ago
Scott Nonnenberg a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
7 years ago
Scott Nonnenberg 2cfbfe477a Better handle large numbers of messages in cache on startup 7 years ago
Scott Nonnenberg 814b9cf26a Only accept 'you left group' messages when group blocked 7 years ago
Scott Nonnenberg c2e0ec5636 Group Blocking: Allow group metadata messages from own devices 7 years ago
Scott Nonnenberg 9c399624cc Support for blocking groups on mobile, via group/blocked syncs 7 years ago
Scott Nonnenberg 02fbea96c0 Move base64 conversions off of the main thread 7 years ago
Scott Nonnenberg 911bc63c67 Move all arrayBuffer<->base64 functions to be async 7 years ago
Scott Nonnenberg 15751f3521 MessageReceiver.queueAllCached: Give event loop a rest
We don't want to queue multiple hundreds of messages at once, so we
let the event loop catch up every 20 messages queued.
7 years ago
Scott Nonnenberg 0eb2c958a5 Handle contact: don't exit early if timer is 'invalid' 7 years ago
Scott Nonnenberg 7983300f4a Use base64 strings for incoming message cache instead of binary 7 years ago
Scott Nonnenberg 85ab4e567f Let server know that we failed to process message on cache error 7 years ago
Scott Nonnenberg 727925a266 Clean up old messages, better handle errors from sending 7 years ago
Scott Nonnenberg 52ee6abf52 Provide needed function to migration process
And disable attachment cleanup for now
7 years ago
Scott Nonnenberg 44dec45995 Ensure that all messages in cache are migrated properly 7 years ago
Scott Nonnenberg 59f955ff30 On error handling cached message, show error then delete 7 years ago
Scott Nonnenberg baf419b7b6 Ensure that we always enqueue in the same order received 7 years ago
Scott Nonnenberg 3105b77475 Migrate to SQLCipher for messages/cache
Quite a few other fixes, including:
  - Sending to contact with no avatar yet (not synced from mobile)
  - Left pane doesn't update quickly or at all on new message
  - Left pane doesn't show sent or error status

Also:
 - Contributing.md: Ensure set of linux dev dependencies is complete
7 years ago
Scott Nonnenberg 0774ba2903 Eslintify all of libtextsecure 7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
Scott Nonnenberg f5852bb357 Be resilient to null thrown errors so we can surface to user 7 years ago
Scott Nonnenberg a40a39314a Disable notifications on new 'reconnect' event for laptop resume 7 years ago
Scott Nonnenberg 1c23c6a9d7 Remove window.config in favor of window.getXXX() accessors 7 years ago
Scott Nonnenberg f3bd0cf903 Refactor api.js into web_api, which encapsulates all web access 7 years ago
Scott Nonnenberg 37ebe9fcec eslintify libtextsecure/api.js 7 years ago
Scott Nonnenberg cfe0bd0e79 Move to npm for several dependencies
mustache
jQuery
underscore
backbone
mocha
chai
intl-tel-input
7 years ago
Scott Nonnenberg e02887565b
Update to electron v2.0.1 (#2401)
* Remove extra parenthesis causing warnings on latest chromium

* Update to electron 2.0.1

* Move all @types dependencies to devDependencies

* Update electron-builder/electron-updater

* Update to Node.js 8.9.3 to match Electron 2.0.1
7 years ago
Scott Nonnenberg fffcba0fec Properly handle contact property as an array in MessageReceiver 7 years ago
Scott Nonnenberg 3ea3e4e256 Contact sharing: protos and data pipeline
As of this commit: 82b76ccf37
7 years ago
Daniel Gasienica ba4d8952c6 Revert "Use protocol buffer module for `libtextsecure`"
This does not work with `ArrayBuffer` out of the box and will need to be
investigated and tested more before switching.

Some APIs also seemed to have changed:
- Before (OOP): `new textsecure.protobuf.WebSocketMessage(…).encode();`
- After (functional):
  ```
  textsecure.protobuf.WebSocketMessage.encode(
    new textsecure.protobuf.WebSocketMessage(…)
  );
  ```

This reverts commit d758119d9de4f99742ea941e86180b1d600c2f22.
7 years ago
Daniel Gasienica 60077d0b7b Use protocol buffer module for `libtextsecure` 7 years ago
Daniel Gasienica c8e1c29b16 Improve naming 7 years ago
Scott Nonnenberg a0ed993b42 Now we've got everything prettified! 7 years ago
Scott Nonnenberg 754d65ae2e Let's make it all pretty, shall we?
We missed a couple directories with previous attempts to turn this on
globally: app/ and libtextsecure/

Not to mention files in places we didn't expect: ts files that weren't
in the ts directory!

This turns prettier on for every file we care about (js, ts, tsx, md)
everywhere in the project but for a few key parts.
7 years ago
Daniel Gasienica 95321e5d3e Remove Vim mode lines 7 years ago
Scott Nonnenberg c02860af5c
Responding to pull request review feedback
- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
  - remove extraneous logging
  - fix indentation
  - upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus
7 years ago
Scott Nonnenberg 73edabfb17
Full pipeline to send quotes, including thumbnail upload 7 years ago
Scott Nonnenberg feb68b24b4
Fix lint issues in message_receiver.js 7 years ago
Scott Nonnenberg a806f32675
Fix message_receiver 7 years ago
Scott Nonnenberg 06c70b0ff4
Don't fail message load if we can't load quote thumbnail 7 years ago
Scott Nonnenberg c747c55b37
MessageReceiver: Translate from BigNumber to number for quote id 7 years ago
Scott Nonnenberg 5602241a0c
Eliminate eslint-generated triple-parents 7 years ago
Scott Nonnenberg d5043eb9cf
MessageReceiver: Can't use arrow function if it is to be new'd 7 years ago
Scott Nonnenberg 054d3887a1
Quotes: The full pipeline into the database
1. MessageReceiver always pulls down thumbnails included in quotes
2. Message.upgradeSchema has a new schema that puts all thumbnails on
   disk just like happens with full attachments.
3. handleDataMessage pipes quote from dataMessage into the final message
   destined for the database
7 years ago
Scott Nonnenberg e69586200a
Unleash eslint on message_receiver.js - lots of change 7 years ago
Daniel Gasienica 32911002d4 Verify `makeAttachmentPointer` and `encryptAttachment` arguments
The underlying `crypto.subtle.encrypt` API requires it.
7 years ago
Scott Nonnenberg 1c6d91b59c
Harden rotateSignedPrekey against nonexistent identity key
This is now what happens after Signal Desktop discovers that it is no
longer linked with a mobile device, since the identityh key is deleted.
7 years ago
Scott Nonnenberg 198f356792
Return number (not id) in getNumber, remove unnecessary comment 7 years ago
Scott Nonnenberg 9acb189650
Remove config after unlink, clear db when linked with new number 7 years ago