Commit Graph

1038 Commits

Author SHA1 Message Date
Manoj 9650dbb97c Refactor topics controller
Refactor: 1) TopicsController to reduce code climate complexity.
2) Topic model, addressed comments

fix typo
2013-10-28 11:42:07 +05:30
Neil Lalonde 4e46d91b8d Refactor SpamRulesEnforcer so that each spam rule is in its own class 2013-10-25 13:25:02 -04:00
Sam 270fde7dbd correct rake test:prepare so it seeds the db correctly
move category creation into seeds as well, so db can be seeded from structure.sql
2013-10-25 10:31:33 +11:00
Robin Ward 9adcd1579d Renamed `components` to `lib` in the JS project, as Ember has components and they mean something different. 2013-10-24 12:36:46 -04:00
Régis Hanol 3909f93a7e make sure image onebox is case insensitive 2013-10-24 12:21:38 +02:00
Sam b7d3b52e4f basic implementation of per-category new/latest etc filters 2013-10-24 21:05:06 +11:00
Sam 89f801ac04 fix no sidetiq when using demon 2013-10-24 15:58:28 +11:00
Sam 3565f4c8cf correct monkey patch, disable it from rails4 mode (that has a proper implementation) 2013-10-24 13:35:21 +11:00
Sam b40d15f81d correct runner so you can run it in non-spork mode 2013-10-24 13:34:38 +11:00
Sam ff957a7b37 rails 4 deprecation fixes 2013-10-24 13:02:25 +11:00
Sam 1357f16563 add a simple runner for autospec 2013-10-24 12:08:03 +11:00
Sam 666264879c change it so all topics MUST include a category, we store a special uncategorized category to compensate
this cleans up a bunch of internals and removes some settings
2013-10-24 12:08:02 +11:00
Robin Ward f73a64982a Raise an error if a `api_username` is supplied and does not match the key 2013-10-23 11:05:49 -04:00
Brian Alexander e2a5415aca fix ; nil reference in spam_rules_enforcer.rb 2013-10-22 19:14:31 -06:00
Neil Lalonde c1008f4359 Fixes for postgresql inet columns in Rails 4. They're backed by an IPAddr class now, which breaks sql parameter marker support, and automatically sets the attribute to nil when trying to assign an invalid ip address. 2013-10-22 19:19:32 -04:00
Robin Ward 348e2e3ef2 Support for per-user API keys 2013-10-22 17:34:39 -04:00
Neil Lalonde 7d582fbee3 Screened ip address can be edited, deleted, and changed to allow or block. 2013-10-22 16:30:46 -04:00
Neil Lalonde 648b11a0eb Add screening by IP address. When deleting a user as a spammer, block all signups from the same IP address. 2013-10-21 14:50:18 -04:00
Régis Hanol fcd85b8a72 allow plugins to be symlinked 2013-10-21 19:59:28 +02:00
Sam 31b73171dc correct ordering algorithm 2013-10-21 16:14:09 +11:00
Sam 5f74cb6bf9 category is not "positionable" 2013-10-18 18:09:30 +11:00
Sam 1ee49798b2 work in progress wide category list 2013-10-18 11:10:10 +11:00
Sam 7bf96ee690 naive implementation of post_count on categories 2013-10-18 11:10:10 +11:00
Neil Lalonde aaa2d81900 Version bump to v0.9.7.1 2013-10-17 16:40:54 -04:00
Sam 1b81f73325 logged in requests were being treated as anon, causing major havoc 2013-10-17 10:37:18 +11:00
Robin Ward f27413219e Support for MDTest 2013-10-16 10:28:42 -04:00
Sam 3d647a4b41 remove rack cache, it has been causing trouble
instead implement an aggressive anonymous cache that is stored in redis
this cache is sitting in the front of the middleware stack enabled only in production
TODO: expire it more intelligently when stuff is created
2013-10-16 16:39:18 +11:00
Neil Lalonde ff966e3276 FIX: don't load post.rb a second time in dev env 2013-10-15 18:33:06 -04:00
Robin Ward 5281b7f80c Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-15 10:53:11 -04:00
Régis Hanol 4536b5fe04 added a job to clean up orphan uploads 2013-10-15 11:15:48 +02:00
Robin Ward af931f0444 Reverting the Sanitizer commit in case we have to do something urgent
before we deploy it early next week. It's in the branch `sanitizer` for
now.

