This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/lib
Sam Saffron 5f896ae8f7 PERF: Keep track of when a users first unread is
This optimisation avoids large scans joining the topics table with the
topic_users table.

Previously when a user carried a lot of read state we would have to join
the entire read state with the topics table. This operation would slow down
home page and every topic page. The more read state you accumulated the
larger the impact.

The optimisation helps people who clean up unread, however if you carry
unread from years ago it will only have minimal impact.
2019-04-05 12:44:45 +11:00
..
active_record/connection_adapters DEV: Allow custom value when pausing sidekiq to aid in debugging. 2019-02-19 10:55:53 +08:00
auth FEATURE: Allow auth providers to define specific icons 2019-03-27 13:25:04 +00:00
autospec DEV: Remove trailing blank line 2019-04-02 15:49:23 +01:00
backup_restore FEATURE: Allow discourse script to skip disabling of emails after restore 2019-03-07 21:49:33 +01:00
common_passwords Make rubocop happy again. 2018-06-07 13:28:18 +08:00
content_security_policy FEATURE: Calculate CSP based on active themes (#6976) 2019-02-11 12:32:04 +00:00
demon FEATURE: introduce ultra_low priority queue 2019-01-17 14:53:19 +11:00
email FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
emoji FIX: correctly uses woman version of previously genderless emojis (#7285) 2019-03-29 10:53:29 +01: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 the build. 2019-03-13 17:39:07 +08:00
freedom_patches HTTPSify links (#7046) 2019-02-22 16:29:27 +01:00
generators REFACTOR: Move queue_jobs out of SiteSetting 2019-03-14 10:47:38 -04:00
guardian FIX: only staff can banner topics 2019-04-02 12:46:55 +05:30
highlight_js DEV: already defined constant 'HIGHLIGHTJS_DIR' 2019-01-21 10:12:23 +01:00
i18n REFACTOR: Use keyword argument for fallback_to_english flag 2019-02-19 15:28:47 +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 FEATURE: Add Armenian language 2019-03-28 14:24:14 +01:00
middleware FEATURE: Optional detailed performance logging for Sidekiq jobs (#7091) 2019-03-05 11:19:11 +00: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 Add Yearly review plugin 2019-04-03 11:30:49 +02:00
pretty_text UX: Better emoji escaping for topic title (#7218) 2019-03-21 09:11:33 +01:00
rate_limiter Add specs for RateLimiter::LimitExceeded#description. 2018-06-19 07:48:03 +08:00
reviewable FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
scheduler FEATURE: log long running jobs in the defer queue 2018-10-12 17:03:47 +11:00
search FIX: Post blurb incorrect when search contains a phrase match. 2019-03-26 17:01:52 +08:00
seed_data FIX: Forcing permissions of seeded categories shouldn't fail 2019-03-26 10:39:07 +01:00
sidekiq Fix deadblock in 615a22a579. 2019-02-20 10:25:43 +08:00
site_settings FEATURE: Allow categories to be prioritized/deprioritized in search. (#7209) 2019-03-25 10:59:55 +08:00
stylesheet DEV: Update sassc gem 2019-03-20 16:04:26 +00:00
svg_sprite FEATURE: Allow auth providers to define specific icons 2019-03-27 13:25:04 +00:00
tasks FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
theme_store DEV: Do not add -theme suffix to theme exports 2019-01-31 17:46:39 +00:00
validators FIX: Do not allow invite_only and enable_sso at the same time 2019-04-02 10:26:27 -04:00
wizard FEATURE: Locale support for seeded categories and topics (#7110) 2019-03-18 21:09:13 +01:00
admin_confirmation.rb SECURITY: Confirm new administrator accounts via email 2017-04-04 15:59:01 -04:00
admin_constraint.rb FIX: Don't update User#last_seen_at when PG is readonly take 2. 2019-01-21 13:49:08 +08:00
admin_user_index_query.rb PERF: N+1 queries admin users pages. 2019-03-15 15:09:44 +08: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 FIX: grant first quote at the date post was created 2019-04-03 16:41:52 +11: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 FIX: absolute canonical link on topic pages 2013-12-12 17:24:00 +01:00
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 FEATURE: Improve avatar education link (#7240) 2019-03-22 02:20:48 -07: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: Calculate CSP based on active themes (#6976) 2019-02-11 12:32:04 +00:00
cooked_post_processor.rb FEATURE: bump onebox version, add styling for new reddit image onebox 2019-04-04 11:24:30 +02: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 Initial release of Discourse 2013-02-05 14:16:51 -05:00
custom_setting_providers.rb Plugins can register providers for global settings 2017-01-09 17:18:58 -05:00
db_helper.rb FIX: Handle BBCode in migrate_to_s3 task as well. 2019-03-22 16:47:06 +08:00
directory_helper.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09: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_registry.rb DEV: Yarn-manage moment and moment-timezone libraries 2019-02-12 13:57:52 -05:00
discourse_plugin.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
discourse_redis.rb Follow up to f6f2c38183. 2019-01-22 12:51:59 +08:00
discourse_tagging.rb FEATURE: ability to restrict some tags to a category while allowing all others 2019-04-04 16:40:15 -04:00
discourse_updates.rb DEV: Fix rubocop after update. 2019-01-02 05:47:29 +08:00
discourse.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04: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 DEV: Properly flush DistributedMemoizer in spec. 2019-02-21 15:17:37 +08:00
distributed_mutex.rb DEV: Prevent warning about already initialized constant 2019-02-28 21:57:20 +01:00
edit_rate_limiter.rb Add better error messages for rate limits. 2015-09-24 13:52:46 -04: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
email.rb FEATURE: Include "via <site_name>" in email From header 2019-01-04 17:06:19 +01:00
encodings.rb Use rchardet instead of charlock_holmes gem 2018-08-01 10:41:20 +02:00
enum_site_setting.rb Enum site settings can have translatable names in dropdown. Add setting for how often users get digest emails by default: default_digest_email_frequency. 2013-08-23 17:36:25 -04:00
enum.rb Enums that are used in tables need to be stable 2016-01-08 20:43:11 +05:30
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 PERF: reduce workload when optimizing images 2019-01-09 12:28:18 +11: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: GET request didn't use headers 2019-03-08 21:36:49 +01:00
flag_query.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
flag_settings.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
gaps.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
global_path.rb FIX: Incorrect CDN URL for site setting uploads when s3 is enabled. 2019-01-04 07:52:13 +08:00
guardian.rb FEATURE: Introducing new UI for changing User's notification levels (#7248) 2019-03-27 09:41:50 +00:00
has_errors.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
headless-ember.js JSHint headless-ember 2014-03-11 03:18:57 -04:00
hijack.rb DEV: avoid require_dependency for some libs 2018-12-31 10:53:30 +11:00
homepage_constraint.rb FIX: Don't update User#last_seen_at when PG is readonly take 2. 2019-01-21 13:49:08 +08: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 FEATURE: Locale support for seeded categories and topics (#7110) 2019-03-18 21:09:13 +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 FIX: moment.js uses a more specific language code for Armenian 2019-03-28 14:47:37 +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 do not pull hotlinked images when max_image_size_kb == 0 2013-11-13 17:30:48 +01:00
message_bus_diags.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
method_profiler.rb FEATURE: Optional detailed performance logging for Sidekiq jobs (#7091) 2019-03-05 11:19:11 +00:00
mini_sql_multisite_connection.rb FEATURE: mini_sql upgrade 2019-02-25 16:02:32 +11:00
mobile_detection.rb FEATURE: add ability to clear previously set mobile_view with mobile_view=auto 2019-02-22 10:44:49 -08:00
new_post_manager.rb FIX: category id wasn't stored when enqueueing a topic 2019-04-02 11:12:17 -04:00
new_post_result.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
notification_levels.rb Server side code for Watching First Post Only 2016-07-07 11:21:50 -04:00
oneboxer.rb FIX: Onebox discourse user not respecting enable names (#7245) 2019-03-25 12:50:14 +05:30
onpdiff.rb add onpdiff tests 2013-12-16 18:39:49 +01:00
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 FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
post_action_destroyer.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
post_action_result.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
post_creator.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
post_destroyer.rb FEATURE: Let users delete their own topics. (#7267) 2019-03-29 17:10:05 +01:00
post_jobs_enqueuer.rb FEATURE: Remove full quotes only from new posts. (#6862) 2019-01-17 13:24:32 +11: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 FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
pretty_text.rb UX: Better emoji escaping for topic title (#7218) 2019-03-21 09:11:33 +01: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 FIX: Expire theme cache after remap 2019-03-28 22:31:58 +00: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 DEV: Remove SiteSetting.s3_force_path_style (#7210) 2019-03-20 14:58:20 +01:00
s3_inventory.rb FIX: set missing count in redis even if zero 2019-04-04 20:05:57 +05:30
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 FIX: Avoid penalizing long documents too much in search. 2019-04-03 14:09:57 +08:00
secure_session.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09: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
single_sign_on.rb DEV: allow nonce expiry time to be extended cleanly from a plugin 2019-03-19 17:33:38 +11:00
site_setting_extension.rb FIX: Properly support defaults for upload site settings. 2019-03-13 16:36:57 +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 FIX: Don't update User#last_seen_at when PG is readonly take 2. 2019-01-21 13:49:08 +08:00
staff_message_format.rb More extensibility for custom silence/suspend messages 2018-01-19 11:35:19 -05:00
suggested_topics_builder.rb tweaks to related message list generation 2018-10-29 16:09:58 +11:00
system_message.rb FEATURE: Add site contact group. (#7152) 2019-03-13 11:34:47 +01:00
text_cleaner.rb FIX: strip invalid byte sequences 2019-02-26 10:09:51 +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_javascript_compiler.rb FIX: Prevent duplicate params for raw template theme handlebars helpers 2019-02-08 12:54:00 +00:00
theme_settings_manager.rb FEATURE: Allow string theme settings to display with multiple lines 2019-02-05 14:14:53 +00:00
theme_settings_parser.rb FEATURE: Allow string theme settings to display with multiple lines 2019-02-05 14:14:53 +00:00
theme_translation_manager.rb FEATURE: Support for localized themes (#6848) 2019-01-17 11:46:11 +00:00
theme_translation_parser.rb FIX: Circular argument reference 2019-01-25 17:44:02 +00: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 FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04: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_sql.rb DEV: Rails 5.2 upgrade and global gem upgrade 2018-06-07 14:21:33 +10:00
topic_query.rb PERF: Keep track of when a users first unread is 2019-04-05 12:44:45 +11: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 FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04: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 FIX: whitelist 'feGaussianBlur' and 'filter' svg elements 2019-04-01 12:56:47 +02:00
upload_fixer.rb typo in error message 2018-08-10 11:34:01 +10:00
upload_recovery.rb FIX: UploadRecovery should look through posts for img src and bbcode. 2019-04-02 11:41:00 +08:00
url_helper.rb FIX: ensure local images use local CDN when uploads are stored on S3 2019-02-20 19:24:38 +01: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.3.0.beta6 2019-03-28 11:05:39 -04:00
wizard.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00