Sam
c6adf7f032
DEV: correct heisentest
...
After you visit a page in Rails an INFO is logged, this depending on
timing could land in the string or not
This changes the level to WARN which avoids the issue
2018-11-30 15:03:41 +11:00
Sam
8868cfd2e4
FIX: redis leak when visiting large amounts of topics
...
Message bus uses a key to keep track of the last id for each channel
this key was never expired even if channel data expired
This change ensures we also expire the tracking key, it means a lot to us
cause each topic has a channel, so if you have 1 million topics that is
1 million keys that may persist forever
2018-11-30 14:41:15 +11:00
Sam
6acabec423
FIX: script was missing newlines when generating hosts
2018-11-28 15:18:08 +11:00
Sam
912a7105d2
DEV: polyfill Object.values and use where needed
...
We now have polyfills for `values` IE and `entries` IE
This commit uses values where appropriate to eliminate an extra lookup
This simplifies the code a bit.
Followup to: 7f089f07a7
2018-11-28 10:07:05 +11:00
Sam
3cb88bc566
DEV: Run file through prettier
...
We only alert on .js.es6 this is a js file so it is bypassed
2018-11-28 10:03:54 +11:00
Sam
74b300110f
DEV: lint run-qunit
...
also handles situation where startsWith is missing, when this happens
simply log
This corrects an issue where console.log explodes autospec
2018-11-27 17:41:29 +11:00
Sam
6d9d904df5
add missing newline to end of file
2018-11-23 15:43:27 +11:00
Sam
d7b0f0069c
no need to double strip this line
2018-11-23 14:48:02 +11:00
Sam
4c6eeaac15
Followup on 0739c3b1d1
...
This corrects some minor style issues
2018-11-23 14:43:52 +11:00
Sam
7ba681383d
DEV: run plugin tests in autospec
2018-11-23 11:27:08 +11:00
Sam
0739c3b1d1
DEV: this introduces a script capable of caching critical DNS locally
...
This is useful for cases where you want to add resiliency to DNS lookups
for redis and postgres, so they will continue to work even if there is
a DNS outage
2018-11-22 18:46:59 +11:00
Sam
966d3c8437
remove unneeded code
...
```
irb(main):001:0> def test; if false; puts "hi"; end; end
=> :test
irb(main):002:0> test
=> nil
```
2018-11-21 12:57:34 +11:00
Sam
0a86ef69bb
FIX: browser infinite recursion when editing post
...
This was a result of:
https://github.com/discourse/discourse/commit/c4ed353fae4280541f8f4c52d9ab43486bd11ba2
jQuery map on a jQuery object, returns a jQuery object http://api.jquery.com/map/
So you need to convert it to an array prior to mapping
2018-11-21 12:51:14 +11:00
Sam
20268385a5
FIX: never attempt to log invalid post numbers
...
Previously in some cases we would queue logging of invalid post numbers
The impact would be we would miss logging an incoming link and would leak
an error.
2018-11-21 11:58:47 +11:00
Sam
86255faa08
FEATURE: do not switch to JPEG unless you meet 75k byte savings
...
This also adjusts the algorithm to expect
- 30% saving for JPEG conversion
AND
- Minimum of 75K bytes saved
The reasoning for increase of saving requirements is cause PNG may have been
uploaded unoptimized, 30% saving on PNG is very possible
2018-11-21 11:01:08 +11:00
Sam
1b4f2029d7
FIX: clear theme cache when restoring
...
Previously old themes may be cached incorrectly, this also forces
a rebake of old themes to ensure version can compile cleanly
2018-11-20 13:37:58 +11:00
Sam
01dc0abb05
dev, give spec a bit more time waiting on timeout
2018-11-19 16:21:39 +11:00
Sam
d1e3c213a7
Do not look up blank ips
...
No point attempting any kind of lookup on blank ip addresses
this simply adds log noise
Also ... freeze strings
2018-11-19 15:50:21 +11:00
Sam
1824ac9d39
PERF: cache path for svg-sprite in upcoming FA5
...
We need to make sure NGINX caches all paths for SVG assets,
this ensures only the first request for an svg sprite ever hits the app
2018-11-19 10:34:16 +11:00
Sam
6aea185ab4
FEATURE: plugin outlets on about page
...
Added about-after-admins and about-after-moderators
2018-11-19 10:12:44 +11:00
Sam
f2afb69f72
Revert "UX: maintain aspect ratio of cropped image thumbnails"
...
This reverts commit e7fa4c5dd1 .
causes page wobble with images while loading
2018-11-16 11:38:04 +11:00
Sam
8e55e61a2e
Correct spec
2018-11-15 15:42:16 +11:00
Sam
e7001f879a
SECURITY: enforce hostname to match discourse hostname
...
This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname
2018-11-15 15:23:06 +11:00
Sam
6556a87629
FIX: only check for conflict on edit drafts
...
In some unknown cases non edit drafts are being checked for conflict
2018-11-15 13:14:07 +11:00
Sam
80ceb57c76
DEV: add API endpoint to destroy_timings only of last post
...
Previously API only allowed you to nuke all timings from a topic,
new API is less punishing and allows you just to remove 1 post.
2018-11-13 16:07:48 +11:00
Sam
296928ec04
FIX: update logster to handle logging of invalid encoding strings
...
Previously if a string had invalid encoding we would explode and log
to STDERR, this often goes lost, instead logster now scrubs as needed
2018-11-13 16:06:06 +11:00
Sam
d1684a1652
PERF: avoid left joins and distinct on posts_for query
...
Previously this was extremely expensive due to the `distict` and
`left join` clauses, this eliminates it and makes query much faster
2018-11-12 13:26:41 +11:00
Sam
e17a13ce19
FEATURE: additional "related messages" section
...
This splits out previous message correspondence from suggeted and instead
has a dedicated section called "related messages"
2018-11-12 13:04:42 +11:00
Sam
e50d0ba477
remove unsupported stuff from travis
2018-11-12 13:04:42 +11:00
Sam
bdc2757d58
Ruby 2.4 support is now dropped
2018-11-09 18:54:35 +11:00
Sam
173408d72f
DEV: correctly force Ruby version 2.5.2 and up
2018-11-09 18:36:18 +11:00
Sam
bc7c1e411c
DEV: Ruby 2.5.1 is no longer supported with Discourse
...
This removes a monkey patch we no longer need since our containers require
2.5.2 or up for all Discourse installs.
If you are looking to deploy on 2.5.1 which is highly not recommended you
will need to figure out how to apply this diff.
2018-11-09 18:24:58 +11:00
Sam
64d9be726f
the protection I placed was in the wrong path moved to /session/sso
...
correct previous commit
2018-11-09 17:18:01 +11:00
Sam
3ae4fcd1f7
Improve redirect avoidance for /sso paths
...
e6b3310577 was missing an ege case
where return url included current_hostname
2018-11-09 17:03:58 +11:00
Sam
7d52f5869d
Revert "FIX: Don't enqueue topics if the user can't create them"
...
This reverts commit 515e103db6 .
2018-11-09 15:25:38 +11:00
Sam
e6b3310577
FIX: never redirect back to /sso it will cause a loop
...
If for any reason our return url is set to `/sso` bypass using it
for login redirect
2018-11-09 14:27:36 +11:00
Sam
15991677d4
FIX: ensure we never cache login redirects by mistake
2018-11-09 11:14:35 +11:00
Sam
42572ff138
Revert font awesome 5 changes
...
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Sam
0a442e319c
FIX: correct svg handling for images
...
We regressed and optimized images no longer worked with svg
The following adds the correct logic to simply copy file for svgs
and bypasses resizing for svg avatars
2018-11-07 15:29:26 +11:00
Sam
81ccfa5a8a
there is a new bundler
2018-11-07 10:05:22 +11:00
Sam
3951e9b528
SECURITY: update rack from 2.0.5 to 2.0.6
...
This release contains security fixes to the underlying rack library
used by Discourse.
Impact is not too high as we do not use request.scheme in our templates
2018-11-07 10:05:22 +11:00
Sam
06b9d8223a
FIX: search within topic not working correctly in CJK
...
We were splitting the term prior to search causing everything to miss
2018-11-07 09:41:55 +11:00
Sam
d84256a876
FEATURE: add Noindex to robots.txt for disallowed routes
...
This strips pages out of indexes that should not exist see:
https://meta.discourse.org/t/pages-listed-in-the-robots-txt-are-crawled-and-indexed-by-google/100309/11?u=sam
2018-11-02 16:39:47 +11:00
Sam
ceafcbc898
FEATURE: show added date when looking at group members
2018-11-01 15:33:28 +11:00
Sam
aa044623bd
FIX: do not create superflous sessions when logged on
...
In some SSO implementations we may want to issue SSO pipelines for
already logged on users
In these cases do not re-log-in a user if they are clearly logged on
2018-11-01 12:54:01 +11:00
Sam
23423ba112
correct spec and error reporting
...
previous commit misused warn_exception which caused a spec to fail
2018-10-31 13:38:05 +11:00
Sam
31ad7a60ab
FIX: improve error handling for missing maxmind dbs
...
Correct issue where we kept on looking up data on a Logster::Message object
2018-10-31 12:57:18 +11:00
Sam
32b1f34910
PERF: avoid DNS lookups when getting IP info
...
Also cleans up interface in DiscourseIpInfo
grew cache to 2000 entries
2018-10-31 12:38:57 +11:00
Sam
df62b48d51
UX: remove "at" word from relative dates in local dates
...
Previously we would render "Today at 2:42 PM"
Now we render "Today 2:42 PM"
This also introduces new strings so it can be properly translated
Finally it introduces tests so we can make sure this keeps working
2018-10-31 11:55:43 +11:00
Sam
f8305f53c7
FEATURE: special offline support restricted to Android only
...
The special offline page with fetch interception in service worker
is only strongly required on Android ad a pre-req for PWAs
This is now strongly restricted only to Android while iOS PWA support
gets better
Long term if we build offline support we can unlock it more globally
2018-10-29 16:29:19 +11:00
Sam
5c86e2d749
tweaks to related message list generation
...
- exclude users in groups I am in from related message search
- correctly limit number of related messages
2018-10-29 16:09:58 +11:00
Sam
9933059426
FEATURE: push related PMs to take first 3 slots
...
Previously the related PMs were last meaning you would have to work through
all unread to see them.
Also amends it so it either asks for related by group OR user not both.
2018-10-29 10:47:59 +11:00
Sam Saffron
abaa3f0650
FEATURE: add server:before-head-close-crawler outlet for plugins
...
This outlet allows plugins to inject html prior to closing head tag
2018-10-25 16:31:05 +11:00
Sam
e955a7b49d
Revert "Revert "FIX: GlobalPath#upload_cdn_path when S3 bucket has a folder ( #6523 )""
...
This reverts commit 322b27b6dc .
Oops rushed on the revert here... should be good
2018-10-24 15:14:01 +11:00
Sam
322b27b6dc
Revert "FIX: GlobalPath#upload_cdn_path when S3 bucket has a folder ( #6523 )"
...
This reverts commit 63356d883e .
This caused an outage, got to revert
2018-10-24 15:03:58 +11:00
Sam
5fd94d3211
PERF: limit unread count to 99 in blue circle
...
This revises: https://github.com/discourse/discourse/commit/e605542c4e1ee8f67dffd06e7422cc17c83c243e
Previous commit was faulty
2018-10-24 12:10:27 +11:00
Sam
e605542c4e
PERF: limit unread count to 99 in the blue circle
...
This safeguard is in place to avoid very expensive queries on the server
side
2018-10-24 11:53:28 +11:00
Sam
29fdb50338
FIX: if poll has not options do not break serializer
...
Note: we have a proper rewrite of this plugin in progress
it will address this issue in a proper way
2018-10-24 10:04:17 +11:00
Sam Saffron
64aca0dc1b
FIX: remove duplicate referrer policy
...
Rails already ships with strict-origin-when-cross-origin, no need
to also add no-referrer-when-downgrade
see: https://meta.discourse.org/t/harden-referrer-policy-header/100172
2018-10-24 08:38:39 +11:00
Sam
de6b585368
minor, bypass gravatar update if user does not match
...
this protects against a race condition that can happen when a user record
is destroyed reasonably quickly
2018-10-23 12:20:41 +11:00
Sam
b74dd7d379
FIX: stop logging every 404 error when searching for gravatars
2018-10-23 11:43:14 +11:00
Sam
adab7a3a48
improve test, also ensure no zero size is generated
2018-10-23 08:50:07 +11:00
Sam
bea8d337b2
DEV: ensure resizing test does not raise bad error
...
Current resizing test was showing binary diff in terminal and failing
in latest image magick 7, this fixes both issues
2018-10-23 08:45:06 +11:00
Sam
9bfc939692
cleanup so gravatar download failures are consistent
...
previously we would ignore socket error, but this would mean that
there could be conditions where we would keep trying to download
gravatars forever (in an hourly job)
2018-10-19 12:51:55 +11:00
Sam
19d7543004
FIX: clear color scheme cache when clearing theme cache
2018-10-16 12:00:46 +11:00
Sam
fc94732f88
avoid looking up badge multiple times in spec
2018-10-16 10:42:16 +11:00
Sam
8d06731484
FIX: reduce amount of work onceoff does
...
In the past onceoff was forcing inline download of gravatars,
this can be so expensive that it will never finish
This fix ensures it only marks avatars stale which will be picked
up by regular schedules
2018-10-16 10:29:16 +11:00
Sam
4c8fe13500
FIX: remove code that restricted "header" theme field from admin
...
There was some old code that restricted a percentage of a themes code from
admin, only when admin was refreshed, this leads to lots of confusion
Conditional is now removed
2018-10-15 17:29:10 +11:00
Sam
3aceda2dfd
Update to latest version of message bus
...
This includes DistributedCache which we will be using and perf fixes
2018-10-15 13:49:04 +11:00
Sam
057087e0e8
FEATURE: log long running jobs in the defer queue
...
If a job in the defer queue takes longer than 90 seconds log an error
2018-10-12 17:03:47 +11:00
Sam
a1c912b630
Return 400 instead of 404 for bad token
2018-10-12 10:51:41 +11:00
Sam
45f01e637b
FIX: when associating Github account disassociate others
...
There are some cases where an email floats from one GitHub account to another
if this happens just take over the Github mapping record
2018-10-10 15:46:50 +11:00
Sam
59ce11d10c
ignore maxmind db
2018-10-10 14:30:51 +11:00
Sam
9b01e2b855
FIX: maxmind download task does not need environment
2018-10-10 11:16:28 +11:00
Sam
550e108a8c
FEATURE: only export settings that changed via rake task
2018-10-08 11:54:52 +11:00
Sam
5b630f3188
FIX: stop logging every time invalid params are sent
...
Previously we were logging warning for invalid encoded params, this can
cause a log flood
2018-10-05 14:33:19 +10:00
Sam
378584fdc0
correct under reporting of memory in memory profiler
2018-10-04 17:02:53 +10:00
Sam
0e10b47618
UX: make responsive_post_image_sizes a visible site setting
...
This is useful for sites that want to cut bandwidth by decreasing
fidelity of thumbnails.
2018-10-03 15:06:37 +10:00
Sam
eba3117e08
Missed one spot where url needed cooking
2018-10-03 15:06:37 +10:00
Sam
41eacd859e
temporarily comment out test
2018-10-03 14:07:30 +10:00
Sam
ad0e768742
FEATURE: add support for responsive images in posts
...
When creating lightboxes we will attempt to create 1.5x and 2x thumbnails
for retina screens, this can be controlled with a new hidden site setting
called responsice_post_image_sizes, if you wish to create 3x images run
SiteSetting.responsive_post_image_sizes = "1|1.5|2|3"
The default should be good for most of the setups as it balances filesize
with quality. 3x thumbs can get big.
2018-10-03 13:44:53 +10:00
Sam
a6f0436a29
FEATURE: change default to enable login by email out-of-the-box
2018-10-03 10:16:52 +10:00
Sam
580c923ff3
UX: remove flex basis from first item
...
We do not want to take up 100% width for name/username on first line
2018-10-02 13:16:51 +10:00
Sam
120c220c18
UX: correct ordering of username / fullname in UX
2018-10-02 12:56:50 +10:00
Sam Saffron
a2b6eed284
FIX: correct compilation issues on clang 10
...
In MacOS we need different compilation flags now that some are
deprecated in clang 10, this is not specific to mojave which was
the previous fix
2018-09-28 09:42:06 +08:00
Sam Saffron
afd2edabe4
DEV: update mini_racer for Mojave support
...
MacOS Mojave deprecates some libraries making it a bit
harder to compile Mini Racer, this release adds support
2018-09-26 07:43:34 +08:00
Sam
e622adfb89
correct warning
2018-09-21 12:05:08 +10:00
Sam
ae674dcb4e
Merge branch 'theme-select-mobile' of https://github.com/jjaffeux/discourse
2018-09-21 12:04:07 +10:00
Sam
df45e82377
SECURITY: only allow picking of avatars created by self ( #6417 )
...
* SECURITY: only allow picking of avatars created by self
Also adds origin tracking to all uploads including de-duplicated uploads
2018-09-19 22:33:10 -07:00
Sam
e0be5145cf
FIX: correct readonly timeout
...
So it only applies in readonly mode
2018-09-20 15:15:46 +10:00
Sam
e0e6dae6a7
minor cleanup to previous commit from code review
2018-09-19 16:07:29 +10:00
Sam
5302709343
FIX: in redis readonly raise an exception from DistributedMutex
...
If we detect redis is in readonly we can not correctly get a mutex
raise an exception to notify caller
When getting optimized images avoid the distributed mutex unless
for some reason it is the first call and we need to generate a thumb
In redis readonly no thumbnails will be generated
2018-09-19 15:50:58 +10:00
Sam
7d6b348d0b
SECURITY: correct XSS on long topic titles
2018-09-18 08:54:44 +10:00
Sam
0e9841b995
SECURITY: remove admin memory diagnostics routes
2018-09-18 08:35:09 +10:00
Sam
33541c4096
FEATURE: unconditionally omit no-follow for staff
...
Previously TL2 and below staff would have links
no-followed which was never intended
2018-09-17 12:02:20 +10:00
Sam
37c5280f73
correct spec
2018-09-17 11:37:01 +10:00
Sam
e15a1e7c38
lint code
2018-09-17 11:10:09 +10:00
Sam
725d2c0d47
correct spec
2018-09-17 10:54:35 +10:00
Sam
b63630d70b
use Mixin postfix when importing tags mixin
2018-09-17 10:46:57 +10:00
Sam
bc4e2aa07c
correct prettier offence
2018-09-17 10:30:36 +10:00