This reverts commit 9e93d8ed52.
2013-10-11 16:44:26 -04:00
Robin Ward 9e93d8ed52 Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-11 16:25:40 -04:00
Neil Lalonde 380d8c028f Version bump to v0.9.7 2013-10-11 15:25:55 -04:00
Neil Lalonde 3c2c6ab24b Add sockpuppet spammer detection. Automatically flag posts if they are from new users (registered less than 24 hours ago) at the same IP address and one of them started the topic. 2013-10-11 13:34:05 -04:00
Sam a80d3aa634 no need for this dependency 2013-10-11 12:24:34 +11:00
Sam 172a85ae14 prettier twitter links, extracted mini api 2013-10-11 11:46:35 +11:00
Régis Hanol f244650832 update images:pull_hotlinked rake task to add support for the markdown reference link style 2013-10-10 11:57:36 +02:00
Sam b0465c517e (experimental) added framework for filtering all sorts of internals in discourse and consuming by plugins 2013-10-10 18:45:40 +11:00
Sam 28a0cb494a rails 4 upgrade
rack lock is trouble, nuke it out of orbit
more aggressive suicide for forked sidekiq
2013-10-10 14:23:24 +11:00
Sam c4bab8915c fix initialization issues with unicorn
amend unicorn script to demonize sidekiq
create a sidekiq demon that unicorn consumes
correct bug in exec_sql with empty params
2013-10-10 14:23:24 +11:00
Régis Hanol 15de4ac890 add a rake task to pull hotlinked images 2013-10-10 04:04:08 +02:00
Sam ad2ed5fe51 rate limits for topics and posts on first day
max_topics_in_first_day and max_replies_in_first_day
2013-10-10 10:32:03 +11:00
Claus Strasburger 109c10c883 YoutubeOnebox: FIX HTTP-specific URLs
by replacing with protocol-agnostic URLs.
This fixes the mixed-content warning for secure instances of discourse, at least for Youtube
2013-10-09 20:43:59 +02:00
Neil Lalonde acca220380 Allow Youtube onebox with start time. All params are used in the youtube onebox now. 2013-10-09 11:40:10 -04:00
Sam 7993845bfa add current_user_provider so people can override current_user bevior cleanly, see
http://meta.discourse.org/t/amending-current-user-logic-in-discourse/10278
2013-10-09 15:11:54 +11:00
Sam 094b5eccca bug fixes for user_stat extraction, decrease querying 2013-10-07 15:05:00 +11:00
Sam e18b93026a defer view creation on so updates are not performed when people navigate to topics 2013-10-07 15:04:59 +11:00
Sam 5bf26ec34e large refactor, ship a few columns from the user table into user_stats 2013-10-07 15:04:59 +11:00
Robin Ward c8487f6bc7 FIX: Amazon spec 2013-10-04 12:49:39 -04:00
Jeff Atwood 2a97dbbb1f fix amazon onebox to pull images again 2013-10-04 03:39:55 -07:00
Robin Ward f6afbcfb3a Version bump to 0.9.6.4 2013-10-03 15:14:03 -04:00
Sam af467a1675 404 page had horrible perf, it was using "take" instead of limit.
in such cases EVERY row is materialized and only after the limit is applied.

