Commit Graph
100 Commits
Author SHA1 Message Date
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
Sam d43a54e83a FIX: use current_user.id in onebox instead of param 2017-11-23 15:32:19 +11:00
Sam 2fe131db9f UX: handle super tall images in onebox respectfully.
Tall images got distorted previously
2017-11-23 14:45:46 +11:00
Sam a92f61e926 FIX: allow login required sites access to attachements 2017-11-22 10:50:55 +11:00
Sam 7e841a0495 FIX: stop counting PMs, deleted topics and whispers in directory and user stats 2017-11-20 16:44:09 +11:00
Sam ff1ce175fc FIX: sometimes quote button did nothing on Firefox 2017-11-20 11:14:44 +11:00
Sam 174ab2d93a minor, ensure ordering of custom fields is consistent 2017-11-16 15:14:10 +11:00
Sam 9c22c68d39 FIX: only save custom fields if they actually change 2017-11-16 15:14:10 +11: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
Sam 813e21d0e8 FIX: current user serializer consistently returns {} for custom_fields
Resolves: #5210
2017-11-15 11:55:37 +11:00
Sam 4b42a0abc9 FIX: add error for suspended users attempting to login via sso 2017-11-14 16:52:00 +11: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
Sam 38c103c75e correct spec 2017-11-13 18:09:24 +11:00
Sam 8a66446849 FEATURE: add overflow-y auto to Markdown tables 2017-11-13 17:52:15 +11:00
Sam cb14da4d90 FIX: stop stripping "undefined" from fullpage search 2017-11-13 17:26:02 +11:00
Sam 281e430a89 UX: expand parent category in full screen search results 2017-11-13 16:56:20 +11:00
Sam 5427ca13b7 FEATURE: update rails multisite so we error out if RAILS_DB is invalid 2017-11-13 16:37:25 +11:00
Sam ed0751f288 always double check there is a class first 2017-11-13 16:06:18 +11:00
Sam dfe9f70747 UX: warn that something must be selected with safe mode 2017-11-13 15:59:51 +11:00
Sam 4f28c71b50 FIX: error setting tombstone bucket when set to old version 2017-11-13 15:36:45 +11:00
Sam 232311aa8c FIX: missing short image resolution on queued posts 2017-11-13 12:08:11 +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
Sam 0b905e24ed should not have changed this 2017-11-10 09:13:00 +11:00
Sam 90351348ec FIX: checkUsername, delete and dismissBanner not working with users with . 2017-11-10 07:01:43 +11: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
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
Sam 3f2105db85 UX: iOS 11 modals now hide all background
This fixes issues where login looks very buggy on iOS

see also: https://meta.discourse.org/t/ios-11-makes-discourse-buggy/71140/7
2017-11-08 07:31:45 +11: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
Sam deb79a8fff DEV: private means nothing for class methods 2017-11-01 16:43:19 +11:00
Sam f5cc28d740 UX: correct regression with twitter onebox 2017-11-01 16:42:56 +11:00
Sam 1bd9e64a36 FIX: offline controller regression 2017-10-31 15:44:50 +11:00
Sam 9197feefb8 UX: onebox images no longer cause jiggle
This stops pages from "jiggling" while oneboxes download.

see: http://cssmojo.com/aspect-ratio-using-custom-properties-and-calc/
2017-10-31 13:50:58 +11:00
Sam 7c5a71e929 DEV: allow queue_jobs = false in dev
your mileage may vary
2017-10-31 13:50:58 +11:00
Sam fab3e25101 FIX: badge selector showing up for anon 2017-10-30 16:21:31 +11:00
Sam 7ca08216bd FIX: ensure we have no dangling db connections on threads
This correct 10 second timeouts in dev mode, when reloader kicks in
2017-10-30 14:24:15 +11:00
Sam 70aed105a6 FIX: bypass all site setting work for shadowed method 2017-10-27 11:12:44 +11:00
Sam 1db4c2d1a0 moving redis to readonly mode destablizes the test suite 2017-10-25 14:39:49 +11:00
Sam 0d816302e2 Explicitly avoid all readonly protection and scoping 2017-10-25 13:31:44 +11:00
Sam 7ca8853861 don't risk being stuck in readonly 2017-10-25 13:22:50 +11:00
Sam 877b7be579 FIX: in readonly mode don't double count pages 2017-10-25 13:19:43 +11:00
Sam d4d5e6965e FEATURE: discourse-prometheus is an official plugin 2017-10-24 10:27:28 +11:00
Sam 361fbfa518 FEATURE: raise an event when a sidekiq job runs 2017-10-23 17:30:17 +11:00
Sam 55d096ee8b FEATURE: add event for scheduled_job_ran 2017-10-23 17:22:17 +11:00
Sam 220a961898 correct unicorn sidekiq messaging 2017-10-23 17:12:25 +11:00
Sam 15932f391e FEATURE: Add events when web and sidekiq forks start 2017-10-23 15:40:45 +11:00