0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-12 05:37:26 +08:00
discourse/lib
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
..
acl FEATURE: Support users in DAccessControl and backend (#41358) 2026-07-15 09:18:06 +10:00
action_dispatch/session Revert "DEV: Debug cookie overflows" (#35120) 2025-10-02 09:55:47 +02:00
active_support_type_extensions DEV: Replace Ruby numbered parameters by it where applicable (#37810) 2026-02-13 13:59:07 +01:00
admin_dashboard/reports DEV: Let plugins exclude reports from the customisable dashboard (#40463) 2026-06-03 16:36:01 +03:00
auth SECURITY: Bind shared session key to auth token and enforce user gates (#41610) 2026-07-14 13:25:05 +08:00
autospec DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
backup_restore FEATURE: Hot algorithm for nested replies (simple) (#41742) 2026-07-20 10:56:05 -05:00
common_passwords DEV: Upgrade to Rails 7 2022-04-28 11:51:03 +02:00
compression FEATURE: Add emoji_picker_pinned_groups for pinning groups in the picker (#41881) 2026-07-22 09:51:15 -07:00
content_localization FEATURE: Localize local oneboxes (#40493) 2026-06-08 11:49:55 +08:00
content_security_policy UX: Do not include upgrade-insecure-requests in report-only CSP (#41414) 2026-07-03 09:56:08 +01:00
demon DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
discourse FEATURE: Route all GitHub API requests through one rate-limited client (#40637) 2026-06-15 10:59:10 +02:00
discourse_dev FEATURE: Add top countries and top referrers cards to the admin dashboard (#40215) 2026-05-22 12:59:16 +08:00
discourse_webauthn FEATURE: Allow passkeys to satisfy 2FA on /session/2fa (#39674) 2026-05-06 14:47:01 -03:00
email SECURITY: Prevent any signed AWS SNS TopicARN from being accepted via webhooks 2026-06-30 16:10:52 +02:00
email_controller_helper DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
emoji DEV: Auto-generate emojiReplacementRegex from emoji database (#38491) 2026-03-16 14:32:57 +01:00
faker DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
file_store PERF: Run primary and parallel DB setup concurrently in CI (#40319) 2026-05-29 06:46:32 +08:00
final_destination FEATURE: Support 'Happy Eyeballs' in FinalDestination::HTTP (#41680) 2026-07-15 11:31:23 +01:00
freedom_patches FIX: Keep TCPServer.open(port) working with the Happy Eyeballs patch 2026-07-22 09:05:38 +02:00
generators DEV: add plugin post-migration generator and migration skill (#39125) 2026-04-08 09:34:55 +10:00
guardian PERF: Speed up category visibility checks (#41977) 2026-07-24 07:53:49 +08:00
i18n DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
import DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
import_export DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
middleware FIX: Stop double-counting embedded views with beacon (#41968) 2026-07-24 13:38:00 +08:00
migration DEV: Rename anonymous group to anonymous_users (#40435) 2026-06-02 09:29:46 +10:00
nested_replies FEATURE: Hot algorithm for nested replies (simple) (#41742) 2026-07-20 10:56:05 -05:00
onebox FEATURE: add Google Meet oneboxes (#41018) 2026-06-18 15:49:43 +10:00
plugin FEATURE: Let plugins register persistable admin dashboard section settings (#41843) 2026-07-22 18:00:38 +03:00
pretty_text DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
rate_limiter DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
release_utils DEV: Bump version automatically when cutting release branches (#38504) 2026-03-12 12:05:28 +01:00
request_tracker/rate_limiters DEV: API to register custom request rate limiting conditions (#30239) 2024-12-23 09:57:18 +08:00
reviewable FIX: Resolve all of a deleted spammer's reviewables (#40780) 2026-06-15 13:34:15 +08:00
scheduler DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
search DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
second_factor DEV: Split passkey and security key WebAuthn ceremonies for 2FA (#40817) 2026-06-17 12:52:47 -03:00
seed_data DEV: Do not seed TOS and Privacy topics even if company_name is present (#41814) 2026-07-17 13:29:49 -04:00
service DEV: Preserve existing errors in service model steps (#41896) 2026-07-23 17:15:26 +10:00
sidekiq FIX: Ensure retry_count is set when checking if a job is being retried (#36034) 2025-11-14 14:18:50 +11:00
site_settings UX: Link to required settings from language switcher validation error (#38374) 2026-07-16 15:51:06 -04:00
stylesheet DEV: Remove rich_editor site setting (#41873) 2026-07-23 19:49:20 -03:00
tasks DEV: Address parallel S3 upload review feedback 2026-07-23 17:11:41 +00:00
theme_settings_group_resolver DEV: Add resolve_group_membership for theme object settings of group type (#41756) 2026-07-17 10:19:29 +10:00
theme_settings_manager DEV: Add disallowed_groups to theme/component settings (#41792) 2026-07-20 09:28:52 +10:00
theme_store FEATURE: Show theme d-compat/* refs in admin UI (#40649) 2026-06-17 22:13:45 +01:00
topic_query SECURITY: Restrict tagged group message lists (#41342) 2026-07-06 12:19:05 +08:00
topic_view DEV: Various changes to support nested posts experiment (#37785) 2026-03-09 15:47:03 -05:00
turbo_tests DEV: Add per-test SQL/Redis/network capture RSpec formatter (#40632) 2026-06-16 09:47:54 +08:00
upcoming_changes DEV: Fix UC status report when reverted files encountered (#41821) 2026-07-20 16:37:35 +10:00
validators FEATURE: Add emoji_picker_pinned_groups for pinning groups in the picker (#41881) 2026-07-22 09:51:15 -07:00
wizard UX: One step wizard (#36082) 2025-11-25 13:35:32 -05:00
admin_confirmation.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
admin_constraint.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
admin_user_index_query.rb FEATURE: Support bulk user search in the admin users list (#41572) 2026-07-09 10:34:52 -03:00
age_words.rb DEV: Move distance_of_time_in_words/time_ago_in_words (#21745) 2023-05-25 14:53:59 +02:00
anonymous_action.rb FEATURE: Prompt anonymous users to sign up after engagement clicks (#40256) 2026-05-26 09:30:38 +02:00
application_layout_preloader.rb DEV: Add resolve_group_membership functionality to theme settings (#41360) 2026-07-08 09:29:21 +10:00
archetype.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
asset_processor.rb DEV: add typescript support for core, themes and plugins (#41478) 2026-07-08 12:57:18 +01:00
auth.rb DEV: Add Discourse ID authenticator (#33186) 2025-06-17 09:47:00 -04:00
backup_restore.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
badge_posts_view_manager.rb DEV: stop freezing frozen strings 2020-04-30 16:48:53 +10:00
badge_queries.rb FIX: BadgeQueries.sharing_badge not counting unique visitors (#36281) 2025-11-27 14:37:27 +08:00
base62.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
bookmark_manager.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
bookmark_query.rb FIX: Respect permissions when counting bookmarks in user summary (#36856) 2026-01-21 16:34:55 +01:00
bookmark_reminder_notification_handler.rb FIX: don't clear reminder on deleted bookmarks (#35987) 2025-11-12 17:47:07 +01:00
bookmarks_bulk_action.rb FIX: BookmarksBulkAction#delete passing integer to guardian instead of Bookmark object (#37871) 2026-02-17 15:14:46 +10:00
browser_detection.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
browser_pageview_referrer_inspector.rb FIX: Backfill normalized referrer for historical browser pageviews (#40357) 2026-06-09 09:04:57 +08:00
cache.rb FIX: race condition in Discourse.cache.fetch (#28124) 2024-07-30 09:08:12 +02:00
canonical_url.rb UX: Prevent incomplete crawler localization settings (#41297) 2026-07-01 12:13:22 +08:00
category_badge.rb UX: fix category badges on 404 page and oneboxes (#34071) 2025-08-04 14:02:51 -04:00
chrome_installed_checker.rb DEV: correctly detect chromium on macos (#35441) 2025-10-16 14:54:58 +02:00
color_math.rb UX: Calculate missing hover/selected colors from existing colors (#20105) 2023-02-01 09:55:21 +00:00
comment_migration.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
common_passwords.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
composer_messages_finder.rb FIX: Show composer education message once per session (#41124) 2026-06-23 12:19:42 -03:00
configurable_urls.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
content_buffer.rb DEV: Enable unless cops 2023-02-21 10:30:48 +01:00
content_localization.rb FEATURE: Allow admins to localize custom sidebar section and links (#41795) 2026-07-21 21:45:50 +08:00
content_security_policy.rb PERF: Avoid replacing CSP nonces in non-cacheable responses (#42008) 2026-07-24 09:49:01 +08:00
cooked_post_processor.rb FEATURE: generated OpenGraph images for topics (#39194) 2026-06-26 10:37:10 -04:00
cooked_processor_mixin.rb FEATURE: Localize local oneboxes (#40493) 2026-06-08 11:49:55 +08:00
crawler_detection.rb FEATURE: Allow fallback home routes for crawlers for custom homepage sites (#41234) 2026-06-29 09:57:40 -04:00
crawler_scorer.rb DEV: Track beacon browser pageviews behind dashboard_improvements (#40934) 2026-06-23 10:21:39 +08:00
csrf_token_verifier.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
current_user.rb FEATURE: Prompt anonymous users to sign up after engagement clicks (#40256) 2026-05-26 09:30:38 +02:00
custom_renderer.rb
db_helper.rb SECURITY: Preload data only when rendering application layout 2025-02-04 13:32:30 -03:00
dev_log_formatter.rb DEV: Customize the dev-env rails logger (#39988) 2026-05-14 11:31:14 +02:00
directory_helper.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
discourse.rb UX: Link to required settings from language switcher validation error (#38374) 2026-07-16 15:51:06 -04:00
discourse_connect_base.rb FIX: Reject DiscourseConnect SSO payloads when secret is blank (#40830) 2026-06-12 15:17:16 +03:00
discourse_connect_provider.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
discourse_dev.rb DEV: move discourse_dev gem to the core. (#13360) 2021-06-14 20:34:44 +05:30
discourse_diff.rb DEV: use classes to style hidden post history revision (#38159) 2026-03-03 09:58:03 -05:00
discourse_event.rb FIX: Isolate DiscourseEvent handlers so one error doesn't skip the rest (#38485) 2026-03-11 15:54:16 +08:00
discourse_hub.rb DEV: Optionally raise error on DiscourseHub calls (#39347) 2026-04-20 15:01:58 +01:00
discourse_id.rb FEATURE: Discourse ID setting page (#36316) 2025-12-11 16:04:09 +01:00
discourse_ip_info.rb FIX: Add reverse DNS timeout to DiscourseIpInfo (#40593) 2026-06-05 12:29:51 +08:00
discourse_lograge.rb DEV: Log browser page view tracking requests to rails logs (#39600) 2026-05-05 15:14:24 +08:00
discourse_logstash_logger.rb DEV: remove x-real-ip references (#41371) 2026-07-03 15:53:21 -04:00
discourse_plugin_registry.rb DEV: Add plugin registry for UC conditional display (#41645) 2026-07-13 11:29:22 +04:00
discourse_redis.rb FEATURE: add custom tools and resume support for stream replies (#37912) 2026-02-19 16:04:00 -03:00
discourse_tagging.rb FIX: Allow selecting tags that are only used in personal messages (#41918) 2026-07-24 12:27:03 +02:00
discourse_updates.rb FEATURE: Improve display of installed/available version on dashboard (#41165) 2026-06-24 13:07:05 +01:00
discourse_webauthn.rb DEV: Split passkey and security key WebAuthn ceremonies for 2FA (#40817) 2026-06-17 12:52:47 -03:00
disk_cache_eviction.rb PERF: extract shared DiskCacheEviction utility for disk caches (#37842) 2026-02-16 12:24:38 +01:00
disk_space.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
distributed_cache.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
distributed_memoizer.rb DEV: Make DistributedMemoizer use DistributedMutex (#16229) 2022-04-05 19:29:58 +02:00
distributed_mutex.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
edit_rate_limiter.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
email.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
email_backup_token.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
email_cook.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
email_templates_finder.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
email_updater.rb FIX: add alternate email duplicate row (#37673) 2026-02-12 12:46:55 +04:00
embed_mode_handler.rb FIX: Apply embed class_name to <html> in full app mode (#40344) 2026-05-27 17:31:03 -03:00
ember_assets.rb DEV: Rename EmberCli to EmberAssets (#40938) 2026-06-16 12:56:56 +02:00
encodings.rb DEV: Update rubocop (#38721) 2026-03-20 00:39:52 +01:00
enum.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
enum_site_setting.rb
excerpt_parser.rb FIX: Prevent double-escaping of HTML entities in titles and meta descriptions (#41261) 2026-07-02 20:26:35 +02:00
external_upload_helpers.rb SECURITY: Regular users can route multipart uploads into the admin backup store 2026-06-30 16:10:52 +02:00
feed_element_installer.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
feed_item_accessor.rb FIX: Select best link from Atom feed (#15663) 2022-01-21 17:54:18 +02:00
file_helper.rb FEATURE: Client-side JXL, HEIC, and animated GIF conversion (#39014) 2026-05-11 12:02:50 -03:00
filter_best_posts.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
final_destination.rb UX: Explain bot verification challenges in onebox error previews (#41764) 2026-07-16 15:49:52 +02:00
flag_query.rb DEV: Remove deprecated methods (#14885) 2021-11-11 12:21:25 -06:00
flag_settings.rb FEATURE: custom flag can require additional message (#27908) 2024-07-18 10:10:22 +10:00
gaps.rb DEV: Fix assigned but unused variable Prism warnings (#39436) 2026-04-22 12:42:14 +02:00
gc_stat_instrumenter.rb DEV: Seperate concerns of tracking GC stat from MethodProfiler (#22921) 2023-08-02 10:46:37 +08:00
git_repo.rb FEATURE: display commit hash for each plugin on /admin/plugins page. (#22176) 2023-06-26 10:09:57 +05:30
git_url.rb SECURITY: Prevent ReDOS by making the SSH url regex unambiguous (#20000) 2023-01-25 18:55:01 +02:00
git_utils.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
github_rate_limit.rb FEATURE: Route all GitHub API requests through one rate-limited client (#40637) 2026-06-15 10:59:10 +02:00
global_path.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
group_lookup.rb FEATURE: display PM participant group names in the topics list. (#21677) 2023-05-31 19:32:06 +05:30
group_manager.rb PERF: Add Users to Group Improvements Pt. 3 (#39091) 2026-04-20 09:38:16 -05:00
guardian.rb DEV: Minor fixes to everyone-based permissions for granular_anonymous_and_logged_in_groups_permissions (#41459) 2026-07-07 09:38:56 +10:00
has_errors.rb FIX: prevents PM to large groups (#28681) 2024-09-03 12:08:14 +02:00
highlight_js.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
hijack.rb DEV: Silence expected error/debug output in system specs (#39164) 2026-04-13 13:59:41 +02:00
homepage_constraint.rb FIX: Regression in custom homepage modifier used in theme components (#27569) 2024-06-21 11:24:11 -04:00
homepage_helper.rb FEATURE: Allow fallback home routes for crawlers for custom homepage sites (#41234) 2026-06-29 09:57:40 -04:00
html_prettify.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
html_to_markdown.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
http_language_parser.rb FIX: Language parser matches with dashes or underscores (#31381) 2025-02-19 11:55:14 +08:00
http_user_agent_encoder.rb DEV: Apply suggested changes 2024-06-11 14:02:46 +02:00
ical_encoder.rb FIX: Prevent HTML-encoding of special characters in ICS feeds (#39152) 2026-04-08 16:43:41 +02:00
image_sizer.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
impersonator_constraint.rb FEATURE: Impersonation countdown (#39871) 2026-05-12 12:12:25 +08:00
import_export.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
inline_oneboxer.rb FEATURE: Route all GitHub API requests through one rate-limited client (#40637) 2026-06-15 10:59:10 +02:00
job_time_spacer.rb FEATURE: Auto-remove users without permission from channel (#20344) 2023-03-22 10:19:59 +10:00
js_locale_helper.rb DEV: Replace JS build system with Rolldown (#35963) 2026-05-29 11:11:55 +01:00
json_error.rb UX: Link to required settings from language switcher validation error (#38374) 2026-07-16 15:51:06 -04:00
letter_avatar.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
localization_attributes_replacer.rb FIX: only show first paragraph of localized category descriptions (#41511) 2026-07-10 16:59:40 -04:00
localized_cooked_post_processor.rb FEATURE: Automatic AI captions (#41586) 2026-07-15 13:24:10 +08:00
markdown_linker.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
mem_info.rb DEV: Move non scheduled problem checks to classes (#26122) 2024-03-14 10:55:01 +08:00
message_bus_diags.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
method_profiler.rb DEV: Add per-test SQL/Redis/network capture RSpec formatter (#40632) 2026-06-16 09:47:54 +08:00
mini_scheduler_long_running_job_logger.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
mini_sql_multisite_connection.rb DEV: Track SQL queries from MiniSql (#28824) 2024-09-11 10:14:53 +03:00
mobile_detection.rb UX: Drop legacy mobile-mode site settings (#40226) 2026-05-26 09:23:13 +01:00
nested_replies.rb FEATURE: Hot algorithm for nested replies (simple) (#41742) 2026-07-20 10:56:05 -05:00
new_post_manager.rb DEV: auto-silence only if a post is queued (#41435) 2026-07-03 14:06:55 -04:00
new_post_result.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
notification_levels.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
onebox.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
oneboxer.rb UX: Explain bot verification challenges in onebox error previews (#41764) 2026-07-16 15:49:52 +02:00
onpdiff.rb DEV: Add comparison budget to ONPDiff (#38063) 2026-02-25 14:25:03 -05:00
password_hasher.rb FEATURE: Persist password hashing algorithm/params in database (#20980) 2023-04-11 10:16:28 +01:00
pbkdf2.rb PERF: Use OpenSSL::KDF for Pbkdf2 implementation (#20982) 2023-04-05 17:00:05 +01:00
period_count_helper.rb DEV: Add usage metrics for workflows, automations, and data explorer (#41437) 2026-07-13 11:41:58 +02:00
permalink_constraint.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
pinned_check.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
pitchfork_logstash_patch.rb DEV: Add Pitchfork alongside Unicorn (#35370) 2025-10-24 11:08:23 +02:00
plain_text_to_markdown.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
plugin.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
plugin_gem.rb DEV: Search for -gnu gem variants (#27347) 2024-06-05 14:58:02 +02:00
post_action_creator.rb FIX: Topic creation failure when enabled category moderation (#36094) 2025-11-19 14:07:10 +08:00
post_action_destroyer.rb FIX: Allow moderators to unhide posts using acting_user context (#36512) 2025-12-09 09:25:52 +08:00
post_action_result.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
post_action_type_view.rb FIX: Missing/incorrect flag reason in account_deleted emails (#34955) 2025-11-17 15:22:22 +00:00
post_creator.rb FEATURE: Add Bypass permission checks to create post (#41279) 2026-07-20 11:06:37 +02:00
post_destroyer.rb FEAT: Allow unsilencing after author deletes flagged post (#41727) 2026-07-16 09:41:24 +08:00
post_jobs_enqueuer.rb DEV: Add import_embed_unlisted site setting (#26222) 2024-03-27 08:57:43 -04:00
post_locale_updater.rb UX: Allow user to set post and topic title language when manually creating post translations in modal (#41734) 2026-07-16 10:43:39 +08:00
post_localization_creator.rb FIX: Also check if user can see post or topic prior to letting them localize it (#36749) 2025-12-18 02:12:58 +08:00
post_localization_destroyer.rb FIX: Also check if user can see post or topic prior to letting them localize it (#36749) 2025-12-18 02:12:58 +08:00
post_localization_updater.rb FIX: Also check if user can see post or topic prior to letting them localize it (#36749) 2025-12-18 02:12:58 +08:00
post_locker.rb
post_merger.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
post_revisor.rb UX: Allow user to set post and topic title language when manually creating post translations in modal (#41734) 2026-07-16 10:43:39 +08:00
posts_filter.rb FEAT: Support excluding topics in posts filters (#41216) 2026-06-26 13:56:36 +10:00
presence_channel.rb FIX: Don't auto-remove chat members from logged_in_users group (#40543) 2026-06-03 18:15:32 +02:00
pretty_text.rb FIX: Apply CDN to Custom Emojis loaded from S3/R2 (#41267) 2026-07-01 17:05:28 -04:00
promotion.rb FIX: Remove groups when promotion is recalculated. (#31058) 2025-01-30 14:24:18 +11:00
quote_comparer.rb DEV: Correct Style/RedundantReturn rubocop issues (#23052) 2023-08-10 02:03:38 +02:00
quote_rewriter.rb FIX: Preserve display name in quotes when using the rich text editor (#38078) 2026-02-26 21:04:07 +01:00
rake_helpers.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
rate_limiter.rb DEV: Upgrade the Redis gem to v5.4 2025-03-19 14:34:00 +01:00
read_only_mixin.rb FIX: improve "read only" modes (#33521) 2025-07-10 09:08:00 +02:00
release_utils.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
require_dependency_backward_compatibility.rb DEV: Prefer \A and \z over ^ and $ in regexes (#19936) 2023-01-20 12:52:49 -06:00
retrieve_title.rb FIX: Inline oneboxes should obey the locale. (#30664) 2025-01-09 17:22:22 +11:00
route_format.rb SECURITY: block cross-site backup traversal in multisite local storage 2026-05-19 00:26:04 +01:00
route_matcher.rb FIX: store method in route matcher (#41512) 2026-07-07 11:49:56 -04:00
rtl.rb DEV: Remove duplicate definition of RTL locales and add Uyghur to the list (#27387) 2024-06-08 21:24:39 +02:00
s3_cors_rulesets.rb DEV: Add X-Amz-Tagging header (#36105) 2025-11-21 14:25:02 +11:00
s3_helper.rb Revert "Revert "FIX: Multipart S3 uploads failing with checksum calculation set to "when required""" (#41747) 2026-07-15 22:53:07 +02:00
s3_inventory.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
schema_settings_object_validator.rb FIX: type: objects uploads should be stored as IDs (#40178) 2026-05-21 13:45:27 -03:00
score_calculator.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
screening_model.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
search.rb SECURITY: Apply category tag visibility to full-text search (#41668) 2026-07-13 15:16:26 -03:00
secure_upload_endpoint_helpers.rb FIX: Enforce secure-upload ACL in AI bot prompt path (#39903) 2026-05-13 09:55:32 +08:00
server_session.rb DEV: Allow ServerSession to store arbitrary data (#34919) 2025-09-26 10:35:28 +02:00
service.rb DEV: Extract step classes from Service::Base into individual files (#37956) 2026-02-23 09:49:37 +01:00
shrink_uploaded_image.rb FIX: Ignore invalid images when shrinking uploads (#25346) 2024-01-22 12:10:29 +01:00
sidekiq_logster_reporter.rb DEV: Upgrade Sidekiq to v7.3.9 2025-03-10 15:02:48 +01:00
sidekiq_long_running_job_logger.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
signal_trap_logger.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
site_icon_manager.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
site_setting_extension.rb PERF: Avoid unnecessary upcoming change lookups for group lists (#41905) 2026-07-22 17:41:29 +08:00
slug.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
smtp_provider_overrides.rb FIX: Add Azure communication service endpoint to SMTP authentication override (#33226) 2025-10-21 09:39:25 +02:00
socket_server.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
spam_handler.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
staff_constraint.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
staff_message_format.rb
statistics.rb FIX: participating users statistics... (#29293) 2024-10-21 18:18:42 +02:00
suggested_topics_builder.rb FIX: Suggested topic links to nested replies topics (#40302) 2026-05-26 08:40:38 -05:00
svg_sprite.rb UX: Update share icon (#40999) 2026-06-18 14:22:12 -04:00
system_message.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
system_themes_manager.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
tag_localization_creator.rb FEATURE: Introduce tag localizations with API, without UI yet (#36754) 2025-12-18 18:25:58 +08:00
tag_localization_destroyer.rb FEATURE: Introduce tag localizations with API, without UI yet (#36754) 2025-12-18 18:25:58 +08:00
tag_localization_updater.rb FEATURE: Introduce tag localizations with API, without UI yet (#36754) 2025-12-18 18:25:58 +08:00
temporary_db.rb DEV: Run independent CI checks in parallel (#41640) 2026-07-13 10:55:28 +08:00
temporary_redis.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
text_cleaner.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
text_sentinel.rb DEV: Fix random typos (#33839) 2025-07-24 22:04:13 +02:00
theme_javascript_compiler.rb DEV: Improve cross-plugin/theme import handling (#40939) 2026-06-30 16:11:38 +01:00
theme_metadata.rb DEV: Remove deprecated themes/plugins from the list (#41948) 2026-07-23 13:06:14 +02:00
theme_modifier_helper.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
theme_resolver.rb FEATURE: system themes (#32681) 2025-06-13 10:36:31 +08:00
theme_screenshots_handler.rb DEV: enhance file type support for theme and component screenshots (#36372) 2025-12-02 13:12:11 +08:00
theme_settings_group_resolver.rb DEV: Add resolve_group_membership for theme object settings of group type (#41756) 2026-07-17 10:19:29 +10:00
theme_settings_manager.rb DEV: Add disallowed_groups to theme/component settings (#41792) 2026-07-20 09:28:52 +10:00
theme_settings_parser.rb DEV: Add disallowed_groups to theme/component settings (#41792) 2026-07-20 09:28:52 +10:00
theme_settings_validator.rb DEV: Add resolve_group_membership for theme object settings of group type (#41756) 2026-07-17 10:19:29 +10:00
theme_site_setting_resolver.rb FEATURE: Themeable site settings (#32233) 2025-07-16 11:00:21 +10:00
theme_translation_manager.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
theme_translation_parser.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
timeline_lookup.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
tiny_japanese_segmenter.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
top_menu.rb FEATURE: explicit default homepage setting (#41785) 2026-07-22 16:22:19 -04:00
topic_creator.rb SECURITY: Access control bypass in PM email recipients defeats message opt-out (#41932) 2026-07-22 11:15:08 -07:00
topic_list_responder.rb FIX: Use resolved locale for localizations, instead of param+site default fallback (#39395) 2026-04-21 15:52:35 +08:00
topic_locale_updater.rb UX: Allow user to set post and topic title language when manually creating post translations in modal (#41734) 2026-07-16 10:43:39 +08:00
topic_localization_creator.rb FIX: Update topic excerpts when the first post is localized (#36885) 2025-12-29 23:33:39 +08:00
topic_localization_destroyer.rb FIX: Also check if user can see post or topic prior to letting them localize it (#36749) 2025-12-18 02:12:58 +08:00
topic_localization_updater.rb FIX: Also check if user can see post or topic prior to letting them localize it (#36749) 2025-12-18 02:12:58 +08:00
topic_og_image_generator.rb FEATURE: generated OpenGraph images for topics (#39194) 2026-06-26 10:37:10 -04:00
topic_publisher.rb DEV: Add topic_published event (#31239) 2025-02-10 14:58:58 -05:00
topic_query.rb FEATURE: Add upcoming change for unified new view (#40631) 2026-06-09 11:34:22 +10:00
topic_query_params.rb DEV: Use tag_name/tag.name instead of tag_id/tag.id where the name is actually used (#36226) 2025-12-29 13:20:06 +08:00
topic_retriever.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
topic_subtype.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
topic_upload_security_manager.rb DEV: Introduce post_should_secure_uploads? plugin modifier (#26508) 2024-04-10 12:02:44 +10:00
topic_view.rb FIX: Allow selecting tags that are only used in personal messages (#41918) 2026-07-24 12:27:03 +02:00
topics_bulk_action.rb FIX: Scope group archive and inbox actions to the group's messages (#41662) 2026-07-14 10:05:10 +05:30
topics_filter.rb FEATURE: exclude groups from /filter route (#41714) 2026-07-15 09:42:08 -04:00
truncate_logs_formatter.rb SECURITY: Add a default limit as to when logs should be truncated 2023-10-16 10:34:38 -04:00
trust_level.rb FIX: recalculate respects default invitee trust level (#32393) 2025-04-23 09:49:44 +08:00
turbo_tests.rb DEV: Repair RSpec full_cause_backtrace under bin/turbo_rspec (#26087) 2024-03-07 18:35:46 +00:00
twitter_api.rb Revert "DEV: Replace Rinku native gem with PrettyText" (#31692) 2025-03-07 12:01:22 +10:00
unread.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
upcoming_changes.rb DEV: remove enable gifs upcoming change metadata (#41798) 2026-07-20 12:30:00 +04:00
upload_creator.rb SECURITY: Improve SVG sanitization 2026-06-30 16:10:52 +02:00
upload_markdown.rb FIX: Prevent backslash accumulation in upload markdown labels (#39461) 2026-06-03 18:10:38 +02:00
upload_recovery.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
upload_security.rb FIX: Don't secure the about banner image (#29889) 2024-11-25 11:12:00 +03:00
url_helper.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
user_comm_screener.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
user_lookup.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
user_name_suggester.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
vary_header.rb DEV: Apply syntax_tree formatting to lib/* 2023-01-09 12:10:19 +00:00
version.rb DEV: Begin development of v2026.7.0-latest 2026-06-30 16:19:27 +02:00
version_compatibility.rb UX: Do not log error for empty .discourse-compatibility file (#41804) 2026-07-17 10:55:00 +01:00
wizard.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
work_queue.rb PERF: Don't allow a single user to monopolize the defer queue (#25593) 2024-02-07 13:47:50 -06:00
xml_cleaner.rb FIX: Remove invalid chars from feed XMLs (#24001) 2023-10-19 14:37:37 -03:00