zulip/web/tests
Sahil Batra eea5ee8923 stream-settings: Handle invalid urls correctly.
There were couple of problems in our handling of invalid or
incomplete URLs-
- The browser back button behavior breaks if someone enters
url with invalid or inaccessible stream ID, incorrect stream
name, "#streams/new" url without permission to create streams.
- On typing stream edit URLs with incorrect right side tab or
without any right side tab, we showed "general" section, which
is fine, but the URL was still incorrect.

This commit fixes the above mentioned problems-
- We now update the right side tab to "general" if right
side tab is invalid or there is no right side tab.
- All the URL updates to fix invalid urls are done using
"history.replaceState" to make sure the browser back button
behaves as expected.
- All the code for checking the urls is done in hashchange.js
itself, so we can remove some code from change_state.
2024-02-22 13:09:33 -08:00
..
lib settings: Rename signup_notifications_stream realm setting. 2024-02-21 09:04:23 -08:00
templates
activity.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
alert_words_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
alert_words.test.js
blueslip_stacktrace.test.js
bot_data.test.js models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
browser_history.test.js settings: Rename default_view and escape_navigates_to_default_view. 2023-10-26 11:00:12 -07:00
buddy_data.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
buddy_list.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
channel.test.js ui_report: Reuse channel.xhr_error_message function in error method. 2023-08-31 13:47:16 -07:00
color_data.test.js
common.test.js hotkey: Correct Mac equivalent of Alt and handle exceptions separately. 2024-01-25 10:51:25 -08:00
components.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_actions.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
compose_closed_ui.test.js filter: Remove incorrect check for All messages view. 2024-01-15 12:26:24 -08:00
compose_fade.test.js compose_state: Make get_or_set accept a full selector. 2023-11-02 14:06:04 -07:00
compose_pm_pill.test.js users: Add "(guest)" to names for guest users. 2023-10-12 12:06:10 -07:00
compose_state.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_ui.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
compose_validate.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
compose_video.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
compose.test.js compose: Fix bug where sometimes message draft remained post sending it. 2024-02-20 11:59:46 -08:00
composebox_typeahead.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
copy_and_paste.test.js copy_and_paste: Refactor code block turndown code to reduce duplication. 2024-02-02 10:34:09 -08:00
deprecated_feature_notice.test.js
dispatch_subs.test.js settings: Rename signup_notifications_stream realm setting. 2024-02-21 09:04:23 -08:00
dispatch.test.js settings: Rename signup_notifications_stream realm setting. 2024-02-21 09:04:23 -08:00
drafts.test.js markdown: Don't mutate the message in apply_markdown/render. 2024-02-01 12:12:06 -08:00
echo.test.js compose: Fix bug where sometimes message draft remained post sending it. 2024-02-20 11:59:46 -08:00
emoji_picker.test.js emoji: Fallback to Google Modern for unsupported new Twitter emoji. 2023-11-28 23:46:49 -08:00
emoji.test.js ts: Convert emoji.js to TypeScript. 2023-04-05 10:29:01 -07:00
example1.test.js docs: Add missing spaces around code spans. 2023-12-14 00:05:44 -08:00
example2.test.js
example3.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
example4.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example5.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example6.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example7.test.js unread: Fix process_visible race with fetching. 2024-02-05 23:17:43 -08:00
example8.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
fenced_code.test.js
fetch_status.test.js refactor: Extract message_feed_loading module from message_scroll. 2023-05-14 11:24:31 -07:00
filter.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
fold_dict.test.js eslint: Fix unicorn/prefer-spread. 2023-03-02 12:16:56 -08:00
gear_menu_util.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
hash_util.test.js notifications: Collapse blockquotes and "user said" paragraphs. 2024-01-30 17:22:20 -08:00
hashchange.test.js stream-settings: Handle invalid urls correctly. 2024-02-22 13:09:33 -08:00
hotkey.test.js hotkey: Add Shift + V shortcut to toggle read receipts modal. 2024-02-22 10:49:29 -08:00
i18n.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
input_pill.test.js emoji: Remove number as possible type for emoji_code. 2024-01-28 14:17:15 -08:00
internal_url.test.js
keydown_util.test.js
lazy_set.test.js lazy set: Increase code coverage. 2023-10-31 16:06:07 -07:00
left_sidebar_navigation_area.test.js filter: Remove incorrect check for All messages view. 2024-01-15 12:26:24 -08:00
lightbox.test.js lightbox: Use rows module to query message_row elements. 2024-01-18 08:31:48 -08:00
linkifiers.test.js Revert "linkifiers: Match JS implementation to server implementation." 2023-11-16 14:59:48 -08:00
list_cursor.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
list_widget.test.js list_widget: Remove get. 2023-12-26 17:30:33 -08:00
markdown_parse.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
markdown.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
message_edit.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
message_events.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
message_fetch.test.js message_fetch: Add small backfill delay. 2024-02-04 17:38:56 -08:00
message_flags.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
message_list_data.test.js filter: Remove incorrect check for All messages view. 2024-01-15 12:26:24 -08:00
message_list_view.test.js message_edit_notice: Change edited notice computation logic location. 2024-02-12 10:51:12 -08:00
message_list.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
message_store.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
muted_users.test.js i18n: Localize date and time displays across the app. 2023-02-26 17:43:47 -08:00
narrow_activate.test.js narrow: Open compose box before rendering main message feed. 2024-02-01 12:27:46 -08:00
narrow_local.test.js message_list: Extract visibly_empty helper method. 2023-05-03 18:40:59 -07:00
narrow_state.test.js narrow_state: Add pm_ids_set helper. 2024-02-06 14:44:09 -08:00
narrow_unread.test.js narrow: Add frontend support for dm: narrow and /dm/... URL. 2023-04-25 09:07:08 -07:00
narrow.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
navbar_alerts.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
notifications.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
password.test.js
peer_data.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
people_errors.test.js people: Remove string type for user_id. 2024-01-19 17:54:07 -08:00
people.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
pill_typeahead.test.js settings: Remove "User groups" panel from settings overlay. 2023-12-07 06:35:38 -08:00
pm_conversations.test.js node-tests: Update references to "private message" and "PM". 2023-06-26 11:07:28 -07:00
pm_list_data.test.js emoji: Remove number as possible type for emoji_code. 2024-01-28 14:17:15 -08:00
pm_list.test.js pm_list: Remove not needed narrow_state mock. 2024-01-18 08:31:48 -08:00
poll_widget.test.js
popover_menus_data.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
presence.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
reactions.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
realm_playground.test.js pygments_data: Move data to typescript. 2024-01-24 17:06:03 -08:00
recent_senders.test.js message_util: Convert module to typescript. 2024-01-05 10:47:12 -08:00
recent_view.test.js tests: Fix direct mutation of ES modules again, again. 2024-02-19 21:20:35 -05:00
reload_state.test.js
reload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
rendered_markdown.test.js tests: Fix direct mutation of ES modules again, again. 2024-02-19 21:20:35 -05:00
resolved_topic.test.js
rtl.test.js
scheduled_messages.test.js compose_banner: Display time for messages with < 5 mins scheduled time. 2023-11-10 09:20:15 -08:00
scroll_util.test.js refactor: Move simplebar helper functions from ui to scroll_util. 2023-04-26 12:59:08 -07:00
search_suggestion.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
search.test.js narrow: Remove duplicate clear search form. 2024-02-03 17:15:26 -08:00
server_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_bots.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
settings_config.test.js notification_settings: Add tooltip to checkboxes in the triggers table. 2023-12-04 16:38:19 -08:00
settings_data.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
settings_emoji.test.js
settings_muted_users.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_org.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
settings_profile_fields.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
settings_realm_domains.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_user_topics.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
spoilers.test.js rendered_markdown: Convert module to typescript. 2024-01-19 17:54:07 -08:00
starred_messages.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
stream_create_subscribers_data.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
stream_data.test.js settings: Rename notifications_stream to new_stream_announce..._stream. 2024-02-21 09:04:23 -08:00
stream_edit.test.js
stream_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_list_sort.test.js refactor: Rename stream_sort.js to stream_list_sort.js. 2023-04-25 10:05:59 -07:00
stream_list.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
stream_pill.test.js
stream_search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_settings_ui.test.js hash_util: Extract hash_parser.ts. 2023-10-01 16:55:21 -07:00
stream_topic_history.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
submessage.test.js
support.test.js templates: Move support templates to /templates/corporate/support. 2024-01-30 10:06:48 -08:00
templates.test.js
time_zone_util.test.js time_zone_util: Avoid relying on timeZoneName: "longOffset". 2023-11-29 09:57:10 -08:00
timerender.test.js refactor: Don't use today arg from render_now in timerender tests. 2024-01-18 08:32:30 -08:00
topic_generator.test.js topic_generator: Convert module to typescript. 2024-01-28 14:20:45 -08:00
topic_list_data.test.js topic_list: Update the order of "Followed" topics in the muted stream. 2023-09-11 17:55:37 -07:00
transmit.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
typeahead_helper.test.js tests: Fix direct mutation of ES modules again, again. 2024-02-19 21:20:35 -05:00
typeahead.test.js typeahead: Prefer word boundary matches to arbitrary substring matches. 2024-01-29 17:24:11 -08:00
typing_data.test.js muted_users: Hide muted typists in streams. 2023-10-10 17:36:55 -07:00
typing_events.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
typing_status.test.js typing_status: Use TypeScript unions for 'Recipient' type. 2024-02-07 09:12:49 -08:00
ui_util.test.js notifications: Collapse blockquotes and "user said" paragraphs. 2024-01-30 17:22:20 -08:00
unread.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
upload.test.js tests: Fix direct mutation of ES modules again, again. 2024-02-19 21:20:35 -05:00
user_events.test.js page_params: Split out state data for current user. 2024-02-15 10:22:52 -08:00
user_group_pill.test.js user_group_pill: Add test coverage for append_user_group. 2023-07-17 10:38:24 -07:00
user_groups.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
user_pill.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
user_search.test.js page_params: Split out state data for realm. 2024-02-15 10:22:52 -08:00
user_status.test.js ts: Migrate user_status module to TypeScript. 2023-10-30 11:10:47 -07:00
user_topics.test.js user_topics: Pop user_topics from page_params. 2023-09-11 10:57:38 -07:00
util.test.js util: Defining common formatter function 2024-01-17 13:43:17 -08:00
vdom.test.js vdom: Eliminate undefined type declaration for impossible case. 2024-02-21 10:49:24 -08:00
watchdog.test.js watchdog: Handle exception in callback. 2023-11-19 15:04:58 -08:00
widgetize.test.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
zblueslip.test.js
zjquery.test.js