So ... imagine what happens on a forum with 2,000,000 topics
2013-10-02 13:05:03 +10:00
Sam a3128665cf make it more idiomatic 2013-10-02 12:23:16 +10:00
Sam 5f8851cb44 Avoid superfluous transaction when saving drafts 2013-10-02 12:17:27 +10:00
Robin Ward be0ce08cc2 Ember Upgrade: 1.0 2013-10-01 11:16:27 -04:00
Régis Hanol 01075c5e7a FIX database growth when running the PeriodicalUpdates job 2013-10-01 17:11:13 +02:00
Sam f0a122a66c move job files so they live underneath app/ and not in lib/
introduce new setting email_always, that will force emails to send to users regardless of presence on site
2013-10-01 17:04:02 +10:00
Régis Hanol 40c08eab14 do not break oneboxes' favicon after updating favicons 2013-09-30 19:09:57 +02:00
Sam 5caa7a0e4d improve performance of periodical update job, decrease frequency and shift it by a few minutes 2013-09-30 16:59:16 +10:00
Sam a2690efa61 add db time instrumentation to job execution 2013-09-30 13:24:25 +10:00
Régis Hanol ce819b2a92 Merge pull request from thomas-mcdonald/remove-duplicate-method
Remove duplicate create method in PostCreator
2013-09-27 08:14:42 -07:00
Régis Hanol cd4cda5b4c allow users to specify thumbnail size 2013-09-27 10:57:31 +02:00
Gaurish Sharma f3c9822142 Typo fix 2013-09-24 18:47:57 +05:30
Thomas McDonald 5ad8718a87 Remove duplicate create method in PostCreator 2013-09-21 22:02:51 +01:00
Sam e9e017898c Merge pull request from seblavoie/patch-1
Added screencast.com to whitelist.rb
2013-09-21 10:31:47 -07:00
Robin Ward dba183efec Merge pull request from alxndr/category-rss-ordered-by-created_at
make category's RSS feed actually order by topic.created_at
2013-09-20 14:59:35 -07:00
Sam Saffron 964809f73b if we have not automatic assets, don't try deleting them 2013-09-20 14:39:14 -07:00
Alexander e7b5774bc6 make category's RSS feed actually order by topic.created_at 2013-09-20 14:36:19 -07:00
Robin Ward e3a56864dd Changes to support Spoiler Alert plugin 2013-09-19 18:01:30 -07:00
Sébastien Lavoie e5854b8b4c Added screencast.com to whitelist.rb
Adding onebox support to screencast.com could be useful.
2013-09-18 13:58:13 -04:00
Robin Ward 99b6a62fcb New composer message for people dominating a topic 2013-09-17 14:38:39 -04:00
Robin Ward 16dc0a7001 New user education notification was off by one. Also, remove the "basic" restriction on the
"posting too often" message.
2013-09-17 12:12:03 -04:00
Robin Ward 2baf5fda8e Merge pull request from Elegios/composer_use_category_id
Make the composer and TopicCreator use category id instead of category name
2013-09-17 08:03:48 -07:00
Viktor Palmkvist 37673e3412 Make the composer and TopicCreator use category id instead of category name
Also fixes 
Includes backwards compatibility for topic creation
2013-09-17 12:13:19 +02:00
Sam 6af1e12cc1 after_initialize callback for plugins 2013-09-17 10:24:15 +10:00
Nathan Nontell d95172cb5d Allow TextSentinel#seems_unpretentious? to accept words joined with dashes or forward slashes. (Issue 1133) 2013-09-16 09:45:57 -04:00
Sam 1eb1756dcf Merge pull request from mguillemot/non_editable_username_and_email
Enable/disable the possibility of editing user's nickname or email
2013-09-15 19:24:35 -07:00
Zvika Rap b071927ced HandlebarsOneboxes: avoid constants multiple declarations 2013-09-14 22:40:11 +03:00
Matthieu Guillemot 3ba1f20674 New site settings to enable/disable the possibility of editing user's nickname or email address 2013-09-14 21:34:21 +09:00
Robin Ward b39d39dbb6 FIX: Use `post_count` instead of `topic_reply_count` in education for replies. 2013-09-14 00:32:18 -04:00
Neil Lalonde 09b640b782 Disable onebox of user pages 2013-09-13 17:01:28 -04:00
Robin Ward c365bd0070 Notify users posting sequential replies that there's a better way to do it. 2013-09-13 13:49:34 -04:00
Robin Ward 7d9a84b496 New User Education goes through a server side ComposerMessages check. Composer message for users
who don't have avatars.
2013-09-13 12:23:53 -04:00
Neil Lalonde 827680766e Show which domains were used in the spam_post_blocked notification 2013-09-12 17:33:30 -04:00
Robin Ward 3fcd331d43 Add records that indicate a user's avatar has been checked 2013-09-12 14:58:20 -04:00
Sam 691377b5af remove patches that have been upstreamed
clean up rails4 checks so they are consistent
2013-09-12 15:39:02 +10:00
Sam 6d5e20fe4a plugins need paths too 2013-09-12 11:29:45 +10:00
Neil Lalonde bded4b26fa Ask admins to fill in site_description on the dashboard, and send it to the hub 2013-09-11 16:32:49 -04:00
Robin Ward 06ea8140aa New job (default off) to detect whether users have uploaded custom avatars by contacting Gravatar. 2013-09-11 15:14:18 -04:00
Robin Ward 2319924206 Adds a class that can detect whether a user has uploaded a custom avatar 2013-09-10 15:39:11 -04:00
Robin Ward 21e08a423e Added a little documentation to TurboDev middleware 2013-09-10 15:21:07 -04:00
Sam 36f8c9c45b improve logic and performance on front page to avoid massive query 2013-09-10 16:02:54 +10:00
Sam 279c3a3add rake task to generate api_key 2013-09-10 16:02:26 +10:00
Sam edf6f3012d backport fix for rails 2013-09-10 14:29:37 +10:00
Robin Ward 858e51c8ab Use `no-cache` in development mode for assets. Using `must-revalidate`, which is
Rails' default, seems to have Chrome sometimes not request assets in development
mode even though it's supposed to revalidate every time.
2013-09-09 16:55:41 -04:00
Neil Lalonde 78c15d5810 Move the unique post key storage code into the Post model 2013-09-09 16:17:31 -04:00
Robin Ward d00e0cb96a Merge pull request from ZogStriP/rake-task-to-regenerate-avatars
rake task to regenerate avatars
2013-09-09 08:49:47 -07:00
Sam b61d5c4092 freedom patches for fixes submitted to rack 2013-09-09 20:35:21 +10:00
Sam 030d2260a7 Perf: don't allocate hashes OVER and OVER in a loop, its bad 2013-09-09 20:35:21 +10:00
Régis Hanol 3e80e885ae rake task to regenerate avatars 2013-09-08 12:22:50 +02:00
Robin Ward c8ad977c8a Revert "Merge pull request from Elegios/composer_use_category_id"
This reverts commit 763859d439, reversing
changes made to b62caf80fb.
2013-09-06 18:00:57 -04:00
Robin Ward 763859d439 Merge pull request from Elegios/composer_use_category_id
Make the composer and TopicCreator use category id instead of category name
2013-09-06 11:55:27 -07:00
Neil Lalonde eae7e75611 FIX: recover post by a non-staff user fails because the post is not unique. Uniqueness check shouldn't happen when recovering a deleted post. 2013-09-06 11:50:15 -04:00
Sam 2ce4468aa5 rename system_username to site_contact_username , system_user is a special user with -1 id that is only used for certain admin tasks
for example system_user will autoclose stuff if needed, it will delete stubs and be the target for flag pms
2013-09-06 17:28:37 +10:00
Sam 41a1b6942d notify moderators now goes to the "community" user, that saves our poor mods from a flood of pms
if any staff respond to a pm they are automatically added to the list of recipients and will start
getting email notifications
2013-09-06 14:07:23 +10:00
Neil Lalonde e7cf0a454c Version bump to v0.9.6.3 2013-09-05 18:42:53 -04:00
Neil Lalonde 45d7765936 Merge branch 'master' into mobile 2013-09-05 15:54:22 -04:00
Sam 5b08f73561 give god rights of impersonation to developers, must be edited into the production.rb config file 2013-09-05 10:27:34 +10:00
Sam 4933e9d6ab todo added to code 2013-09-05 09:33:51 +10:00
Neil Lalonde d76486a48b Topic can have null user_id when user was nuked 2013-09-04 15:42:24 -04:00
Neil Lalonde 117fc8db58 Change the way nuked users' posts are handled. Allow null in the user_id column of posts. Show these posts in the posts stream. 2013-09-04 15:42:21 -04:00
Neil Lalonde b47eedba00 Add min_trust_to_create_topic setting to require a certain trust level before users can start new topics 2013-09-03 19:12:22 -04:00
Robin Ward 8829e1ae20 Merge pull request from ZogStriP/content-disposition-s3
Content disposition on S3
2013-09-03 07:22:46 -07:00
Sam 7b62f9ccd7 more fixes for rails 4 2013-09-03 19:11:55 +10:00
Sam 5dd199df26 bench fix and new arel patches for rails 4 2013-09-03 18:58:56 +10:00
Sam 1b9079ed20 centralize logic so mockers stop mocking me 2013-09-03 17:58:56 +10:00
Sam 46d5314ec4 Improve Rails4 performance by 20%, before the median on the page is 53ms, after it is 44ms 2013-09-03 17:58:56 +10:00
Sam 6e72eb5042 Merge branch 'master' of github.com:discourse/discourse 2013-09-02 17:19:17 +10:00
Sam d3c5afbb80 reduce sidetiq frequency
remove minutely() schedule that was very inefficient
2013-09-02 17:14:41 +10:00
Neil Lalonde d875a9549d Version bump to v0.9.6.2 2013-08-30 13:41:57 -04:00
Robin Ward 46efbac40e Add "Unread" filter to messages tab. Rename the other two views. 2013-08-30 12:32:05 -04:00
Régis Hanol 9d6cb6aae4 added content-disposition header for uploads on S3 2013-08-30 17:28:18 +02:00
Régis Hanol 1a38f66c7e removed warning about already existing constants 2013-08-30 17:28:18 +02:00
Robin Ward eb5830f3b0 FIX: Make `getURL` available to plugins while they are starting up in a similar load order
to the client app.
2013-08-29 13:11:12 -04:00
Sam 39a6c25ebb Merge pull request from eparreno/cas_authentication
Allow CAS authentication
2013-08-28 14:28:59 -07:00
Neil Lalonde f611a5d898 If min entropy setting is greater than min post/body length setting, then use a sensible min entropy value instead 2013-08-28 11:04:28 -04:00
Emili Parreno ee96fabcba Allow CAS authentication 2013-08-28 14:34:51 +02:00
Sam 61281a3c81 invite only forums had very wonky logic, invited users were not being activated, invite_only forums were still registering users 2013-08-28 17:18:31 +10:00
Sam 28466eb5b2 group the "suggested topics" by category correctly.
in the past new topics were not prioritizing current category and
new topics in a category were not being inserted before other unread topics
in other categories
2013-08-28 10:52:06 +10:00
Sam c0f610daf6 digest interfaces returning empty objects (except for id) interface needed correction 2013-08-28 10:52:06 +10:00
Neil Lalonde 9efa29e688 Detect whether to use mobile view. Session var mobile_view can override automatic detection. 2013-08-27 14:57:42 -04:00
Robin Ward 73489b652e FIX: Allow intra-word underscores. 2013-08-27 12:25:05 -04:00
Sam bec463564f BUGFIX: When running under a forking server (apache or unicorn) openid strategy was caching a redis connection from the parent, this made "login with google" only work some of the time. 2013-08-27 14:44:06 +10:00
Robin Ward 29385f4898 Merge pull request from ZogStriP/fix-schemaless-urls-in-emails
FIX: schemaless urls in emails
2013-08-26 15:15:00 -07:00
Régis Hanol 561792a615 FIX: schemaless urls in emails 2013-08-27 00:08:38 +02:00
Robin Ward 1c3c468675 FIX: Single quotes in search terms would raise an error. 2013-08-26 16:25:54 -04:00
Neil Lalonde 3708d47c87 Check daily if there are new users who need to be approved and send a pm to moderators 2013-08-26 16:16:27 -04:00
Einar Jonsson 9085cec232 Move json hash from users controller to NicknameUnavailable 2013-08-26 15:00:11 +00:00
Sam 982b763216 correct facebook logic 2013-08-26 18:01:01 +10:00
Sam d0b4c751b7 fix facebook authenticator 2013-08-26 17:36:20 +10:00
Sam afd1a3ac7b yeah ... we should be installing the gem :) 2013-08-26 13:52:15 +10:00
Sam 818bf1355d PluginStore for plugin specific bits of storage
Amended plugin interfaces so they work with the vk sample
2013-08-26 12:59:17 +10:00
Sam 213ce33af2 Fixed all broken specs
Moved middleware config into authenticators
2013-08-26 12:59:17 +10:00
Sam eebe21a8c8 fix open id so it creates records properly 2013-08-26 12:59:17 +10:00
Sam 075002a6d5 refactoring the plugin interfaces to allow for better extensible 2013-08-26 12:59:17 +10:00
Sam b52aba15e0 major refactor of auth, break up the gigantic omniauth controller into sub classes for way better extensibitily 2013-08-26 12:59:17 +10:00
Sam e0c99196a8 Merge pull request from ZogStriP/add-max-image-height-site-setting
add max_image_height site setting
2013-08-25 17:11:48 -07:00
Régis Hanol 32f717420d add max_image_height site setting 2013-08-26 00:24:24 +02:00
Navin Keswani d87389b38e No more rails 4 deprecation warnings 2013-08-25 23:18:11 +02:00
Robin Ward c0b051c9f6 Show Private Messages pill as a topic list rather than individual messages. 2013-08-24 16:58:16 -04:00