Commit Graph

4754 Commits

Author SHA1 Message Date
Arpit Jalan 5849bae9df FIX: rescue error when importing category structure 2017-11-01 22:21:37 +05:30
Arpit Jalan 7f33f7850a
Merge pull request #5270 from vinothkannans/rake_categories
FEATURE: Rake task to export and import category structure
2017-11-01 21:36:03 +05:30
Vinoth Kannan a00af4d85a FEATURE: Rake task to export and import category structure 2017-11-01 17:17:05 +05:30
Arpit Jalan 2792c3c80e fix typo 2017-11-01 15:51:17 +05:30
Sam deb79a8fff DEV: private means nothing for class methods 2017-11-01 16:43:19 +11:00
Sam f5cc28d740 UX: correct regression with twitter onebox 2017-11-01 16:42:56 +11:00
Gerhard Schlager d1f257d275 FinalDestination should only log when verbose is enabled 2017-10-31 17:16:59 +01:00
Gerhard Schlager 880d154381 FIX: deleting staged user of rejected email shouldn't delete incoming email 2017-10-31 15:13:23 +01:00
Gerhard Schlager 8c27f28dcb add more logging to FinalDestination 2017-10-31 12:26:35 +01:00
Sam 9197feefb8 UX: onebox images no longer cause jiggle
This stops pages from "jiggling" while oneboxes download.

see: http://cssmojo.com/aspect-ratio-using-custom-properties-and-calc/
2017-10-31 13:50:58 +11:00
Neil Lalonde 9705f8b9c2 Version bump to v1.9.0.beta14 2017-10-30 11:20:55 -04:00
Sam 7ca08216bd FIX: ensure we have no dangling db connections on threads
This correct 10 second timeouts in dev mode, when reloader kicks in
2017-10-30 14:24:15 +11:00
Guo Xiang Tan 401fbdbfe7 FIX: `Topic#title` were being parameterized when encoded slug is
enabled.
2017-10-27 11:02:47 +08:00
Sam 70aed105a6 FIX: bypass all site setting work for shadowed method 2017-10-27 11:12:44 +11:00
Guo Xiang Tan f30366744a Fix the build. 2017-10-26 17:09:00 +08:00
Erick Guan 7c3123a2dd Downcase encoded slug by default and more specs 2017-10-26 16:50:29 +08:00
Rafael dos Santos Silva a173511681 Merge pull request #5259 from discourse/groups_in_sso_provider
Add groups to the SSO provider payload
2017-10-25 23:02:53 -02:00
Rafael dos Santos Silva 5d5268a82b Feature: Group handling 2017-10-25 22:49:17 -02:00
Arpit Jalan efbd923f60 Merge pull request #5261 from xrav3nz/fix-rebake-match-rake
FIX: `post:rebake_match` rake task
2017-10-25 10:22:56 +05:30
Sam 877b7be579 FIX: in readonly mode don't double count pages 2017-10-25 13:19:43 +11:00
Kyle Zhao 82c18f6ca3 fix: undefined variable in `post:rebake_match` 2017-10-24 20:05:58 -04:00
Neil Lalonde 2c15e9c6fe FIX: search couldn't find tags from before 2017-08-25 2017-10-24 17:55:05 -04:00
Neil Lalonde fb5b9b6d06 FIX: don't offer the "Something Else" flag reason to TL0 users since they don't have permission to send private messages 2017-10-24 11:47:42 -04:00
Guo Xiang Tan 5c8dac3ae5 Replace `discourse-slack-official` with `discourse-chat-integration`. 2017-10-24 09:44:11 +08:00
Sam d4d5e6965e FEATURE: discourse-prometheus is an official plugin 2017-10-24 10:27:28 +11:00
Neil Lalonde 4452d67a23 Revert "FIX: TL0 users' messages to moderators were not being posted when flagging private messages" 2017-10-23 18:17:53 -04:00
Neil Lalonde 214fdad155 FEATURE: category and topic importer can support data from different sources using IMPORT_SOURCE 2017-10-23 14:01:57 -04:00
Régis Hanol 17e5fb0dc0 fix the build 2017-10-23 19:09:38 +02:00
Régis Hanol 80ad32094d Small re-organization of CookedPostProcessor workflow
- only 'limit_size!' of oneboxed images once
- update post image at the end
- move 'enforce_nofollow' in its own method
2017-10-23 18:15:51 +02:00
Régis Hanol 04ae79896c Exit early when the 'img is already inside an 'a' tag 2017-10-23 17:43:53 +02:00
Guo Xiang Tan 54455fa40b Use MessageBus to get other processes to failover faster. 2017-10-23 17:58:24 +08:00
Sam 361fbfa518 FEATURE: raise an event when a sidekiq job runs 2017-10-23 17:30:17 +11:00
Sam 55d096ee8b FEATURE: add event for scheduled_job_ran 2017-10-23 17:22:17 +11:00
Sam 8eb00984ea improve plugin autospec watcher 2017-10-23 10:49:42 +11:00
Guo Xiang Tan 7673684d91 Allow `DistributedCache#delete` to not publish changes. 2017-10-20 23:03:42 +08:00
Arpit Jalan 804b4f32f8 better error message when API authentication fails 2017-10-20 20:05:34 +05:30
Guo Xiang Tan 57d9830bd2 FIX: DistributedCache without namespace mode wasn't working. 2017-10-20 22:32:41 +08:00
Guo Xiang Tan fe1e78ddf4 Make PostgreSQL failover work with distributed cache. 2017-10-20 17:15:29 +08:00
Gerhard Schlager 4205c1ad2b FIX: postprocessing ignored cook method 2017-10-20 10:26:45 +02:00
Gerhard Schlager 1481462cbf PERF: Move oneboxing from cook method "email" to postprocessing 2017-10-20 10:26:45 +02:00
Guo Xiang Tan d3003592cd Connection may be `nil`. 2017-10-20 12:10:03 +08:00
Guo Xiang Tan 057571d173 Raise errors in PostgreSQLFallbackHandler threads. 2017-10-20 12:06:03 +08:00
Guo Xiang Tan 24e3e321e1 Only initialize distributed cache once. 2017-10-20 07:17:41 +08:00
Guo Xiang Tan c7402ef794 FIX: Use a distributed cache to store failover state. 2017-10-20 05:46:19 +08:00
Robin Ward 838568cbc3 Refactor flag types for more customization 2017-10-19 13:55:23 -04:00
Michael Brown e600fb79b3 Merge pull request #5241 from Supermathie/s_encode
single_sign_on: encode the payload with strict_encode64 which doesn't add extraneous newlines
2017-10-19 11:38:00 -04:00
Guo Xiang Tan 25c25ae423 FEATURE: Allow user to leave a PM. 2017-10-19 12:32:55 +08:00
Guo Xiang Tan 79de10b212 FEATURE: Allow users to disable new PMs.
https://meta.discourse.org/t/is-it-possible-to-disable-private-messaging-for-a-specific-user/46391
2017-10-19 12:32:55 +08:00
Régis Hanol cbdfc85466 FIX: images aren't lightboxed anymore (partially reverts 646c6eb7cd) 2017-10-18 23:54:36 +02:00
Sam a4c539bade FEATURE: Allow registration of detailed request logger
Detailed request loggers can be used to gather rich timing info
from all requests (which in turn can be forwarded to monitoring solution)

