signal-desktop/js
Scott Nonnenberg 10a38297b8 Only show notifications when done with sync (#1507)
This prevents the parade of notifications if a machine wakes up from
sleep. Basically covers situations that the loading screen doesn't
already.

When disabled, notifications will be cached until they are subsequently
re-enabled, at which time all the pending notifications will be summarized.

From the background page, notifications are disabled during connection attempts
until an empty event. This means we can always safely call conversation.notify
to queue a notification for the next batch, dropping some options from message
and conversation model methods.

We've also moved the calls to check window focus and draw attention to the
window, which were previously included in the conversation model, but are now
performed by the Notification system, because the time that the notification is
displayed might be some time after the message is added by the conversation, so
decisions about focus and attention should be made in that moment and not
before.

// FREEBIE
2017-09-29 09:15:28 -07:00
..
models Only show notifications when done with sync (#1507) 2017-09-29 09:15:28 -07:00
views Eliminate $name$ in two places (#1520) 2017-09-29 09:09:40 -07:00
background.js Only show notifications when done with sync (#1507) 2017-09-29 09:15:28 -07:00
backup.js Separate dir selection from import, better import button text 2017-09-14 17:02:46 -07:00
chromium.js Remove extension.notification 2017-09-14 16:53:45 -07:00
components.js Upgrade emoji support (#1482) 2017-09-15 13:22:11 -07:00
conversation_controller.js Remove dead code 2017-09-14 16:53:45 -07:00
database.js Move logging to disk via bunyan 2017-09-25 15:00:34 -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 Upgrade emoji support (#1482) 2017-09-15 13:22:11 -07:00
expire.js Build expiration date 2017-09-14 16:53:38 -07:00
expiring_messages.js Fetch all conversations on startup of app, not on inbox load (#1437) 2017-09-06 18:18:46 -07:00
focus_listener.js Move focus listeners to their own file 2017-09-14 16:53:37 -07:00
i18n.js Use correct locale, fall back to en if we don't have translations 2017-09-14 16:53:47 -07:00
keychange_listener.js Fetch conversations once, clean up ConversationController API (#1420) 2017-09-01 09:10:41 -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 Only retry messages on startup, not every sockect reconnect (#1510) 2017-09-28 14:58:45 -07:00
logging.js Redact group ids in logging 2017-09-25 16:41:57 -07:00
Mp3LameEncoder.min.js Copy audio-related files into js/ instead of symlinking them (#1456) 2017-09-14 17:03:18 -07:00
notifications.js Only show notifications when done with sync (#1507) 2017-09-29 09:15:28 -07:00
read_receipts.js Read/Delivery Receipts: Wait for resolution in main queue 2017-08-04 12:03:25 -07: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 Reschedule all timers on time travel, set interval back to 1000ms 2017-09-14 16:53:53 -07:00
signal_protocol_store.js isUntrusted: Return false if firstUse is true 2017-08-04 12:03:25 -07:00
spell_check.js Merge locale-provided strings into english for failover support 2017-09-14 17:03:17 -07:00
storage.js Import: Wait until db writes resolve before saying we're done (#1401) 2017-09-14 17:03:17 -07:00
wall_clock_listener.js Reschedule all timers on time travel, set interval back to 1000ms 2017-09-14 16:53:53 -07:00
WebAudioRecorderMp3.js Copy audio-related files into js/ instead of symlinking them (#1456) 2017-09-14 17:03:18 -07:00
XMLHttpRequest.js Certificate pinning via node XMLHttpRequest implementation (#1394) 2017-09-14 17:03:17 -07:00