discourse/lib
Krzysztof Kotlarek d50bba3bdc
DEV: Allow SiteSetting::Update service to bulk update (#31438)
Previously, the SiteSetting::Update service allowed to update of a
single site setting. In the About controller, we were using the loop
through all settings -
https://github.com/discourse/discourse/blob/main/app/controllers/admin/config/about_controller.rb#L39

It is suboptimal because if the 3 first settings are saved and the
fourth is invalid, we will end with partially updated data.

Changing SiteSetting::Update to accept hash means that we will check
upfront if none of the settings are hidden or invalid and update all or
none.

Custom policies are used to report which settings are failing.
2025-02-24 11:09:44 +11:00
..
action_dispatch/session
active_support_type_extensions DEV: Improve array type in service contracts 2024-10-17 17:02:02 +02:00
auth FIX: Incorrect topic per-minute invitation rate limit (#31252) 2025-02-10 13:12:16 +10:00
autospec DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
backup_restore FIX: truncate extremely long site name titles (#30977) 2025-01-24 15:47:05 +11:00
common_passwords
compression DEV: Fix Lint/ShadowedArgument (#24733) 2023-12-06 13:16:10 +01:00
content_security_policy FIX: invalid CSP directive sources should allow site to boot with valid CSP directives (#31256) 2025-02-10 20:38:36 +08:00
demon DEV: Fix undefined method check_email_sync_heartbeat in unicorn conf (#30360) 2024-12-19 10:10:11 +08:00
discourse_dev DEV: Populate all subtypes of ReviewableQueuedPost (#30663) 2025-01-09 17:41:11 +03:00
discourse_webauthn DEV: Add routes and controller actions for passkeys (2/3) (#23587) 2023-10-11 14:36:54 -04:00
email FIX: only attach images in digests (#30844) 2025-01-17 15:36:47 +01:00
email_controller_helper DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
emoji FEATURE: Type reactions in chat (#31439) 2025-02-21 17:43:28 +11:00
faker DEV: Don't run dev-only code in specs (#23427) 2023-09-06 02:14:57 +02:00
file_store DEV: Remove optimized_images_preloaded kwarg from FileStore::S3Store#update_upload_ACL (#31087) 2025-01-31 15:53:06 +08:00
final_destination SECURITY: Add FastImage SSRF safe freedom patch 2024-07-03 20:49:15 +08:00
freedom_patches DEV: Upgrade Rails to version 7.2 2024-11-27 10:48:47 +01:00
generators FEATURE: Create rake for db migration in plugins (#29163) 2024-10-18 11:43:45 -03:00
guardian FEATURE: display process information on flag modal (#31300) 2025-02-14 11:26:20 +11:00
i18n DEV: Enable Rails 7.1 defaults 2024-08-12 10:41:13 +02:00
imap DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
import DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
import_export DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
middleware DEV: Update to OmniAuth 2.0 (#25707) 2025-02-11 11:18:07 +00:00
migration DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
onebox FIX: Wikipedia onebox images and sections (#31384) 2025-02-19 14:29:17 +10:00
plugin FEATURE: Initial version of experimental admin search (#31299) 2025-02-21 11:59:24 +10:00
pretty_text FIX: Quoting videos can show a corrupted thumbnail (#31079) 2025-01-30 17:54:50 -07:00
rate_limiter
request_tracker/rate_limiters DEV: API to register custom request rate limiting conditions (#30239) 2024-12-23 09:57:18 +08:00
reviewable FIX: Discard empty bundles for reviewables (#30121) 2024-12-05 15:41:13 +10:00
scheduler FIX: handle more thread pool edge cases (#30392) 2024-12-20 11:50:00 +11:00
search FIX: Handle nil post_search_data for search result (#26179) 2024-03-14 14:40:46 -03:00
second_factor DEV: Update confirm-email flows to use central 2fa and ember rendering (#25404) 2024-01-30 10:32:42 +00:00
seed_data FIX: Requested changes from dev (#28784) 2024-09-09 08:55:42 -05:00
service DEV: Make Ruby services thread-safe 2025-02-11 11:18:42 +01:00
sidekiq FIX: Redo Sidekiq monitoring to restart stuck sidekiq processes (#30198) 2024-12-18 12:48:50 +08:00
site_settings DEV: Allow SiteSetting::Update service to bulk update (#31438) 2025-02-24 11:09:44 +11:00
stylesheet DEV: Improve postcss error handling (#31420) 2025-02-20 16:48:22 +00:00
tasks DEV: Drop ember-cli-based SCSS and locale compilation (#31407) 2025-02-21 11:15:04 +00:00
theme_settings_manager FIX: Pass values of objects typed settings to theme migrations (#26751) 2024-04-25 16:39:22 +03:00
theme_store DEV: Replace silent theme-install fails with exceptions (#28485) 2024-08-22 12:09:56 +01:00
topic_query FEATURE: option to sort user and group private messages. (#25146) 2024-01-10 13:33:30 +05:30
turbo_tests DEV: check_pending -> check_all_pending! (#27724) 2024-07-05 09:29:32 +08:00
validators FIX: Improve group name validation (#31315) 2025-02-19 19:33:46 +02:00
wizard UX: Conditionally refresh page on wizard styling step (#31193) 2025-02-06 10:31:22 +10:00
admin_confirmation.rb
admin_constraint.rb
admin_user_index_query.rb FEATURE: show silence reason when viewing silenced users (#30635) 2025-01-08 16:04:19 +11:00
age_words.rb
application_layout_preloader.rb FEATURE: Initial version of experimental admin search (#31299) 2025-02-21 11:59:24 +10:00
archetype.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
auth.rb FIX: Do not capture OAuth user on 2FA page (#27617) 2024-06-27 10:27:49 +10:00
backup_restore.rb Revert "FIX: backup_restore.rb wants db user from user, not username (#28229)" (#28245) 2024-08-06 14:11:48 +01:00
badge_posts_view_manager.rb
badge_queries.rb FEATURE: custom flag can require additional message (#27908) 2024-07-18 10:10:22 +10:00
base62.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
bookmark_manager.rb
bookmark_query.rb FIX: Show deleted bookmark reminders in user bookmarks menu (#25905) 2024-02-29 09:03:49 +10:00
bookmark_reminder_notification_handler.rb FIX: Bookmark reminder was clearing incorrectly (#28506) 2024-08-26 09:17:39 +10:00
bookmarks_bulk_action.rb FIX: Bookmark reminder was clearing incorrectly (#28506) 2024-08-26 09:17:39 +10:00
browser_detection.rb
cache.rb FIX: race condition in Discourse.cache.fetch (#28124) 2024-07-30 09:08:12 +02:00
canonical_url.rb
category_badge.rb FIX: email category badges shouldn't use category text color (#25655) 2024-02-13 10:18:36 -05:00
chrome_installed_checker.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
color_math.rb
comment_migration.rb
common_passwords.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
composer_messages_finder.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
configurable_urls.rb
content_buffer.rb
content_security_policy.rb DEV: Remove unsafe_eval from test/theme-test CSP (#28774) 2024-09-06 13:28:33 +02:00
cooked_post_processor.rb FIX: show lightbox for small images (#29140) 2024-10-18 09:45:08 +04:00
cooked_processor_mixin.rb UX: replace broken link SVG with new Font Awesome 6 name (#29623) 2024-11-06 13:35:07 -05:00
crawler_detection.rb
csrf_token_verifier.rb
current_user.rb
custom_renderer.rb
db_helper.rb SECURITY: Preload data only when rendering application layout 2025-02-04 13:32:30 -03:00
deprecated_icon_handler.rb DEV: convert icon name earlier for plugins in test env (#31196) 2025-02-13 07:20:23 +08:00
directory_helper.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
discourse.rb FEATURE: Allow setting locale from 'lang' param (#30952) 2025-01-24 11:53:13 +08:00
discourse_connect_base.rb FEATURE: Increase default DiscourseConnect session length (#26261) 2024-03-20 14:02:12 +00:00
discourse_connect_provider.rb DEV: lint against Layout/EmptyLineBetweenDefs (#24914) 2023-12-15 23:46:04 +08:00
discourse_dev.rb
discourse_diff.rb DEV: Update nokogiri to 1.18.1 (#30554) 2025-01-07 12:05:39 +01:00
discourse_event.rb DEV: Add :push_notification event and deprecate :post_notification_alert (#22917) 2023-08-02 18:44:19 -03:00
discourse_hub.rb DEV: include more data in Discourse Discover enrollment payload. (#25846) 2024-02-25 10:42:50 +05:30
discourse_ip_info.rb FIX: Rescue and warn when error is encountered in DiscourseIpInfo.mmdb_download (#28134) 2024-07-30 11:33:20 +08:00
discourse_js_processor.rb DEV: Introduce postcss for autoprefix and light-dark() polyfill (#31393) 2025-02-20 14:40:27 +00:00
discourse_logstash_logger.rb PERF: Don't execute a git command each time we log a log line (#30177) 2024-12-09 11:11:03 +08:00
discourse_plugin_registry.rb DEV: Add a new type_source field to the Reviewable model. (#31325) 2025-02-20 09:09:47 +11:00
discourse_redis.rb
discourse_sourcemapping_url_processor.rb
discourse_tagging.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
discourse_updates.rb FIX: Calculate experiment_enabled on server for "What's new?" (#30599) 2025-01-07 11:27:24 +10:00
discourse_webauthn.rb FIX: Webauthn origin was incorrect for subfolder setups (#25651) 2024-02-12 16:27:24 -05:00
disk_space.rb PERF: Faster disk space calculation on upload heavy instances (#28307) 2024-10-24 12:11:40 +02:00
distributed_cache.rb DEV: Reduce duplication with DistributedMutex#clear_regex (#25795) 2024-02-21 14:19:04 -06:00
distributed_memoizer.rb
distributed_mutex.rb
edit_rate_limiter.rb
email.rb
email_backup_token.rb
email_cook.rb
email_templates_finder.rb FIX: Add new/missing email templates to the email templates editor (#28075) 2024-07-30 00:27:41 +03:00
email_updater.rb
ember_cli.rb DEV: Switch to pnpm for JS dependencies (#28671) 2024-09-03 10:51:07 +01:00
encodings.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
enum.rb
enum_site_setting.rb
excerpt_parser.rb DEV: Update nokogiri to 1.18.1 (#30554) 2025-01-07 12:05:39 +01:00
external_upload_helpers.rb DEV: Improve external upload debugging (#28627) 2024-08-30 10:25:04 +10:00
feed_element_installer.rb
feed_item_accessor.rb
file_helper.rb FIX: Allow attachments to be opened in a new tab instead of downloading them (#30535) 2025-01-07 10:32:32 +08:00
filter_best_posts.rb
final_destination.rb FEATURE: use new site setting for onebox custom user agent. (#28045) 2024-07-24 04:45:30 +05:30
flag_query.rb
flag_settings.rb FEATURE: custom flag can require additional message (#27908) 2024-07-18 10:10:22 +10:00
gaps.rb
gc_stat_instrumenter.rb
git_repo.rb
git_url.rb
git_utils.rb DEV: Fix unicorn not booting due to 8e10878 (#27727) 2024-07-05 10:36:13 +08:00
global_path.rb
group_lookup.rb
guardian.rb SECURITY: Ability to bypass disabling chat of users 2025-02-04 13:32:42 -03:00
has_errors.rb FIX: prevents PM to large groups (#28681) 2024-09-03 12:08:14 +02:00
highlight_js.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
hijack.rb FIX: Reports did not respect user locale (#30524) 2025-01-02 13:05:53 +10: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 DEV: implements register_modifier(:custom_homepage_enabled) (#28657) 2024-08-30 11:06:07 +02:00
html_prettify.rb
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
image_sizer.rb
import_export.rb
inline_oneboxer.rb SECURITY: Limit /inline-onebox to 10 URLs at a time 2025-02-04 13:32:53 -03:00
job_time_spacer.rb
js_locale_helper.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
json_error.rb
letter_avatar.rb DEV: replace imagemagick convert commands with magick (#27767) 2024-07-08 16:55:59 +08:00
markdown_linker.rb
mem_info.rb DEV: Move non scheduled problem checks to classes (#26122) 2024-03-14 10:55:01 +08:00
message_bus_diags.rb
method_profiler.rb DEV: Log number of live slots used by requests (#29884) 2024-11-28 18:25:48 +02:00
mini_scheduler_long_running_job_logger.rb DEV: Log a warning message when a MiniScheduler scheduled job is stuck (#28258) 2024-08-08 12:20:16 +08:00
mini_sql_multisite_connection.rb DEV: Track SQL queries from MiniSql (#28824) 2024-09-11 10:14:53 +03:00
mobile_detection.rb DEV: Consolidate mobile positioning strategies on mobile and iPad (#30241) 2025-01-10 11:00:15 -05:00
new_post_manager.rb FEATURE: new fast_typing_threshold site setting (#30865) 2025-01-28 09:53:03 +11:00
new_post_result.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
notification_levels.rb
onebox.rb SECURITY: Prevent Onebox cache overflow by limiting downloads and URL lengths 2023-11-09 13:39:18 +11:00
oneboxer.rb FEATURE: Add a onebox_locale site setting. (#30655) 2025-01-09 14:11:37 +11:00
onpdiff.rb
password_hasher.rb
pbkdf2.rb
permalink_constraint.rb
pinned_check.rb
plain_text_to_markdown.rb DEV: Bump rubocop_discourse (#29608) 2024-11-06 06:27:49 +08:00
plugin.rb DEV: Fixup plugin initialization guard (#24628) 2023-11-29 11:44:09 +00:00
plugin_gem.rb DEV: Search for -gnu gem variants (#27347) 2024-06-05 14:58:02 +02:00
post_action_creator.rb DEV: Add "delete user" options to illegal flag review (#29956) 2024-11-27 17:23:57 +08:00
post_action_destroyer.rb FIX: serialize Flags instead of PostActionType (#28362) 2024-08-14 12:13:46 +10:00
post_action_result.rb
post_action_type_view.rb FIX: serialize Flags instead of PostActionType (#28362) 2024-08-14 12:13:46 +10:00
post_creator.rb Apply the same url normalisation to embed_urls inserted in the PostCreator (#30641) 2025-01-09 14:59:08 -05:00
post_destroyer.rb FIX: update flag reason message with default value (#30026) 2024-12-04 14:46:52 +11:00
post_jobs_enqueuer.rb DEV: Add import_embed_unlisted site setting (#26222) 2024-03-27 08:57:43 -04:00
post_locker.rb
post_merger.rb
post_revisor.rb FIX: Change create_post_for_category_and_tag_changes setting to use whispers instead of small actions (#29602) 2024-11-06 09:28:28 -03:00
presence_channel.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
pretty_text.rb FIX: Quoting videos can show a corrupted thumbnail (#31079) 2025-01-30 17:54:50 -07: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 SECURITY: escape display names 2023-11-09 13:39:06 +11:00
rake_helpers.rb
rate_limiter.rb
read_only_mixin.rb FIX: Change request method for categories/search (#26976) 2024-05-13 14:37:17 +03:00
require_dependency_backward_compatibility.rb
retrieve_title.rb FIX: Inline oneboxes should obey the locale. (#30664) 2025-01-09 17:22:22 +11:00
route_format.rb
route_matcher.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08: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 FIX: Update DIRECT_UPLOAD CORS ruleset to include new Amazon signing headers (#23379) 2023-09-04 16:09:52 +10:00
s3_helper.rb FIX: Use dualstack S3 endpoint for direct uploads (#29611) 2024-11-07 11:06:39 +10:00
s3_inventory.rb FIX: S3Inventory#backfill_etags_and_list_missing need to unescape key (#30787) 2025-01-15 14:52:49 +08:00
score_calculator.rb
screening_model.rb
search.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
secure_session.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
secure_upload_endpoint_helpers.rb DEV: Add SecureUploadEndpointHelpers for controllers (#25758) 2024-02-20 11:19:22 +10:00
service.rb DEV: Replace params by the contract object in services 2024-10-25 14:48:34 +02: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: Improve logging of Sidekiq errors when logstash logger is enabled (#27855) 2024-07-11 14:17:18 +08:00
sidekiq_long_running_job_logger.rb DEV: Add ability to log a warning when Sidekiq job runs for too long (#27446) 2024-06-13 14:24:44 +08:00
signal_trap_logger.rb DEV: Log Unicorn worker timeout backtraces to Rails.logger (#27257) 2024-06-03 12:51:12 +08:00
site_icon_manager.rb
site_setting_extension.rb FEATURE: Initial version of experimental admin search (#31299) 2025-02-21 11:59:24 +10:00
slug.rb
smtp_provider_overrides.rb UX: Use a dropdown for SSL mode for group SMTP (#27932) 2024-07-18 10:33:14 +10:00
socket_server.rb
spam_handler.rb
staff_constraint.rb
staff_message_format.rb
statistics.rb FIX: participating users statistics... (#29293) 2024-10-21 18:18:42 +02:00
suggested_topics_builder.rb DEV: Add modifier to SuggestedTopicsBuilder#add_results (#29164) 2024-10-10 10:03:26 -05:00
svg_sprite.rb DEV: convert icon name earlier for plugins in test env (#31196) 2025-02-13 07:20:23 +08:00
system_message.rb
temporary_db.rb
temporary_redis.rb
text_cleaner.rb
text_sentinel.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
theme_javascript_compiler.rb DEV: Move discourse-common/(utils|lib) to discourse/lib (#30733) 2025-01-13 13:02:49 +00:00
theme_metadata.rb DEV: Run system tests for official themes (#24378) 2023-11-16 07:11:35 +08:00
theme_modifier_helper.rb
theme_resolver.rb DEV: Extract theme resolution to a helper (#27426) 2024-06-20 11:33:46 -04:00
theme_settings_manager.rb FIX: Pass values of objects typed settings to theme migrations (#26751) 2024-04-25 16:39:22 +03:00
theme_settings_object_validator.rb DEV: Add isValidUrl helper function to theme migrations (#26817) 2024-04-30 16:45:07 +08:00
theme_settings_parser.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
theme_settings_validator.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +02:00
theme_translation_manager.rb
theme_translation_parser.rb
timeline_lookup.rb
tiny_japanese_segmenter.rb
topic_creator.rb FIX: Process tag synonyms when approving reviewable queued post (#30810) 2025-01-16 11:01:45 +10:00
topic_list_responder.rb
topic_publisher.rb DEV: Add topic_published event (#31239) 2025-02-10 14:58:58 -05:00
topic_query.rb FIX: remove muted topics/tags/categories from top and hot topics lists (#30892) 2025-01-29 11:51:10 +01:00
topic_query_params.rb FIX: Return 400 response codes when topic list query params are invalid (#27930) 2024-07-16 10:30:04 +08:00
topic_retriever.rb
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 FEATURE: Show when a badge has been granted for a post (#29696) 2024-12-03 13:43:27 +11:00
topics_bulk_action.rb FIX: Message for bulk closing topics silently (#27400) 2024-06-11 09:36:54 +10:00
topics_filter.rb DEV: Extend /filter's ability to order (#28242) 2024-08-07 16:37:00 +08: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
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
unicorn_logstash_patch.rb
unread.rb
upload_creator.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
upload_fixer.rb
upload_markdown.rb DEV: Uploads import script can download files (#26816) 2024-05-04 22:48:16 +02:00
upload_recovery.rb
upload_security.rb FIX: Don't secure the about banner image (#29889) 2024-11-25 11:12:00 +03:00
url_helper.rb DEV: Add isValidUrl helper function to theme migrations (#26817) 2024-04-30 16:45:07 +08:00
user_comm_screener.rb
user_lookup.rb
user_name_suggester.rb FEATURE: Improve use_email_for_username_and_name_suggestions (#30845) 2025-01-21 13:04:48 +00:00
vary_header.rb
version.rb Bump version to v3.5.0.beta1-dev 2025-02-04 13:49:16 -03:00
wizard.rb DEV: Update to lastest rubocop-discourse 2024-05-27 18:06:14 +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