Middleware::RequestTracker.detailed_request_logger(->|env, data| do
   # do stuff with env and data
end
2017-10-18 12:10:30 +11:00
Régis Hanol 65dc47adb4 FIX: prevent infinite 'pull_hotlinked_images' jobs when a oneboxed image has a different scheme 2017-10-18 01:50:23 +02:00
Michael Brown 518e101ad6 single_sign_on: encode the payload with strict_encode64 which doesn't add extraneous newlines 2017-10-17 13:41:52 -04:00
Guo Xiang Tan 1b5ee0ae72 FIX: Couldn't boot Discourse app with a readonly postgres. 2017-10-17 13:44:30 +08:00
Sam Saffron 8185b8cb06 FEATURE: cache https redirects per hostname
If a hostname does an https redirect we cache that so next
lookup does not incur it.

Also, only rate limit per ip once per final destination

Raise final destination protection to 1000 ip lookups an hour
2017-10-17 16:22:54 +11:00
Sam Saffron 646c6eb7cd FEATURE: add :before_post_process_cooked hook
Also reduce amount of image downloading
2017-10-17 16:22:54 +11:00
Neil Lalonde 2db66072d7 SECURITY: signup without verified email using Google auth 2017-10-16 13:51:41 -04:00
Guo Xiang Tan 5f76e5062d Pause Sidekiq when postgres failovers. 2017-10-16 19:48:31 +08:00
Neil Lalonde b124e5f19f FIX: TL0 users' messages to moderators were not being posted when flagging private messages 2017-10-13 11:55:49 -04:00
Neil Lalonde 6f923d5964 Version bump to v1.9.0.beta13 2017-10-13 11:30:21 -04:00
Vinoth Kannan f176d114f2 FIX: with_email method won't support hash param (#5236) 2017-10-13 11:49:02 +02:00
Guo Xiang Tan d2ac7a9476 Partially revert 4e89d3f778.
* SiteSetting uses DistributedCache which depends on MessageBus.
  Therefore, we need to initialize MessageBus first.
2017-10-12 15:15:24 +08:00
Gerhard Schlager c0bb97b5cb FIX: delete staged users when the incoming email is rejected 2017-10-11 16:17:01 +02:00
Guo Xiang Tan 9dcb11f553 Fix the build. 2017-10-11 17:45:19 +08:00
Guo Xiang Tan 36f8697a59 FIX: Exception has to be wrapped in the connection as well. 2017-10-11 17:19:26 +08:00
Guo Xiang Tan 09721090a3 FIX: Ensure that we revert back to default connection after running jobs. 2017-10-11 17:17:03 +08:00
Sam 9b4fd0b26b correct multisite issues with scheduler 2017-10-11 18:46:53 +11:00
Sam 61f32ed431 FIX: we can not namespace eval automatically, it is impossible 2017-10-11 16:41:26 +11:00
Sam 6b4a1af160 FIX: don't attempt to schedule if there is no next run 2017-10-11 14:27:16 +11:00
Sam 233299982f keep time consistent, we always use to_i 2017-10-11 14:26:50 +11:00
Sam 4ea87b5ab8 Merge branch 's3_refactor' 2017-10-09 10:27:52 +11:00
Sam a8b4255bae Correct rule installation in AWS 2017-10-09 10:26:58 +11:00
Robin Ward 127c13314a We can use `avatar_template` here rather than recreating the logic 2017-10-06 14:02:43 -04:00
Neil Lalonde 7ed522c890 Version bump to v1.9.0.beta12 2017-10-06 11:28:49 -04:00
Régis Hanol 3bdd8f57c1 FIX: invited staged users would sometimes not get notified of replies 2017-10-06 16:37:28 +02:00
Gerhard Schlager 1477a0e910 Adds a rake task for refreshing posts received via email
This is useful when the email_reply_trimmer gem was updated and you want to apply those changes to existing posts.
2017-10-06 14:29:11 +02:00
Guo Xiang Tan 4552840e54 REFACTOR: DRY update code that uses duplicated logic. 2017-10-06 14:33:38 +08:00
Sam 70bb2aa426 FEATURE: allow specifying s3 config via globals
This refactors handling of s3 so it can be specified via GlobalSetting

This means that in a multisite environment you can configure s3 uploads
without actual sites knowing credentials in s3

It is a critical setting for situations where assets are mirrored to s3.
2017-10-06 16:20:01 +11:00
Guo Xiang Tan 4ba5e678d8 Require dependencies to enable live reload in dev for Sidekiq. 2017-10-06 11:39:00 +08:00
Robin Ward 0c84352386 Add support for transformations 2017-10-05 16:24:58 -04:00
Robin Ward 07d04aba1d Support `{{unless}}` in virtual dom templates 2017-10-05 14:35:07 -04:00
Guo Xiang Tan b2127600fb Remove use of concurrent timer for Redis failover.
* Uses the same logic for Postgres failover.
2017-10-05 15:57:08 +08:00
Neil Lalonde f5a2ed99b0 FIX: deleting category background images sometimes has no effect 2017-10-04 17:04:37 -04:00
Robin Ward 051b49efdb FIX: Properly encode string literals in hbs compiler 2017-10-04 15:53:06 -04:00
Neil Lalonde ddbd1d5ab8 allow regex options on username site settings 2017-10-04 15:08:51 -04:00
Neil Lalonde c29334cf23 FEATURE: the hide_email_address_taken setting works with the change email address form in user preferences 2017-10-04 11:41:25 -04:00
Sam a4d4db4f0c PERF: code not correctly caching git commands
Every check for Discourse version could result in shelling out.
2017-10-04 14:22:38 +11:00
Kyle Zhao 0342324b47 FEATURE: support regex in rake post:remap (#5201) 2017-10-04 11:47:53 +11:00
Gerhard Schlager 9ff1c23a38 fix typo 2017-10-04 00:01:33 +02:00
Gerhard Schlager 7f50380221 FIX: respect email domain whitelist/blacklist when creating staged users 2017-10-03 16:36:08 +02:00
Gerhard Schlager 76706f9144 FIX: don't create staged users when incoming email is rejected
FIX: don't send subscription mail to new users
2017-10-03 16:36:08 +02:00
Sam 5b96463c40 in production there is no cached it seems 2017-10-03 18:27:09 +11:00
Sam ac01885b60 FEATURE: rake tasks for uploading assets to S3
This opens the door to serving application.js and so on from s3.

Also updates s3 gem for some tagging support
2017-10-03 18:00:53 +11:00
Guo Xiang Tan 3e53dbcade UX: Only include tag hashtag postfix when necessary.
https://meta.discourse.org/t/links-to-tags-not-working-in-final-post-unless-autocompleted/69884/6?u=tgxworld
2017-10-03 13:54:50 +08:00
Robin Ward 823936ca9c A plugin API to catch exceptions 2017-10-02 12:05:12 -04:00
Régis Hanol 47e79570cc FIX: frequent posters wasn't displaying the correct information 2017-10-02 17:47:04 +02:00
OsamaSayegh 79f3d299a1 Don't allow category definition topics to be converted to PMs (#5216) 2017-10-02 10:04:58 +02:00
Arpit Jalan df09599531 FIX: use different method name for topic rake task
https://kevinjalbert.com/defined_methods-in-rake-tasks-you-re-gonna-have-a-bad-time/

cc @gschlager
2017-09-29 22:47:03 +05:30
Robin Ward 00b190af75 Revert "A safe way to create class variables in a multisite environment."
The approach taken by this interface was flawed. We need a better
solution.
2017-09-29 11:06:12 -04:00
Robin Ward 0caf6a0f7d Support for HTML values in widget hbs templates 2017-09-29 09:56:14 -04:00
Sam f6fdc1ebe8 FEATURE: flexible crawler detection
You can use the crawler user agents site setting to amend what user agents
are considered crawlers based on a string match in the user agent

Also improves performance of crawler detection slightly
2017-09-29 12:31:50 +10:00
Robin Ward df81d109e5 The ability to attach `attrs` when embedding widgets 2017-09-28 16:08:43 -04:00
Neil Lalonde 502f910eb5 Version bump to v1.9.0.beta11 2017-09-28 15:27:46 -04:00
Robin Ward e980322ed6 Allow hbs widgets to access their parent state 2017-09-28 15:19:44 -04:00
Robin Ward 34f98f362f Add a plugin hook to specify a class on the body of the document 2017-09-28 13:17:09 -04:00
Robin Ward 07e84a3afa FIX: Hack our title retriever so that it parses YouTube URLs 2017-09-28 09:30:22 -04:00
OsamaSayegh ab68379abb Use `PostDestroyer` to delete topics when performing bulk operation (#5202)
* Use `PostDestroyer` to delete topics when performing bulk operation

This PR should fix this bug: https://meta.discourse.org/t/bulk-deletion-of-topics-not-logged/50407?u=osama

* failing test
2017-09-28 14:22:49 +02:00
Sam 8ecf313a81 FIX: correctly raise errors when downloads fail
This corrects an issue where we are hitting Gravatar for 404 over and over

Also ensures file download properly reports errors
2017-09-28 16:35:43 +10:00
Guo Xiang Tan 426d2178c3 Fix undefined variable in `TopicCreator`. 2017-09-28 12:25:42 +08:00
Guo Xiang Tan 3e6bf38394 Merge pull request #5207 from tgxworld/try_travis_fix
Fix randomly failing test.
2017-09-28 10:56:05 +08:00
Guo Xiang Tan d4388f54a2 FIX: Use exact patht to ensure we always redirect with the right format. 2017-09-28 10:29:41 +08:00
Sam b80320da5e no verbose logging for failed downloads of gravatars 2017-09-28 11:32:26 +10:00
Régis Hanol 165b388158 fix indentation 2017-09-28 01:07:43 +02:00
Régis Hanol 3a75242c38 add more logs to pull hotlinked images 2017-09-28 01:00:13 +02:00
Robin Ward 3e13becf33 A safe way to create class variables in a multisite environment.
This should allow plugins to set class variables that will not
stomp on other plugins.
2017-09-27 13:00:47 -04:00
Guo Xiang Tan 5324c01209 FIX: Don't raise an error if reading from URL timeout. 2017-09-27 14:53:22 +08:00
Robin Ward 460ed3c8cf Revert "Allow `NotFound` to specify an optional `Location` for the resource"
This reverts commit 4ae66c9e01.
2017-09-26 12:58:24 -04:00
Robin Ward 4ae66c9e01 Allow `NotFound` to specify an optional `Location` for the resource 2017-09-26 09:10:18 -04:00
Guo Xiang Tan 367fb1c524 FIX: Onebox fails on encoded URL.
https://meta.discourse.org/t/onebox-breaks-if-theres-chinese-text-in-url/67364
2017-09-26 18:34:54 +08:00
Guo Xiang Tan c25730935e FIX: Do not include non-human users on suspected users list.
https://meta.discourse.org/t/discobot-is-a-suspect-user/70558
2017-09-26 15:04:08 +08:00
Guo Xiang Tan c06b782cab PERF: Reduce number of topics to filter while querying for unread. 2017-09-26 12:36:52 +08:00
Robin Ward 81f2b38b78 FIX: Don't include flags on non-human users 2017-09-25 16:15:48 -04:00
Robin Ward d1ebc62065 The ability to display errors on flagging actions. 2017-09-25 12:28:01 -04:00
Robin Ward 561fa7d0cd FEATURE: Site Setting to hide suspension reason on the public profile 2017-09-25 12:25:14 -04:00
Robin Ward d7c37d9369 Add front end service for staff controls 2017-09-25 12:25:14 -04:00
Robin Ward 5cf50f0034 Adjust flagged posts to use the store 2017-09-25 12:25:14 -04:00
Robin Ward 5e69217793 Add filtering support to flags 2017-09-25 12:25:14 -04:00
Robin Ward 40eba8cd93 FEATURE: View flags grouped by topic 2017-09-25 12:25:14 -04:00
Guo Xiang Tan 9540b952fd Fix broken condition in PostgresqlFallbackAdapter. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 23b787e0a6 Require dependency otherwise it causes Sidekiq to lock up in development. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 5be5def217 PERF: Bypass AR and just use raw SQL. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
Gerhard Schlager e08b5feb8a improved status output during auto-closing and ignore deleted topic timers 2017-09-21 10:58:09 +02:00
Gerhard Schlager 26d10370c6 Adds a rake task for applying auto-close to old topics 2017-09-20 15:49:53 +02:00
Régis Hanol 8ed318c4fe display 'similar to' earlier when composing a post 2017-09-16 01:03:29 +02:00
Régis Hanol 32972de2d7 Version bump to v1.9.0.beta10 2017-09-16 00:55:41 +02:00
Guo Xiang Tan 1a9762a9c0 Fixed private group messages being exposed in suggested topics.
Revert "Revert "PERF: Avoid unnecessary expensive joins if possible.""

This reverts commit d9714c21c8.
2017-09-15 23:40:53 +08:00
Gerhard Schlager 6e04f05173 that shouldn't have been there... 2017-09-15 17:33:31 +02:00
Gerhard Schlager d51eee4dbc FIX: don't try to send a rejection message when the sender was not detected 2017-09-15 17:30:02 +02:00
Gerhard Schlager a2187b0acd FIX: better error handling for incoming emails 2017-09-15 17:30:02 +02:00
Guo Xiang Tan d9714c21c8 Revert "PERF: Avoid unnecessary expensive joins if possible."
This reverts commit f3fadf41b7.

* This ended up exposing group pms to users that are not part
  of a group.
2017-09-15 22:22:07 +08:00
Arpit Jalan 041ace5d3b new rake task to defer all flags 2017-09-15 16:42:58 +05:30
Régis Hanol 797936d2c5 FIX: don't leak whisper count in user card 2017-09-14 20:08:16 +02:00
Robin Ward 8c2d6118ff Remove some of the last few `fa-icon` helpers 2017-09-14 11:20:36 -04:00
Neil Lalonde f698de0bbf Version bump to v1.9.0.beta9 2017-09-14 11:08:22 -04:00
Guo Xiang Tan de46d59a94 Remove comment that is no longer relevant. 2017-09-14 19:57:50 +08:00
Guo Xiang Tan 195982fd41 PERF: Remove N+1 query when generating posters summary. 2017-09-14 12:07:35 +08:00
Guo Xiang Tan f3fadf41b7 PERF: Avoid unnecessary expensive joins if possible.
```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_groups tg
    JOIN group_users gu ON gu.user_id = 13455 AND gu.group_id =
tg.group_id
    WHERE gu.group_id IN (47)
  )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (32852,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.277 ms
Execution time: 71.577 ms

```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN (
  SELECT * FROM topic_allowed_groups _tg
  LEFT JOIN group_users gu
  ON gu.user_id = 13455
  AND gu.group_id = _tg.group_id
  AND gu.group_id IN (47)
) tg ON topics.id = tg.topic_id
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (32852)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (tg.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.191 ms
Execution time: 0.129 ms
2017-09-14 11:18:58 +08:00
Régis Hanol 0096ee40da FIX: only show participants the user can see 2017-09-13 17:14:03 +02:00
Guo Xiang Tan 28148197d6 PERF: Avoid `NOT IN (<subquery>>` which can get really slow.
```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics" LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND
tu.user_id = 13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_users
    WHERE user_id = 13455
   )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (2,1995,8307,17621,22980,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at
DESC LIMIT 5;
```

Planning time: 1.196 ms
Execution time: 21.176 ms

```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN topic_allowed_users ta ON topics.id = ta.topic_id AND
ta.user_id = 13455
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (2,1995,8307,17621,22980,-10)
LEFT JOIN topic_allowed_groups tg ON topics.id = tg.topic_id AND
tg.group_id IN (-10)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (ta.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL OR tg.topic_id IS NOT NULL)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 5;
```

Planning time: 1.792 ms
Execution time: 2.546 ms
2017-09-13 22:28:33 +08:00
Gerhard Schlager 31ecb4fecf FIX: Handle incoming emails without email address in From header (#5177) 2017-09-12 22:35:24 +02:00
Guo Xiang Tan 07bfe3d053 FIX: Use a distrbuted cache for site locale. 2017-09-12 19:36:17 +08:00
Arpit Jalan 18142d8abf new rake task to bake uncooked posts 2017-09-12 12:40:18 +05:30
Neil Lalonde c12a53449c FIX: output css for category backgrounds only if uploads have a url 2017-09-11 17:10:30 -04:00
Robin Ward 717ed75fc4 Add warning when plugins changed by `tmp` was not removed 2017-09-08 13:38:46 -04:00
Guo Xiang Tan 2db47f98cd Avoid allocating an extra array. 2017-09-08 14:07:24 +08:00
Guo Xiang Tan 0f2a303f00 Remove irrelevant comment. 2017-09-08 14:07:24 +08:00
Guo Xiang Tan 5d4221fbe1 PERF: Avoid calling expensive `PostGuardian#can_see_post?` multiple times.
Before

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 19
  75: 19
  90: 21
  99: 27
topic:
  50: 56
  75: 62
  90: 64
  99: 99
timings:
  load_rails: 1262
ruby-version: 2.4.1-p111
rss_kb: 198432
pss_kb: 136612
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_9877: 327892
pss_kb_9877: 263671
rss_kb_9946: 325468
pss_kb_9946: 261671
rss_kb_10153: 326456
pss_kb_10153: 262657
```

After

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 18
  75: 18
  90: 20
  99: 28
topic:
  50: 41
  75: 42
  90: 46
  99: 49
timings:
  load_rails: 1201
ruby-version: 2.4.1-p111
rss_kb: 187936
pss_kb: 123596
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_26478: 342360
pss_kb_26478: 276696
rss_kb_26547: 340368
pss_kb_26547: 275930
rss_kb_26747: 338964
pss_kb_26747: 274466
```
2017-09-08 14:07:24 +08:00
Régis Hanol 657440b8be FIX: consecutive_visits query wasn't properly setting 'granted_at' (3rd time's a charm) 2017-09-07 18:41:56 +02:00
Guo Xiang Tan 58321d0783 PERF: Remove `Object#present?` check introduced in e0d5d9670a. 2017-09-07 21:36:27 +08:00
David Taylor 7d350d0d75 Revert plugin js changes (#5139)
* Revert "Add disabled_plugins to preloadstore for login_required anonymous users (#5134)"

This reverts commit b840170f8d.

* Revert "Do not load javascripts for disabled plugins (#5103)"

This reverts commit a14ab48829.
2017-09-07 15:15:29 +02:00
Guo Xiang Tan e0d5d9670a Fix the build. 2017-09-07 18:41:44 +08:00
Guo Xiang Tan 3e123b1a39 PERF: Use `pluck` instead of enmurating through all the records. 2017-09-07 17:24:23 +08:00
Guo Xiang Tan 4d840d10db PERF: Reduce number of Redis hits per requests. 2017-09-07 13:34:27 +08:00
Régis Hanol db920673dc FIX: consecutive_visits query wasn't return only the first result per user 2017-09-07 01:08:28 +02:00
Régis Hanol 8a935a4b5f FEATURE: new badges when visiting the forum for 10, 100 and 365 consecutive days 2017-09-06 22:35:08 +02:00
David Taylor a14ab48829 Do not load javascripts for disabled plugins (#5103)
* Do not load javascript for disabled plugins

* Appease rubocop
2017-09-06 10:06:47 +02:00
Robin Ward db929e58fc FIX: Don't allow staff to approve users with unverified emails 2017-09-04 12:55:39 -04:00
Robin Ward cb56dcdf2e FIX: Use proper `iconNode` when compiling virtual dom templates 2017-09-01 11:20:33 -04:00
Robin Ward dffb1fc4ee FEATURE: Use Glimmer compiler for widget templates
Widgets can now specify a template which is precompiled using Glimmer's
AST and then converted into our virtual dom code.

Example:

```javascript
createWidget('post-link-arrow', {
  template: hbs`
    {{#if attrs.above}}
      <a class="post-info arrow" title={{i18n "topic.jump_reply_up"}}>
        {{fa-icon "arrow-up"}}
      </a>
    {{else}}
      <a class="post-info arrow" title={{i18n "topic.jump_reply_down"}}>
        {{fa-icon "arrow-down"}}
      </a>
    {{/if}}
  `,

  click() {
    DiscourseURL.routeTo(this.attrs.shareUrl);
  }
});
```
2017-09-01 09:28:16 -04:00
Sam Saffron 7f8a90ef63 remove non english comment 2017-08-31 17:00:37 -04:00
Robin Ward 48e95f01fc Version bump to v1.9.0.beta8 2017-08-31 14:54:44 -04:00
Robin Ward e7885c20cb Add reloadable support for patching in an avatar lookup 2017-08-30 14:24:03 -04:00
Guo Xiang Tan df9d662dab FIX: Use `CASCADE` when dropping function. 2017-08-30 15:54:27 +08:00
Guo Xiang Tan 54ad436258 Revert "FIX: Drop function first before removing trigger."
This reverts commit d229969afa.
2017-08-30 15:38:09 +08:00
Guo Xiang Tan d229969afa FIX: Drop function first before removing trigger. 2017-08-30 15:33:25 +08:00
Sam c705159d22 Remove email column from user table 2017-08-29 11:50:56 -04:00
Bianca Nenciu 6bc74ceb50 Split alias levels in mentionable and messageable levels. (#5065)
* Split alias levels in mentionable and messageable levels.

* Fixed some tests.

* Set messageable level to everyone by default.

* By defaults, groups are not mentionable or messageable.

* Made staff groups messageable by the system.
2017-08-28 12:32:08 -04:00
Sam 552fbd3c8d lint 2017-08-28 12:25:34 -04:00
darix 4b5724ec02 Extend config/version.rb with more informations (#5061)
This gives installations not using git checkouts
to provide all the informations needed for the
internal version checks and version display in
the dashboard.

The build:stamp rake task was extended to also
add the new informations.
2017-08-28 12:24:56 -04:00
Bianca Nenciu bb3a5910d7 Support for sending PMs to email addresses (#4988)
* Added support for sending PMs to email addresses.

* Made changes after review.

* Added settings validator.

* Fixed tests.
2017-08-28 12:07:30 -04:00
Arpit Jalan 4623b46b0b rescue error when remapping permalinks 2017-08-28 20:43:40 +05:30
Sam 6e1809ce32 add a debugging task for running all schedules 2017-08-25 12:19:34 -04:00
Neil Lalonde 2c56f8df7c FEATURE: show tags in search results 2017-08-25 11:52:59 -04:00
Sam fef08c6fee FEATURE: rake db:stats
Basic rake task to provide db stats like largest tables, row count and size
2017-08-25 10:29:04 -04:00
Arpit Jalan 70f7a0ca1a new rake task to remap old phpbb links 2017-08-25 15:09:11 +05:30
Robin Ward 0b58848895 FIX: Category badge style of none was causing errors when rendering 2017-08-24 13:45:32 -04:00
Sam fdc5c080ea FIX: bump default max for int site settings to a much higher number
(close to long int)
2017-08-24 10:16:41 -04:00
Guo Xiang Tan 7c15b27a90 Merge pull request #5073 from xrav3nz/extract-github-avatar
FEATURE: import Github profile picture
2017-08-23 16:18:46 +09:00
Kyle Zhao 5868508e98 GH#retrieve_avatar: simplify conditional and restructured testing 2017-08-22 23:46:50 -04:00
Guo Xiang Tan 49ddc98b38 Merge pull request #5066 from davidtaylorhq/docker-lint-changes
Docker lint SINGLE_PLUGIN
2017-08-23 09:56:15 +09:00
Kyle Zhao 49f0119c12 FEATURE: import Github profile picture 2017-08-22 20:23:47 -04:00
Sam bcf7dc38c2 FEATURE: server side support for upload:// markdown
This allows uploads to be specified using short sha1 hash instead of full
URL

Client side change is pending
2017-08-22 11:46:23 -04:00
David Taylor ed6e1c3825 Combine docker:lint and docker:test into one command 2017-08-22 13:47:29 +01:00
Guo Xiang Tan 2d4d76472d FIX: Broken suspect user lists.
https://meta.discourse.org/t/server-error-code-500/68404
2017-08-22 11:16:55 +09:00
David Taylor a3f5878ec9 Use `if`, not `unless` 2017-08-18 22:12:20 +01:00
David Taylor 7704e8246b Allow SINGLE_PLUGIN environment variable to be used 2017-08-18 22:04:35 +01:00
David Taylor ea43f50f6d Add documentation for new ENV variables 2017-08-18 22:03:09 +01:00
Sam aeedecd27c correct erratically failing spec 2017-08-18 15:10:37 -04:00
David Taylor d65570a8a1 Preparation for using chrome for qunit in docker images (#5062)
Move use_chrome option to ENV variable
Rewrite script to work with node 6 (current LTS version used in discourse_docker)
Add node stuff to gitignore
2017-08-18 14:08:58 -04:00
Guo Xiang Tan 8ecf383c55 Extract linter in `docker:test` Rake task into `docker:lint`. 2017-08-18 12:22:01 +09:00
Sam a83bd537f4 FIX: exception in excerpt parser for null nodes 2017-08-17 16:13:30 -04:00
Neil Lalonde df5142493c Version bump to v1.9.0.beta7 2017-08-17 15:59:29 -04:00
Guo Xiang Tan 0e656ff213 FIX: Can't reset AR schema cache due to versions table. 2017-08-17 19:27:35 +09:00
Guo Xiang Tan 2157079d09 Add Plugin API to register a category custom field. 2017-08-17 15:59:57 +09:00
Régis Hanol 55f449edc5 FIX: reloading issues with classes 2017-08-16 23:00:52 +02:00
Robin Ward f9ff06b9d4 Allow ENV variable to force polling 2017-08-16 12:59:38 -04:00
Neil Lalonde 0daeefc977 Version bump to v1.9.0.beta6 2017-08-16 12:49:25 -04:00
Robin Ward c8220e11f9 Better formatting for CSS errors 2017-08-16 11:48:07 -04:00
David Taylor c981edfa20 Add option to run qunit tests in headless chrome (#5054) 2017-08-16 07:42:42 -04:00
Erick Guan 6e59149a77 FIX: rebuild index when engine replaced (#5021) 2017-08-16 07:38:34 -04:00
Guo Xiang Tan b77aa29e71 Merge pull request #5013 from LeoMcA/alternate-emails-phase-1.5
FIX: add additional email to tests and clean up resulting mess
2017-08-16 16:19:28 +09:00
Guo Xiang Tan 86adc8d717 Fix typo. 2017-08-16 13:06:47 +09:00
Guo Xiang Tan 0b2d65f77a Include the site setting file path for which a default value is missing. 2017-08-16 11:42:08 +09:00
Guo Xiang Tan ed851dbfff FIX: Avoid publishing a gigantic payload.
* Certain sites have way too many categories.
2017-08-16 11:38:30 +09:00
Erick Guan 1646bc0031 FIX: fails loud if default setting is not set
Noted:
- `push_api_secret_key` is set in initializer. Shimed with ''
- `default_theme_key` is set in seeding. Shimed with ''
2017-08-15 12:07:25 +02:00
Joffrey JAFFEUX 506572bf04 FIX: display emojis (set, custom and native) in bio excerpt 2017-08-15 10:05:09 +02:00
Arpit Jalan 7e9b2289bd UX: make 404 page look better on dark theme 2017-08-15 12:15:56 +05:30
Neil Lalonde dd665c62f2 FIX: staff count on invites step of wizard should only include real users 2017-08-14 22:17:41 -04:00
Leo McArdle 0ef7a969f2 Some more HTML to Markdown fixes (#5046)
* FIX: handle spaces better within emphasis tags in html_to_markdown

* FIX: handle line breaks at beginning of emphasis tags in html_to_markdown
2017-08-14 22:13:24 +02:00
Neil Lalonde 6fcb530b56 UX: setup wizard won't offer pre-existing users with reserved usernames 2017-08-14 15:31:57 -04:00
Régis Hanol 89e919ec42 UX: keep emojis in excerpts in flag queue 2017-08-14 15:16:47 +02:00
Arpit Jalan 2f3f5477b0 UX: fix category badge style on 404 page 2017-08-14 16:26:25 +05:30
Robin Ward 5ed809a15b FIX: Reloading issues with classes 2017-08-13 13:19:50 -04:00
Régis Hanol 51ef36abb4 Add a bunch of reload-friendly class variables accessors plugin APIs 2017-08-12 04:21:02 +02:00
Régis Hanol 75e4f7f896 Shorten some very long lines
Prevent warnings from already defined constants when reloading
2017-08-12 04:18:04 +02:00
Neil Lalonde c924975086 FIX: wizard should only include human admins and system user as the site contact username options 2017-08-11 15:29:07 -04:00
Guo Xiang Tan 59423b693b Merge pull request #5035 from nbianca/remove_spork
Remove Spork dependency.
2017-08-11 09:52:16 +09:00
Bianca Nenciu 1c079bec33 Remove Spork dependency. 2017-08-10 22:54:52 +01:00
Guo Xiang Tan f7d3702454 FIX: Return 404 if API access is invalid. 2017-08-10 18:27:01 +09:00
Robin Ward dc15e48334 FIX: You can't cache the files here, plugin translations won't work 2017-08-09 17:28:11 -04:00
Régis Hanol 04460ecac5 'add_to_serializer' should define the 'include_' method by default 2017-08-09 22:22:18 +02:00
Robin Ward 53e6ccf17b Allow reloading of translation keys for plugins in development mode 2017-08-09 13:58:20 -04:00
Robin Ward f11253dcb6 Allow plugin patches to reload in development mode 2017-08-09 12:30:27 -04:00
Guo Xiang Tan a1f60cfcb8 Fix incorrect test migration. 2017-08-10 00:20:07 +09:00
Robin Ward 7b3631454d FIX: In development mode on OSX, plugin stylesheets were not reloading
It seems to be due to symlinks in the plugins folder. Watching
the individual plugins seems to fix the issue rather than the entire
plugin folder.
2017-08-09 11:06:27 -04:00
Rafael dos Santos Silva 5324c9817f FIX: Title prettify shoundn't downcase all non-ascii titles 2017-08-08 14:03:24 -03:00
Joffrey JAFFEUX 6cd8203686 FIX: allows onebox to force GET hosts returning wrong headers on HEAD 2017-08-08 11:44:27 +02:00
Guo Xiang Tan 2c39743d5d Introduce multisite tests for better coverage. 2017-08-08 12:58:22 +09:00
Guo Xiang Tan 764957dfc4 Merge pull request #5030 from tgxworld/fix_defaults_cache_cross_talk
FIX: SiteSettings defaults cache leaking across multisite.
2017-08-07 17:07:31 +09:00
Guo Xiang Tan 22a1db7b8a FIX: Make `DbProvider#table_exits?` work with multisite. 2017-08-07 16:37:42 +09:00
Guo Xiang Tan c5850422f0 FIX: SiteSettings defaults cache leaking across multisite. 2017-08-07 15:16:57 +09:00
Guo Xiang Tan 412fa78b1f FIX: `default_locale` cross talk in multisite setup. 2017-08-07 11:14:28 +09:00
Guo Xiang Tan 3f24ed2b3e Can't revert due to incompatibility of new site setting types.
Revert "Revert "FEATURE: Site settings defaults per locale""

This reverts commit 439fe8ba24.
2017-08-07 10:43:09 +09:00
Guo Xiang Tan 439fe8ba24 Revert "FEATURE: Site settings defaults per locale"
This reverts commit 468a8fcd20.
2017-08-07 10:31:50 +09:00
Régis Hanol ecbeaed0bc fix weird indentation 2017-08-04 17:28:25 +02:00
Régis Hanol c76161787c eager load more tables for the topic_view 2017-08-04 17:23:53 +02:00
Leo McArdle 99527af38a FIX: show rejected emails with unrecognized errors (#5026)
Although 407a23663d will send rejection
messages for unrecognized errors, sometimes processing the email will
raise an error which has a blank message.

This commit:

1. Shows rejected emails which have already been processed and contain
   a blank error in /admin/email/rejected

2. Replaces new blank error messages with the error type
2017-08-04 16:20:44 +02:00
Arpit Jalan c0a2d9e671 Make rubocop happy 2017-08-04 12:30:35 +05:30
Arpit Jalan 687b05750b add Permalinks support for vBulletin bulk import script 2017-08-04 12:23:11 +05:30
Arpit Jalan 2d909f7894 new phpBB PostgreSQL bulk import script 2017-08-03 21:21:58 +05:30
Guo Xiang Tan 8cc8010564 Maintain backwards compatibility before `Jobs::MigrateUploadExtensions` runs. 2017-08-03 11:56:55 +09:00
Guo Xiang Tan a47e297508 Merge pull request #5019 from tgxworld/more_resiliency_to_readonly_redis
Fix Redis command errors when trying to start app with a readonly Redis.
2017-08-03 06:34:36 +09:00
Leo McArdle 65d5cd7239 FIX: generate valid markdown from <br></b> in an email (#5022)
* FIX: generate valid markdown from <br></b> in an email

* FIX: don't generate markdown for empty <strong> or <em> tags in emails
2017-08-02 23:02:59 +02:00
Sam f6bc572fb8 FEATURE: option to enable inline oneboxes for all domains
Also, change to prefer title over open graph which is often way too sparse
2017-08-02 14:27:31 -04:00
Robin Ward 582ae9ab8d Add some more debugging information when a plugin can't find a gem 2017-08-02 14:00:18 -04:00
Erick Guan 468a8fcd20 FEATURE: Site settings defaults per locale
This change-set allows setting different defaults for different locales. 

It also:

- Adds extensive testing around site setting validation

- raises deprecation error if site setting has the default property based on env

- relocated site settings for dev and tests in the initializer

- deprecated client_setting in the site setting's loading process

- ensure it raises when a enum site setting being set

- default_locale is promoted to `required` category.

- fixes incorrect default setting and validation

- fixes ensure type check for site settings

- creates a benchmark for site setting

- sets reasonable defaults for Chinese
2017-08-02 12:24:19 -04:00
Guo Xiang Tan 9bc3038728 Fix Redis command errors when trying to start app with a readonly Redis. 2017-08-02 21:33:56 +09:00
David Taylor ea032d8372 Improve source code linting for continuous integration (#5017)
* Add rubocop linting to docker:test rake task

* Add eslint JS listing to plugin files, and add SKIP_LINT variable

* Fix failing ‘polls’ plugin eslint

Using eslint-disable-line, as is done in core qunit tests such as `acceptance/group-logs-test.js.es6`

* Add plugin test eslint to travis config

* Merge some eslint lines
2017-08-02 11:33:29 +09:00
Sam 97fa64d846 FIX: non tag/category # searches should be passed through 2017-08-01 18:15:14 -04:00
Sam 71ad3a48c2 Correct flaky distributed cache test
make distributed cache more testable
2017-08-01 16:11:48 -04:00
Neil Lalonde a870137845 Version bump to v1.9.0.beta5 2017-08-01 14:32:24 -04:00
Guo Xiang Tan 7d5b6e2b3c Disable MessageBus's keepalive when Redis is readonly. 2017-08-01 23:07:52 +09:00
Neil Lalonde 1fdf2e4d4b badly resolved conflicts 2017-07-31 20:28:16 -04:00
Neil Lalonde fa3c240e8b Merge pull request #4981 from dmacjam/fix_limited_search_results
FIX: limited search results
2017-07-31 20:23:57 -04:00
Leo McArdle 836dee1120 FIX: add additional email to tests and clean up resulting mess 2017-07-31 22:27:29 +00:00
Neil Lalonde 7c1d7fb423 Merge branch 'master' into fix_limited_search_results 2017-07-31 15:55:31 -04:00
Erick Guan f1eccd113c Replace rmmseg gem for cppjieba_rb since better dictionary (#5006)
* Rename locale to ts config in search module to make it clear

* Replace rmmese-cpp for cppjieba_rb
2017-07-31 15:28:48 -04:00
Neil Lalonde 83011045c8 fix rubocop offenses 2017-07-31 11:59:16 -04:00
Neil Lalonde 5d528f0d15 Merge pull request #4958 from dmacjam/search_posts_by_filetype
FEATURE: Search posts by filetype
2017-07-31 11:55:34 -04:00
Neil Lalonde 4a5907b116 Merge branch 'master' into search_posts_with_images 2017-07-31 10:44:41 -04:00
Arpit Jalan b059a0f789 extract url escaping to a dedicated class method and improved tests 2017-07-29 22:16:51 +05:30
Arpit Jalan 1fe553873c FIX: preserve fragment identifier when escaping url 2017-07-29 17:22:45 +05:30
Joffrey JAFFEUX da5e7dc876 FIX: Pull last emoji-db revision
This commit will add new images in some sets and fix a bug where
🤦‍♂️ was using :person_facepalming: image which is in fact
represented as a woman in most sets.
2017-07-29 13:12:45 +02:00
Robin Ward 43fd90b2da Remove serve_public_dir -- it's not needed 2017-07-28 13:44:38 -04:00
Robin Ward 5ae79697b8 Remove unused `register_theme` code, expose `serve_public` 2017-07-28 11:47:25 -04:00
Guo Xiang Tan 5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Neil Lalonde 68b3dd43ce fix intermittent failing tests, some watched word refactoring 2017-07-27 12:27:01 -04:00
Robin Ward 5cfc2d8972 Run wizard specs in docker:test 2017-07-27 11:29:18 -04:00
Blake Erickson 6fc5ece628 FIX: onebox for dropbox video links not working
add dropbox to the list of ignore redirects for onebox links
2017-07-26 14:37:54 -06:00
Sam 2d41c5ed3c missing bracket 2017-07-26 13:11:08 -04:00
David Taylor 2c6ed64ebe Spawn a new rake process to run tests, so that LOAD_PLUGINS gets re-checked (#5001) 2017-07-26 12:54:56 -04:00
Neil Lalonde 24cb950432 FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block 2017-07-26 11:01:09 -04:00
Neil Lalonde ea0e90b2b0 Merge branch 'master' into search_posts_with_images 2017-07-26 10:15:55 -04:00
David Taylor febd7621ea Qunit plugin rake tasks (#4985)
* Allow running specific plugin tests using ENV variables

* Add a `rake plugin:qunit` task to match the existing `rake plugin:spec` task

* Improve docker.rake to allow running specific plugin qunit tests

* Purge cache before and after qunit tests

* Stop module auto-loader trying to auto-load tests

* Use URL query parameters to pass config into Qunit, avoiding caching issues

* Oops, searchParams doesn’t work in phantomJS. Parse the URL manually.

* Escape ampersands before passing URL to phantomJS, otherwise multiple parameters go wrong
2017-07-26 09:07:46 -04:00
Guo Xiang Tan e3ac6585bd FIX: Search by topic_id should not be restricted by `SiteSetting.min_search_term_length`. 2017-07-26 09:52:39 +09:00
Guo Xiang Tan 96267f0845 Merge pull request #4960 from discourse/category-description-error
FIX: Explicit error when category description post is bad
2017-07-26 08:54:22 +09:00
Neil Lalonde d8c27e3871 Merge branch 'master' into search_posts_by_filetype 2017-07-25 14:41:20 -04:00
Sam 400a55eca3 Merge pull request #4995 from davidtaylorhq/qunit-warmup
Improve “server warmup” check for qunit rake task
2017-07-25 11:39:32 -04:00
David Taylor 4ad864892b Improve “server warmup” check for qunit rake task 2017-07-25 16:31:30 +01:00
Sam 283d42d6f3 FEATURE: allow bisect and rspec seed 2017-07-25 11:09:51 -04:00
Régis Hanol c7c93e7159 FEATURE: new 'strip image metadata' site setting 2017-07-25 11:48:39 +02:00
Guo Xiang Tan 8a362a1c3c Reset ActiveRecord cache after dropping columns. 2017-07-25 15:36:30 +09:00
Guo Xiang Tan dd932217ca Fix docker tests not loading plugins. 2017-07-25 15:27:09 +09:00
Sam 04eac9f14a lets attempt to get these specs working! 2017-07-24 18:35:20 -04:00
Sam f67e715ef1 comment out specs that break others
will check in a fixed spec tomorrow
2017-07-24 17:28:24 -04:00
Sam f97fb7b70c tighten time to stop schedueler 2017-07-24 15:19:54 -04:00
Sam 0c47153808 clean up stop semantics 2017-07-24 15:17:48 -04:00
Sam c08a7aee8f clean up skipped tests
tighter connection handling in scheduler
2017-07-24 15:06:24 -04:00
Sam 66ef7976ea FIX: don't re-scheduler correctly scheduled daily tasks 2017-07-24 14:30:43 -04:00
Guo Xiang Tan d940166a89 Re-enable skipped `Scheduler::ScheduleInfo` test. 2017-07-25 00:03:03 +09:00
Guo Xiang Tan e82efc7b03 Fix `SiteSetingExtension` specs to coerce int to string. 2017-07-24 22:54:42 +09:00
Régis Hanol d792e81372 don't pollute test suite with warning message from readonly Redis 2017-07-24 10:22:32 +02:00
Guo Xiang Tan 1b0750d7ef Merge pull request #4983 from tgxworld/group_owners_can_invite_users_to_groups
Group owners can invite users to groups
2017-07-24 16:21:19 +09:00
Sam 440b95a6f3 correctly return all v8 data as opposed to just one context 2017-07-21 16:37:19 -04:00
Robin Ward 2f8f2aa1dd FEATURE: Whitelists for inline oneboxing 2017-07-21 15:41:47 -04:00
Rafael dos Santos Silva 89ef5d36a9 FIX: Explicit error when category description post is bad 2017-07-21 16:07:29 -03:00
Régis Hanol fff5e2c3a5 Merge pull request #4984 from LeoMcA/unrecognized-error-email
FEATURE: send rejection email for unrecognized errors
2017-07-21 20:40:18 +02:00
Robin Ward 574681dc47 FIX: Show emoji in inline oneboxes 2017-07-21 14:24:48 -04:00
Leo McArdle 407a23663d FEATURE: send rejection email for unrecognized errors 2017-07-21 18:26:52 +01:00
Sam e1ce47a901 Pass the full CommonMark spec 2017-07-21 13:20:52 -04:00
Guo Xiang Tan 2a17f1ccd7 FIX: Group owners should be able to invite users to their groups.
https://meta.discourse.org/t/group-owner-cannot-send-an-invite-to-a-group/60617/12
2017-07-21 23:48:25 +09:00
David Taylor 62604e9297 Allow docker test rake task to be used for single plugins (#4973)
* Allow docker test rake task to be used for single plugins
2017-07-21 09:59:54 +09:00
Robin Ward d2490cbbb8 Test failures for Inline Onebox 2017-07-20 16:01:16 -04:00
Robin Ward 3882722195 FEATURE: Inline (Mini) Oneboxing
see:
https://meta.discourse.org/t/mini-inline-onebox-support-rfc/66400?source_topic_id=66066
2017-07-20 15:38:04 -04:00
Sam e7c170bb00 test v8 heap stats and aggregate all 2017-07-20 13:23:48 -04:00
Jakub Macina e5ee4ccc48 Add pagination and checking for more results to search. 2017-07-20 18:12:34 +02:00
Jakub Macina 7b40de5ac4 Add attribute to grouped search results for more available posts. 2017-07-20 18:07:13 +02:00
Guo Xiang Tan ac9c8ccf3b Fix broken specs. 2017-07-20 13:17:45 +09:00
Guo Xiang Tan 30ec87fcb5 Expose `PrettyText.v8` heap_stats in stats socket. 2017-07-20 13:10:56 +09:00
Guo Xiang Tan 0edb0018ff Dispose of heap when we reset the context. 2017-07-20 13:10:56 +09:00
Leo McArdle d0b027d88d FEATURE: phase 1 of supporting multiple email addresses 2017-07-20 11:22:27 +09:00
Sam 0b9f39a406 Add options to skip core and install official plugins 2017-07-19 12:17:18 -04:00
Sam 6e3b2cc860 warmup prior to running tests 2017-07-19 12:04:16 -04:00
Sam bf0d70e820 improve comments 2017-07-19 12:04:16 -04:00
Joffrey JAFFEUX 6de258d4cf FEATURE: Introduces new emoji-picker 2017-07-19 16:48:23 +02:00
Sam b92e181390 FEATURE: rake plugin:install_all_official
use this task to quickly install all official plugins
GIT_WRITE=1 to enable write access to repos (discourse staff only)
2017-07-18 12:09:27 -04:00
Guo Xiang Tan b534778f46 FIX: Escape URL before attempting to resolve it. 2017-07-18 10:04:24 +09:00
Guo Xiang Tan 089a1bd3be Specify the error that we want to ignore instead of rescuing all errors. 2017-07-18 09:55:52 +09:00
Robin Ward 29d529020b UX: Allow site settings to display as textareas if they like 2017-07-17 16:38:26 -04:00
Robin Ward 21e02d6969 Include the `search_log_id` in search results 2017-07-17 12:10:32 -04:00
Sam Saffron d0c5205a52 Feature: Change markdown engine to markdown it
This commit removes the old evilstreak markdownjs engine.

- Adds specs to WhiteLister and changes it to stop using globals
    (Fixes large memory leak)
- Fixes edge cases around bbcode handling
- Removes mdtest which is no longer valid (to be replaced with
    CommonMark)
- Updates MiniRacer to correct minor unmanaged memory leak
- Fixes plugin specs
2017-07-17 11:41:34 -04:00
Régis Hanol 9e03fae26c FIX: internal oneboxing wasn't working when login was required 2017-07-17 17:33:10 +02:00
Jakub Macina bdbde02d2c Fix user is nil in populate posts. 2017-07-15 15:39:21 +02:00
Robin Ward 97e211f837 FEATURE: Log Search Queries 2017-07-14 14:30:58 -04:00
Sam 79a084dd58 Revert "remove old markdown engine work-in-progress"
This reverts commit ee470b5317.
2017-07-12 18:10:51 -04:00
Sam bcbb9f208d Revert "Integrate new engine, correct old specs"
This reverts commit f1b38ba4fb.
2017-07-12 18:10:07 -04:00
Sam f1b38ba4fb Integrate new engine, correct old specs
corrects edge cases with

- full quotes
- [url] with nested tags
- engine overrides
- onebox applying to non http srcs
2017-07-12 17:44:40 -04:00
Sam Saffron ee470b5317 remove old markdown engine work-in-progress 2017-07-12 17:44:40 -04:00
Jakub Macina 677267ae78 Add onceoff job for uploads migration of column extension. Simplify filetype search and related rspec tests. 2017-07-12 17:19:27 +02:00
Sam 98e03b04b5 Don't depend on imports for md extensions 2017-07-11 16:48:25 -04:00
Bianca Nenciu 06366b5379 latest.json: last topic from first page appears on the second page as well. 2017-07-11 13:59:37 -04:00
Guo Xiang Tan 45f4ce379e Fix broken specs. 2017-07-11 13:16:48 +09:00
Guo Xiang Tan b605d5d61b FIX: Translation should return overrides first before attempting to fallback.
https://meta.discourse.org/t/errors-after-migrating-to-a-new-version-1-9-0-beta3/65709/14?u=tgxworld
2017-07-11 12:51:12 +09:00
Sam 3d32460e1c Merge pull request #4964 from davidtaylorhq/plugin_spec_filter
For rake plugin:spec, only load ruby files ending in _spec.rb
2017-07-10 13:22:41 -04:00
Neil Lalonde 890a99232d Version bump to v1.9.0.beta4 2017-07-10 11:45:43 -04:00
Régis Hanol 1c12dd529f FIX: fix orientation even for small JPEGs 2017-07-10 16:35:23 +02:00
David Taylor 0b222493f6 For rake plugin:spec, only load ruby files ending in _spec.rb
This matches the default behaviour of rspec
2017-07-10 12:06:37 +01:00
Guo Xiang Tan 2255724637 UX: Add validator for `SiteSetting#sso_overrides_email`. 2017-07-10 10:08:55 +09:00
Robin Ward f1a6449e4b SECURITY: Remove disposable invite feature 2017-07-07 20:24:39 -04:00
Blake Erickson fcfc895167 FIX: new sign-ups via google are added to groups
This fix ensures that users that are signing up via google oauth are
automatically added to any groups.

A similar fix will probably need to be added to other oauth providers.
2017-07-07 14:08:58 -06:00
Neil Lalonde a509146ea5 FIX: support non-english tags in tag input field 2017-07-07 14:48:08 -04:00
Arpit Jalan c47658c7c5 FIX: first @mention/#hashtag is not a hyperlink in Twitter onebox
https://meta.discourse.org/t/first-mention-is-not-a-hyperlink-in-twitter-onebox/65665
2017-07-07 21:50:15 +05:30
Guo Xiang Tan a4399c2eab FIX: Translation overrides were not cached by locale properly. 2017-07-07 12:28:00 +09:00
Robin Ward 198f308f7b Remove unused module transpiler 2017-07-06 17:17:56 -04:00
Arpit Jalan 5b67cd1937 Merge pull request #4956 from techAPJ/pm-recipients
FEATURE: new site setting to limit message recipients
2017-07-06 22:57:33 +05:30
Arpit Jalan 7cffbc8ba8 FEATURE: new site setting to limit message recipients
New site setting `max_allowed_message_recipients` to limit message
recipients

https://meta.discourse.org/t/one-of-my-users-just-group-messaged-100-other-user-with-a-spam-offer/65612/7?u=techapj
2017-07-06 22:52:49 +05:30
Jakub Macina 8c445e9f17 Fix backend code for searching by a filetype as a combination of uploads and topic links. Add rspec test for extracting file extension in upload. 2017-07-06 19:19:31 +02:00
Jakub Macina f0a674d620 Add extraction of upload extension. Add rspec test for search of post
with upload by extension.
2017-07-06 19:16:07 +02:00
Joffrey JAFFEUX 6fd44b1efd FIX: s/google_blob/google_classic 2017-07-06 09:05:15 +02:00
Robin Ward 754c1e5438 Upgrade to Babel 6 2017-07-05 15:25:23 -04:00
Robin Ward 2f480e21a0 Stop using Babel source gem, which is no longer updated 2017-07-05 14:19:16 -04:00
Joffrey JAFFEUX fcc50edeef FIX: do not override 🦗 with :cricket_bat_and_ball: 2017-07-05 18:51:25 +02:00
Neil Lalonde 06d814264a Version bump to v1.9.0.beta3 2017-07-05 12:21:53 -04:00
Joffrey JAFFEUX 0d6712b365 FIX: prevent thumbsup/down to appear in custom emojis 2017-07-05 17:38:55 +02:00
Arpit Jalan 59e5911b02 Merge pull request #4951 from jjaffeux/fix-emojis-not-reloaded
FIX: ensure we clear emoji cache before recompilation
2017-07-05 14:50:22 +05:30
Régis Hanol 599c681358 update highlight.js to 9.12.0 2017-07-05 11:12:10 +02:00
Joffrey JAFFEUX 0a478905b9 FIX: ensure we clear emoji cache before recompilation 2017-07-05 10:36:06 +02:00
Guo Xiang Tan 02094517e9 Stop rescuing `nil` which is a really bad thing to do. 2017-07-05 10:22:31 +09:00
Sam 43ecfb016a Merge pull request #4950 from jjaffeux/use-emoji-db
FEATURE: emoji generation now uses emoji-db
2017-07-04 09:01:13 -04:00
Joffrey JAFFEUX 92e7dc6edc FIX: regression with woman_shrugging emoji 2017-07-04 14:47:24 +02:00
Joffrey JAFFEUX a71c75367e FEATURE: emoji generation now use emoji-db
- unicode 10
- emoji 5.0
- support for google_blob and facebook_messenger sets
2017-07-04 14:08:47 +02:00
Arpit Jalan c243861b17 FIX: do not show "Send Activation Email" button if `must_approve_users` setting is enabled
https://meta.discourse.org/t/error-when-pressing-send-activitation-email-when-must-approve-users-setting-is-enabled/65408
2017-07-04 14:00:50 +05:30
Guo Xiang Tan a7a8ccb100 Merge pull request #4948 from tgxworld/fix_translation_fallback_not_using_overrides
FIX: Translation fallback was not using fallback's translation override.
2017-07-04 09:08:22 +09:00
Sam 845170bd6b FEATURE: add support for group visibility level
There are 4 visibility levels

- public (default)
- members only
- staff
- owners

Note, admins and group owners ALWAYS have visibility to groups

Migration treated old "non public" as "members only"
2017-07-03 15:26:57 -04:00
Sam c79418d334 DEV: Move RTL into lib where it belongs 2017-07-03 15:26:57 -04:00
Guo Xiang Tan 52e654b3ac FIX: Translation fallback was not using fallback's translation override.
https://meta.discourse.org/t/discobot-falling-back-to-site-locale-is-not-using-customized-copies/65140
2017-07-03 14:52:27 +09:00
Sam e9fcd348f2 allow watcher to re-trigger specs on markdown change 2017-06-30 12:16:20 -04:00
Arpit Jalan e7b9b1312e FEATURE: remove all invites
https://meta.discourse.org/t/remove-all-invitations-button-for-the-admin-panel/65207
2017-06-29 22:30:10 +05:30
David Taylor 9294826f31 Allow inclusion of elided text from emails when sending to a category… (#4844)
* Allow inclusion of elided text from emails when sending to a category address
2017-06-29 13:03:14 +09:00
Sam cfbda863e8 implement unicode emoji replacements 2017-06-28 13:47:30 -04:00
Robin Ward b93edc9945 FIX: Make sure censored words are on boundaries in topic titles 2017-06-28 13:13:40 -04:00
Sam 5897ae945a FIX: stop using inline quote for local onebox 2017-06-27 10:57:38 -04:00
Régis Hanol aa69f78fed let's not use progressing rendering on images 2017-06-26 23:19:48 +02:00
Robin Ward db485ae0da FIX: Support for skipping redirects on certain domains (like steam) 2017-06-26 15:38:43 -04:00
Régis Hanol ecec23fae4 FIX: automatic PNG to JPG conversion wasn't working 2017-06-26 14:21:47 +02:00
Arpit Jalan fba9bbb18c FIX: reset likes in user directory
Reset likes to 0 when `posts:delete_all_likes` task is ran
2017-06-26 11:22:41 +05:30
Guo Xiang Tan 7ed9fbb415 FIX: Use default parameter in method. 2017-06-26 11:14:13 +09:00
Sam da5ccd2000 correctly hunt for console.log 2017-06-23 15:24:20 -04:00
Sam a5295591b8 FEATURE: post_process_cooked event 2017-06-23 14:35:46 -04:00
Arpit Jalan 03d7ec8777 FEATURE: new rake task to delete all likes 2017-06-23 22:30:01 +05:30
Sam 234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Joffrey JAFFEUX 7c68949e04 Emoji ordering
This commit uses
http://www.unicode.org/emoji/charts/emoji-ordering.html to generate an
automatic ordering of emojis. We also don't have to maintain a full
emoji list for groups but only sub sections.
2017-06-23 17:51:13 +02:00
Régis Hanol a9c0df0b58 FIX: always try to convert PNG to JPG when pasting an image 2017-06-23 12:13:48 +02:00
Régis Hanol b7e6620109 FIX: 'uploads:migrate_from_s3' rake task 2017-06-23 10:15:11 +02:00
Régis Hanol 94cee37edd FIX: uploads:recover_from_tombstone rake task 2017-06-22 17:00:05 +02:00
Régis Hanol 6e5c59e5ec FIX: image orientation wasn't properly working 2017-06-22 16:53:49 +02:00
Régis Hanol 66920cfafd Merge pull request #4938 from LeoMcA/ses-fix
FEATURE: setting to only use the key when finding the related post of…
2017-06-22 16:15:57 +02:00
Régis Hanol ca539854c8 FIX: use 'jpg' instead of 'jpe' extension for 'image/jpeg' content type 2017-06-22 12:53:56 +02:00
Guo Xiang Tan 80e348d226 PERF: Speed up slow tests in our test suite.
Before

```
Finished in 7 minutes 23 seconds (files took 4.15 seconds to load)
7145 examples, 0 failures, 10 pending
```

After

```
Finished in 6 minutes 12 seconds (files took 4.41 seconds to load)
7145 examples, 0 failures, 10 pending
```
2017-06-22 11:23:31 +09:00
Neil Lalonde 8fd915a11a Revert "FIX: add path to cookies so sessions on the same domain but different subfolders don't log each other out" 2017-06-21 16:18:24 -04:00