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