discourse/app/models
Alan Guo Xiang Tan 898b71da88
PERF: Add indexes to speed up notifications queries by user menu (#26048)
Why this change?

There are two problematic queries in question here when loading
notifications in various tabs in the user menu:

```
SELECT "notifications".*
FROM "notifications"
LEFT JOIN topics ON notifications.topic_id = topics.id
WHERE "notifications"."user_id" = 1338 AND (topics.id IS NULL OR topics.deleted_at IS NULL)
ORDER BY notifications.high_priority AND NOT notifications.read DESC,
  NOT notifications.read AND notifications.notification_type NOT IN (5,19,25) DESC,
  notifications.created_at DESC
LIMIT 30;
```

and

```
EXPLAIN ANALYZE SELECT "notifications".*
FROM "notifications"
LEFT JOIN topics ON notifications.topic_id = topics.id
WHERE "notifications"."user_id" = 1338
AND (topics.id IS NULL OR topics.deleted_at IS NULL)
AND "notifications"."notification_type" IN (5, 19, 25)
ORDER BY notifications.high_priority AND NOT notifications.read DESC, NOT notifications.read DESC, notifications.created_at DESC LIMIT 30;
```

For a particular user, the queries takes about 40ms and 26ms
respectively on one of our production instance where the user has 10K notifications while the site has 600K notifications in total.

What does this change do?

1. Adds the `index_notifications_user_menu_ordering` index to the `notifications` table which is
   indexed on `(user_id, (high_priority AND NOT read) DESC, (NOT read)
DESC, created_at DESC)`.

1. Adds a second index `index_notifications_user_menu_ordering_deprioritized_likes` to the `notifications`
   table which is indexed on `(user_id, (high_priority AND NOT read) DESC, (NOT read AND notification_type NOT IN (5,19,25)) DESC, created_at DESC)`. Note that we have to hardcode the like typed notifications type here as it is being used in an ordering clause.

With the two indexes above, both queries complete in roughly 0.2ms. While I acknowledge that there will be some overhead in insert,update or delete operations. I believe this trade-off is worth it since viewing notifications in the user menu is something that is at the core of using a Discourse forum so we should optimise this experience as much as possible.
2024-03-06 16:52:19 +08:00
..
concerns FIX: Always trust admin and moderators with post edits (#25602) 2024-02-08 13:10:26 +10:00
about.rb DEV: Fix Lint/DuplicateMethods (#24746) 2023-12-06 13:18:34 +01:00
admin_dashboard_data.rb DEV: Drop Ember 3 feature flag 2024-02-26 12:22:05 +00:00
admin_dashboard_general_data.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
admin_dashboard_index_data.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
allowed_pm_user.rb
anonymous_user.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
api_key_scope.rb FEATURE: Add recover api scopes (#25978) 2024-02-29 15:49:29 -07:00
api_key.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
application_request.rb PERF: Use native postgres upsert for ApplicationRequest (#20706) 2023-03-17 09:35:29 +00:00
associated_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
auto_track_duration_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
backup_draft_post.rb
backup_draft_topic.rb
backup_file.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
backup_location_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
backup_metadata.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
badge_grouping.rb DEV: Set limits for text fields on BadgeGrouping 2023-05-15 09:54:54 +02:00
badge_type.rb
badge.rb DEV: Drop deprecated Badge#image column (#25536) 2024-02-02 14:09:55 +08:00
base_font_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
bookmark.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
category_and_topic_lists.rb
category_custom_field.rb DEV: Add true_fields method for CustomFields (#24876) 2023-12-14 11:06:21 -06:00
category_featured_topic.rb DEV: Prefer nested queries (#23464) 2023-09-25 19:38:54 +03:00
category_form_template.rb DEV: Apply form template to categories (#20337) 2023-02-23 11:18:14 -08:00
category_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_list.rb PERF: Reduce ActiveRecord allocations in CategoryList#find_relevant_topics (#25950) 2024-02-29 12:19:04 +08:00
category_page_style.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_required_tag_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_search_data.rb
category_setting.rb DEV: Switch over category settings to new table - Part 3 (#20657) 2023-09-12 09:51:49 +08:00
category_tag_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_tag_stat.rb FIX: Update category tag stats with new or deleted (#21531) 2023-05-18 12:46:44 +03:00
category_tag.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
category_user.rb FIX: more performance improvement for PostAlert job (#22487) 2023-07-13 09:02:23 +10:00
category.rb FIX: Cache keys should be strings (#25791) 2024-02-21 10:55:48 -06:00
child_theme.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
color_scheme_color.rb
color_scheme_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
color_scheme.rb UX: Update selected colour var (#25500) 2024-01-31 09:32:38 +01:00
custom_emoji.rb FEATURE: Create upload_references table (#16146) 2022-06-09 09:24:30 +10:00
developer.rb DEV: Make every DistributedCache lazily instantiated (#23147) 2023-08-18 10:59:11 -05:00
digest_email_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
directory_column.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
directory_item.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
discourse_connect.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
discourse_version_check.rb
dismissed_topic_user.rb
do_not_disturb_timing.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
draft_sequence.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
draft.rb SECURITY: Limit number of drafts per user and length of draft_key 2023-09-12 15:31:26 -03:00
email_change_request.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
email_level_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
email_log.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
email_style.rb DEV: Fix Lint/DuplicateMethods (#24746) 2023-12-06 13:18:34 +01:00
email_token.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
embeddable_host.rb SECURITY: Remove bypass for base_url (#19995) 2023-01-25 13:50:45 +02:00
embedding.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
emoji_set_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
emoji.rb FEATURE: Add an emoji deny list site setting (#20929) 2023-04-13 15:38:54 +08:00
external_upload_stub.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
form_template.rb FEATURE: support to initial values for form templates through /new-topic (#23313) 2023-08-29 18:41:33 -03:00
given_daily_like.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
global_setting.rb DEV: Fix Lint/BooleanSymbol (#24747) 2023-12-06 13:19:09 +01:00
group_archived_message.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
group_associated_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
group_category_notification_default.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
group_custom_field.rb DEV: Add true_fields method for CustomFields (#24876) 2023-12-14 11:06:21 -06:00
group_history.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
group_mention.rb
group_request.rb DEV: Bump the limits on group request text fields 2023-05-24 09:57:46 +02:00
group_tag_notification_default.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
group_user.rb DEV: Make more group-based settings client: false (#25585) 2024-02-08 09:43:34 +10:00
group.rb DEV: Change Group.trusted_group_ids to use const (#25639) 2024-02-12 12:36:00 +10:00
ignored_user.rb
imap_sync_log.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
incoming_domain.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
incoming_email.rb DEV: add topic_id index to incoming_emails table (#26004) 2024-03-04 13:50:01 +10:00
incoming_link.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
incoming_links_report.rb FIX: Respect date range in top traffic sources report (#25599) 2024-02-08 11:17:59 -05:00
incoming_referer.rb
invite_redeemer.rb UX: Improve invite error message when a user uses an email that has already redeemed (#25695) 2024-02-27 18:24:20 +08:00
invite.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
invited_group.rb
invited_user.rb
javascript_cache.rb DEV: Introduce DISCOURSE_ASSET_URL_SALT (#24596) 2023-11-28 11:28:40 +00:00
like_notification_frequency_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
linked_topic.rb
locale_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
mailing_list_mode_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
muted_user.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
navigation_menu_site_setting.rb FEATURE: Remove support for legacy navigation menu (#23752) 2023-10-09 07:24:10 +08:00
new_topic_duration_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
notification_level_when_replying_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
notification.rb PERF: Add indexes to speed up notifications queries by user menu (#26048) 2024-03-06 16:52:19 +08:00
oauth2_user_info.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
onceoff_log.rb
optimized_image.rb DEV: Allow rebakes to generate optimized images at the same time 2024-01-16 14:33:16 +01:00
permalink.rb FEATURE: Permalinks for users (#25552) 2024-02-05 17:31:31 +01:00
plugin_store_row.rb
plugin_store.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
post_action_type.rb FEATURE: Add new 'illegal' flag reason (#25498) 2024-02-07 10:12:22 +08:00
post_action.rb DEV: Remove deprecated PostAction.remove_act method (#24126) 2023-10-27 10:02:14 +08:00
post_analyzer.rb FIX: user got notified about a mention inside a chat message quote (#24229) 2023-11-08 23:13:25 +04:00
post_custom_field.rb DEV: Add true_fields method for CustomFields (#24876) 2023-12-14 11:06:21 -06:00
post_detail.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
post_hotlinked_media.rb DEV: use HTML5 version of loofah (#21522) 2023-06-20 09:49:22 +08:00
post_mover.rb FIX: Post moved small action links should respect subfolder installs (#24336) 2023-11-13 11:06:25 +08:00
post_reply_key.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
post_reply.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
post_revision.rb FIX: keep first post edit history when moving/merging (#22966) 2023-08-03 22:04:35 -03:00
post_search_data.rb
post_stat.rb
post_stripper.rb FIX: user got notified about a mention inside a chat message quote (#24229) 2023-11-08 23:13:25 +04:00
post_timing.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
post.rb FEATURE: Auto generate and display video preview image (#25633) 2024-02-14 13:43:53 -07:00
previous_replies_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
private_message_topic_tracking_state.rb DEV: Fix various typos (#24461) 2023-11-20 16:49:49 +01:00
problem_check_tracker.rb DEV: Add DB backed problem checks to support perform_every config (#25834) 2024-02-27 11:17:39 +08:00
published_page.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
push_subscription.rb
quoted_post.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
remote_theme.rb DEV: Add skip_migrations param when importing remote theme (#25218) 2024-01-11 14:04:02 +08:00
remove_muted_tags_from_latest_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
report.rb FIX: Radar chart not widely available. (#25368) 2024-01-22 11:21:28 -03:00
reviewable_claimed_topic.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_flagged_post.rb FIX: Allow the flags to be cleaned up (#25085) 2024-01-02 18:32:50 +08:00
reviewable_history.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_post.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_priority_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_queued_post.rb DEV: Housekeeping for CleanUpUploads job (#24361) 2023-11-20 09:50:09 +10:00
reviewable_score.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_sensitivity_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
reviewable_user.rb FEATURE: Add Revise... option for queued post reviewable (#23454) 2023-10-13 11:28:31 +10:00
reviewable.rb FEATURE: Add Revise... option for queued post reviewable (#23454) 2023-10-13 11:28:31 +10:00
s3_region_site_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
screened_email.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
screened_ip_address.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
screened_url.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
search_log.rb DEV: Fix Lint/DuplicateMethods (#24746) 2023-12-06 13:18:34 +01:00
search_sort_order_site_setting.rb FEATURE: Add setting & preference for search sort default order (#24428) 2023-11-20 10:43:58 +10:00
shared_draft.rb
shelved_notification.rb
sidebar_section_link.rb FIX: public sidebar sections belong to system user (#20972) 2023-04-05 10:52:18 +10:00
sidebar_section.rb SECURITY: limit amount of links in custom sidebar section (#22543) 2023-07-11 15:25:01 -06:00
sidebar_url.rb FEATURE: Initial admin sidebar navigation (#24789) 2023-12-18 11:48:25 +10:00
single_sign_on_record.rb
site_setting.rb DEV: Make more group-based settings client: false (#25585) 2024-02-08 09:43:34 +10:00
site.rb FIX: Preload parent categories for sidebar (#25726) 2024-02-16 16:39:18 +02:00
sitemap.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
skipped_email_log.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
slug_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
stat.rb FEATURE: call hub API to update Discourse discover enrollment. (#25634) 2024-02-23 11:42:28 +05:30
stylesheet_cache.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
summarization_strategy.rb FEATURE: Custom content summarization strategies. (#21813) 2023-06-13 14:21:46 -03:00
summary_section.rb FEATURE: Regenerate outdated summaries. (#22718) 2023-07-20 15:25:46 -03:00
tag_group_membership.rb
tag_group_permission.rb
tag_group.rb DEV: Fix Lint/DuplicateMethods (#24746) 2023-12-06 13:18:34 +01:00
tag_search_data.rb
tag_user.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
tag.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
theme_field.rb DEV: Centralise logic for validating a theme setting value (#25764) 2024-02-21 08:08:26 +08:00
theme_modifier_set.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
theme_setting.rb DEV: Set a bytesize limit for ThemeSetting#json_value (#25761) 2024-02-21 08:09:37 +08:00
theme_settings_migration.rb FEATURE: Theme settings migrations (#24071) 2023-11-02 08:10:15 +03:00
theme_svg_sprite.rb FIX: Always clear caches after committing the current transaction (#22550) 2023-07-12 09:49:28 -05:00
theme_translation_override.rb DEV: Use the theme cache helper for settings 2022-02-21 09:45:14 +00:00
theme.rb FEATURE: Add experimental option for strict-dynamic CSP (#25664) 2024-02-16 11:16:54 +00:00
top_lists.rb
top_menu_item.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
top_topic.rb FIX: Prevent concurrent updates to top_topics (#19854) 2023-01-12 14:03:26 -06:00
topic_allowed_group.rb
topic_allowed_user.rb
topic_converter.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
topic_custom_field.rb DEV: Add true_fields method for CustomFields (#24876) 2023-12-14 11:06:21 -06:00
topic_embed.rb FEATURE: Cache embed contents in the database (#25133) 2024-01-05 10:09:31 -03:00
topic_featured_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_group.rb DEV: Enable unless cops 2023-02-21 10:30:48 +01:00
topic_hot_score.rb FEATURE: apply pinning to hot topic lists (#25690) 2024-02-15 18:27:54 +11:00
topic_invite.rb
topic_link_click.rb DEV: Remove old deprecation warnings where constants already removed (#22140) 2023-06-16 11:26:26 +08:00
topic_link.rb FEATURE: support silent internal links (#25472) 2024-01-30 17:03:58 +11:00
topic_list.rb FIX: muted tags breaking hot page when filtered to tags (#25824) 2024-02-23 17:11:39 +11:00
topic_notifier.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_participant_groups_summary.rb FEATURE: display PM participant group names in the topics list. (#21677) 2023-05-31 19:32:06 +05:30
topic_participants_summary.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_poster.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_posters_summary.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_search_data.rb
topic_tag.rb SECURITY: Default tags to show count of topics in unrestricted categories (#19916) 2023-01-20 09:50:24 +08:00
topic_thumbnail.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic_timer.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
topic_tracking_state.rb DEV: Make more group-based settings client: false (#25585) 2024-02-08 09:43:34 +10:00
topic_user.rb FIX: more performance improvement for PostAlert job (#22487) 2023-07-13 09:02:23 +10:00
topic_view_item.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
topic.rb DEV: Add post_id parameter to reset_bump_date route (#25372) 2024-02-15 16:42:42 +11:00
translation_override.rb DEV: Add endpoint for dismissing outdated translations (#22509) 2023-07-19 23:06:13 +08:00
trust_level_and_staff_and_disabled_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
trust_level_and_staff_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
trust_level_setting.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
trust_level3_requirements.rb DEV: Fix Lint/DuplicateMethods (#24746) 2023-12-06 13:18:34 +01:00
unsubscribe_key.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
upload_reference.rb DEV: Use UploadReference instead of ChatUpload in chat (#19947) 2023-01-24 13:28:21 +10:00
upload.rb PERF: Use -ping option to ImageMagick identify command (#25713) 2024-02-16 07:39:49 +08:00
user_action.rb DEV: Add a plugin modifier for user_action_stream_builder (#25691) 2024-02-16 10:24:39 +10:00
user_api_key_scope.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_api_key.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_archived_message.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_associated_account.rb
user_associated_group.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_auth_token_log.rb
user_auth_token.rb DEV: Add more debugging information to AR query logs on GitHub actions (#25237) 2024-01-12 13:06:29 +08:00
user_avatar.rb PERF: Better query performance for user avatar consistency check. (#25342) 2024-01-22 18:33:39 +01:00
user_badge.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
user_badges.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_bookmark_list.rb SECURITY: Impose a upper bound on limit params in various controllers 2023-07-28 12:53:46 +01:00
user_custom_field.rb DEV: Add true_fields method for CustomFields (#24876) 2023-12-14 11:06:21 -06:00
user_email.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_export.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_field_option.rb
user_field.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_history.rb DEV: Implement staff logs for user columns edits (#21774) 2023-06-07 17:19:58 -05:00
user_ip_address_history.rb
user_notification_schedule.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_open_id.rb
user_option.rb FIX: muted tags breaking hot page when filtered to tags (#25824) 2024-02-23 17:11:39 +11:00
user_profile_view.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_profile.rb DEV: Add rake task for generating avatars from SSO 2023-08-09 20:56:14 +02:00
user_search_data.rb
user_search.rb FEATURE: Hide user status when user is hiding public profile and presence (#24300) 2024-02-26 17:40:48 +04:00
user_second_factor.rb SECURITY: Limit name field length of TOTP authenticators and security keys 2023-09-12 15:31:17 -03:00
user_security_key.rb SECURITY: Limit name field length of TOTP authenticators and security keys 2023-09-12 15:31:17 -03:00
user_stat.rb DEV: Make more group-based settings client: false (#25585) 2024-02-08 09:43:34 +10:00
user_status.rb FIX: Truncate existing user status to 100 chars (#20044) 2023-01-30 10:49:08 +02:00
user_summary.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_upload.rb
user_visit.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user_warning.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
user.rb DEV: Convert header to glimmer (#25214) 2024-02-23 11:08:15 -07:00
username_validator.rb FIX: Disallow invisible Unicode characters in usernames (#21331) 2023-05-02 17:34:53 +10:00
watched_word.rb DEV: update syntax tree to latest (#24623) 2023-11-29 16:38:07 +11:00
web_crawler_request.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
web_hook_event_type.rb FIX: active webhook types exclude inactive plugins (#26022) 2024-03-05 12:47:04 +11:00
web_hook_event_types_hook.rb FEATURE: granular webhooks (#23070) 2023-10-09 03:35:31 +00:00
web_hook_event.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
web_hook.rb FEATURE: granular webhooks (#23070) 2023-10-09 03:35:31 +00:00