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
Sam
e61629ed84
remove spec containing mock
2017-11-23 17:54:27 +11: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
Robin Ward
628275fc31
FIX: Some badge routes were still working even with badges disabled
2017-11-21 12:22:44 -05:00
Guo Xiang Tan
f7642e076d
REFACTOR: Avoid duplicated logic on server and client.
2017-11-21 17:10:04 +08:00
Régis Hanol
2d48caffdf
FIX: be more lenient when deleting a custom emoji
2017-11-20 23:50:23 +01:00
Robin Ward
0a9daba627
FIX: Support for long suspension emails
2017-11-20 12:45:46 -05:00
Sam
7e841a0495
FIX: stop counting PMs, deleted topics and whispers in directory and user stats
2017-11-20 16:44:09 +11: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
41673c322c
dear Rubocop, don't be so pedantic ;-)
2017-11-19 12:45:33 +01:00
Gerhard Schlager
92a831bae6
FEATURE: user directory returns staged users during search
2017-11-19 01:17:31 +01:00
Gerhard Schlager
546b206da0
replace indentation with non-breaking spaces when cooking emails
2017-11-18 17:16:44 +01:00
Neil Lalonde
87ec11e298
FIX: more accurate counting of posts read. Skipping to the end of a topic does not count all posts as read in user stats.
2017-11-17 16:08:46 -05:00
Robin Ward
d755c9c90f
FIX: Allow regular expressions to specify boundaries
2017-11-17 14:13:44 -05:00
Gerhard Schlager
d47fa6653b
do not notify staged users about posts withing mailinglist mirror category
2017-11-17 15:29:14 +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
Régis Hanol
a586738f25
fix randomly failing spec
2017-11-16 18:16:16 +01:00
Régis Hanol
678e28794a
FIX: properly handle too large & broken images in posts
2017-11-16 15:45:07 +01:00
Vinoth Kannan
6f2a3cb026
Remove unwanted triggers to `CookedPostProcessor` ( #5319 )
2017-11-16 15:20:44 +05:30
Sam
9c22c68d39
FIX: only save custom fields if they actually change
2017-11-16 15:14:10 +11:00
Guo Xiang Tan
3ab6318e5f
Disable postgresql adapter tests until we figure out what is leaking
...
connections.
2017-11-16 07:17:22 +08: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
Sam
20fbf81505
FEATURE: Allow plugins to easily add defaults to GlobalSetting
...
usage:
GlobalSetting.add_default("plugin_setting_name", "value")
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
Robin Ward
fc73de9578
Support for finding new locales in plugins
2017-11-15 11:20:04 -05:00
Vinoth Kannan
cbc0afb399
REFACTOR: Instance methods added to 'PluginStore' model for easy access ( #5315 )
2017-11-15 10:10:20 -05:00
Régis Hanol
648832a643
fix the build
2017-11-15 11:53:14 +01:00
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
Sam
813e21d0e8
FIX: current user serializer consistently returns {} for custom_fields
...
Resolves : #5210
2017-11-15 11:55:37 +11:00
OsamaSayegh
4c4410225e
UX: cap likes 2 ( #5237 )
2017-11-15 11:28:54 +11:00
Arpit Jalan
3831663fea
FEATURE: search logs page ( #5313 )
2017-11-15 11:13:50 +11: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
Gerhard Schlager
4be8f17e66
FIX: counting invites didn't work
...
PostgreSQL reported the following error:
"for SELECT DISTINCT, ORDER BY expressions must appear in select list"
2017-11-14 11:40:07 +01:00
Sam
47e4c9bb46
FIX: import/export theme should work with uploads
2017-11-14 16:30:23 +11:00
Sam
075a458489
FIX: child theme component vars not resolved in parent
2017-11-14 15:22:59 +11:00
Guo Xiang Tan
bf5ba5fbd1
Remove `readonly alert` smoke test.
2017-11-14 11:18:38 +08:00
Gerhard Schlager
d3baae5365
removes whitespaces and uses scope
2017-11-13 15:23:24 +01:00
Régis Hanol
7370adeae3
FIX: don't delete uploads referenced in drafts or queued posts when using the short_url
2017-11-13 15:01:31 +01:00
Sam
8a66446849
FEATURE: add overflow-y auto to Markdown tables
2017-11-13 17:52:15 +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
fc6de6863b
WIP
2017-11-12 21:12:34 +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
4270c93666
FIX: Missing yml file
2017-11-10 14:29:36 -05:00
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
Gerhard Schlager
0ccefb0365
make RuboCop happy
2017-11-10 17:57:28 +01:00
Gerhard Schlager
31e2385316
FEATURE: do not send notification emails to users who are included in the To and CC header of an incoming email
2017-11-10 17:44:20 +01:00
Joffrey JAFFEUX
73aa7edb8b
Temporarily skip multisite spec
2017-11-09 15:38:34 -08:00
Neil Lalonde
16ff2a4715
FIX: topic counts after converting topic to/from public and private
2017-11-09 15:33:44 -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
Sam
86e6732f78
FEATURE: update rails multisite
...
always allow /srv/status through even if host does not match
2017-11-09 15:40:56 +11:00
Arpit Jalan
b21d5d3633
FIX: SSO email match should be case insensitive
2017-11-08 20:37:41 +05:30
Guo Xiang Tan
6090994cdf
FEATURE: Retain the latest 30 days of WebHookEvent records by default.
2017-11-08 14:11:01 +08:00
Guo Xiang Tan
4bb454d889
FIX: JSON custom fields incorrectly being converted to an array.
...
https://meta.discourse.org/t/custom-fields-simultaneous-save-with-json-becomes-an-array/73647
2017-11-08 11:17:37 +08:00
Neil Lalonde
d7880af0bb
FIX: change password form validation should instruct admins to use min password length for admin accounts
2017-11-07 16:14:56 -05: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
d9602fe729
Fix incorrect severity field.
2017-11-07 11:24:54 +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
9ebb1412d3
FIX: Brittle, order dependent spec
2017-11-04 09:30:17 -04:00
Vinoth Kannan
59529ea54a
generalize spec fixture
2017-11-04 11:47:26 +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
d320f4840d
FIX: Unable to invite groups that are not public visible into pms.
...
https://meta.discourse.org/t/inviting-groups-broken-in-head/73346/6
2017-11-03 21:40:33 +08:00
Sam
56412adad5
FEATURE: custom setting for large square site icon
...
This icon is used for android splash screen
2017-11-03 16:19:31 +11:00
Guo Xiang Tan
af01860a3d
Clear all active connections after PostgreSQL failover tests.
2017-11-03 09:21:10 +08:00
Neil Lalonde
c7d7cb940c
FIX: dashboard posts report was including posts in daily data, but not in totals
2017-11-02 18:46:28 -04: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