zulip/static/js
Robert Hönig 4f9bbb1c8a Fix duplicate notifications when multiple Zulip tabs are openend.
We attempted a number of different approaches to solving this problem:

First, we tried using HTML5 local storage to keep track of which
browser should have created the desktop notification.  This failed
because one needs locking, and it doesn't appear there is an working
locking implementation for HTML5 local storage that could allow us to
do this across tabs.  See #2936 for details.

Ultimately we went with setting the message ID as a tag.  Tags are
intended to be used for updating existing desktop notifications, which
means this implementation causes new notifications to flicker in and
out sometimes when multiple tabs are open, but that certainly beats
having duplicates.

Fixes #99.
2017-01-02 16:58:51 -08:00
..
portico Move portico-only JS to static/js/portico/. 2016-12-30 14:47:49 -08:00
src eslint: change no-plusplus from warning to 2 and fix violations. 2016-12-01 14:27:17 -08:00
.eslintrc.json Change name of eslintrc file to .eslintrc.json 2016-11-29 08:58:39 -08:00
activity.js Do not open compose box if user sidebar search is empty. 2016-12-13 11:04:08 -08:00
admin.js emoji: Add add_emoji_by_admins_only realm setting. 2016-12-27 15:46:14 -08:00
alert_words_ui.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
alert_words.js lint: Fix several no-unused-vars eslint rule violations. 2016-12-03 18:43:47 -08:00
avatar.js settings: Implement delete avatar functionality 2016-12-21 13:35:22 -08:00
blueslip.js Add missing exports to js modules 2016-12-29 06:01:33 -08:00
bot_data.js admin: Limit bots in settings page. 2016-12-14 19:29:02 -08:00
channel.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
click_handlers.js notifications: Cleanup click-through implementation. 2017-01-02 16:51:23 -08:00
colorspace.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
common.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
components.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
compose_fade.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
compose.js Add missing exports to js modules 2016-12-29 06:01:33 -08:00
composebox_typeahead.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
condense.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
copy_and_paste.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
custom_markdown.js Migrated json/subscribtions/remove to REST endpoint 2016-12-24 09:27:25 -08:00
debug.js Add debugging device to check for duplicate IDs in markup. 2016-12-29 15:56:48 -08:00
dict.js lint: Fix several no-unused-vars eslint rule violations. 2016-12-03 18:43:47 -08:00
echo.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
emoji.js Add frontend support for emoji reactions. 2016-12-30 21:42:54 -08:00
favicon.js Switch from deprecated $.browser to userAgent test. 2016-08-25 14:12:58 -07:00
feature_flags.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
fenced_code.js eslint: change no-else-return to error and fix violations 2016-12-02 14:43:09 -08:00
filter.js eslint: change quote-props from off to error and fix violations. 2016-12-02 18:35:53 -08:00
floating_recipient_bar.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
gear_menu.js redesign: Convert subscriptions page to overlay. 2016-12-09 11:08:08 -08:00
hashchange.js Blur the active element on settings/streams modal exit. 2016-12-14 15:37:43 -08:00
hotkey.js hotkeys: Add '@' as a hotkey to compose message with mention. 2016-12-29 15:43:35 -08:00
invite.js invite: Leave not yet invited users in the invite modal's textarea. 2016-12-27 17:14:21 -08:00
loading.js Moved loading_indicator functions to loading.js. 2014-03-14 20:48:52 -04:00
localstorage.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
message_edit.js Add node tests for message_edit.get_editability. 2016-12-30 16:51:00 -08:00
message_flags.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
message_list_view.js Add frontend support for emoji reactions. 2016-12-30 21:42:54 -08:00
message_list.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
message_store.js Add frontend support for emoji reactions. 2016-12-30 21:42:54 -08:00
muting_ui.js lint: Fix remaining no-unused-vars eslint rule violations. 2016-12-14 22:36:47 -08:00
muting.js Update unread counts for streams when muting topics. 2016-03-27 13:49:52 -07:00
narrow.js lint: Fix remaining no-unused-vars eslint rule violations. 2016-12-14 22:36:47 -08:00
navigate.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
notifications.js Fix duplicate notifications when multiple Zulip tabs are openend. 2017-01-02 16:58:51 -08:00
people.js Extract people.extract_people_from_message() and fix bug. 2016-12-15 17:44:58 -08:00
pm_list.js Make Private Messages work better when zoomed in. 2016-12-27 13:36:30 -08:00
pointer.js eslint: change no-else-return to error and fix violations 2016-12-02 14:43:09 -08:00
popovers.js reactions: Clean up popovers and hover logic. 2016-12-30 21:42:54 -08:00
reactions.js reactions: Clean up popovers and hover logic. 2016-12-30 21:42:54 -08:00
referral.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
reload.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
resize.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
rows.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
scroll_bar.js eslint: change quote-props from off to error and fix violations. 2016-12-02 18:35:53 -08:00
search_suggestion.js eslint: change no-plusplus from warning to 2 and fix violations. 2016-12-01 14:27:17 -08:00
search.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
server_events.js Add frontend support for emoji reactions. 2016-12-30 21:42:54 -08:00
settings.js Add setting hiding private message content in desktop notifications. 2016-12-30 14:10:34 -08:00
setup.js Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
socket.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
stream_color.js eslint: change space-before-function-paren from warning to error. 2016-12-05 09:50:37 -08:00
stream_data.js redesign: Convert subscriptions page to overlay. 2016-12-09 11:08:08 -08:00
stream_list.js Make Private Messages work better when zoomed in. 2016-12-27 13:36:30 -08:00
subs.js Partial match previous search terms in streams page. 2016-12-30 17:13:48 -08:00
tab_bar.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
templates.js eslint: change no-plusplus from warning to 2 and fix violations. 2016-12-01 14:27:17 -08:00
timerender.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00
topic_list.js Remove spurious blueslip error for topic lists. 2016-11-16 22:01:30 -08:00
tutorial.js Move static/third/gemoji to static/generated/emoji. 2016-12-27 20:16:23 -08:00
typeahead_helper.js Prioritize stream subscribers in typeahead list. 2016-12-21 12:59:43 -08:00
ui.js reactions: Clean up popovers and hover logic. 2016-12-30 21:42:54 -08:00
unread_ui.js eslint: change no-else-return to error and fix violations 2016-12-02 14:43:09 -08:00
unread.js lint: Fix many no-unused-vars eslint rule violations. 2016-12-14 21:34:51 -08:00
util.js invite: Leave not yet invited users in the invite modal's textarea. 2016-12-27 17:14:21 -08:00
viewport.js Add missing exports to js modules 2016-12-29 06:01:33 -08:00
zulip.js Migrate JS modules to CommonJS style. 2016-12-07 16:11:52 -08:00