discourse/lib
Guo Xiang Tan 2cbb513c98 FIX: Don't use `Redis#keys` in production.
As per the documentation for KEYS

```
Warning: consider KEYS as a command that should only be used in production environments with extreme care. It may ruin performance when it is executed against large databases. This command is intended for debugging and special operations, such as changing your keyspace layout.
```

Instead SCAN

```
Since these commands allow for incremental iteration, returning only a small number of elements per call, they can be used in production without the downside of commands like KEYS or SMEMBERS that may block the server for a long time (even several seconds) when called against big collections of keys or elements.
```
2018-12-25 15:12:59 +02:00
..
active_record/connection_adapters Be more forceful in disconnecting connections during failover. 2018-09-04 10:32:43 +08:00
auth FIX: Use database to persist metadata during social registration (#6750) 2018-12-10 15:10:06 +00:00
autospec DEV: Enable `Style/SingleLineMethods` and `Style/Semicolon` in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
backup_restore FEATURE: Don't create PM for successful automatic backups 2018-12-20 13:34:24 +01:00
common_passwords Make rubocop happy again. 2018-06-07 13:28:18 +08:00
content_security_policy minor changes to default script-src (#6770) 2018-12-14 08:17:31 -05:00
demon DEV: handle termination cleanly in autospec 2018-06-19 16:13:36 +10:00
email FIX: Allow sending test e-mails to any email address when disable_email is set to non-staff (#6792) 2018-12-18 16:12:05 +01:00
emoji FEATURE: emoji 11.0 "recently added" update (#6275) 2018-08-16 11:59:45 +02:00
es6_module_transpiler DEV: Enable `Style/SingleLineMethods` and `Style/Semicolon` in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
file_store FIX: Ensure that multisite s3 uploads are tombstoned correctly (#6769) 2018-12-19 13:32:32 +08:00
freedom_patches FEATURE: Better handling of quotation marks in site text search 2018-11-12 13:26:41 +01:00
generators FEATURE: Post deployment migrations. (#6406) 2018-10-08 15:47:38 +08:00
guardian SECURITY: Users can pick non-avatar uploads. 2018-12-18 13:38:25 +08:00
highlight_js DEV: upgrades highlight.js from v9.12.0 to v9.13.1 2018-12-03 09:45:52 +11:00
i18n FEATURE: Better handling of quotation marks in site text search 2018-11-12 13:26:41 +01:00
import Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
import_export Enable `Lint/ShadowingOuterLocalVariable` for Rubocop. 2018-09-04 10:16:42 +08:00
javascripts DEV: Run prettier. (#6420) 2018-09-21 11:02:23 +00:00
middleware DEV: correct intermittent test failure 2018-12-13 18:27:13 +11:00
migration DEV: Enable `Style/SingleLineMethods` and `Style/Semicolon` in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
onebox Upgrade to FontAwesome 5 (take two) (#6673) 2018-11-26 16:49:57 -05:00
plugin DEV: Add openid-connect as an official plugin 2018-12-06 16:16:47 +00:00
pretty_text FIX: show generic title when quoting off-topic secure category posts 2018-12-03 09:42:32 +11:00
rate_limiter Add specs for `RateLimiter::LimitExceeded#description`. 2018-06-19 07:48:03 +08:00
scheduler FEATURE: log long running jobs in the defer queue 2018-10-12 17:03:47 +11:00
search FEATURE: new 'search_ignore_accents' site setting 2018-09-17 10:42:30 +02:00
sidekiq FIX: queue heartbeats in readonly modes 2018-08-29 12:36:59 +10:00
site_settings FEATURE: Prohibit S3 bucket reusage 2018-12-17 11:35:28 +01:00
stylesheet DEV: Enable `Style/SingleLineMethods` and `Style/Semicolon` in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
svg_sprite FIX: Add missing android icon 2018-12-07 15:49:40 +00:00
tasks DEV: allow creating users with random passwords via rake 2018-12-18 11:43:16 +08:00
theme_store FEATURE: add branch option to remote theme import 2018-10-09 17:01:08 +11:00
validators DEV: Enable `Style/SingleLineMethods` and `Style/Semicolon` in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
wizard FEATURE: add short_site_description setting to be included in title tag on homepage 2018-12-12 11:46:58 +01:00
admin_confirmation.rb SECURITY: Confirm new administrator accounts via email 2017-04-04 15:59:01 -04:00
admin_constraint.rb Revert "FIX: Don't rate limit admin and staff constraints when matching routes." 2018-09-04 14:27:21 +08:00
admin_user_index_query.rb FEATURE: Second factor backup 2018-06-28 10:12:32 +02:00
age_words.rb reused value of Time.now in a method 2015-12-01 21:06:37 +00:00
archetype.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
auth.rb DEV: Introduce Auth::ManagedAuthenticator 2018-11-30 11:18:11 +00:00
avatar_lookup.rb UX: show full name on /latest page 2018-08-23 14:41:06 +05:30
badge_posts_view_manager.rb Extract `badge_posts` view management logic into a service object. 2018-09-03 09:51:35 +08:00
badge_queries.rb FEATURE: Add Wiki Editor badge. (#6511) 2018-10-19 15:30:27 +02:00
base62.rb remove constant warning in base62 file 2018-01-19 19:52:42 +01:00
browser_detection.rb FIX: Fix browser detection for Microsoft Edge. (#6516) 2018-10-22 23:15:41 +11:00
cache.rb FIX: Don't use `Redis#keys` in production. 2018-12-25 15:12:59 +02:00
canonical_url.rb
category_badge.rb FIX: avoid using absolute positioning for box category style in emails (#6607) 2018-11-15 14:35:50 +01:00
comment_migration.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
composer_messages_finder.rb FIX: Relative links in translations should work with subfolder 2018-11-08 23:31:05 +00:00
configurable_urls.rb Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
content_buffer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
content_security_policy.rb FEATURE: allow plugins and themes to extend the default CSP (#6704) 2018-11-30 09:51:45 -05:00
cooked_post_processor.rb use proper typographical × instead of x 2018-12-24 20:33:17 -08:00
crawler_detection.rb FIX: cubot android devices were detected as crawlers 2018-06-21 10:56:46 +10:00
current_user.rb FIX: Do not check for suspicious login when impersonating. (#6534) 2018-11-12 15:34:12 +01:00
custom_renderer.rb
custom_setting_providers.rb Plugins can register providers for global settings 2017-01-09 17:18:58 -05:00
db_helper.rb Revert "Swtich to regexp for `DbHelper.remap`." 2018-11-08 14:20:09 +08:00
directory_helper.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
discourse.rb FIX: Enabling readonly mode should clear anon cache as well. 2018-12-18 11:56:25 +08:00
discourse_cookie_store.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
discourse_diff.rb FIX: don't add diff classes more than once 2018-04-16 15:41:45 +02:00
discourse_event.rb Remove stubs on DiscourseEvent in tests. 2017-06-01 16:21:00 +09:00
discourse_hub.rb DEV: Remove the use of stubs on `Rails.logger` in our test suite. 2018-10-10 09:34:50 +08:00
discourse_iife.rb Allow the loader to understand when files are moved 2016-11-15 11:41:16 -05:00
discourse_ip_info.rb FEATURE: adds security tab to dashboard (#6768) 2018-12-14 13:47:59 +01:00
discourse_logstash_logger.rb FIX: Incorrect formatter used when logstash formatter is enabled. 2018-04-17 12:07:52 +08:00
discourse_plugin.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
discourse_plugin_registry.rb Upgrade to FontAwesome 5 (take two) (#6673) 2018-11-26 16:49:57 -05:00
discourse_redis.rb FIX: Don't use `Redis#keys` in production. 2018-12-25 15:12:59 +02:00
discourse_tagging.rb FIX: Can't clean a tag if the given string is frozen. 2018-10-15 14:48:45 +08:00
discourse_updates.rb REFACTOR: Avoid duplicated logic on server and client. 2017-11-21 17:10:04 +08:00
disk_space.rb FEATURE: Improve backup stats on admin dashboard 2018-12-17 11:35:11 +01:00
distributed_cache.rb REFACTOR: distributed_cache is moved to the message_bus gem 2018-10-15 15:01:45 -04:00
distributed_memoizer.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
distributed_mutex.rb FIX: correct readonly timeout 2018-09-20 15:15:46 +10:00
edit_rate_limiter.rb Add better error messages for rate limits. 2015-09-24 13:52:46 -04:00
email.rb Upgrade mail gem to remove dependency on mime-types. 2018-03-14 14:37:55 +08:00
email_backup_token.rb FEATURE: further restrict downloading of backups 2017-03-01 08:28:34 -07:00
email_cook.rb replace indentation with non-breaking spaces when cooking emails 2017-11-18 17:16:44 +01:00
email_updater.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
encodings.rb Use rchardet instead of charlock_holmes gem 2018-08-01 10:41:20 +02:00
enum.rb Enums that are used in tables need to be stable 2016-01-08 20:43:11 +05:30
enum_site_setting.rb
excerpt_parser.rb FIX: Calculation of text length for <details> in excerpt was wrong 2018-03-12 16:55:23 +01:00
feed_element_installer.rb FEATURE: Replace SimpleRSS with Ruby RSS module (#5311) 2017-12-06 10:45:09 +11:00
feed_item_accessor.rb FEATURE: Replace SimpleRSS with Ruby RSS module (#5311) 2017-12-06 10:45:09 +11:00
file_helper.rb Include response body when raising an error in `FileHelper#download`. 2018-09-13 15:43:58 +08:00
filter_best_posts.rb PERF: Remove `Object#present?` check introduced in e0d5d9670a. 2017-09-07 21:36:27 +08:00
final_destination.rb FIX: preserve github fragment URL 2018-12-19 12:34:47 +05:30
flag_query.rb PERF: Use mini_sql for the query 2018-11-05 14:44:27 -05:00
flag_settings.rb Refactor flag types for more customization 2017-10-19 13:55:23 -04:00
gaps.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
global_path.rb FIX: Use CDN for logos and icons. (#6698) 2018-12-19 10:20:48 +01:00
guardian.rb SECURITY: Require groups to be given when inviting to a restricted category. (#6715) 2018-12-05 16:43:07 +01:00
has_errors.rb Add `PostCreator#create!`. 2016-07-15 11:36:06 +08:00
headless-ember.js
hijack.rb FEATURE: detect when client thinks user is logged on but is not 2018-03-06 16:49:31 +11:00
homepage_constraint.rb FEATURE: Allow the user to select a custom home page (#5268) 2017-11-10 06:45:19 +11:00
html_prettify.rb Update Rubocop to 0.60 2018-12-04 10:48:16 +01:00
html_to_markdown.rb FIX: Font tag resulted in wrong email trimming 2018-12-18 11:40:54 +01:00
image_sizer.rb FIX: raise exception when getting dimensions of missing image 2018-12-03 10:19:49 -05:00
inline_oneboxer.rb FIX: Cache url data for failed inline oneboxes 2018-11-13 01:44:20 +05:30
introduction_updater.rb FIX: Wizard tries harder to find existing Welcome Topic 2018-12-06 10:27:22 +01:00
ip_addr.rb Replace certain uses of 'gsub' with 'tr' or 'chomp' for a speed 2016-06-10 22:08:37 -05:00
js_locale_helper.rb DEV: Use locale fallback even in development mode 2018-12-18 16:01:14 +01:00
json_error.rb FEATURE: Support backup uploads/downloads directly to/from S3. 2018-10-15 09:43:31 +08:00
letter_avatar.rb FIX: don't generate an exception when trying to cleanup unexisting tmp letter avatars 2018-05-30 15:33:58 +02:00
markdown_linker.rb FIX: subfolder digest emails have incorrect URLs 2018-08-07 16:38:17 -04:00
mem_info.rb
message_bus_diags.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
method_profiler.rb FIX: stop double counting net calls in logs 2018-02-28 10:45:11 +11:00
mini_sql_multisite_connection.rb Move into MiniSQLMultisiteConnection, and add test for rollback 2018-07-24 09:41:55 +01:00
mobile_detection.rb radically simplify our mobile user agent detection 2016-03-26 02:02:23 -07:00
new_post_manager.rb FIX: Don't enqueue topics if the user can't create them 2018-11-09 18:24:28 +01:00
new_post_result.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
notification_levels.rb Server side code for Watching First Post Only 2016-07-07 11:21:50 -04:00
oneboxer.rb DEV: assign constant to `preserve_fragment_url_hosts` 2018-12-19 17:37:39 +05:30
onpdiff.rb
pbkdf2.rb more prep work for jRuby 2018-02-26 10:25:58 +11:00
permalink_constraint.rb FIX: permalink normalization not applied at constraint 2015-07-22 13:40:45 +10:00
pinned_check.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
plain_text_to_markdown.rb FEATURE: convert plain text emails to markdown 2017-12-06 01:47:51 +01:00
plugin_gem.rb Override problematic .gemrc setting 2018-10-17 15:31:58 +11:00
post_action_creator.rb PERF: Avoid calling expensive `PostGuardian#can_see_post?` multiple times. 2017-09-08 14:07:24 +08:00
post_creator.rb FIX: Fix query selecting users not accepting PMs. 2018-11-29 15:59:30 +08:00
post_destroyer.rb FIX: defer flags (only) when handling a flag and deleting replies (#6702) 2018-11-29 22:44:18 +05:30
post_enqueuer.rb FIX: When approving/rejecting a post it should delete the user action 2015-04-24 15:25:47 -04:00
post_jobs_enqueuer.rb Always link post to uploads in post process. 2018-09-06 14:08:03 +08:00
post_locker.rb FEATURE: Staff members can lock posts 2018-01-26 14:01:30 -05:00
post_merger.rb FIX: Revised post not updated correctly when merging posts. 2016-08-11 09:01:54 +08:00
post_revisor.rb FIX: make staff_edit_locks_post work with download_remote_images_to_local 2018-12-03 14:14:59 +11:00
pretty_text.rb FIX: Fix mentions for mixed case group names 2018-11-26 15:34:56 +00:00
primary_group_lookup.rb PERF: Remove N+1 query when generating posters summary. 2017-09-14 12:07:35 +08:00
promotion.rb FIX: Clarify User.group_locked_trust_level. 2018-11-07 10:27:44 +08:00
quote_comparer.rb FEATURE: Add `quote-modified` class if a quote has been modified 2018-03-13 13:41:06 -04:00
rate_limiter.rb correct return value 2018-04-25 08:44:07 +10:00
remap.rb REFACTOR: move remap out of script into a class 2018-08-15 12:37:52 -04:00
retrieve_title.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
route_format.rb FIX: `RouteFormat` is a better class name than `RouteFormats` 2017-12-21 15:30:32 -05:00
rtl.rb DEV: Move RTL into lib where it belongs 2017-07-03 15:26:57 -04:00
s3_helper.rb FIX: Ensure that multisite s3 uploads are tombstoned correctly (#6769) 2018-12-19 13:32:32 +08:00
score_calculator.rb PERF: we have no use for topic percent rank 2018-07-05 15:10:19 +10:00
screening_model.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
search.rb REFACTOR: compact! works since the array can't contain empty strings 2018-11-22 13:27:34 +01:00
secure_session.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
single_sign_on.rb FIX: move sso provider into its own class so it doesn't interfere with sso client (#6767) 2018-12-19 10:22:10 +01:00
single_sign_on_provider.rb FIX: move sso provider into its own class so it doesn't interfere with sso client (#6767) 2018-12-19 10:22:10 +01:00
site_setting_extension.rb DEV: Use a set in `SiteSetting.settings_hash`. 2018-11-22 17:16:40 +08:00
slug.rb FIX: strip emoji string from slug 2018-04-18 11:32:32 +05:30
socket_server.rb Improve error messaging in `SocketServer`. 2018-09-19 09:11:10 +08:00
source_url.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
spam_handler.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
sql_builder.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
staff_constraint.rb Revert "FIX: Don't rate limit admin and staff constraints when matching routes." 2018-09-04 14:27:21 +08:00
staff_message_format.rb More extensibility for custom silence/suspend messages 2018-01-19 11:35:19 -05:00
stats_socket.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
suggested_topics_builder.rb tweaks to related message list generation 2018-10-29 16:09:58 +11:00
system_message.rb Convert server side paths to use `/u/` 2017-03-30 10:23:24 -04:00
text_cleaner.rb FIX: Skip gsub for normalizing whitespaces when text is nil (#6631) 2018-11-20 09:12:32 +01:00
text_sentinel.rb rename 'min_private_message_{post/title}_length' to 'min_personal_message_{post/title}_length' 2018-02-01 13:25:29 +05:30
theme_settings_manager.rb PERF: Eradicate N+1 queries from the theme admin page 2018-12-21 11:03:58 +02:00
theme_settings_parser.rb FEATURE: introduces list/compact_list components 2018-08-03 16:41:37 -04:00
timeline_lookup.rb PERF: Don't pluck all the columns just to retrieve a single value. 2018-06-27 11:41:35 +08:00
topic_creator.rb FIX: don't double add users to topic allowed users 2018-12-10 14:45:02 +11:00
topic_list_responder.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
topic_publisher.rb FIX: Update `last_version_at` when publishing 2018-03-26 16:06:20 -04:00
topic_query.rb FIX: remove slow platform detection from server side 2018-12-13 13:57:05 +11:00
topic_query_sql.rb DEV: Rails 5.2 upgrade and global gem upgrade 2018-06-07 14:21:33 +10:00
topic_retriever.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
topic_subtype.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
topic_view.rb FIX: remove slow platform detection from server side 2018-12-13 13:57:05 +11:00
topics_bulk_action.rb FIX: Bulk deleting topics should ignore already deleted topics 2018-08-14 16:37:52 +02:00
trust_level.rb FIX: admin trust level user list URL should be consistent with new naming 2015-11-23 14:28:56 +05:30
twitter_api.rb FIX: allow Twitter videos to go fullscreen 2018-07-19 10:22:36 +05:30
unread.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
upload_creator.rb FEATURE: do not switch to JPEG unless you meet 75k byte savings 2018-11-21 11:01:08 +11:00
upload_fixer.rb typo in error message 2018-08-10 11:34:01 +10:00
upload_recovery.rb Fix `UploadRecovery` from S3 fails with bucket name containing sub-folder. 2018-10-01 19:03:02 +08:00
url_helper.rb FIX: URLs containing two # would fail to work 2018-12-11 18:03:13 +11:00
user_name_suggester.rb FIX: don't raise an error on integer usernames 2018-09-10 22:17:56 +05:30
version.rb Version bump to v2.2.0.beta6 2018-12-14 12:21:55 -05:00
wizard.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00