discourse/spec/system
David Taylor bdec564d14
DEV: Refactor header topic-info handling (#27989)
- Move topic-title on-screen detection to intersection-observer (via new modifier), and add a boolean to header service which indicates whether it's on-screen

- Move scroll-direction from Mixin to dedicated service. Teach it to pause scroll monitoring while transitions are in progress, to avoid reporting false changes in scroll direction. Also resets to a 'neutral' state after each navigation, which indicates the the user has not yet scrolled

- When entering a topic view, notify the header service which post is being targeted. It can then make an educated guess about whether the topic title is likely to be in-view

- Update header service `topicInfoVisible` to be a declarative getter, based on the three refactored sources of truth mentioned above

- Update legacy widget header to use the header service for topic info

All of these changes mean that the header no longer 'flickers' when navigating into topics on mobile. As well as the improved UX, this should also improve our Cumulative Layout Shift (CLS) web vital metrics.
2024-07-23 10:24:44 +01:00
..
composer DEV: move post flags into database (#27125) 2024-05-23 12:19:07 +10:00
emojis FEATURE: Introduce site settings which require confirmation (#27315) 2024-06-19 16:01:24 +10:00
groups FIX: deleting a groups was throwing an error (#26623) 2024-04-15 08:35:50 +02:00
helpers DEV: make sure we don't load all data into memory when exporting chat messages (#22276) 2023-07-12 18:52:18 +04:00
page_objects UX: Merge the simplified topic map (#27964) 2024-07-22 19:42:29 -03:00
topic_list FIX: Correctly highlight new topic-list-items in glimmer (#27623) 2024-06-26 20:04:33 +02:00
user_page DEV: Redirect to actionable page if routing is restricted (#28002) 2024-07-22 12:24:05 +08:00
about_page_spec.rb DEV: Initial parts for a redesigned /about page (#27996) 2024-07-23 01:35:18 +03:00
admin_about_config_area_spec.rb DEV: Fix flaky spec for the /about admin config area (#27697) 2024-07-04 10:39:22 +10:00
admin_badges_spec.rb DEV: form-kit 2024-07-17 11:59:35 +02:00
admin_customize_form_templates_spec.rb FIX: Customize form template view modal footer buttons (#25804) 2024-02-21 22:20:56 -08:00
admin_customize_themes_spec.rb DEV: fix flaky admin_customize_themes spec (#26842) 2024-05-02 08:26:07 +08:00
admin_dashboard_new_features_spec.rb DEV: Fix typos and formatting (#27320) 2024-06-04 15:16:24 +02:00
admin_editing_objects_typed_theme_setting_spec.rb DEV: Remove `experimental_objects_type_for_theme_settings` site setting (#26507) 2024-04-04 12:01:31 +08:00
admin_embeddable_hosts_spec.rb FEATURE: Extend embeddable hosts with Individual tags and author assignments (#26868) 2024-05-16 15:47:01 -04:00
admin_flags_spec.rb DEV: unparallel flags system spec (#27903) 2024-07-15 07:36:54 +08:00
admin_plugins_list_spec.rb UX: Remove the link from the title; add external icon; style adjustment (#27571) 2024-06-24 11:02:08 +10:00
admin_sidebar_navigation_spec.rb DEV: Allow system tests to assert on values at the correct time (#27988) 2024-07-20 00:39:22 +08:00
admin_site_setting_requires_confirmation_spec.rb DEV: Fix flaky admin confirmation spec (#27784) 2024-07-09 12:05:31 +10:00
admin_site_setting_search_spec.rb FEATURE: Introduce site settings which require confirmation (#27315) 2024-06-19 16:01:24 +10:00
admin_staff_action_logs_spec.rb DEV: Allow for setting a message with SiteSetting.set_and_log (#27447) 2024-06-13 14:59:49 +10:00
admin_user_badges_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
admin_user_fields_spec.rb FEATURE: User fields required for existing users - Part 2 (#27172) 2024-06-25 19:32:18 +08:00
admin_watched_words_spec.rb SECURITY: limit the number of characters in watched word replacements. 2024-07-15 19:25:17 +08:00
admin_web_hook_events_spec.rb FEATURE: Add Filter for Webhook Events by Status (#27332) 2024-06-07 10:26:00 -05:00
bookmarks_spec.rb DEV: Resolve TODO comments for martin-brennan 2024-07-01 15:32:30 +10:00
bootstrap_error_pages_spec.rb FIX: Improve handling of 'PublicExceptions' when bootstrap_error_pages enabled (#26700) 2024-04-24 09:40:13 +01:00
category_edit_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
category_topics_spec.rb DEV: Remove unnecessary `js: true` options from specs (#24463) 2023-11-20 17:22:14 +01:00
change_owner_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
composer_spec.rb FIX: Restore user-cards in composer preview (#27514) 2024-06-19 14:41:32 +02:00
composer_uploads_spec.rb DEV: Resolve TODO comments for martin-brennan 2024-07-01 15:32:30 +10:00
content_security_policy_spec.rb DEV: remove legacy CSP implementation to make strict-dynamic only accepted behaviour (#27486) 2024-06-18 16:40:53 +08:00
create_account_spec.rb UX: Registration design and validation improvements (#27666) 2024-07-04 09:17:07 -03:00
csv_exports_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
custom_sidebar_sections_spec.rb A11Y: attempt to refocus modal trigger on modal close (#27972) 2024-07-18 11:55:28 -04:00
discovery_breadcrumb_navigation_spec.rb FEATURE: Show remaining count in category-drop (#25938) 2024-03-07 16:14:50 +02:00
discovery_list_spec.rb FIX: Sorting toggles on topic list (#24465) 2023-11-20 17:45:13 +00:00
dismissing_new_spec.rb UX: Don't hide new navigation item in experimental new new view (#26094) 2024-03-08 09:26:09 +08:00
editing_sidebar_categories_navigation_spec.rb FIX: Make edit categories sidebar modal work more intuitively (#27111) 2024-06-14 11:37:32 -05:00
editing_sidebar_community_section_spec.rb FEATURE: Force admin sidebar for all admins in `admin_sidebar_enabled_groups` and handle legacy "hamburger dropdown" in this mode (#26899) 2024-05-13 14:40:23 +10:00
editing_sidebar_tags_navigation_spec.rb UX: Fix edit navigation tags modal height too long on desktop (#24765) 2023-12-07 09:42:04 +08:00
email_change_spec.rb FIX: User can't reset password with backup codes when only security key is enabled (#27368) 2024-06-06 14:30:42 +08:00
ember_deprecation_spec.rb FEATURE: Show warning banner for critical JS deprecations to admins (#25091) 2024-01-03 11:41:09 +00:00
filtering_topics_spec.rb FEATURE: enable list keyboard shortcuts on filter route (#27551) 2024-06-20 21:28:52 +10:00
flagging_post_spec.rb DEV: move post flags into database (#27125) 2024-05-23 12:19:07 +10:00
forgot_password_spec.rb FIX: User can't reset password with backup codes when only security key is enabled (#27368) 2024-06-06 14:30:42 +08:00
grant_badge_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
group_activity_spec.rb DEV: Update rubocop-discourse to latest version 2024-03-04 15:08:35 +01:00
group_card_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
hashtag_autocomplete_spec.rb FEATURE: Async load of category and chat hashtags (#25526) 2024-02-12 12:07:14 +02:00
header_spec.rb DEV: Refactor header topic-info handling (#27989) 2024-07-23 10:24:44 +01:00
homepage_spec.rb Revert "DEV: Defer button actions with layout change to the next frame paint (#27967)" (#28020) 2024-07-22 17:35:23 +01:00
keyboard_shortcuts_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
legacy_widget_header_spec.rb UX: Streamline reset password page (#27341) 2024-06-05 15:22:59 +10:00
login_spec.rb DEV: Fix flaky login and activate account system test (#27371) 2024-06-06 15:09:50 +08:00
navigation_menu_state_integration_spec.rb DEV: Fix typos and formatting (#27320) 2024-06-04 15:16:24 +02:00
network_disconnected_spec.rb DEV: Fix flaky network-based upload spec (#23286) 2023-08-28 12:59:22 +08:00
new_category_spec.rb FIX: should not raise error when minimum_required_tags value not defined for category. (#27658) 2024-07-01 07:14:34 +05:30
new_topic_list_spec.rb DEV: Add/use two topic fabricators (#27603) 2024-06-25 13:47:53 +02:00
post_menu_spec.rb DEV: Try until success for clipboard copies (#27986) 2024-07-19 19:44:10 +08:00
post_selection_copy_quote_spec.rb DEV: Try until success for clipboard copies (#27986) 2024-07-19 19:44:10 +08:00
post_selection_fast_edit_spec.rb FIX: bypass fast edit when selected text isn't editable 2024-05-24 18:19:28 +02:00
post_small_action_spec.rb DEV: Remove flaky spec (#24641) 2023-11-30 11:06:27 +08:00
powered_by_discourse_spec.rb FEATURE: optionally show "Powered by Discourse" link to discourse.org (#26162) 2024-03-14 10:30:12 -04:00
private_message_map_spec.rb UX: Merge the simplified topic map (#27964) 2024-07-22 19:42:29 -03:00
request_tracker_spec.rb FEATURE: Only count topic views for explicit/deferred tracked views (#27533) 2024-07-03 10:38:49 +10:00
reviewables_spec.rb DEV: Update Reviewables agree and edit action test (#27162) 2024-05-24 12:20:30 -07:00
s3_secure_uploads_spec.rb DEV: Re-enable minio specs by pre-installing minio binary before test run (#24050) 2023-10-24 12:43:14 +10:00
s3_uploads_spec.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
scroll_manager_service_spec.rb DEV: Remove unused pageobject from scroll_manager_service_spec (#23501) 2023-09-11 10:28:25 +01:00
search_spec.rb FEATURE: Use new topic bulk actions menu for all sites (#28003) 2024-07-23 11:39:27 +10:00
signup_spec.rb DEV: Allow system tests to assert on values at the correct time (#27988) 2024-07-20 00:39:22 +08:00
social_authentication_spec.rb DEV: More system specs for signup/login (#27150) 2024-05-23 10:01:05 -03:00
table_builder_spec.rb FIX: Don't let table-build automatically fill empty headers with default values (#27894) 2024-07-13 00:41:18 +08:00
tag_notification_level_spec.rb DEV: Remove superfluous `js: true` metadata (#21960) 2023-06-07 09:26:58 +08:00
tag_synonyms_spec.rb DEV: Fix random typos (#22078) 2023-06-13 22:02:21 +02:00
tags_intersection_spec.rb FIX: Transitioning to tag-intersection route (#23931) 2023-10-13 16:23:04 +01:00
theme_qunit_spec.rb DEV: Stop building test assets in production under Embroider (#23388) 2023-09-11 09:12:37 +01:00
topic_admin_menu_spec.rb FIX: shows errors when converting to public is impossible (#27103) 2024-05-21 12:14:31 +02:00
topic_bulk_select_spec.rb FEATURE: Use new topic bulk actions menu for all sites (#28003) 2024-07-23 11:39:27 +10:00
topic_list_focus_spec.rb DEV: Remove flaky spec (#24795) 2023-12-08 11:43:17 -05:00
topic_map_spec.rb UX: Merge the simplified topic map (#27964) 2024-07-22 19:42:29 -03:00
topic_page_spec.rb DEV: implements <DropdownMenu /> (#26917) 2024-05-08 09:08:42 +02:00
topics_unread_when_closed_spec.rb FEATURE: Silence Close Notifications User Setting (#26072) 2024-03-08 15:14:46 -07:00
user_activation_spec.rb FIX: Pass email correctly when resending activation email (#23741) 2023-10-02 13:00:29 +01:00
user_invites_spec.rb FIX: Don't show that an existing user is invited_by another user (#27665) 2024-07-04 10:27:37 +08:00
user_selector_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
user_tips_spec.rb DEV: Fix a flakey test, skip another one (#27132) 2024-05-22 11:59:47 -04:00
viewing_category_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
viewing_group_members_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
viewing_navigation_menu_preferences_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
viewing_sidebar_as_anonymous_user_spec.rb UX: support links in tag descriptions (#22994) 2023-08-16 11:43:54 -04:00
viewing_sidebar_mobile_spec.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
viewing_sidebar_spec.rb DEV: Untangle the admin sidebar from the sidebar code (#27640) 2024-07-05 13:11:15 -03:00
viewing_user_menu_spec.rb DEV: Add setUserMenuNotificationsLimit plugin-api method (#25119) 2024-01-09 08:38:00 +08:00
viewing_user_private_messages_spec.rb DEV: Fix `ember/no-private-routing-service` (#24009) 2023-11-29 12:26:52 +01:00
wizard_spec.rb Revert "FEATURE: revert redirect from wizard to guide (#26873)" (#26916) 2024-05-08 08:46:30 +10:00