zulip/static/js
Harshit Bansal b553507412 subscriptions: Migrate notification setting defaults model.
This commit migrates the Subscription's notification fields from a
BooleanField to a NullBooleanField where a value of None means to
inherit the value from user's profile.

Also includes a migrations to set the corresponding settings to None
if they match the user profile's values. This migration helps us in
getting rid of the weird "Apply to all" widget that we offered on
subscription settings page.

The mobile apps can't handle None appearing as the stream-level
notification settings, so for backwards-compatibility we arrange to
only send True/False to the mobile apps by applying those defaults
server-side.  We introduce a notification_settings_null value within a
client_capabilities structure that newer versions of the mobile apps
can use to request the new model.

This mobile compatibility code is pretty effectively tested by the
existing test_events tests for the subscriptions subsystem.
2019-05-08 17:45:10 -07:00
..
analytics support: Add support for scrubbing realm. 2019-05-06 20:12:54 -07:00
billing billing: Use this.value instead of .val(). 2019-02-04 22:37:05 -08:00
bundles subs: Add `stream_ui_updates.js` module for managing ui elements. 2019-04-30 14:36:52 -07:00
js_typings subs: Add `stream_ui_updates.js` module for managing ui elements. 2019-04-30 14:36:52 -07:00
portico dependencies: Upgrade simplebar to 4.0.0-alpha.6. 2019-04-28 21:32:55 -07:00
stats stats: Fix the bug in showing all time actives by default. 2019-02-01 11:14:03 -08:00
.eslintrc.json
activity.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
admin.js settings: Migrate to create_stream_policy structure. 2019-05-06 16:27:55 -07:00
alert_words.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
alert_words_ui.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
archive.js message_list: Rename show_date_separator to show_group_date_divider. 2019-02-08 11:30:15 -08:00
attachments_ui.js uploads: Show used upload space in attachments UI. 2019-03-07 20:18:00 -08:00
avatar.js settings: Fix width not maximum while uploading user avatar. 2018-10-19 12:36:18 -07:00
blueslip.js Change ui check to ui_report in blueslip. 2018-08-03 15:59:10 -07:00
bot_data.js statis/js/bot_data.js: Add `get_bot_owner_email` function. 2018-11-16 09:52:05 -08:00
buddy_data.js user status: Change Active now to Online now in full user profile. 2019-03-14 15:19:09 -07:00
buddy_list.js refactor: Split out buddy_list_conf(). 2018-10-16 16:53:47 -07:00
channel.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
click_handlers.js user status: Add "clear message (x)" button for status message input. 2019-05-01 16:36:45 -07:00
color_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
colorspace.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
common.js invite: Clean error handling and use ui_report. 2019-01-17 10:28:59 -08:00
components.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
compose.js Correctly label the shortcut for starting a PM as "(x)" instead of "(c)" 2019-04-10 09:34:44 -07:00
compose_actions.js popovers: Remove a few entries from stream popover. 2019-03-06 17:36:06 -08:00
compose_fade.js compose fade: Use "topic" internally. 2018-12-29 11:40:59 -08:00
compose_pm_pill.js compose pill: Add has_unconverted_data() helper. 2018-10-12 11:20:30 -07:00
compose_state.js subject -> topic: Rename compose fields. 2018-12-09 21:28:45 -08:00
compose_ui.js compose: Fix buggy escaping of LaTeX in quote-and-reply. 2019-04-13 10:52:44 -07:00
composebox_typeahead.js composebox_typeahead: Remove unnecessary string operation. 2019-03-21 13:33:27 -07:00
condense.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
confirm_dialog.js settings: Add confirm_dialog module. 2018-10-12 10:37:06 -07:00
copy_and_paste.js minor: Export function `copy_handler`. 2019-04-06 12:56:04 -07:00
csrf.js csrf: Improve API for when no CSRF input is available. 2018-12-16 16:19:23 -08:00
debug.js eslint: Enable `no-extra-parens` rule. 2018-06-11 07:51:24 -04:00
dict.ts typescript: Fix violations of new typescript rules. 2019-04-13 11:42:48 -07:00
drafts.js drafts: Fix CSS transition when opening drafts. 2019-03-07 20:55:02 -08:00
echo.js echo: Add a minimum time for sending error spinner. 2019-03-19 13:30:46 -07:00
emoji.js emoji: Remove now unused `emoji.emojis` data structure. 2019-01-05 15:09:04 -08:00
emoji_picker.js emoji picker: Prevent cropping. 2019-02-15 10:40:53 -08:00
favicon.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
feature_flags.js Remove feature_flags.mark_read_at_bottom. 2018-07-07 10:19:15 +02:00
feedback_widget.js ui: Render feedback widget client side. 2019-01-04 10:54:10 -08:00
fenced_code.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
fetch_status.js message_fetch: Deduplicate logic for finish_newer_batch. 2018-12-13 08:43:56 -08:00
filter.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
floating_recipient_bar.js floating_recipient_bar: Fix incorrect use of jQuery .next(). 2019-02-11 16:46:11 -08:00
gear_menu.js settings: Extract gear_menu.update_org_settings_menu_item(). 2018-12-07 11:40:40 -08:00
hash_util.js subject -> topic: Fix hash_util.js. 2018-12-29 14:34:06 -08:00
hashchange.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
hotkey.js hotkeys: Add `e` for edit selected message. 2019-04-13 18:52:27 -07:00
hotspots.js hotspots: Add hotspot for gear menu. 2019-02-05 12:19:21 -08:00
info_overlay.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
input_pill.js input pills: Fix modal gets closed when user click on remove-pill-btn. 2018-11-28 16:33:08 -08:00
integration_bot_widget.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
invite.js invites: Move multiuse invite status to footer. 2019-02-07 15:41:00 -08:00
keydown_util.js keydown_util: Ignore alt-arrow and similar things. 2018-12-04 12:24:39 -08:00
lightbox.js compose: Use lightbox when clicking images in compose preview. 2019-02-02 11:11:24 -08:00
lightbox_canvas.js lightbox: Make `v` close the lightbox during Pan & Zoom. 2018-07-23 10:36:48 -07:00
list_cursor.js list_cursor: Promote error handling code. 2018-08-24 10:00:04 -07:00
list_render.js list_render: Change alphabetic sorting to be case insensitive. 2019-04-13 11:36:28 -07:00
list_util.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
loading.js org settings: Fix a bug where the loading spinner was not visible. 2018-08-08 10:59:23 -07:00
local_message.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
localstorage.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
markdown.js markdown: Fix numbered list handling of blank lines between blocks. 2019-03-01 15:29:07 -08:00
message_edit.js uploads: Remove unusable UI elements if file uploading is disabled. 2019-05-08 17:10:07 -07:00
message_events.js message_edit: Fix rendering bug when topic-editing single messages. 2019-02-27 13:57:45 -08:00
message_fetch.js Refactor: Split up add_messages api. 2019-01-07 17:17:55 -08:00
message_flags.js left sidebar: Add an "unstar all messages" option. 2019-03-07 20:52:00 -08:00
message_list.js streams: Avoid showing more topics option when it's useless. 2019-03-14 21:51:24 -07:00
message_list_data.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
message_list_view.js message_list_view: Move edited position conditionals to JS. 2019-05-06 21:37:54 -07:00
message_live_update.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
message_scroll.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
message_store.js message_store: Add an `each` helper. 2019-02-25 21:12:07 +00:00
message_util.js message scrolling: Fix "Scroll down to view" warning. 2019-01-07 17:17:55 -08:00
message_viewport.js message scrolling: Add started_scrolled_up logic. 2019-01-07 17:11:17 -08:00
muting.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
muting_ui.js ui: Extract feedback_widget module. 2019-01-04 10:54:07 -08:00
narrow.js bugfix: Hide tooltips when switching a narrow. 2019-03-19 12:28:39 -07:00
narrow_state.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
navigate.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
night_mode.js night mode: Fix initial state of night mode. 2019-03-08 15:45:11 -08:00
notifications.js notification: Show wrong narrow notification for non locally echoed message. 2019-02-13 15:51:41 -08:00
overlays.js user settings: Fix active background links when a modal is visible. 2018-12-09 22:32:53 -08:00
padded_widget.js buddy list: Add padding to progressive scrollings. 2018-08-02 16:59:27 -07:00
panels.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
people.js org_settings: Fix error with undefined profile_field in bot settings. 2019-04-25 15:56:44 -07:00
pm_conversations.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
pm_list.js pm list: Remove "(more conversations)" feature. 2019-04-11 16:26:54 -07:00
pointer.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
poll_widget.js poll_widget: Add highlight for vote count if current user votes. 2019-03-01 16:35:18 -08:00
popovers.js settings_account: Fix small typo in initialize_custom_user_type_fields. 2019-04-25 15:56:44 -07:00
presence.js presence: Use people.is_my_user_id() for check. 2019-01-03 13:49:44 -08:00
reactions.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
realm_icon.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
realm_logo.js realm_logo: Refactor `build_realm_logo_widget` function. 2019-03-14 17:05:22 -07:00
recent_senders.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
reload.js subject -> topic: Fix subject in opts. 2018-12-16 11:26:18 -08:00
reload_state.js refactor: Extract reload_state module. 2018-08-04 13:55:02 +00:00
reminder.js reminder.js: Refactor to make notify_above_composebox conditional. 2019-01-14 12:11:27 -08:00
resize.js resize: Don’t hide popovers on mobile resize. 2019-03-15 09:52:08 -07:00
rows.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
rtl.js rtl.js: Fix support for supplementary planes of unicode characters (>= U+10000). 2018-08-14 11:39:29 -07:00
schema.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
scroll_bar.js right sidebar: Change media cut-off for where we hide the buddy list. 2018-09-27 07:29:32 -04:00
scroll_util.js scroll_util: Account for element padding in height calculations. 2018-07-27 09:09:52 -07:00
search.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
search_pill.js search: Add a basic implementation of search pills. 2018-07-23 11:29:10 -07:00
search_pill_widget.js pills: Use `widget` instead of `my_pill` throughout the app. 2018-07-23 11:29:10 -07:00
search_suggestion.js search: Do not display `All messages` suggestion if bar not empty. 2018-07-23 11:29:10 -07:00
search_util.js Extract search_util.js module. 2018-07-30 11:25:32 -07:00
sent_messages.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
server_events.js server_events: Fix unnecessary call to insert_new_messages. 2019-02-20 16:24:28 -08:00
server_events_dispatch.js subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
settings.js settings: Move pm_content_in_desktop_notifications into Other notifications. 2019-04-23 15:24:39 -07:00
settings_account.js settings: NAME_CHANGES_DISABLED disables the name change button. 2019-05-03 12:58:51 -07:00
settings_bots.js settings: Update organization permission strings to reflect guests. 2018-10-30 10:48:06 -07:00
settings_display.js emoji: Fix caching for text emojiset. 2018-09-21 18:34:12 -07:00
settings_emoji.js emoji: Remove `display_url` from the context of `admin_emoji_list`. 2018-08-14 12:07:56 -07:00
settings_invites.js invites: Add UI for revoking multiuse invites. 2019-02-15 14:13:31 -08:00
settings_linkifiers.js settings: Rename "settings_filters" to "settings_linkifiers". 2018-12-17 12:28:55 -08:00
settings_muting.js muting: Add stream_id to markup for mute settings. 2018-12-14 16:05:35 -08:00
settings_notifications.js subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
settings_org.js digest: Toggle display of digest weekday setting dynamically. 2019-05-08 14:39:12 -07:00
settings_panel_menu.js settings: Reset scroll when switching sections. 2019-02-26 14:26:15 -08:00
settings_profile_fields.js settings: Call maybe_disable_widgets() in set_up() methods. 2018-12-17 10:13:18 -08:00
settings_sections.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
settings_streams.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
settings_toggle.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
settings_ui.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
settings_user_groups.js lint: Add eslint enforcement for comma-spacing. 2018-12-07 12:22:24 -08:00
settings_users.js settings_account: Fix small typo in initialize_custom_user_type_fields. 2019-04-25 15:56:44 -07:00
setup.js js: Extract csrf.js and include in common bundle. 2018-12-16 16:18:42 -08:00
socket.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
starred_messages.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
stream_color.js Extract color_data.js. 2018-11-28 14:51:51 -08:00
stream_create.js streams_edit: Prevent newline characters in the description. 2019-02-20 12:27:54 -08:00
stream_data.js subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
stream_edit.js subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
stream_events.js subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
stream_list.js refactor: Initialize stream list code in stream_list.js. 2019-04-11 10:50:55 -07:00
stream_muting.js Refactor: Split up add_messages api. 2019-01-07 17:17:55 -08:00
stream_popover.js left sidebar: Add option to toggle 'Display starred count'. 2019-05-07 10:58:12 -07:00
stream_sort.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
stream_ui_updates.js stream_ui_updates: Add generic `initialize_disable_btn_hint_popover` func. 2019-05-08 15:09:16 -07:00
submessage.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
subs.js streams: Update subs-ui-element on change-stream-privacy. 2019-05-07 17:33:59 -07:00
tab_bar.js tab_bar: Make explicit call of narrow change handle function. 2018-11-29 12:36:00 -08:00
templates.js settings: Warn if server is unable to deliver mobile push notifications. 2018-10-31 13:18:17 -07:00
tictactoe_widget.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
timerender.js timerender.js: Remove use of legacy font awesome base class 'icon-vector'. 2018-10-15 19:22:57 +05:30
todo_widget.js todo lists: Make lists sharable. 2018-12-17 07:40:27 -08:00
top_left_corner.js top left: Simplify markup for main links. 2019-01-30 13:53:20 -08:00
topic_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
topic_generator.js muting: Use stream_id for internal data structures. 2018-12-14 15:58:35 -08:00
topic_list.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
topic_zoom.js Have ESC zoom out topics if you're zoomed in. 2018-10-24 16:54:35 -07:00
translations.js i18n: Fix reference error for localstorage. 2018-05-30 23:28:21 +05:30
transmit.js subject -> topic: Sweep "message.subject" in frontend. 2019-01-01 20:49:38 -08:00
tsconfig.json typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
tslint.json typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
tutorial.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
typeahead_helper.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
typing.js typing indicators: Use user ids internally. 2018-10-14 09:38:32 -07:00
typing_data.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
typing_events.js typing_events: Make explicit call of narrow change handle function. 2018-11-29 12:36:00 -08:00
typing_status.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
ui.js ui: Fix scrollbar regressions. 2019-01-09 09:15:45 -08:00
ui_init.js refactor: Initialize stream list code in stream_list.js. 2019-04-11 10:50:55 -07:00
ui_report.js ui_report: Remove now redundant `type` argument from `.message()`. 2019-01-17 10:28:59 -08:00
ui_util.js compose: Fix recent autocomplete regression. 2018-12-22 08:07:23 -08:00
unread.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
unread_ops.js eslint: Add key-spacing linter rule. 2018-12-18 10:41:06 -08:00
unread_ui.js left sidebar: Remove broken animation for new PMs. 2019-03-15 13:33:11 -07:00
upload.js uploads: Remove unusable UI elements if file uploading is disabled. 2019-05-08 17:10:07 -07:00
upload_widget.js settings: Add support for uploading logo for night mode. 2019-02-18 15:15:57 -08:00
user_events.js settings: Add guest avatar marker to account settings. 2018-12-30 11:07:00 -08:00
user_groups.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
user_pill.js compose pill: Add has_unconverted_data() helper. 2018-10-12 11:20:30 -07:00
user_search.js refactor: Add an explicit `user_search_section`. 2019-02-11 19:12:51 -08:00
user_status.js typescript: Move TS files into JS directory. 2019-03-25 12:11:37 -07:00
user_status_ui.js user status: Add "clear message (x)" button for status message input. 2019-05-01 16:36:45 -07:00
util.js message_edit_history: Add UI for seeing topic edits. 2019-03-25 15:10:47 -07:00
widgetize.js widgets: Rename voting_widget to poll_widget. 2018-12-16 19:46:48 -08:00
zcommand.js slash commands: Add undo for /day and /night. 2019-01-04 10:54:10 -08:00
zform.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00
zulip.js app: Prepare JS files for consumption by webpack. 2018-07-05 10:53:36 +02:00