signal-desktop/libtextsecure
Scott Nonnenberg c0cd733139 Full export, migration banner, and full migration workflow - behind flag (#1342)
* Add support for backup and restore

This first pass works for all stores except messages, pending some scaling
improvements.

// FREEBIE

* Import of messages and attachments

Properly sanitize filenames. Logging information that will help with
debugging but won't threaten privacy (no contact or group names),
where the on-disk directories have this information to make things
human-readable

FREEBIE

* First fully operational single-action export and import!

FREEBIE

* Add migration export flow

A banner alert leads to a blocking ui for the migration. We close the socket and
wait for incoming messages to drain before starting the export.

FREEBIE

* A number of updates for the export flow

1. We don't immediately pop the directory selection dialog box, instead
  showing an explicit 'choose directory' button after explaining what is
  about to happen
2. We show a 'submit debug log' button on most steps of the process
3. We handle export errors and encourage the user to double-check their
  filesystem then submit their log
4. We are resilient to restarts during the process
5. We handle the user cancelling out of the directory selection dialog
  differently from other errors.
6. The export process is now serialized: non-messages, then messages.
7. After successful export, show where the data is on disk

FREEBUE

* Put migration behind a flag

FREEBIE

* Shut down websocket before proceeding with export

FREEBIE

* Add MigrationView to test/index.html to fix test

FREEBIE

* Remove 'Submit Debug Log' button when the export process is complete

FREEBIE

* Create a 'Signal Export' directory below user-chosen dir

This cleans things up a bit so we don't litter the user's target
directory with lots of stuff.

FREEBIE

* Clarify MessageReceiver.drain() method comments

FREEBIE

* A couple updates for clarity - event names, else handling

Also the removal of wait(), which wasn't used anywhere.

FREEBIE

* A number of wording updates for the export flow

FREEBIE

* Export complete: put dir on its own line, make text selectable

FREEBIE
2017-08-28 13:06:10 -07:00
..
storage Cache messages on receipt, remove from cache when processed 2017-08-04 12:03:25 -07:00
test Whenever adding something to a queue, include a timeout 2017-08-04 12:03:25 -07:00
account_manager.js Whenever adding something to a queue, include a timeout 2017-08-04 12:03:25 -07:00
api.js Add support for getProfile to TextSecureServer 2017-08-04 12:03:25 -07:00
components.js Move jquery from libtextsecure components 2015-10-19 12:51:59 -07:00
contacts_parser.js Support for group sync 2015-06-25 13:24:32 -07:00
crypto.js Cleanup attachment attributes 2017-04-18 11:48:53 -07:00
errors.js Decrypt any IncomingIdentityKeyError still sticking around 2017-08-12 13:17:53 -07:00
event_target.js Animated loading screens on startup and first conversation load 2017-08-04 12:03:25 -07:00
helpers.js Move, rename, and simplify toArrayBuffer helper 2016-03-13 04:56:28 -07:00
key_worker.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
libsignal-protocol.js Set messageKeysLimit to unlimited if communicating with our devices (#1348) 2017-08-04 12:25:30 -07:00
message_receiver.js Full export, migration banner, and full migration workflow - behind flag (#1342) 2017-08-28 13:06:10 -07:00
outgoing_message.js Fix for "Can't find record for undefined.1" 2017-08-04 15:23:54 -07:00
protobufs.js Load protobufs asynchronously. Fixes #223 2015-05-15 11:38:14 -07:00
protocol_wrapper.js Update libsignal-protocol v0.9.0 2016-05-17 12:03:37 -07:00
ProvisioningCipher.js Set theme based on master device userAgent 2016-09-15 16:28:46 -07:00
sendmessage.js Add logging to help track down problems with Sync 2017-08-17 17:33:22 -07:00
storage.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
stringview.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
sync_request.js Add logging to help track down problems with Sync 2017-08-17 17:33:22 -07:00
task_with_timeout.js Whenever adding something to a queue, include a timeout 2017-08-04 12:03:25 -07:00
websocket-resources.js Disable keepalive logging 2016-06-29 18:22:27 -07:00