Sam
e3a616764e
PERF: add frozen strings
2018-01-15 12:44:54 +11:00
Sam
2113266e51
Simplify complex conditional, add frozen strings
2018-01-15 12:44:54 +11:00
Sam
215c0d5569
FEATURE: allow system api to target users via external id or user id
...
usage ?api_key=XYZ&api_user_external_id=ABC
usage ?api_key=XYZ&api_user_id=123
2018-01-12 17:40:18 +11:00
Sam
5bf116e719
warn if missing user option record
2018-01-12 15:43:56 +11:00
Sam
7e3543d96f
correct plugin specs
2018-01-12 14:42:05 +11:00
Sam
49ed382c2a
FIX: return 429 when admin api key is limited on admin route
...
This also handles a general case where exceptions leak out prior to being handled by the application controller
2018-01-12 14:15:26 +11:00
Sam
fc05164667
demo script for demonizing using fork exec
...
minor refinements to demon
2018-01-11 13:51:52 +11:00
Sam
114294d899
PERF: cache messages so re-opening composer on same topic does not issue a req
2018-01-10 14:39:39 +11:00
Sam
daad2291ba
simplify production switch and serve extra locales from actual site
2018-01-10 08:19:51 +11:00
Sam
c9f42506b7
If login is required skip CDN
2018-01-09 17:51:53 +11:00
Sam
6b8320fea6
PERF: use cdn for extra locales
2018-01-09 17:00:42 +11:00
Sam
18a929d801
PERF: enable gzip on proxied requests
2018-01-09 13:28:05 +11:00
Sam
d5fd6d2639
PERF: defer message bus on hidden tabs so only one in 1.5 seconds happens
2018-01-09 12:39:17 +11:00
Sam
6e70065291
PERF: add some minimal caching to javascripts folder
2018-01-09 12:38:15 +11:00
Sam
ea63abf0f7
bypass mini profiler for locales
...
bypass cdn for now
2018-01-09 11:30:59 +11:00
Sam
b0a7ee1aec
FIX: source admin locale from cdn
2018-01-09 10:27:33 +11:00
Sam
8ff5f5f2ef
FIX: cache admin locale file for 24 hours
2018-01-09 10:23:49 +11:00
Sam
cecd7d0d07
FEATURE: global rate limiter can bypass local IPs
2018-01-08 08:39:17 +11:00
Sam
8d4cd57662
Update libv8 from 5.9 to 6.3
2018-01-05 17:12:04 +11:00
Sam
715cb98e95
add better diagnostics for rate limits
2018-01-05 12:14:28 +11:00
Sam
25f4d98307
improve error logging for warn_exception
2018-01-05 09:54:42 +11:00
Sam
0081de30a5
PERF: conserve memory while rebaking posts
2018-01-05 09:54:42 +11:00
Sam
030a0cd698
bump onebox for vimeo private link support
2017-12-29 09:38:25 +11:00
Sam
5ad1709dba
PERF: cache service worker for 1 hour
2017-12-28 08:31:01 +11:00
Sam
a9e2fc59c4
FIX: [constructor] bbcode would cause markdown crash
2017-12-27 16:11:30 +11:00
Sam
3937ff0425
FIX: don't preload json on static routes
2017-12-27 14:33:36 +11:00
Sam
c30ccceade
correct params
2017-12-27 13:51:16 +11:00
Sam
0c834515a9
FIX: only attempt old rebakes a maximum of 3 times
2017-12-27 12:44:41 +11:00
Sam
ab2215e629
fix broken test
2017-12-21 20:19:15 +11:00
Sam
b3c086a636
copy
2017-12-21 16:15:07 +11:00
Sam
62a27f9d57
FEATURE: warn if attempting to mention a group with too many members
2017-12-21 16:13:57 +11:00
Sam
081959227d
FIX: unicode titles missing when visiting topic from topic list
2017-12-21 15:20:47 +11:00
Sam
252cbd8635
FIX: keyboard shortcut allowed you to open composer on closed topics
2017-12-21 13:09:18 +11:00
Sam
2423b18839
FIX: links inside quotes not opening in new tab
2017-12-21 13:00:20 +11:00
Sam
6bf3bee473
FIX: when leaving PM tab revert to user scoped search
2017-12-21 12:30:41 +11:00
Sam
e756d02088
FIX: create topic keyboard shortcut not checking permissions
2017-12-21 11:23:57 +11:00
Sam
88a4ec5f1b
FIX: stop forking regular backup jobs
2017-12-21 09:00:48 +11:00
Sam
7aa56fc9d9
refinement and test for batch mode on feature_topics
2017-12-20 13:58:05 +11:00
Sam
bbc606988f
improve message
2017-12-20 10:12:33 +11:00
Sam
9472821331
Allow plugins to specify custom nav items on mobile
2017-12-19 16:50:25 +11: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
Sam
e63a2487e3
UX: allow for iPhone X in iOS Hacks
2017-12-19 15:20:06 +11:00
Sam
1abc276451
FIX: properly omit inactive and silenced users from directory
2017-12-19 12:53:59 +11:00
Sam
fb9fadf42c
FIX: publish presence to allowed groups as well
2017-12-19 12:17:08 +11:00
Sam
de20e36629
cancel timer when removing composer
2017-12-18 22:26:00 +11:00
Sam
fd67508497
FIX: don't count users as replying long after they are done typing
...
Also, don't leak a large amount of redis usage for presence stuff
2017-12-18 15:41:32 +11:00
Sam
433ef4513b
FEATURE: upload images and fonts in themes via hijack
2017-12-18 10:40:10 +11:00
Sam
5e90abfaea
FIX: use hijack for emoji uploads
2017-12-18 10:31:19 +11:00
Sam
f5b3652d97
HTML paste is experimental
2017-12-15 12:29:39 +11:00
Sam
81b3a4a3da
improve spec
2017-12-15 11:42:51 +11:00
Sam
f18dda2adc
FEATURE: full rebake of all old posts
...
This limits to 100 post per 15 minutes, so it will take a while.
This will pick up CommonMark and a large amount of onebox fixes.
2017-12-15 10:28:25 +11:00
Sam
32d881399f
avoid getting duplicates in docker dev paths
2017-12-15 10:11:40 +11:00
Sam
e0f660d9a9
lets crash out on error
2017-12-14 18:03:17 +11:00
Sam
14cfce2827
Merge branch 'master' of github.com:discourse/discourse
2017-12-14 17:17:02 +11: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
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
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
Sam
4b53be81cf
corrects type
...
fixes #5412
2017-12-11 18:16:20 +11:00
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
Sam
394abbe26b
bump up proxy buffer size
2017-12-11 09:29:47 +11:00
Sam
cff9b8846d
FIX: rendering %lt;/div noscript in header
2017-12-08 10:30:00 +11:00
Sam
0693ed10d1
remove logging code for now
2017-12-08 08:36:35 +11: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
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
Sam
6c82a50903
Improve error handling in hijacked code
2017-12-01 16:23:32 +11:00
Sam
610d7a9412
teach acceptance test to work on the last day of the month
2017-11-30 13:20:04 +11:00
Sam
05f5df69b1
UX: Add tooltips for messages and notifications in header
2017-11-30 12:56:54 +11:00
Sam
772301bc65
woops
2017-11-30 12:32:50 +11:00
Sam
bf1f6c7fe4
UX: better help text for composer collapse / discard
...
also: warn on collapsed close if you are to discard content
2017-11-30 12:28:00 +11:00
Sam
3334a4b539
Simplify hijack code
2017-11-29 11:54:35 +11:00
Sam
f80522671b
improve instrumentation and defer hijacking till last moment
2017-11-28 18:21:56 +11: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
ceaadf6246
UX: adjustments for topic title editing
2017-11-28 12:00:18 +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
Sam
5a715b7d55
lint it up
2017-11-28 07:39:24 +11:00
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
Sam
a74ac90bf5
FIX: quote dropped when replying as new topic
2017-11-27 10:08:55 +11:00
Sam
e0e99d4bbd
PERF: hijack onebox requests so they do not use up a unicorn worker
2017-11-24 15:31:40 +11:00
Sam
407d80f1dd
FEATURE: update rack-mini-profiler to latest
2017-11-24 10:28:35 +11:00
Sam
8fd09fe616
FEATURE: upgrade message bus
...
new version recovers very cleanly from redis flush
2017-11-24 09:23:12 +11:00
Sam
e61629ed84
remove spec containing mock
2017-11-23 17:54:27 +11:00
Sam
49f97d75b7
FIX: make uploads safe for block that can run later
2017-11-23 17:28:18 +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