discourse/lib
riking 0a09593f3b FIX: Prefer HTML in incoming emails, heavily refactor email receiver
This commit heavily refactors Email::Receiver to both better handle
different emails and improve testability.

A primary focus of the refactor is reducing the usage of class
variables, in favor of actually passing parameters - making it possible
for multiple tests to use the same Receiver instance.

The EmailLog reported when a topic is created is reflected to put the
user's email in the to_address field, instead of the system address.

The discourse_email_parser function is renamed to
discourse_email_trimmer, and additional stopping conditions are added to
make up for EmailReplyParser's inability to deal with html at the start
of a line.

The force_encoding calls are refactored out to a 'fix_charset' method.

parse_body is renamed to select_body, and the scrub_html method is
dropped in favor of the new HtmlCleaner class.

A new parse_body method is added, which performs the job of the removed
lines of code in the 'process' method.

EmailUnparsableError is redefined again, to be encoding errors (when the
declared encoding is not what was delivered).
2014-08-28 14:36:10 -07:00
..
assets add top page 2013-12-24 00:50:36 +01:00
auth FEATURE: raise an exception when the email is missing in the OpenId callback 2014-08-07 19:28:50 +02:00
autospec Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
common_passwords Use 10k most common passwords instead of 5k 2014-05-02 12:01:21 -04:00
demon BUGFIX: not terminating self correctly on hangups from parent 2014-06-13 11:15:40 +10:00
email FIX: Prefer HTML in incoming emails, heavily refactor email receiver 2014-08-28 14:36:10 -07:00
es6_module_transpiler ES6: Mega update of controllers 2014-08-13 10:22:47 -04:00
export FEATURE: backup without uploads 2014-08-20 18:53:58 +02:00
file_store Merge pull request #2511 from windhamg/s3_iam_role 2014-08-18 16:14:14 +02:00
freedom_patches FEATURE: added method for draining idle connections 2014-08-11 15:13:37 +10:00
guardian FIX: can delete category if topic_count < 0 2014-08-22 12:25:28 -04:00
import FIX: do not rollback imports unless data has been changed 2014-08-20 18:53:38 +02:00
javascripts Update RU pluralization to use 3 keys: one, few, other (as by Transifex) 2014-08-23 15:28:14 +03:00
middleware Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
onebox Fix local onebox subcategory urls 2014-08-25 16:47:54 -07:00
plugin FEATURE: support registration of custom html by plugins 2014-06-05 11:39:33 +10:00
rate_limiter FEATURE: add site settings rate_limit_new_user_create_topic and rate_limit_new_user_create_post to have different rate limits for topic and post creation for new users 2014-07-14 16:58:16 -04:00
sass ensure RTLit gem is included and CSS is RTLed if css_rtl is enabled in discourse config 2014-08-08 16:06:29 +03:00
scheduler FEATURE: add an alert in sidekiq's scheduler tab when sidekiq is paused 2014-08-20 20:01:57 +02:00
search Improve search results by introducing an aggregate post search data 2014-08-22 16:56:26 -04:00
sidekiq FIX: hanging specs 2014-08-19 20:56:25 +10:00
site_settings BUGFIX: when RTT is short likes may not appear to work 2014-03-31 12:34:13 +11:00
tasks don't load tasks for now, its not allowing me to disable 2014-08-27 15:28:38 +10:00
validators FIX: disagree flag should unhide hidden post 2014-08-11 10:48:00 +02:00
admin_constraint.rb add current_user_provider so people can override current_user bevior cleanly, see 2013-10-09 15:11:54 +11:00
admin_user_index_query.rb Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
age_words.rb
archetype.rb add banner archetype 2014-06-18 20:05:18 +02:00
auth.rb Add Google Oauth2 authenticator. The current Google OpenID authentication has been deprecated by Google and will NOT work for any new websites. 2014-05-21 18:35:10 -04:00
avatar_lookup.rb Work in progress, keeping avatars locally 2014-05-27 10:08:03 +10:00
avatar_upload_service.rb FEATURE: support email attachments 2014-04-14 22:55:57 +02:00
backup_restore.rb FEATURE: backup without uploads 2014-08-20 18:53:58 +02:00
cache.rb BUGFIX: cache did not support non strings 2014-01-07 17:36:47 +11:00
canonical_url.rb FIX: absolute canonical link on topic pages 2013-12-12 17:24:00 +01:00
composer_messages_finder.rb FIX: Don't raise an exception when last_posted_at is nil 2014-06-23 11:38:27 -04:00
configurable_urls.rb Configurable FAQ url 2013-06-27 12:10:43 -04:00
content_buffer.rb
cooked_post_processor.rb removed useless assignments at some places 2014-08-19 18:10:23 +05:30
crawler_detection.rb Improved crawler detection: add Twitterbot, Facebook, curl, Bing, Baidu. 2014-03-16 19:30:20 +05:30
current_user.rb add current_user_provider so people can override current_user bevior cleanly, see 2013-10-09 15:11:54 +11:00
custom_renderer.rb
directory_helper.rb Refactor temp directory methods into helper module 2013-07-09 13:59:31 -05:00
discourse.rb FIX: run reaper after fork 2014-08-11 17:51:55 +10:00
discourse_diff.rb SECURITY: fix XSS 2014-06-16 10:24:54 +10:00
discourse_event.rb Move discourse_plugin to lib 2014-07-23 00:03:48 -04:00
discourse_hub.rb updated checks of environment with Rails.env by Rails.env methods 2014-08-18 15:36:47 +05:30
discourse_iife.rb PERF: Speed up JSHint tests by using local buffers instead of AJAX 2014-07-22 14:13:37 -04:00
discourse_observer.rb Drop Rails3 support 2014-02-17 19:42:08 +01:00
discourse_plugin.rb Move discourse_plugin to lib 2014-07-23 00:03:48 -04:00
discourse_plugin_registry.rb FEATURE: support serializing user custom fields by plugins 2014-06-11 11:57:22 +10:00
discourse_redis.rb BUGFIX: redis-rails has always been a problem child 2014-01-06 16:50:04 +11:00
discourse_updates.rb FIX: version check job when no versions are returned in json 2014-01-07 14:31:54 -05:00
distributed_hash.rb
distributed_memoizer.rb Style fix: https://twitter.com/andrzejkrzywda/status/404943844896423937 2013-11-26 10:21:41 +11:00
distributed_mutex.rb FIX: eliminate race condition creating posts 2014-07-30 14:18:01 +10:00
edit_rate_limiter.rb Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
email.rb FIX: cleanup aliases in email From and Reply-to fields to prevent Bad sender address syntax errors 2014-08-08 13:35:47 -04:00
enum.rb
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
excerpt_parser.rb SECURITY: fix XSS in excerpt parser 2014-07-25 12:16:00 +10:00
file_helper.rb SECURITY: do not follow redirect by default when downloading hotlinked images 2014-07-27 17:21:47 +02:00
filter_best_posts.rb Refactor TopicView - extract filter method to FilterBestPosts 2013-07-12 15:54:54 +02:00
flag_query.rb FEATURE: add the pencil glyph when the post was edited after the first flag 2014-08-18 18:56:39 +02:00
gaps.rb Show Gaps in the post stream when filters are active 2013-12-05 16:46:59 -05:00
guardian.rb FEATURE: allow staff to send multiple invites to same email 2014-07-30 00:13:11 +05:30
headless-ember.js JSHint headless-ember 2014-03-11 03:18:57 -04:00
homepage_constraint.rb add current_user_provider so people can override current_user bevior cleanly, see 2013-10-09 15:11:54 +11:00
image_sizer.rb add max_image_height site setting 2013-08-26 00:24:24 +02:00
js_locale_helper.rb FIX: moment.js data formats were always english 2014-08-07 12:08:23 -04:00
json_error.rb Show the reason the topic couldn't be split rather than a generic error. 2014-08-11 14:43:19 -04:00
letter_avatar.rb FIX: letter avatars to live in uploads directory, add last modified 2014-07-08 17:20:27 +10:00
markdown_linker.rb FIX: Weird markdown in digest emails 2013-08-21 13:13:19 -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
mobile_detection.rb Detect Googlebot from user agent and use a different layout that doesn't load javascript 2014-02-15 17:54:34 -05:00
oneboxer.rb Change 'code' to 'message' 2014-07-17 15:19:58 -07:00
onpdiff.rb add onpdiff tests 2013-12-16 18:39:49 +01:00
pbkdf2.rb FIX: Digest::Digest deprecation 2014-01-20 18:33:40 +01:00
pinned_check.rb FEATURE: display unpinned state, allow unpinning by clicking on pin 2014-04-10 10:59:02 +10:00
post_creator.rb FEATURE: normalize whitespaces in topic title/post content 2014-08-12 00:01:58 +02:00
post_destroyer.rb Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
post_jobs_enqueuer.rb FIX: more reliable topic list counts 2014-08-05 13:27:34 +10:00
post_revisor.rb FEATURE: normalize whitespaces in topic title/post content 2014-08-12 00:01:58 +02:00
pretty_text.rb FIX: Load order of Javascript files 2014-08-22 19:27:20 -04:00
promotion.rb Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
rate_limiter.rb FIX: rate limit password reset email 2014-08-18 10:55:30 +10:00
remote_ip_improved.rb
score_calculator.rb Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
screening_model.rb Screened ip address can be edited, deleted, and changed to allow or block. 2013-10-22 16:30:46 -04:00
search.rb FIX: when search finds a deep link in a topic it takes you to it 2014-08-28 17:16:39 +10:00
single_sign_on.rb Implement SSO overriding avatars. 2014-08-19 15:53:34 +08:00
site_content_class_methods.rb Perform the where(...).first to find_by(...) refactoring. 2014-05-06 14:41:59 +01:00
site_setting_extension.rb FIX: Float site settings were marked as overridden, reset didn't work. 2014-08-20 15:24:56 -04:00
slug.rb
sql_builder.rb BUGFIX: Chinese search was broken 2014-06-24 17:11:13 +10:00
staff_constraint.rb add current_user_provider so people can override current_user bevior cleanly, see 2013-10-09 15:11:54 +11:00
suggested_topics_builder.rb New site setting: limit_suggested_to_category - ensures suggested 2014-06-03 17:49:04 -04:00
summarize.rb
system_message.rb FEATURE: Send notification by system user for bulk invite 2014-07-02 14:28:57 +05:30
text_cleaner.rb FEATURE: normalize whitespaces in topic title/post content 2014-08-12 00:01:58 +02:00
text_sentinel.rb Allow TextSentinel#seems_unpretentious? to accept words joined with dashes or forward slashes. (Issue 1133) 2013-09-16 09:45:57 -04:00
topic_creator.rb FIX: case-insensitive category lookup when creating topics 2014-08-18 11:07:49 -04:00
topic_query.rb FIX: RSS feeds should use created_at not bumped_at 2014-08-27 12:42:54 -04:00
topic_query_sql.rb Use infinity instead of 3000-01-01 as max date. 2014-08-12 09:23:57 +02:00
topic_retriever.rb Add custom embed_by_username feature 2014-06-09 12:35:38 -07:00
topic_subtype.rb FIX: don't send repeated notifications that there are pending users who need to be approved to moderators who haven't read the previous notification 2014-07-16 17:53:51 -04:00
topic_view.rb FIX: use PostDestroyer when deleting/recovering a topic 2014-08-07 19:12:35 +02:00
topics_bulk_action.rb FEATURE: Can bulk delete topics now using the modal. 2014-08-11 15:14:02 -04:00
trust_level.rb
twitter_api.rb Add twitter to Onebox.options 2014-01-29 14:14:07 -05:00
unread.rb FIX: If a consistency job hasn't run and a bunch of posts are moved, 2014-08-18 16:59:28 -04:00
url_helper.rb BUGFIX: errors when post-processing 'data images' 2014-07-18 17:54:18 +02:00
user_name_suggester.rb update bbcode dialect and fix vBulletin importer 2014-08-25 10:48:29 +02:00
version.rb Version bump to v1.0.0 2014-08-26 15:24:07 -04:00