Commit Graph

4650 Commits

Author SHA1 Message Date
Guo Xiang Tan
805d1c25d3
Merge pull request #5451 from tgxworld/treat_non_ascii_urls_as_valid
Treat non-ascii URLs in `UrlValidator`.
2017-12-27 14:14:20 +08:00
Arpit Jalan
0514ac4ee2 FIX: verify presence of 'sso url' before enabling 'enable sso' 2017-12-23 13:30:49 +05:30
Régis Hanol
d6b22e6cc1 FIX: whitelist oneboxed iframes 2017-12-23 01:56:33 +01:00
blokovi
364e6fdd53 FIX: pluralization rules for Serbian language (#5453)
Updated SR pluralization to use 3 keys: one, few, other (as by Transifex)
2017-12-22 12:20:19 +01:00
Jeff Atwood
cedfd6b68c
Merge pull request #5449 from Supermathie/google_fix
FIX: google oauth flow should automatically update the google account used for login when appropriate
2017-12-21 17:46:43 -08:00
Guo Xiang Tan
6f89db4c24 Re-enable check for yarn when running qunit:test rake task. 2017-12-22 09:11:49 +08:00
Robin Ward
aed37770e3 FIX: Load the route format before discourse 2017-12-21 16:29:11 -05:00
Robin Ward
063e449ce5 FIX: RouteFormat is a better class name than RouteFormats 2017-12-21 15:30:32 -05:00
Robin Ward
2908aab0da Allow extensibility on username route format (non-english usernames) 2017-12-21 14:32:51 -05:00
Guo Xiang Tan
4b51871f6a Treat non-ascii URLs in UrlValidator. 2017-12-21 14:22:55 +08:00
Guo Xiang Tan
6ecf37c482 Improve URL validation to check for a valid host.
Parsing a URL with `URI` is not sufficient as the following cases
are considered valid:

URI.parse("http://https://google.com")
=> #<URI::HTTP http://https//google.com>
2017-12-21 13:50:15 +08:00
Sam
081959227d FIX: unicode titles missing when visiting topic from topic list 2017-12-21 15:20:47 +11:00
Guo Xiang Tan
aabac55edd Better ENV name for QUnit's seed. 2017-12-21 09:47:32 +08:00
Neil Lalonde
e17ce65aab Version bump to v1.9.0.beta17 2017-12-20 18:50:35 -05:00
Michael Brown
105cf61ed9 Implements https://meta.discourse.org/t/issue-user-changed-google-account-and-cant-connect-thru-his-profile/35028/18?u=supermathie 2017-12-20 17:59:36 -05:00
Sam
88a4ec5f1b FIX: stop forking regular backup jobs 2017-12-21 09:00:48 +11:00
Robin Ward
21e1b05c7e FIX: Don't disable details when below truncate limit 2017-12-20 15:45:00 -05:00
Guo Xiang Tan
4986132e1b Fix missing variable in smoke test rake task. 2017-12-20 14:49:41 +08:00
Sam
bbc606988f improve message 2017-12-20 10:12:33 +11:00
Robin Ward
b3fda0ea86 FIX: details tags broke excerpts 2017-12-19 17:28:55 -05:00
Guo Xiang Tan
ca8e4dfb43 Allow seed to be passed via ENV. 2017-12-19 21:35:51 +08:00
Guo Xiang Tan
141a4a059d QUnit tests should be run in random order. 2017-12-19 21:33:31 +08:00
Guo Xiang Tan
349dc8da29 Disable check for yarn in qunit tests first. 2017-12-19 20:09:36 +08:00
Guo Xiang Tan
fc6cb7bbe3
Merge pull request #5444 from tgxworld/remove_phantomjs
Switch to chrome headless mode instead of phantomjs.
2017-12-19 19:42:40 +08:00
Gerhard Schlager
b47b378cb6 Retry PNG to JPG conversion with debug enabled on failure 2017-12-19 11:49:04 +01:00
Guo Xiang Tan
6a4f391e38 Switch to chrome headless mode instead of phantomjs. 2017-12-19 16:00:43 +08:00
Matt Palmer
f315c142b1 BUG: Load the appropriate file for AlternativeReplyByEmailAddressesValidator
Autoloading only works when the class names are namespaced appropriately.
2017-12-19 09:43:41 +11:00
Régis Hanol
8e55400392 FIX: add 'SiteSetting.port' to 'Onebox.allowed_ports' in development mode 2017-12-18 18:31:41 +01:00
Guo Xiang Tan
8d44642b97 Add smoke test script that runs in chrome headless. 2017-12-18 16:39:01 +08:00
Guo Xiang Tan
f2565f6c7e SECURITY: Any group can be invited into a PM. 2017-12-14 14:57:48 +08:00
Sam
67aecff59c FEATURE: store twitter supplied email for auditing 2017-12-14 15:54:32 +11:00
Gerhard Schlager
b15059418b FIX: rake task for updating posts received by email should not crash 2017-12-13 22:03:31 +01:00
Gerhard Schlager
f525d83b53 FIX: empty uploads and blank filenames caused errors during validation 2017-12-13 22:03:31 +01:00
Sam
dee498a281 correct regression 2017-12-13 17:36:36 +11:00
Sam
9d925f6b26 FIX: correctly count participants when more than 24
Also cuts out one query for the normal case
2017-12-13 17:19:42 +11:00
Gerhard Schlager
e30851e45a Move escape_uri method to a more suitable place 2017-12-12 20:17:46 +01:00
Neil Lalonde
3016901a34 Version bump to v1.9.0.beta16 2017-12-12 11:38:15 -05:00
Guo Xiang Tan
6ade508f39 FIX: Prevent 'rack.input' missing error. 2017-12-12 16:40:35 +08:00
Arpit Jalan
ff6dda85b7 FIX: replace curly quotes to regular quotes in search terms 2017-12-12 11:17:28 +05:30
Sam
4986ebcf24 FEATURE: optional default off global per ip rate limiter 2017-12-11 17:52:57 +11:00
Sam
68d3c2c74f FEATURE: add global rate limiter for admin api 60 per minute
Also move configuration of admin and user api rate limiting into global
settings. This is not intended to be configurable per site
2017-12-11 11:07:22 +11:00
Vinoth Kannan
6b3aa81c11 FIX: Remove other whitespaces except the line intents 2017-12-09 02:36:27 +05:30
Vinoth Kannan
dcc63a8ead FIX: Keep all the indenting in the text 2017-12-09 01:11:00 +05:30
Sam
47c44356f8 FIX: load balanced servers do not share monotonic clock
This means then when a service is load balanced and you reach rate limits
there was a case where they counting was way off

also remove the stub from clock_gettime cause we need to be super careful with
it, so we should probably just stub by hand when needed
2017-12-07 11:48:11 +11:00
Sam
90a55d6f7c FIX: handle CORS in hijacked requests 2017-12-07 10:31:04 +11:00
Gerhard Schlager
16738cfb1b FEATURE: convert plain text emails to markdown 2017-12-06 01:47:51 +01:00
Kyle Zhao
5f318a5241 FEATURE: Replace SimpleRSS with Ruby RSS module (#5311)
* SPEC: PollFeedJob parsing atom feed

* add FeedItemAccessor

It is to provide a consistent interface to access a feed item's tag
content.

* add FeedElementInstaller

to install non-standard and non-namespaced feed elements

* FEATURE: replace SimpleRSS with Ruby RSS module

* get FinalDestination and download with Excon

* support namespaced element with FeedElementInstaller
2017-12-06 10:45:09 +11:00
Neil Lalonde
85a59c632d allow header_instructions to be passed in to message builder 2017-12-05 15:12:24 -05:00
Arpit Jalan
a5e58e7afa UX: add onebox favicon styling in email 2017-12-05 14:08:30 +05:30
Sam
5a9622163d FIX: regression around rate limiter 2017-12-04 21:44:16 +11:00
Sam
dd70ef3abf Revert "Revert "PERF: improve speed of rate limiter""
This reverts commit 2373d85239.
2017-12-04 21:23:11 +11:00
Sam
2373d85239 Revert "PERF: improve speed of rate limiter"
This reverts commit a9bcdd7f27.
2017-12-04 21:19:28 +11:00
Sam
a9bcdd7f27 PERF: improve speed of rate limiter
Also

- adds a global rate limiter option
- cleans up usage in tests
- fixes freeze_time so it handles clock_gettime
2017-12-04 18:17:30 +11:00
Sam
6c82a50903 Improve error handling in hijacked code 2017-12-01 16:23:32 +11:00
Vinoth Kannan
7f2eeaf767 FIX: Password required flag should be cleared whenever clearing the raw password (#5384) 2017-12-01 15:19:24 +11:00
Neil Lalonde
49371d668f Version bump to v1.9.0.beta15 2017-11-30 16:32:43 -05:00
Sam
3334a4b539 Simplify hijack code 2017-11-29 11:54:35 +11:00
Gerhard Schlager
44ee388070 FEATURE: omit images from og and twitter description tags 2017-11-28 21:34:02 +01:00
Sam
f80522671b improve instrumentation and defer hijacking till last moment 2017-11-28 18:21:56 +11:00
Jeff Wong
b094894c94 Feature: Add service worker registration method to plugin API 2017-11-28 14:01:41 +08:00
Sam
df84e1c358 Correctly track hijacked requests 2017-11-28 16:47:20 +11:00
Sam
b3b55e18d1 UX: stop warping tiny onebox images 2017-11-28 12:32:35 +11:00
Sam
0caa335ef0 FIX: Handle more cases where HTTP status is not correct
HTTP status was not correct with send_file which uses streaming
2017-11-28 11:00:13 +11:00
Sam
ca7af7b88f FIX: displaying wrong avatar and letter avatar
correct regression where params and env is reused in production
2017-11-28 09:28:40 +11:00
Robin Ward
5a959ca4e4 FIX: We also need a base key for admin_js 2017-11-27 11:57:06 -05:00
Robin Ward
77f90876d3 REFACTOR: Track manual locked user levels separately from groups 2017-11-27 11:23:44 -05:00
Vinoth Kannan
1f3e9a4350 FIX: Should skip the loop if the image src is blank 2017-11-27 13:41:28 +05:30
Sam
608207b2e5 FEATURE: avatar proxy happens in background
This ensures that even if it is slow to download avatars site will
continue to work

Also simplifies hijack pattern
2017-11-27 17:43:24 +11:00
Sam
e48c280c7e correct regression 2017-11-27 15:07:13 +11:00
Sam
d5e7691ae9 favicon proxy now uses hijack 2017-11-27 14:51:14 +11:00
Sam
eb428ef54d FEATURE: uploads are processed a faster
Also cleans up API to always return 422 on upload error. (previously returned 200)

Uploads are processed using new hijack pattern
2017-11-27 12:43:35 +11:00
Guo Xiang Tan
71942e4f62
Merge pull request #5352 from tgxworld/method_for_replica_postgres_connection
Expose `replica_postgresql_connection` to `ActiveRecord::Base`.
2017-11-27 08:38:10 +08:00
Neil Lalonde
6f8f2c494d FIX: admin strings in plugins should fallback to english when untranslated 2017-11-24 14:11:01 -05:00
Michael Brown
45c19e44f0 assets rake task: only try and detect brotli if COMPRESS_BROTLI is set 2017-11-24 12:00:38 -05:00
Michael Brown
5584085943 assets rake task: detect the brotli version on the image as the usage changes 2017-11-24 10:40:57 -05:00
Michael Brown
3c60702663 assets rake task: gzip and brotli exit codes exist for a reason - to be checked 2017-11-24 09:52:08 -05:00
Sam
e0e99d4bbd PERF: hijack onebox requests so they do not use up a unicorn worker 2017-11-24 15:31:40 +11:00
Guo Xiang Tan
a509f466a0 Expose replica_postgresql_connection to ActiveRecord::Base. 2017-11-24 09:35:45 +08:00
Gerhard Schlager
613f4d737a FIX: updating topic stats failed silently for invalid topics 2017-11-23 18:47:45 +01:00
Sam
2b8d4508e5 PERF: stop running background work between requests
Use a dedicated thread to run Scheduler::Defer

This avoids blocking of a worker during operations that require waiting.

In particular uploads risked blocking a unicorn.

This also add a queue "length" that discourse prometheus consumes.
2017-11-23 15:48:47 +11:00
Neil Lalonde
6c86e0c94a FEATURE: remove the featured link by editing the topic 2017-11-22 14:53:35 -05:00
Guo Xiang Tan
26d14dbcbb Remove onceoff job in migrate rake task. 2017-11-22 12:50:01 +08:00
Guo Xiang Tan
edfa2c3af9 FIX: Don't enqueue onceoff job in migration.
* Deployment of app servers may happen minutes after migrations.
2017-11-22 12:07:48 +08:00
Guo Xiang Tan
f7642e076d REFACTOR: Avoid duplicated logic on server and client. 2017-11-21 17:10:04 +08:00
Guo Xiang Tan
c390169b71 Move monkey patch into freedom_patchers. 2017-11-21 14:15:11 +08:00
Guo Xiang Tan
337ccfa3a6 MONKEYPATCH: Allow us to disable the use of advisory locks during migration. 2017-11-21 14:06:22 +08:00
Robin Ward
f8164956dd Add quote and mention support for username formatters 2017-11-20 16:28:03 -05:00
Guo Xiang Tan
385372e384 Revert "PERF: Reduce number of topics to filter while querying for unread."
This reverts commit c06b782cab.
2017-11-20 11:49:09 +08:00
Gerhard Schlager
546b206da0 replace indentation with non-breaking spaces when cooking emails 2017-11-18 17:16:44 +01:00
Régis Hanol
de037da731 FIX: FinalDestination's small_get method wasn't using proper request headers 2017-11-17 17:24:35 +01:00
Régis Hanol
aebcd56300 FIX: try a GET for error code 406 2017-11-17 16:59:51 +01:00
Régis Hanol
221ff24418 SQL != Ruby 2017-11-17 16:12:20 +01:00
Régis Hanol
a0fc8bd924 don't log 404s to gravatar.com 2017-11-17 15:38:26 +01:00
Gerhard Schlager
1a3ab7c02e ignore some site settings for emails sent to mailinglist mirror category 2017-11-17 15:29:14 +01:00
Gerhard Schlager
aea161fabd suppress rejection email when email was sent to mailinglist mirror category 2017-11-17 15:29:14 +01:00
Guo Xiang Tan
3a472b507e FIX: severity_name was being logged incorrectly. 2017-11-17 08:55:21 +08:00
Robin Ward
2974faee68 FIX: Support client locales defined in plugins 2017-11-16 16:21:53 -05:00
Robin Ward
fc346d207b Only return unique paths 2017-11-16 15:22:05 -05:00
Robin Ward
966c7e7f07 FEATURE: Allow plugins to dynamically add seed fixture paths
This is useful if your plugin wants different seed data for different
locales for example.
2017-11-16 14:43:17 -05:00
Robin Ward
8cd0026cde FIX: If there is an invalid locale in the site setting, default to en 2017-11-16 10:58:29 -05:00
Régis Hanol
678e28794a FIX: properly handle too large & broken images in posts 2017-11-16 15:45:07 +01:00
Sam
f52111f787 FEATURE: allow plugins to easily detect if running in Rack
Usage: Discourse.running_in_rack? to tell if rack was booted
2017-11-16 08:39:29 +11:00
Neil Lalonde
0cdded8079
Merge pull request #5303 from vinothkannans/export-multiple-categories
FEATURE: Option to export multiple categories using export_category method
2017-11-15 16:07:21 -05:00
Gerhard Schlager
9207dee69a FEATURE: escape HTML when cooking plaintext emails 2017-11-15 20:22:11 +01:00
Vinoth Kanan
5c11104f9f FIX: Duplicate a tag if image url is same to href 2017-11-15 17:36:48 +05:30
Vinoth Kannan
7b494a65c9 NEW: large image placeholder added in cooked html (#5291) 2017-11-15 11:30:47 +01:00
Guo Xiang Tan
89d9ffa884 EXPERIMENTAL: Allow logs to be shipped via different methods.
See https://github.com/dwbutler/logstash-logger#uri-configuration for
a list of available methods.
2017-11-15 09:11:33 +08:00
Robin Ward
d07ebf9d4c UX: Support for custom error pages and headers in plugins 2017-11-14 16:31:44 -05:00
Régis Hanol
23baaa5dcc FIX: don't crop iPhone X screenshots 2017-11-14 20:37:27 +01:00
Robin Ward
971e302ff2 FEATURE: Support an end date for user silencing 2017-11-14 13:20:19 -05:00
Sam
075a458489 FIX: child theme component vars not resolved in parent 2017-11-14 15:22:59 +11:00
Gerhard Schlager
d3baae5365 removes whitespaces and uses scope 2017-11-13 15:23:24 +01:00
Sam
ed0751f288 always double check there is a class first 2017-11-13 16:06:18 +11:00
Sam
4f28c71b50 FIX: error setting tombstone bucket when set to old version 2017-11-13 15:36:45 +11:00
Sam
3ac7d041ae UX: generic onebox treats all square images as avatars and renders them smaller 2017-11-13 11:21:19 +11:00
Gerhard Schlager
5210e3e744 FEATURE: accept incoming email with reply_key mismatch when original email was forwarded 2017-11-12 23:44:22 +01:00
Gerhard Schlager
4dc4bc70c8 FIX: ignore_by_title should match case-insensitive 2017-11-12 01:43:18 +01:00
Vinoth Kanan
d9823f69c6 FEATURE: Option to export multiple categories using export_category method 2017-11-11 19:11:16 +05:30
Robin Ward
1f14350220 Rename "Blocked" to "Silenced" 2017-11-10 14:10:27 -05:00
Neil Lalonde
9dc9ca4ac0 FIX: be consistent with how first posts in topics are counted. do like DirectoryItem.refresh_period :all 2017-11-10 12:18:25 -05:00
Michael Howell
38b8d68c68 FEATURE: Allow the user to select a custom home page (#5268)
* Add user_home configuration option

* Use the new user_home preference to actually show the right home page

* Fix trailing whitespace

* Update user_option_serializer.rb

* Fix JavaScript default homepage tests

* Use an object instead of a giant switch

* Remove trailing whitespace

* Make the default `user_home` set to `null` instead of `0`

* Rename user_home to homepage_id
2017-11-10 06:45:19 +11:00
Robin Ward
16407dfc11 Add a failed_code we can check for when using Auth::Result 2017-11-09 10:49:42 -05:00
Sam
06365023c4 FEATURE: new API to search for a user by email 2017-11-09 17:04:21 +11:00
Sam
2d5bf0705a PERF: exact email match bypass
instead of scanning full table when there is an exact email match ONLY
return the actual user.
2017-11-09 16:53:14 +11:00
Guo Xiang Tan
7777a44673 FIX: Don't skip validations when updating user's email. 2017-11-08 11:38:51 +08:00
Sam
fc7dca58fe UX: oneboxes with avatars now display consistently
Onebox avatar size is reduced to 60px

Also fixes regression with some oneboxes not cooking after post
2017-11-08 11:50:01 +11:00
Régis Hanol
be0c7609f1 FIX: validates attachments against current authorized extensions 2017-11-07 19:17:33 +01:00
Arpit Jalan
8f560f0bf4
Merge pull request #5282 from vinothkannans/local_onebox_slash
FIX: Topic links onebox differently if end in /
2017-11-07 17:39:38 +05:30
Guo Xiang Tan
8970bdd4fa FIX: Undefined method before unicorn boots. 2017-11-07 11:52:22 +08:00
Guo Xiang Tan
d9602fe729 Fix incorrect severity field. 2017-11-07 11:24:54 +08:00
Guo Xiang Tan
6a47491afe Fix the build. 2017-11-06 16:56:22 +08:00
Guo Xiang Tan
ffe823ed32 Ensure we log the datetime in the format that we want. 2017-11-06 16:40:11 +08:00
Guo Xiang Tan
96a414d0a5 Log progname as empty string if nil. 2017-11-06 16:01:32 +08:00
Guo Xiang Tan
c9df21e131 FEATURE: Allow Unicorn logs to be JSON formatted. 2017-11-06 12:46:14 +08:00
Vinoth Kannan
230fec68ca FIX: Topic links onebox differently if end in / 2017-11-06 01:41:36 +05:30
Robin Ward
2f0c9793f1 FEATURE: Allow multiple html builders to be registered via plugins 2017-11-03 11:32:32 -04:00
ckeboss
93633865d9 Adds primary user group as a class to quote (#5285)
* Adds primary user group as a class to quote

This feature addition will add the class `group-PRIMARY_USER_GROUP` to
the quote `aside`. `PRIMARY_USER_GROUP` will be the primary user group
of the user being quoted. This is similar to the class that is added to
a `topic-post`.

* Remove trailing whitespace

* Fix avatar in test

* Address PR comments

* Fix trailing whitespace
2017-11-03 09:51:40 -04:00
Guo Xiang Tan
470b1a5bc1 Don't print Sidekiq starting message to STDERR. 2017-11-03 21:02:31 +08:00
Guo Xiang Tan
88492b2b94
Merge pull request #5283 from viktorbenei/patch-1
Fix "duplicate method" issue
2017-11-03 09:32:45 +08:00
Neil Lalonde
18d65fe7e5 FIX: post counts in user stats when changing post owner 2017-11-02 18:05:23 -04:00
Neil Lalonde
21dd2ccd43 FIX: only count regular posts in user stats when deleting 2017-11-02 18:05:23 -04:00
Neil Lalonde
30689783db don't decrement post_count for a post in a deleted topic that has already been uncounted 2017-11-02 18:05:23 -04:00
Neil Lalonde
f29290ad11 FIX: don't count whispers in user stats post_count 2017-11-02 18:05:23 -04:00
Neil Lalonde
24af9b7d97 FIX: when a topic is deleted, update the post count stats of all user who replied 2017-11-02 18:05:23 -04:00
Robin Ward
64cb8a3ce3 FIX: Normalizer wasn't working with attributes without values 2017-11-02 14:11:20 -04:00
Viktor Benei
54e4ff34f8
Fix "duplicate method" issue
Fixing http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Lint/DuplicateMethods

Readers are defined (https://github.com/discourse/discourse/blob/master/lib/single_sign_on.rb#L61), so only writers have to be generated.
2017-11-02 12:33:35 +01:00
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