Commit Graph

35855 Commits

Author SHA1 Message Date
Jarek Radosz 9e3fc1111d
FIX: Add a blank poll options validation (#8652)
Before, saving a post with a blank poll option resulted in error 500.
2020-01-03 15:09:36 +01:00
Osama Sayegh fac71da605
FIX: Don't give error 500 when invalid date param is given to admin reports (#8658)
Providing invalid dates as the end_date or start_date param causes a 500 error and creates noise in the logs. This will handle the error and returns a proper 400 response to the client with a message that explains what the problem is.
2020-01-03 17:01:38 +03:00
Sam Saffron a8ffb6949c FEATURE: support MaxMind DB downloads using a license key
MaxMind now requires an account with a license key to download files.

Discourse admins can register for such an account at:

https://www.maxmind.com/en/geolite2/signup

License key generation is available in the profile section.

Once registered you can set the license key using `DISCOURSE_MAXMIND_LICENSE_KEY`

This amends it so we unconditionally skip MaxMind DB downloads if no license key exists.
2020-01-03 16:32:48 +11:00
Vinoth Kannan cfd1549abe FIX: allow underscore in file extension while downloading the uploads. 2020-01-03 10:09:07 +05:30
Sam Saffron 0d757814e5 FIX: correctly account for onebox height when lazy loading images
Page used to jitter when oneboxes loaded images lazily.

Previously we inserted the the "shadow" loading image before the "real" image.

This meant that certain styling with `firstChild` CSS selectors would apply
incorrectly to the shadow image.

Additionally we had special case code for onebox and quoted images that was
not really needed due to this fix.

We had an old fix that used computed style for image height and width in
specific scenarios, we now run it all the time.

On slow devices there was a possibility that the cache fetch after amending
src at the end of the process would cause a flash, this is avoided using a
new onload handler.
2020-01-03 15:15:42 +11:00
Martin Brennan 2050238d0c
DEV: Log to STDOUT if RAILS_ENABLE_TEST_LOG (#8650)
The env var `RAILS_ENABLE_TEST_LOG` didn't seem to do anything if enabled. This now sets the logger to STDOUT if `RAILS_ENABLE_TEST_LOG` is enabled and also introduces `RAILS_TEST_LOG_LEVEL` so the level of the logging in the console can be provided (default info).

Note: I am not sure if the original behaviour is expected. I can add an additional env var to enable the STDOUT logging if required
2020-01-03 09:58:01 +10:00
Joffrey JAFFEUX ec5418fbb4
FIX: any global notice text can contain HTML (#8655) 2020-01-02 19:58:27 +01:00
Roman Rizzi 98853b217f
FIX: Bots accuracy should be zero (#8654) 2020-01-02 13:24:24 -03:00
David Taylor b60b57cddd
FIX: Allow any protocol in wildcard url checker (#8651)
This is required for people using apps with custom protocols. We still verify the entire URL (including protocol) against the site setting value.

Refactored wildcard_url_checker so that it always returns a boolean, rather than sometimes returning a regex match.
2020-01-02 16:03:13 +00:00
David Taylor 45c5f56ffc
PERF: Reduce DB queries when serializing ignore/mute information (#8629)
* PERF: Cache ignored and muted user ids in the current_user object
* PERF: Avoid DB queries when checking ignore/mute permission in guardian
2020-01-02 13:04:08 +00:00
Sam Saffron a9f90cdec3 FIX: avoid superflous logging when mime type is bad
Many security scanners ship invalid mime types, this ensures we return
a very cheap response to the clients and do not log anything.

Previous attempt still re-dispatched the request to get proper error page
but in this specific case we want no error page.
2020-01-02 12:34:38 +11:00
Sam Saffron 34ede90927 FIX: under rare conditions saving a new draft could error temporarily
Under rare conditions due to bad HTTP timing and so on a draft could be
set at the exact same time from 2 unicorn workers.

When this happened and all the stars aligned, one of the sets would win
and the other would raise an error.

This transparently handles the situation without adding any cost to the
draft system.

The alternative is to add a distributed mutex, tricky DB transaction or handle
the error in the controller. However this seems like a reasonable way to
work around a pretty big edge case.
2020-01-02 11:38:14 +11:00
Martin Brennan c031434b86
FIX: Catch error when unknown COSE algorithm is supplied for Security Key (#8649)
Added a fix to gracefully error with a Webauthn::SecurityKeyError if somehow a user provides an unkown COSE algorithm when logging in with a security key.

If `COSE::Algorithm.find` returns nil we now fail gracefully and log the algorithm used along with the user ID and the security key params for debugging, as this will help us find other common algorithms to implement for webauthn
2020-01-02 10:14:22 +10:00
Arpit Jalan 57081acc08 FIX: trigger commands are different for each locale, account for that. 2020-01-01 16:53:36 +05:30
Régis Hanol ce512452b5 Revert "Revert "DEV: Bump public_suffix from 4.0.1 to 4.0.2 (#8631)""
This reverts commit f04f6cbf01.
2019-12-31 17:12:06 +01:00
David Taylor c7a74e574f FIX: Only show admin wrench when there are actions on mobile
Corrects typo in logic from b725252cd0
2019-12-31 12:35:44 +00:00
David Taylor a4a0d12b39 DEV: Update deprecated FA4 icon name 2019-12-31 11:21:31 +00:00
Krzysztof Kotlarek fd8b98a55e
FIX: don't display cloak on admin tool when the right wrench is clicked (#8641) 2019-12-31 15:16:24 +11:00
Sam Saffron 412e1ebbe2 DEV: correct parallel specs rake tasks
This used to work due to side effects.

`rake parallel:migrate` used to work very inconsistently and would only migrate
some of the databases.

This introduces the recommended change to db.yml so the correct database is
found based off TEST_ENV_NUMBER if for some reason we did not set it using
RAILS_DB

Also avoids a bunch of schema dumping which is not needed when migrating
parallel specs



DB number 1 is very odd cause for whatever reason parallel spec is not
setting it.
2019-12-31 14:07:55 +11:00
Sam Saffron f04f6cbf01 Revert "DEV: Bump public_suffix from 4.0.1 to 4.0.2 (#8631)"
This reverts commit 09a6bb240e.
2019-12-31 14:07:55 +11:00
Joe b7ed50fe56
prettier 2019-12-31 10:59:38 +08:00
Joe 23a4936826
UX: TMP fix (CSS revert) until translations are ready for flex 2019-12-31 10:43:16 +08:00
Sam Saffron e32bf19cd3 DEV: update dependencies
Quite a few have popped up due to 2.7 release, all gems being updated have
non urgent fixes, but it makes sense to be on latest.
2019-12-31 12:20:26 +11:00
Krzysztof Kotlarek 764e01b597
FIX: visual improvements to admin topic menu (#8638)
* 10 px padding from the bottom to look better on rounded phones
* dark cloak on other elements to emphasize admin menu
* slide up animation
2019-12-31 11:52:25 +11:00
dependabot-preview[bot] d048464b03 DEV: Bump rspec-core from 3.9.0 to 3.9.1 (#8637)
Bumps [rspec-core](https://github.com/rspec/rspec-core) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/rspec/rspec-core/releases)
- [Changelog](https://github.com/rspec/rspec-core/blob/master/Changelog.md)
- [Commits](https://github.com/rspec/rspec-core/compare/v3.9.0...v3.9.1)

Test only dependency, low risk.
2019-12-31 11:49:21 +11:00
dependabot-preview[bot] 4ddc6b8b96 DEV: Bump tzinfo from 1.2.5 to 1.2.6 (#8635)
Bumps [tzinfo](https://github.com/tzinfo/tzinfo) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/tzinfo/tzinfo/releases)
- [Changelog](https://github.com/tzinfo/tzinfo/blob/master/CHANGES.md)
- [Commits](https://github.com/tzinfo/tzinfo/compare/v1.2.5...v1.2.6)

Pretty safe update, deals with Ruby 2.7 and corrects a minor internal bug
2019-12-31 11:48:37 +11:00
dependabot-preview[bot] 09a6bb240e DEV: Bump public_suffix from 4.0.1 to 4.0.2 (#8631)
Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/weppos/publicsuffix-ruby/releases)
- [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v4.0.1...4.0.2)

Definition only update, has very little impact.
2019-12-31 11:47:14 +11:00
dependabot-preview[bot] acabea4cfe DEV: Bump rspec-support from 3.9.0 to 3.9.2 (#8628)
Bumps [rspec-support](https://github.com/rspec/rspec-support) from 3.9.0 to 3.9.2.
- [Release notes](https://github.com/rspec/rspec-support/releases)
- [Changelog](https://github.com/rspec/rspec-support/blob/master/Changelog.md)
- [Commits](https://github.com/rspec/rspec-support/compare/v3.9.0...v3.9.2)

Minor test only update, also cleans up Ruby 2.7 support
2019-12-31 11:45:43 +11:00
dependabot-preview[bot] 420fd27e48 DEV: Bump pg from 1.1.4 to 1.2.0 (#8632)
Bumps [pg](https://github.com/ged/ruby-pg) from 1.1.4 to 1.2.0.
- [Release notes](https://github.com/ged/ruby-pg/releases)
- [Changelog](https://github.com/ged/ruby-pg/blob/master/History.rdoc)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.1.4...v1.2.0)

This is a big update to the PG gem, overall our codebase should support it fully. It also comes with some perf fixes which is nice!
2019-12-31 11:44:49 +11:00
Rafael dos Santos Silva d170812e99
FIX: Use cached MaxMind DB for longer
Don't try to update the IP database as it's gone.

This allows users to rebuild Discourse while we work on a proper
fix / alternative database.
2019-12-30 16:41:23 -03:00
Jarek Radosz c76e22942c
FIX: Open a card on click even if the mention has extra elements (#8626)
Plugins like https://github.com/discourse/discourse-calendar add extra HTML (e.g. icons) to user/group mentions. Clicking on those extra elements used to only flash a blank card. Now, the card opens properly.
2019-12-30 19:26:23 +01:00
Roman Rizzi c751291769
FIX: The 'reviewed' status filter should include deleted elements (#8630) 2019-12-30 14:56:17 -03:00
Robin Ward 5214f82841 API endpoints should return a response, not nil 2019-12-30 10:14:29 -05:00
David Taylor bc4c40abd4
DEV: Remove unsafe-eval from development CSP (#8569)
- Refactor source_url to avoid using eval in development
- Precompile handlebars in development
- Include template compilers when running qunit
- Remove unsafe-eval in development CSP
- Include unsafe-eval only for qunit routes in development
2019-12-30 12:17:12 +00:00
David Taylor df8444e813
FIX: Update topic/post counter correctly when category has zero topics (#8600)
Previously, categories without any topics were being excluded from the UPDATE query. This means the counter gets stuck, and the category cannot be deleted. This change ensures that the counters get correctly set to zero.
2019-12-30 11:20:44 +00:00
David Taylor 9348d2cfdf
PERF: Cache user badge count in user_stats table (#8610)
This means that we no longer need to run a `count()` on the user_badges table when serializing a user
2019-12-30 11:19:59 +00:00
Joffrey JAFFEUX c15d702ae6
FEATURE: internet explorer deprecation global notice (#8577) 2019-12-30 08:19:07 +01:00
Joffrey JAFFEUX 6fa5725292
FIX: makes highlighting last viewed topic more resilient (#8624)
`highlight` was called from `didInsertElement` which technically doesn't ensure the list is rendered. By wrapping the highlighting code in `afterRender` we ensure it works more consistently.
2019-12-30 08:18:36 +01:00
Martin Brennan 473e39f4a4 DEV: model annotations 2019-12-30 16:13:27 +10:00
dependabot-preview[bot] dca99c0391 Build(deps): Bump cose from 0.9.0 to 0.10.0 (#8595)
Bumps [cose](https://github.com/cedarcode/cose-ruby) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/cedarcode/cose-ruby/releases)
- [Changelog](https://github.com/cedarcode/cose-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cedarcode/cose-ruby/compare/v0.9.0...v0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 16:10:34 +10:00
dependabot-preview[bot] 831d46f55f DEV: Bump aws-partitions from 1.256.0 to 1.260.0 (#8617)
Bumps [aws-partitions](https://github.com/aws/aws-sdk-ruby) from 1.256.0 to 1.260.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-partitions/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

Contains a bunch of AWS gem updates that we do not use. My long term thinking here is that maybe the AWS dependency is just too heavy and we should consume the API directly to avoid this constant churn.
2019-12-30 17:09:07 +11:00
dependabot-preview[bot] 9178b36e64 Build(deps): Bump request_store from 1.4.1 to 1.5.0 (#8608)
Bumps [request_store](https://github.com/steveklabnik/request_store) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/steveklabnik/request_store/releases)
- [Commits](https://github.com/steveklabnik/request_store/compare/v1.4.1...v1.5.0)

request_store is a side dependency that is only used for lograge support, not expecting this to break anything.
2019-12-30 17:07:37 +11:00
dependabot-preview[bot] bb9c54514f DEV: Bump unicorn from 5.5.1 to 5.5.2 (#8602)
Bumps [unicorn](https://bogomips.org/unicorn/) from 5.5.1 to 5.5.2.

This contains a fix for: 024f7a8c8c 

Specifically its around operation when you use the ruby tainting feature (which will soon be removed) 

Update has no actual impact on Discourse.
2019-12-30 17:06:00 +11:00
dependabot-preview[bot] 640fa6d118 DEV: Bump excon from 0.71.0 to 0.71.1 (#8587)
Bumps [excon](https://github.com/excon/excon) from 0.71.0 to 0.71.1.
- [Release notes](https://github.com/excon/excon/releases)
- [Changelog](https://github.com/excon/excon/blob/master/changelog.txt)
- [Commits](https://github.com/excon/excon/compare/v0.71.0...v0.71.1)

Minor performance update, the big change here is that internally excon starts using frozen strings.
2019-12-30 16:57:32 +11:00
Sam Saffron be880d2ac1 DEV: update rubocop
This is a minor update to rubocop, it is fully compatible with our current
set of rules.
2019-12-30 16:54:47 +11:00
dependabot-preview[bot] 0234214533 DEV: Bump stackprof from 0.2.14 to 0.2.15 (#8584)
Bumps [stackprof](https://github.com/tmm1/stackprof) from 0.2.14 to 0.2.15.
- [Release notes](https://github.com/tmm1/stackprof/releases)
- [Changelog](https://github.com/tmm1/stackprof/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tmm1/stackprof/compare/v0.2.14...v0.2.15)

Very safe change only used for diagnostics.
2019-12-30 16:42:16 +11:00
dependabot-preview[bot] 2d3d7a8f86 DEV: Bump mini_sql from 0.2.2 to 0.2.3 (#8601)
Bumps [mini_sql](https://discourse.org) from 0.2.2 to 0.2.3.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Minor update was there mainly for JRuby support should not have any real impact on Discourse.
2019-12-30 16:41:37 +11:00
dependabot-preview[bot] 4989fec1be DEV: Bump sidekiq from 6.0.3 to 6.0.4 (#8611)
Bumps [sidekiq](https://github.com/mperham/sidekiq) from 6.0.3 to 6.0.4.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/master/Changes.md)
- [Commits](https://github.com/mperham/sidekiq/compare/v6.0.3...v6.0.4)

Minor update which seems very safe.
2019-12-30 16:36:23 +11:00
Krzysztof Kotlarek b725252cd0
FEATURE: Topic admin menu sticks to bottom on mobile. (#8620)
Our current topic admin menu is not always fully visible on a mobile
device, therefore some options are difficult to click.

To solve this issue, we can display the admin menu on the bottom of the
screen on mobile devices.
2019-12-30 08:15:46 +11:00
Joffrey JAFFEUX 041067cc21
FIX: correctly styles pwa consent banner (#8623) 2019-12-29 19:10:35 +01:00