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
Robin Ward
21e1b05c7e
FIX: Don't disable details when below truncate limit
2017-12-20 15:45:00 -05:00
Régis Hanol
7f69362d9d
FIX: external links in whisper ended up in a white page
...
FIX: clicking a link in a onebox wasn't properly extracting the post_id
2017-12-20 17:55:15 +01:00
Guo Xiang Tan
6c4ee9d5b5
FEATURE: Trigger user webhook when a user logs in/out.
...
https://meta.discourse.org/t/how-do-you-learn-how-to-build-these-plugins/57946/10?u=tgxworld
2017-12-20 17:47:30 +08:00
Philipp Daniels
6a2bce1931
FIX: Data loss on update of single user_field.
...
https://meta.discourse.org/t/api-data-loss-caused-by-changed-behaviour-of-custom-user-field-update/74990
2017-12-20 16:33:23 +08:00
Sam
7aa56fc9d9
refinement and test for batch mode on feature_topics
2017-12-20 13:58:05 +11:00
Arpit Jalan
eab66065d1
FEATURE: search log term details page ( #5445 )
2017-12-20 13:41:31 +11:00
Robin Ward
a0aca83c12
FIX: Broken spec
2017-12-19 17:55:41 -05:00
Robin Ward
b3fda0ea86
FIX: details tags broke excerpts
2017-12-19 17:28:55 -05:00
Régis Hanol
24e89b6b38
FIX: validates 'ThemeField' name when used in a SCSS variable
2017-12-19 16:10:44 +01: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
Guo Xiang Tan
6a4f391e38
Switch to chrome headless mode instead of phantomjs.
2017-12-19 16:00:43 +08:00
Sam
57a1190b07
FIX: correct issue with search omitting words with multiple dots
...
Previously we used to break up words with dots incorrectly leading to
missing search terms
2017-12-19 16:04:24 +11:00
Guo Xiang Tan
30ddc1f222
Don't swallow errors when failing to create message for post action.
2017-12-19 10:58:26 +08:00
Guo Xiang Tan
b39d3a863d
FIX: `moderators` group wasn't being updated to be messagable by everyone.
...
https://meta.discourse.org/t/custom-flag-not-showing-text/76244
2017-12-19 10:14:56 +08:00
Sam
1abc276451
FIX: properly omit inactive and silenced users from directory
2017-12-19 12:53:59 +11:00
Guo Xiang Tan
97ceebb570
SECURITY: Don't pass email backup token to sidekiq as a parameter.
...
* This exposes the token in the Sidekiq dashboard which can be
viewed by an admin and defeats the purpose of using a token
in the download backup email ink.
2017-12-18 11:25:22 +08:00
Sam
5e90abfaea
FIX: use hijack for emoji uploads
2017-12-18 10:31:19 +11:00
Sam
81b3a4a3da
improve spec
2017-12-15 11:42:51 +11:00
Régis Hanol
b91f83eb7d
Ignore auto-quote/reply when counting replies
2017-12-15 00:38:14 +01:00
Régis Hanol
092c976d7c
FIX: prevent 💥 when selecting replies to posts quoting themselves
2017-12-15 00:23:51 +01:00
Neil Lalonde
3cbaea81bd
Merge pull request #5428 from discourse/fix-pending-users-count
...
FIX: incorrect pending_users_reminder user count
2017-12-14 14:05:37 -05:00
Guo Xiang Tan
f2565f6c7e
SECURITY: Any group can be invited into a PM.
2017-12-14 14:57:48 +08:00
Sam
96584403cd
SECURITY: prevent staged accounts from changing email
2017-12-14 17:16:49 +11:00
Sam
67aecff59c
FEATURE: store twitter supplied email for auditing
2017-12-14 15:54:32 +11:00
scossar
11050e5d10
Don't override count value that has been set by query.count
2017-12-13 18:48:46 -08:00
Régis Hanol
5db3d39b05
FIX: Post.reply_ids should also handle quotes
2017-12-14 00:43:48 +01:00
Régis Hanol
1b4483c942
FEATURE: Added 'select +below' and 'select +all replies' options to selecting posts
2017-12-13 22:12:06 +01:00
Gerhard Schlager
f525d83b53
FIX: empty uploads and blank filenames caused errors during validation
2017-12-13 22:03:31 +01:00
Neil Lalonde
3f1d6a302e
FIX: links with query params to external sites fail to load if ga universal auto link domains is used
2017-12-13 13:58:44 -05:00
Guo Xiang Tan
7aee1e3083
Remove specs that makes the build very sad.
2017-12-13 17:51:52 +08:00
Guo Xiang Tan
d5293aeae2
Clean `Topic#slug` when `SiteSetting.slug_generation_method` changes.
...
https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/24?u=tgxworld
2017-12-13 16:11:07 +08:00
Sam
b998efdc94
FIX: do not send mailing list emails to unapproved users
2017-12-13 15:13:17 +11:00
Sam
a393d3bcbb
FIX: ensure staged accounts are always inactive
...
If for any reason active is stored in the user model, clear it out
prior to creating an account
2017-12-13 14:22:16 +11:00
Gerhard Schlager
a7c1b0c81f
FIX: path whitelist for embedded comments didn't work with non-ASCII chars
2017-12-12 20:17:46 +01:00
Gerhard Schlager
e30851e45a
Move escape_uri method to a more suitable place
2017-12-12 20:17:46 +01:00
Arpit Jalan
492af81e67
FIX: save registration_ip_address for staged users logging in via social auth
2017-12-12 17:41:16 +05:30
Régis Hanol
62a5b174e1
FIX: wasn't able to use the same username when taking over a staged account
2017-12-12 11:26:00 +01:00
Guo Xiang Tan
6ade508f39
FIX: Prevent 'rack.input' missing error.
2017-12-12 16:40:35 +08:00
Arpit Jalan
1d43d7f136
optimize spec
2017-12-12 13:00:53 +05:30
Arpit Jalan
ff6dda85b7
FIX: replace curly quotes to regular quotes in search terms
2017-12-12 11:17:28 +05:30
Arpit Jalan
d21db0f186
add a test case to verify presence of registration_ip_address for staged users
2017-12-11 21:33:00 +05:30
Guo Xiang Tan
365bd771d9
Fix the build.
2017-12-11 17:03:05 +08:00
Guo Xiang Tan
4bd5acec47
FIX: `Topic#featured_link` may contain more than a URL.
2017-12-11 16:36:19 +08:00
Arpit Jalan
3c56c9b637
FIX: strip webhook payload_url
2017-12-11 13:48:11 +05:30
Sam
63bdc4056d
More log suppressions for rate limit exceeded
2017-12-11 17:52:57 +11:00
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
Robin Ward
74b9828731
FIX: Remove mentions filters from user and groups
...
Additionally return no data if disabled
2017-12-07 16:29:02 -05:00
Arpit Jalan
5003f07b2c
FEATURE: new site setting show_inactive_accounts
2017-12-07 19:22:41 +05:30
Joffrey JAFFEUX
f0ef307d2d
FIX: topic timer offset applied two times
...
timezone offset was calculated and sent from browser to server, it would be applied on utc time generated from '2013-11-22 5:00' format for example and then sent back to browser which would display it thinking it's UTC time using `moment(utc time)` when it's in fact an UTC time we have offseted with the initial user timezone.
This is impossible to automatically test in the current app state. Easiest reproduction is in live browser after setting your timezone to `America/New_York`, when setting a topic timer to later_today, after save, the time under the topic should be off to something roughly equal +1/-1 hour to your timezone offset.
2017-12-07 14:42:58 +01:00
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
Robin Ward
410994b7f5
FEATURE: Show a button to Staff for "Moderation History" on posts/topics
...
When clicked, it pops up a modal showing a history of moderation actions
taken on the post or topic.
2017-12-05 15:20:20 -05:00
Vinoth Kannan
6e054b2572
FEATURE: Convert HTML to Markdown while pasting in composer
2017-12-05 12:23:39 -05:00
Sam
995bf3c84e
correct spec on Ruby 2.3
2017-12-05 07:04:41 +11:00
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
d041377ccf
correct test that does not work with discobot
2017-12-04 18:20:05 +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
af061efcf5
DEV: if plugins are installed do not fail the test
2017-12-04 18:17:30 +11:00
Guo Xiang Tan
b18cc81609
Make rubocop happy.
2017-12-04 10:55:31 +08:00
Guo Xiang Tan
22140efa70
Tests are still leaking connection after skipping.
...
* Could be in the setup.
2017-12-04 10:46:30 +08:00
Guo Xiang Tan
e73fbfe265
FIX: `Topic#featured_link_root_domain` extracts URL before parsing.
2017-12-04 10:00:07 +08:00
Guo Xiang Tan
4c8402c50f
Skip test that is leaking connections.
2017-12-04 09:26:51 +08:00
Arpit Jalan
496cd3b4df
Merge pull request #5385 from techAPJ/search-logs-improvements
...
FEATURE: support search click through tracking for user, category and tags
2017-12-01 12:08:38 +05:30
Arpit Jalan
e3925278e2
FEATURE: support search click through tracking for user, category and tags
...
https://meta.discourse.org/t/search-logs-page/73281/11?u=techapj
This commit adds following features:
- support for tracking click through to user, tag and category
- new filter for search type (header, full page)
This commit also removes "most viewed topic" field from search logs page because we are now tracking multiple click through entities, so topic is not a special entity anymore. This also improves query perf. The query now takes `20.5ms` to runs, as opposed to `655.9ms` previously.
2017-12-01 12:04:55 +05:30
Vinoth Kannan
7f2eeaf767
FIX: Password required flag should be cleared whenever clearing the raw password ( #5384 )
2017-12-01 15:19:24 +11:00
Guo Xiang Tan
c128e421c4
FIX: Don't run job if topic timer has already been deleted.
2017-11-30 15:26:26 +08:00
Guo Xiang Tan
1c2d1682ae
Merge pull request #5328 from tgxworld/reenable_interpolation_keys_check
...
FIX: Re-enable invalid interpolation keys check and allow default key…
2017-11-30 13:04:54 +08:00
Guo Xiang Tan
9fbe1436b6
UX: Replace heuristic solution root domain extraction for topic featured link.
2017-11-29 21:52:41 +08:00
Guo Xiang Tan
b1375ef44e
Ensure that we disconnect connection in test.
2017-11-29 20:57:13 +08:00
Guo Xiang Tan
8491c5fba5
UX: Replace heuristic solution for extracting root domain.
2017-11-29 16:26:46 +08:00
Gerhard Schlager
44ee388070
FEATURE: omit images from og and twitter description tags
2017-11-28 21:34:02 +01:00
Guo Xiang Tan
1d8b834301
Merge pull request #5369 from vinothkannans/queued
...
FIX: Error if queued post not found while updating
2017-11-28 17:51:05 +08: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
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
77f90876d3
REFACTOR: Track manual locked user levels separately from groups
2017-11-27 11:23:44 -05:00
Vinoth Kannan
31aa21b5a4
FIX: Error if queued post not found while updating
2017-11-27 19:25:51 +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
d5e7691ae9
favicon proxy now uses hijack
2017-11-27 14:51:14 +11:00
Guo Xiang Tan
5805979e88
FIX: Re-enable invalid interpolation keys check and allow default keys to be left out of translation overrides.
...
https://meta.discourse.org/t/bulk-invite-from-file-resets-the-invite-forum-mailer-customized-text/67606/16
2017-11-27 11:00:08 +08:00
Guo Xiang Tan
2e04ef97d9
Fix the build.
2017-11-27 10:53:05 +08:00
Guo Xiang Tan
a7030e80bf
Skip randomly failing test.
2017-11-27 10:51:18 +08: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
Gerhard Schlager
b3094e9954
FIX: incoming and outgoing emails got lost when post was moved
2017-11-24 11:45:36 +01: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
Guo Xiang Tan
82222e8d18
Improve specs to test for the right response status.
2017-11-24 09:32:44 +08:00
Arpit Jalan
406ad1a1f2
Merge pull request #5357 from techAPJ/invite-trust-level
...
FIX: invited users were not granted trust level based on their group
2017-11-23 23:42:20 +05:30
Robin Ward
ad07e6e172
FEATURE: `group_removes_trust_level` setting
...
By default in Discourse, if a group grants a user a particular trust
level that is locked even if they are removed from the group.
With this new setting, when a user is removed from a group their
trust level is set to either the next highest trust level based on group
membership, or they are unlocked and promoted based on the default
mechanisms.
2017-11-23 13:03:24 -05:00
Gerhard Schlager
613f4d737a
FIX: updating topic stats failed silently for invalid topics
2017-11-23 18:47:45 +01:00
Arpit Jalan
3508046e33
FIX: invited users were not granted trust level based on their group
...
https://meta.discourse.org/t/bulk-invites-and-trust-level/73535
If the user enters password when accepting invite they were not granted
trust level based on their group privileges. It was because `password_required` was set to true when creating user record and when the user was updated again when granting trust level the password validation was raising error saying that the password is empty. This commit fetches fresh user record after the user is created so that the user record can be updated successfully.
2017-11-23 22:19:28 +05:30
Gerhard Schlager
39810e4425
FIX: do not move small post actions
2017-11-23 17:25:53 +01:00