Scott Nonnenberg d8ce198f55 Fetch conversations once, clean up ConversationController API (#1420)
* Fetch conversations once, clean up ConversationController API

Race conditions around re-fetching have caused some problems recently,
so this removes the need to re-fetch conversations. They are fetched
once or saved once, and that is it. All interaction goes through the
ConversationController, which is the central source of truth.

We have two rules for Conversations:

1. If a conversation is in the ConversationController it doesn't need
   to be fetched, but its initial fetch/save might be in progress. You
   can wait for that fetch/save with conversation.initialPromise.
2. If a conversation is not already in the ConversationController, it's
   not yet in the database. It needs to be added to the
   ConversationController and saved to the database.

FREEBIE

* Remove Conversation.fetch() call in Message.handleDataMessage()

FREEBIE

* ConversationController.API cleanup: Fix two missing spots

FREEBIE
2017-09-01 09:10:41 -07:00
2014-10-30 16:53:08 -07:00
2017-05-09 15:14:20 -07:00
2016-02-18 13:45:22 -08:00
2017-05-09 15:14:20 -07:00
2017-08-30 14:51:42 -07:00
2017-04-13 13:15:42 -07:00
2017-04-18 16:46:02 -07:00
2017-06-01 16:34:23 -07:00
2015-11-07 23:24:19 -08:00

Build Status Signal Desktop

Get Signal Private Messenger on the Chrome Web Store!

Signal Desktop is a chrome packaged app that links with your Signal Android or Signal iOS app.

Got a question?

The best place to ask questions is http://support.whispersystems.org.

Found a Bug?

Please search the existing issues for your bug and create a new one if the issue is not yet tracked!

https://github.com/WhisperSystems/Signal-Desktop/issues

Contributing Translations

Interested in helping to translate Signal? Contribute here:

https://www.transifex.com/projects/p/signal-desktop

Contributing Code

Please see CONTRIBUTING.md for setup instructions and contributor guidelines. And don't forget to sign the CLA.

This repository is set up with BitHub, so you can make money for committing to Signal. The current BitHub price for an accepted pull request is:

Current BitHub Price

Contributing Ideas

Have something you want to say about Open Whisper Systems projects or want to be part of the conversation? Get involved in the community forum!

Contributing Funds

Donate

You can add funds to BitHub to directly help further development efforts.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2014-2017 Open Whisper Systems

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

Description
A private messenger for Windows, macOS, and Linux.
Readme AGPL-3.0 1 GiB
Languages
TypeScript 84.5%
JavaScript 10.7%
SCSS 4.4%
CSS 0.2%