Commit Graph

43772 Commits

Author SHA1 Message Date
102fa71ef3 PERF: Speed up the tests by pre-fabricating more things (#15318) 2021-12-15 11:41:14 -06:00
6120dde65c DEV: Cleanup for attributes in category edit screens (#15284) 2021-12-15 12:37:11 -05:00
0335c9d77f FEATURE: Add topic-navigation plugin outlet and popup component (#15081)
Adds a plugin outlet that can be used to insert a popup over topic timeline.
2021-12-15 17:16:14 +02:00
9fd1a00eef DEV: Remove customer flair from being an official plugin (#15315) 2021-12-15 22:30:50 +08:00
Joe
3b3e572ce6 allow themes to change the lock icon easily (#15309) 2021-12-15 09:13:10 -05:00
6afab87d50 DEV: migrate more routes away from the old actions: pattern (#15275) 2021-12-15 18:06:10 +04:00
a09b6fe114 FEATURE: Save scroll position on bookmarks page (#15296)
Clicking on a bookmark and then back will preserve the scrolling
position.
2021-12-15 15:27:09 +02:00
0719531bd3 FIX: Notify group members when someone quotes or replies to their post. (#15295)
When a member set a group PM notification level to Normal, we didn't notify group members if someone quoted or replied to one of their posts.
2021-12-15 09:07:39 -03:00
666d291b24 DEV: minor refactoring or jump-to-post (#15312)
- replaces alias by reads
- drops jquery usage
- autofocus should already be done; so remove custom code
- uses @action
2021-12-15 12:09:26 +01:00
88fa8b5848 DEV: Skip Ember OnError validation for plugin qunit tests (#15314)
If the Ember OnError validation test is added, it breaks the "no tests were run" detection (since at least 1 test is always run). This is particularly important when running tests scoped to a single plugin, because there is no indication that you have typo'd the `qunit_single_plugin` query parameter.
2021-12-15 10:59:38 +00:00
77781f9a11 FEATURE: Extend plugin API to add multiple poster icons (#15311) 2021-12-15 18:09:26 +08:00
6fe4c8ae58 DEV: Fix intermittent failing spec. (#15308) 2021-12-15 09:51:46 +01:00
e37f0eb240 DEV: Add DropTarget options function for Uppy mixins (#15307)
This is so the target element for file drag + drop is
not always just this.element for the component, and
provides a way to hook into onDragOver and onDragLeave.
By default also adds a .uppy-is-drag-over class to the target
element.
2021-12-15 15:43:07 +10:00
4519f3f137 FIX: Add more actions to the uploads API key scope (#15306)
The uploads API key create scope did not cover the
external upload API endpoints, or the direct S3
multipart endpoints, and this commit adds them.

cf. https://meta.discourse.org/t/upload-create-api-key-insufficient/211896
2021-12-15 14:08:11 +10:00
Sam
15752da957 Revert "A11Y: Focus last viewed topic in topic lists (#15300)" (#15304)
This reverts commit 76aeee6735ea06302dd9c09cf2bd2ce0e01e827e.

Sadly this breaks on non-screen readers on Chrome and Safari
2021-12-15 12:33:33 +11:00
38e17ab106 Update translations (#15302) 2021-12-15 10:03:20 +11:00
76aeee6735 A11Y: Focus last viewed topic in topic lists (#15300) 2021-12-15 10:02:31 +11:00
091ca9dbb1 UX: prevent timeline overflow in extreme cases (#15303) 2021-12-15 10:02:02 +11:00
d66eb984e4 Build(deps): Bump css_parser from 1.10.0 to 1.11.0
Bumps [css_parser](https://github.com/premailer/css_parser) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/premailer/css_parser/releases)
- [Changelog](https://github.com/premailer/css_parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/premailer/css_parser/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: css_parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-14 16:25:09 -05:00
dba16391ad DEV: cleanup for attributes in search filters (#15283) 2021-12-14 14:47:03 -05:00
948574b978 DEV: Update GitHub workflows to use slim discourse_test images (#15298) 2021-12-14 18:30:25 +00:00
61e449379c PERF: Prefabricate posters in topics_controller_spec (#15297)
It would be clearer to prefabricate posts, but that changes redis and
enabling snapshotting for all the tests in topics_controller_spec is
expensive.
2021-12-14 12:09:07 -06:00
0e87f882a7 DEV: Use discourse image for postgres in GitHub Actions (#15291)
The discourse base image already contains a postgres installation, so pulling a separate postgres image is a little wasteful. Using the copy of Postgres in the discourse image saves about 20 seconds on every GitHub actions run.

This commit sets up Postgres with a few performance-improving flags, which we were already using for the `rake docker:test` task (used on our internal CI system).
2021-12-14 17:20:06 +00:00
031f4f06d5 DEV: update and improvements to json editor (#15294)
- changes on how errors are handled to prevent weird cases
- uses didInsert/willDestroy to setup/clean state
- updates json editor library to 2.6.1
2021-12-14 17:21:49 +01:00
27fda37a8f DEV: removes jQuery usage from extend-for-poll (#15289) 2021-12-14 16:52:18 +01:00
ce7c821aa9 UX: Extend user hyperlink in staff action logs (#15293)
The avatar hyperlink redirected to admin user page and the username
hyperlink applied a filter. Now both hyperlinks redirect to admin user
page.
2021-12-14 17:14:18 +02:00
175ced5096 DEV: Add chat invitation notification type (#15288) 2021-12-14 09:01:53 -06:00
4afd6f0189 Update translations (#15292) 2021-12-14 14:53:35 +01:00
1c42b36c89 DEV: Use slim container for backend tests in GitHub Actions (#15290) 2021-12-14 11:32:35 +00:00
eb3eae2fcc DEV: Cache database in GitHub actions tests (#15279)
A cached database (and its uploads) will only be used if the current run has exactly the same set of migration files. Otherwise, the database will be migrated from scratch

This saves approximately 75s on the core backend specs and 45s on other runs.
2021-12-14 09:40:16 +00:00
10caceec42 DEV: Prefers reads helper over alias (#15282) 2021-12-14 10:03:31 +08:00
b3e5421b25 DEV: Add discourse-vk-auth to official plugins list (#15287) 2021-12-13 22:54:28 +00:00
9334abe249 PERF: Prefabricate more of topics_controller_spec.rb (#15281) 2021-12-13 13:44:55 -06:00
53475cf5be DEV: Plugin API to add desktop notification handlers (#15280) 2021-12-13 11:54:46 -06:00
08f4edc032 DEV: Reset OmniAuth test mode between tests (#15278)
OmniAuth test mode is disabled by default, so that we can integration-test the omniauth strategies. Sometimes, we manually enable test mode for specific specs. This commit ensures that test_mode is always disabled again after each spec.
2021-12-13 17:05:26 +00:00
42015fe8b2 DEV: Drop env-based SiteSetting deprecation errors (#15273)
These were deprecated ~4 years ago. No need to keep the errors anymore.
2021-12-13 17:36:29 +01:00
cf84f85f3e DEV: Use Discourse.deprecate instead of logger.warn (#15274) 2021-12-13 17:36:19 +01:00
954ab4e0ec DEV: Refactor popup-tip component (#15257) 2021-12-13 11:22:02 -05:00
7d72041fff FIX: Correct email_tokens_token_to_nullable migration (#15277)
We were checking for the existence of the column in any schema, including the `backup` schema. This can cause 'column does not exist' errors. In fact, we should only be checking in the `public` schema.
2021-12-13 16:19:09 +00:00
1773d9d594 DEV: Add SAML to official plugin list (#15276) 2021-12-13 15:50:57 +00:00
6e9bb84d12 FIX: Ensure theme names are escaped in HTML attributes (#15272)
If a theme name contained a double-quote, this problem could lead to invalid/unexpected HTML in the `<head>`

Note that this is not considered a security issue because themes can only be installed/named by administrators, and themes/administrators already have the ability to run arbitrary javascript.
2021-12-13 10:50:09 +00:00
bc6bff0e5a DEV: Switch from puppeteer to puppeteer-core for smoke test (#15262)
`puppeteer` includes a full chromium binary, which adds more than 300mb to our node_modules directory in development/test mode (and therefore the `discourse_dev` and `discourse_test` docker images). We already reach out to the system copy of Chrome for our qunit tests, and already have chrome installed in our `discourse_dev`/`discourse_test` docker images, so it's much more efficient to switch to `puppeteer-core` which doesn't include the chromium binary.
2021-12-13 09:31:49 +00:00
Sam
5fc42bf769 DEV: allow nulls in email_tokens token column (#15271)
This column was dropped in a previous commit, in post migrations.
Unfortunatly that causes smoke tests to fail as there is a period between
migration and post migrations where records can not be inserted into the
table.
2021-12-13 17:38:06 +11:00
adb6202c94 FIX: Check if invite domain is valid (#15238)
* FIX: Check if invite domain is valid

Previous regex checked for generic hostname, which is too generic for
this case.
2021-12-13 16:39:14 +11:00
3d4aee1487 DEV: Drop unused column email_tokens.token (#15203) 2021-12-13 16:29:47 +11:00
f8b3fe65d7 FEATURE: Add Apple plugin to the official list (#15261) 2021-12-13 16:29:02 +11:00
8a37ab9f87 Build(deps): Bump rubocop-ast from 1.14.0 to 1.15.0 (#15265)
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: indirect
  update-type: version-update:semver-minor
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-13 16:28:02 +11:00
40d13ce662 DEV: Only support multipart for backup S3 uploads with Uppy (#15270)
In the composer, we already only allow for S3 multipart uploads
if enable_direct_s3_uploads is true, so in the backups uploader
that is based on Uppy we want to do the same thing. In future
if self-hosters need some way to not use S3 multipart in these
scenarios for whatever reason we can revisit this then (which
should be as simple as adding a enable_multipart_s3_uploads site
setting).
2021-12-13 15:24:00 +10:00
18a209bd0d DEV: Use Uppy in wizard-field-image uploads (#15269)
We cannot use any of the uppy mixins or core code, because
the code there is not shared with the wizard, and to move
it all to discourse-common would be a task almost equal
difficulty to taking the ring to Mordor.

Therefore, we can just use the uppy vendor libraries in the
wizard, and do a quick-n-dirty version of the uppy upload
code for the wizard-field-image uploader.
2021-12-13 15:23:44 +10:00
1c97a7fe43 DEV: Move isInside to private function (#15268)
This text manipulation library can be used by plugins
as well, so better to have this defined as a function
instead of floating above the class.
2021-12-13 12:26:33 +10:00