0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-11 02:59:07 +08:00
discourse/app/models
Régis Hanol b8077beba5
FIX: Allow selecting tags that are only used in personal messages (#41918)
Previously, a tag whose only usage was in personal messages was silently
dropped by `TagsController.tag_counts_json` — a display rule from 2020
meant to keep such tags off the `/tags` browse page for users who cannot
tag messages (and `pm_tags_allowed_for_groups` has no staff bypass, so
by default that includes admins). Every surface reusing that method as a
plain serializer inherited the rule by accident:

- the composer tag search treated the missing row as unauthorized and
showed the tag disabled with a bogus **"Can't be used in this
category"** reason (the reported bug),
- every "show all tags" chooser (tag groups, synonyms, watched tags,
category allowed tags, webhooks, automations, …) silently refused to
offer such tags at all,
- the `#` autocomplete would not suggest a tag that nonetheless cooked
into a working hashtag link when typed in full.

This change makes `tag_counts_json` a pure serializer and moves the rule
into an explicit, named helper (`DiscourseTagging.without_pm_only_tags`)
applied only where it belongs — the `/tags` browse lists — with an
exemption for the admin "show all tags" view so the admin inventory is
complete. Selection and search surfaces now offer every tag the user is
allowed to use, and tag-group visibility rules still apply everywhere.

It also fixes two adjacent inconsistencies uncovered along the way:

- **Topic→message conversion counter drift.** Converting only adjusted
`public_topic_count`, so a converted topic's tags kept working until the
periodic consistency job recounted them into the broken state — the
"worked at first, broke a day later" in the report. The converter now
moves all three counters immediately, and rolls back cleanly when the
underlying post revision fails (its return value was previously ignored,
and `Topic#valid?` clears the errors it adds, so a failed conversion
still applied its side effects).
- **Crawler/print tag leak.** The crawler layout leaked a message's tag
names in the page title and `og:article:tag` metadata to participants
the serializer already hides tags from; both now flow through
`TopicView#visible_tags`, gated on `guardian.can_see_tags?`.

Reported in https://meta.discourse.org/t/407050
2026-07-24 12:27:03 +02:00
..
concerns PERF: Use daily rollups for DAU/MAU reports (#41958) 2026-07-24 09:52:40 +08:00
about.rb FEATURE: Localizable /about page fields via its settings page (#41123) 2026-06-26 20:41:08 +08:00
access_control_list.rb FEATURE: Support users in DAccessControl and backend (#41358) 2026-07-15 09:18:06 +10:00
admin_dashboard_data.rb DEV: Remove old problem check system - part 2 (#34403) 2025-08-20 16:15:21 +08:00
admin_dashboard_general_data.rb
admin_dashboard_index_data.rb
admin_dashboard_report.rb DEV: Scaffold backend for the new admin dashboard Reports section (#40017) 2026-05-20 09:53:26 +03:00
admin_dashboard_section.rb FEATURE: Persist "Activity by category" dashboard filter selection (#41758) 2026-07-17 10:54:28 +03:00
admin_notice.rb FIX: Linkify site setting references in dashboard problem messages (#41763) 2026-07-16 14:46:25 +02:00
allowed_pm_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
anonymous_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
api_key.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
api_key_scope.rb FEATURE: Add a granular API key scope to list badges (#41086) 2026-06-22 18:32:02 +02:00
application_request.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
associated_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
auto_track_duration_site_setting.rb
backup_draft_post.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
backup_draft_topic.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
backup_file.rb
backup_location_site_setting.rb
backup_metadata.rb
badge.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
badge_grouping.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
badge_type.rb
base_font_setting.rb
base_timer.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
bookmark.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
browser_pageview_country_daily_rollup.rb FIX: Split browser pageview rollup source at the cutover date (#42013) 2026-07-24 14:56:36 +08:00
browser_pageview_event.rb FIX: Split browser pageview rollup source at the cutover date (#42013) 2026-07-24 14:56:36 +08:00
browser_pageview_event_score.rb DEV: Persist per-heuristic crawler score breakdown (#40022) 2026-05-18 12:13:08 +08:00
browser_pageview_referrer_daily_rollup.rb FIX: Split browser pageview rollup source at the cutover date (#42013) 2026-07-24 14:56:36 +08:00
browser_pageview_session_engagement.rb DEV: Track browser session engagement for crawler detection (#41215) 2026-07-01 09:17:48 +08:00
browser_pageview_session_engagement_daily_rollup.rb FIX: Split browser pageview rollup source at the cutover date (#42013) 2026-07-24 14:56:36 +08:00
category.rb SECURITY: Harden ListController top period query against SQL injection (#41718) 2026-07-15 12:17:50 +08:00
category_and_topic_lists.rb
category_custom_field.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_featured_topic.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_form_template.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_list.rb SECURITY: Stale featured rows expose unlisted topic content (#41810) 2026-07-17 09:19:08 -05:00
category_localization.rb FIX: only show first paragraph of localized category descriptions (#41511) 2026-07-10 16:59:40 -04:00
category_moderation_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_page_style.rb
category_posting_review_group.rb FEATURE: Support group based category posting review modes (#38707) 2026-04-07 10:41:16 +08:00
category_required_tag_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_scope_site_setting.rb DEV: Introduce a category scope enum for flexible category selection (#41505) 2026-07-08 15:54:10 +08:00
category_search_data.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_setting.rb FEATURE: Add nested replies category conversion (#41236) 2026-07-06 08:22:22 -05:00
category_tag.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_tag_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
category_tag_stat.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
category_user.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
child_theme.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
color_scheme.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
color_scheme_color.rb FEATURE: Allow editing theme-owned palettes (#34722) 2025-10-06 09:02:39 +03:00
color_scheme_setting.rb DEV: Remove dual mode support for palettes and drop theme-owned palettes (#34467) 2025-08-26 06:24:11 +03:00
composition_mode_site_setting.rb FEATURE: Enable rich editor for all users (#33699) 2025-07-28 10:08:50 +10:00
custom_emoji.rb DEV: Retroactive review and refactor of custom emoji bulk import/export (#41860) 2026-07-22 10:06:54 +10:00
default_text_size_setting.rb
developer.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
digest_email_site_setting.rb
directory_column.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
directory_item.rb DEV: Load all bundled plugins when running annotate:clean (#39978) 2026-05-13 17:19:15 +01:00
discourse_connect.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
discourse_version_check.rb FEATURE: Improve display of installed/available version on dashboard (#41165) 2026-06-24 13:07:05 +01:00
dismissed_topic_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
do_not_disturb_timing.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
draft.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
draft_sequence.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
email_change_request.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
email_level_site_setting.rb
email_log.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
email_login_code.rb FEATURE: Log in with a one-time email code (#40804) 2026-06-17 12:34:48 -07:00
email_style.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
email_token.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
embeddable_host.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
embeddable_host_tag.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
embedding.rb DEV: Deprecate the assignment of nil to site settings (#36093) 2025-12-01 15:04:23 +08:00
emoji.rb FEATURE: Add emoji_picker_pinned_groups for pinning groups in the picker (#41881) 2026-07-22 09:51:15 -07:00
emoji_set_site_setting.rb
external_upload_stub.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
flag.rb FIX: Ensure each flag gets a unique name_key (#40899) 2026-06-24 16:37:59 +02:00
form_template.rb DEV: Expand top_tags, topic.tags, etc, to return an array of tag objects instead of tag names (#36678) 2026-02-02 10:03:02 +08:00
full_name_requirement.rb
given_daily_like.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
global_setting.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
group.rb FEATURE: Support users in DAccessControl and backend (#41358) 2026-07-15 09:18:06 +10:00
group_archived_message.rb FIX: Scope group archive and inbox actions to the group's messages (#41662) 2026-07-14 10:05:10 +05:30
group_associated_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
group_category_notification_default.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
group_custom_field.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
group_history.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
group_mention.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
group_request.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
group_tag_notification_default.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
group_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
homepage_site_setting.rb FEATURE: explicit default homepage setting (#41785) 2026-07-22 16:22:19 -04:00
ignored_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
image_quality_setting.rb FEATURE: Add new, unified image_quality site setting (#35467) 2025-10-29 13:17:28 +08:00
incoming_domain.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
incoming_email.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
incoming_link.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
incoming_links_report.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
incoming_referer.rb
interface_color_selector_setting.rb
invite.rb FEATURE: Allow inviting staff as admins or moderators (#41880) 2026-07-21 14:05:21 -07:00
invite_redeemer.rb FEATURE: Allow inviting staff as admins or moderators (#41880) 2026-07-21 14:05:21 -07:00
invited_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
invited_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
javascript_cache.rb DEV: Improve cross-plugin/theme import handling (#40939) 2026-06-30 16:11:38 +01:00
like_notification_frequency_site_setting.rb
linked_topic.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
locale_site_setting.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
mailing_list_mode_site_setting.rb
mobile_category_page_style.rb
moved_post.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
muted_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
navigation_menu_site_setting.rb
nested_topic.rb FEATURE: First iteration of nested replies (#38888) 2026-04-16 08:06:44 -05:00
nested_view_post_stat.rb FEATURE: First iteration of nested replies (#38888) 2026-04-16 08:06:44 -05:00
new_topic_duration_site_setting.rb
notification.rb DEV: route nested view through topic route (#40820) 2026-06-15 11:42:20 -05:00
notification_level_when_replying_site_setting.rb
oauth2_user_info.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
onceoff_log.rb
onebox_locale_site_setting.rb
optimized_image.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
optimized_video.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
permalink.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
plugin_store.rb
plugin_store_row.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post.rb FIX: only show first paragraph of localized category descriptions (#41511) 2026-07-10 16:59:40 -04:00
post_action.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_action_type.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_analyzer.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
post_custom_field.rb DEV: Load all bundled plugins when running annotate:clean (#39978) 2026-05-13 17:19:15 +01:00
post_detail.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_hotlinked_media.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_localization.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
post_mover.rb FIX: Correctly close fully merged topics containing whispers (#41800) 2026-07-17 11:07:29 +02:00
post_reply.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
post_reply_key.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_revision.rb FIX: Suppress post revision notifications during silent bulk category moves (#37832) 2026-02-23 16:05:49 +01:00
post_search_data.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_stat.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
post_stripper.rb
post_timing.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
previous_replies_site_setting.rb
private_message_topic_tracking_state.rb FEATURE: Exclude small actions from topic counters and unread tracking (#40481) 2026-06-08 08:03:55 +02:00
problem_check.rb FIX: Linkify site setting references in dashboard problem messages (#41763) 2026-07-16 14:46:25 +02:00
problem_check_tracker.rb FEATURE: Add problem checks page to admin panel and allow ignoring problem checks (#39103) 2026-04-23 08:28:33 +08:00
published_page.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
push_subscription.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
quoted_post.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
redelivering_webhook_event.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
remote_theme.rb FEATURE: Show theme d-compat/* refs in admin UI (#40649) 2026-06-17 22:13:45 +01:00
remove_muted_tags_from_latest_site_setting.rb
report.rb DEV: Remove reporting_improvements upcoming change (#41259) 2026-07-01 07:52:02 +08:00
reviewable.rb FIX: Prevent resurrection of approved queued reviewables when reusing flagged reviewables for the same target (#41790) 2026-07-17 10:16:58 +02:00
reviewable_claimed_topic.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
reviewable_flagged_post.rb FEAT: Allow unsilencing after author deletes flagged post (#41727) 2026-07-16 09:41:24 +08:00
reviewable_history.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
reviewable_note.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
reviewable_post.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
reviewable_priority_setting.rb
reviewable_queued_post.rb Revert "FEATURE: discourse-workflows (#39704)" (#40366) 2026-05-28 13:59:42 +01:00
reviewable_score.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
reviewable_sensitivity_setting.rb
reviewable_user.rb Revert "FEATURE: discourse-workflows (#39704)" (#40366) 2026-05-28 13:59:42 +01:00
s3_region_site_setting.rb
screened_email.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
screened_ip_address.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
screened_url.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
search_experience_site_setting.rb
search_log.rb UX: Focus dashboard search analytics on member searches (#41647) 2026-07-13 12:41:19 +08:00
search_sort_order_site_setting.rb
shared_draft.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
shelved_notification.rb DEV: Promote historic post_deploy migrations (#34273) 2025-08-13 14:10:50 +08:00
sidebar_section.rb FIX: Allow manual Community sidebar links to be localized (#41898) 2026-07-22 15:57:56 +08:00
sidebar_section_link.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
sidebar_section_localization.rb FEATURE: Allow admins to localize custom sidebar section and links (#41795) 2026-07-21 21:45:50 +08:00
sidebar_url.rb FIX: Allow manual Community sidebar links to be localized (#41898) 2026-07-22 15:57:56 +08:00
sidebar_url_localization.rb FEATURE: Allow admins to localize custom sidebar section and links (#41795) 2026-07-21 21:45:50 +08:00
single_sign_on_record.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
site.rb FEATURE: Allow admins to localize custom sidebar section and links (#41795) 2026-07-21 21:45:50 +08:00
site_setting.rb FEATURE: explicit default homepage setting (#41785) 2026-07-22 16:22:19 -04:00
site_setting_group.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
site_setting_localization.rb FEATURE: Localizable /about page fields via its settings page (#41123) 2026-06-26 20:41:08 +08:00
sitemap.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
skipped_email_log.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
slug_setting.rb
stat.rb FIX: Stat type grouping (#40783) 2026-06-11 16:59:33 +10:00
stylesheet_cache.rb PERF: Only recompile stylesheets when required (#41735) 2026-07-16 12:14:28 +01:00
tag.rb FEATURE: Prioritize recently used tags in the composer tag picker (#41669) 2026-07-14 13:17:18 +02:00
tag_group.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
tag_group_membership.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
tag_group_permission.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
tag_localization.rb SECURITY: Unsanitized TagLocalization Descriptions (#41555) 2026-07-08 14:42:13 -05:00
tag_search_data.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
tag_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
theme.rb DEV: Drop empty core mobile/desktop stylesheets (#41988) 2026-07-23 20:30:13 +01:00
theme_field.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
theme_modifier_set.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
theme_setting.rb FIX: type: objects uploads should be stored as IDs (#40178) 2026-05-21 13:45:27 -03:00
theme_settings_migration.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
theme_site_setting.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
theme_svg_sprite.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
theme_translation_override.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
top_lists.rb
top_menu_item.rb
top_topic.rb PERF: Drop unused indexes on top_topics table (#37053) 2026-01-12 12:55:28 +08:00
topic.rb UX: improve livestream chat messaging (#41750) 2026-07-21 11:07:31 +10:00
topic_allowed_group.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
topic_allowed_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_converter.rb FIX: Allow selecting tags that are only used in personal messages (#41918) 2026-07-24 12:27:03 +02:00
topic_custom_field.rb DEV: Load all bundled plugins when running annotate:clean (#39978) 2026-05-13 17:19:15 +01:00
topic_embed.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
topic_featured_users.rb DEV: Optimize core user merger (#36455) 2025-12-05 14:45:54 -03:00
topic_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_hot_score.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_invite.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_link.rb FIX: Honor silent=true on internal links with other query params (#41365) 2026-07-02 16:51:44 +02:00
topic_link_click.rb SECURITY: Missing visibility check in click tracking endpoint (#41140) 2026-06-24 15:15:56 +10:00
topic_list.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
topic_localization.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_notifier.rb FEATURE: Notification/tracking changes for nested replies (#39750) 2026-05-07 12:33:56 -05:00
topic_participant_groups_summary.rb
topic_participants_summary.rb
topic_poster.rb
topic_posters_summary.rb
topic_search_data.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_tag.rb FIX: Add extra tag_id, topic_id index to topic_tags (#35565) 2025-10-23 17:34:16 +10:00
topic_thumbnail.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_timer.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
topic_tracking_state.rb FEATURE: Add upcoming change for unified new view (#40631) 2026-06-09 11:34:22 +10:00
topic_user.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
topic_view_item.rb PERF: Improve user participation default query (#41676) 2026-07-13 16:15:05 -04:00
topic_view_stat.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
translation_override.rb FIX: allow custom email sender name via translation overrides (#40674) 2026-06-09 14:03:03 +04:00
trust_level3_requirements.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
trust_level_and_staff_and_disabled_setting.rb
trust_level_and_staff_setting.rb
trust_level_setting.rb
unsubscribe_key.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
upcoming_change_event.rb FEATURE: Notify admins of upcoming changes and log events (#37003) 2026-01-21 12:45:54 +10:00
upload.rb SECURITY: Harden imagemagick execution 2026-06-30 16:10:52 +02:00
upload_reference.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user.rb PERF: Avoid unnecessary upcoming change lookups for group lists (#41905) 2026-07-22 17:41:29 +08:00
user_action.rb SECURITY: Restrict user action removal messages (#41405) 2026-07-03 17:56:04 +08:00
user_api_key.rb FEATURE: User API key device authorization flow (#40189) 2026-06-10 16:09:44 -04:00
user_api_key_client.rb DEV: Fix auth redirect validation in user API key flow (#40459) 2026-06-01 15:47:35 -04:00
user_api_key_client_scope.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_api_key_scope.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_archived_message.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
user_associated_account.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_associated_group.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_auth_token.rb SECURITY: Bind shared session key to auth token and enforce user gates (#41610) 2026-07-14 13:25:05 +08:00
user_auth_token_log.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_avatar.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_badge.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_badges.rb
user_bookmark_list.rb
user_custom_field.rb DEV: Load all bundled plugins when running annotate:clean (#39978) 2026-05-13 17:19:15 +01:00
user_email.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_export.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_field.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_field_option.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_history.rb FEATURE: Record who closed a poll (#40989) 2026-06-29 12:22:43 +02:00
user_ip_address_history.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_notification_schedule.rb DEV: Enable some minor rubocop rules (#40094) 2026-05-19 15:29:38 +02:00
user_open_id.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_option.rb UX: Consolidate chat notifications into live notification preferences (#41538) 2026-07-14 08:32:48 +02:00
user_password.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_profile.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_profile_view.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_required_fields_version.rb
user_search.rb FEATURE: Support users in DAccessControl and backend (#41358) 2026-07-15 09:18:06 +10:00
user_search_data.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_second_factor.rb DEV: Split passkey and security key WebAuthn ceremonies for 2FA (#40817) 2026-06-17 12:52:47 -03:00
user_security_key.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_stat.rb FEATURE: Exclude small actions from topic counters and unread tracking (#40481) 2026-06-08 08:03:55 +02:00
user_status.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_summary.rb FIX: Respect permissions when counting bookmarks in user summary (#36856) 2026-01-21 16:34:55 +01:00
user_upload.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
user_visit.rb PERF: Detect visit island boundaries directly in the DAU/MAU query (#41612) 2026-07-13 13:14:38 +08:00
user_visit_daily_rollup.rb PERF: Use daily rollups for DAU/MAU reports (#41958) 2026-07-24 09:52:40 +08:00
user_warning.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
username_validator.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
watched_word.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
watched_word_group.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
web_crawler_request.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
web_hook.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
web_hook_event.rb FIX: Make web_hook_events#id a bigint (#34620) 2025-09-04 22:20:34 +03:00
web_hook_event_type.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
web_hook_event_types_hook.rb DEV: Always pass --force to annotaterb and reorder annotations (#39977) 2026-05-13 14:12:48 +01:00
web_hook_events_daily_aggregate.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
welcome_banner_location.rb UX: add welcome banner location site setting to admin interface (#33438) 2025-07-17 13:34:22 +08:00
welcome_banner_page_visibility.rb UX: add welcome banner page visibility setting (#34119) 2025-08-08 14:19:00 +08:00