signal-desktop/js
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
..
models Additional logging for perf analysis and cross-device debuging 2017-08-17 08:54:38 -07:00
views Full export, migration banner, and full migration workflow - behind flag (#1342) 2017-08-28 13:06:10 -07:00
background.js Full export, migration banner, and full migration workflow - behind flag (#1342) 2017-08-28 13:06:10 -07:00
backup.js Full export, migration banner, and full migration workflow - behind flag (#1342) 2017-08-28 13:06:10 -07:00
chromium.js Move clear/drawAttention logging up a level to reduce verbosity 2017-08-28 12:59:08 -07:00
components.js Introduce new filesize dependency 2017-05-09 15:14:20 -07:00
conversation_controller.js Unload conversations and old messages every half-hour 2017-08-04 12:03:25 -07:00
conversation_panel.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
database.js Cache messages on receipt, remove from cache when processed 2017-08-04 12:03:25 -07:00
debugLog.js Increase log length to 5000, since we're logging so much now 2017-08-04 12:03:25 -07:00
delivery_receipts.js Additional logging when we get delivery receipt for unknown msg 2017-08-23 13:39:29 -07:00
emoji_util.js Bulletproof getCountOfAllMatches against non-global regex input 2017-05-10 15:51:39 -07:00
expire.js Add build support for expiring old releases 2016-04-03 20:55:53 -07:00
expiring_messages.js Add a max setTimout for expiring messages (over max == immediate) 2017-08-10 12:04:13 -07:00
index.js Use appendChild instead of append 2017-04-15 23:46:02 -07:00
keychange_listener.js When finding all groups involving a number, load from DB not memory 2017-08-04 12:03:25 -07:00
libphonenumber-util.js Refactor number parsing and validation 2015-12-09 18:58:51 -08:00
libsignal-protocol-worker.js Update libsignal-protocol v1.0.0 2016-06-14 16:27:34 -07:00
libtextsecure.js Full export, migration banner, and full migration workflow - behind flag (#1342) 2017-08-28 13:06:10 -07:00
Mp3LameEncoder.min.js Add voice notes 2016-08-23 16:16:31 -07:00
notifications.js Add an option to play audio notifications 2017-02-02 09:00:14 -06:00
options.js Move Whisper.events out of views and tests 2017-04-21 13:21:18 -07:00
panel_controller.js Move clear/drawAttention logging up a level to reduce verbosity 2017-08-28 12:59:08 -07:00
read_receipts.js Read/Delivery Receipts: Wait for resolution in main queue 2017-08-04 12:03:25 -07:00
register.js Fix minor style errors 2016-02-18 13:45:22 -08:00
registration.js Refactor registration event 2016-09-20 13:42:33 -07:00
reliable_trigger.js Apply reliable trigger to Backbone.Collection as well 2017-08-04 12:03:25 -07:00
rotate_signed_prekey_listener.js Remove some global refs to window.events 2017-04-12 20:43:16 -07:00
signal_protocol_store.js isUntrusted: Return false if firstUse is true 2017-08-04 12:03:25 -07:00
storage.js Log on failure to fetch storage 2016-08-11 12:22:32 -07:00
wall_clock_listener.js Remove some global refs to window.events 2017-04-12 20:43:16 -07:00
WebAudioRecorderMp3.js Add voice notes 2016-08-23 16:16:31 -07:00