Commit Graph

42757 Commits

Author SHA1 Message Date
7b392cee50 FIX: Correct the forwarded by user small post for group inbox (#14252)
When 2ac9fd9dff5a2a9210e2b1b765e1a324bbb4f421 was done, this
affected the small post that is created when forwarding an email
into the group inbox. Instead of using the name and the email of
the user who forwarded the email, it used the original from email
and name to create the small post. So instead of something like
"Discourse Team forwarded the above email" we ended up with
"John Smith forwarded the above email" which is incorrect.

This fixes the issue by creating a staged user for the forwarding
email address (if such a user does not yet exist) and uses that
for the "forwarded" small post instead.
2021-09-06 15:02:13 +10:00
1937474e84 PERF: Avoid additional database query when viewing own user. (#14239) 2021-09-06 10:38:07 +08:00
b09688a153 DEV: Require uppy.js in theme_qunit_vendor.js (#14251)
The smoke test has been failing with the error:

```
TypeError: Cannot read properties of undefined (reading 'Core')
```

Since de20c46077
 and 9873a942e3d2df367717f119c591492c690d291d this error has been occurring,
possibly now because Uppy is required by a plugin. Adding uppy.js into
the require list for theme_qunit_vendor.js fixes the issue.
2021-09-06 10:49:44 +10:00
dd4b8c2afa FIX: Use random file name for temporary uploads (#14250)
Other locale characters in file names (e.g. é, ä) as well
as special characters can cause issues on S3, notably the S3
copy object operation does not support these special characters.
Instead of storing the original file name in the key, which is
unnecessary, we now generate a random file name with the original
extension for the temporary file and use that for all external
upload stub operations.
2021-09-06 10:21:20 +10:00
f859fd6bde FEATURE: allow plugins to extend Groups (#14216)
* add_permitted_group_param API for plugins
* add groups-interaction-custom-options outlet
* custom search can use custom group scope
2021-09-06 10:18:51 +10:00
9873a942e3 DEV: Add addComposerUploadPreProcessor to plugin-api (#14222)
This new interface will be used explicitly to add upload
preprocessors in the form of uppy plugins. These will be
run for each upload in the composer (dependent on the logic
of the plugin itself), before the UppyChecksum plugin is
finally run.

Since discourse-encrypt uses the existing addComposerUploadHandler
API for essentially preprocessing an upload and not uploading it
to a different place, it will be the first plugin to use this interface,
along with the register-media-optimization-upload-processor initializer
in core.

Related https://github.com/discourse/discourse-encrypt/pull/131.
2021-09-06 08:22:50 +10:00
cba8b39607 UX: limit select-kit tag chooser width (#14246) 2021-09-03 17:27:55 -04:00
30e1dbe353 FIX: Search was not being initialized properly.
`results` is now an array `[]` not an object, and `suggestionResults`
was not being initialized properly.
2021-09-03 16:47:53 -04:00
4b6307ecd9 FIX: We weren't properly resetting the mobile state between tests.
Additionally we had two tests with the same name which is not really
supported.
2021-09-03 15:58:24 -04:00
9b30fbdbbd DEV: Run tests in Firefox ESR (#14094) 2021-09-03 15:17:11 -03:00
d3be77a0d1 DEV: toggle sk on click (#14243) 2021-09-03 18:29:16 +02:00
d7873dd823 FIX: Don't attempt to migrate concurrently with other migrations (#14231) 2021-09-03 10:22:25 -05:00
142120753f DEV: prevents focus event bubbling (#14241) 2021-09-03 16:41:15 +02:00
36a81435cf DEV: simplify logic when selecting an undefined value (#14225) 2021-09-03 16:40:20 +02:00
ee7809e8a8 DEV: Add missing operationIds to the api docs (#14235)
From the openapi spec:

 https://spec.openapis.org/oas/latest.html#fixed-fields-7

each endpoint needs to have an `operationId`:

> Unique string used to identify the operation. The id MUST be unique
> among all operations described in the API. The operationId value is
> case-sensitive. Tools and libraries MAY use the operationId to uniquely
> identify an operation, therefore, it is RECOMMENDED to follow common
> programming naming conventions.

Running the linter on our openapi.json file with this command:

`npx @redocly/openapi-cli lint openapi.json`

produced the following warning on all of our endpoints:

> Operation object should contain `operationId` field

This commit resolves these warnings by adding an operationId field to
each endpoint.
2021-09-03 07:39:29 -06:00
85c31c73ba FIX: allow single string values on custom multiple select fields and not just arrays (#14236) 2021-09-03 09:26:57 -04:00
763f48abc7 FIX: increase chunk size to fetch title tag correctly (#14144) 2021-09-03 13:15:58 +05:30
b47a4d0207 PERF: Improve query perf when fetching unread for PM topic tracking state. (#14237)
This change helps the planner to use the
index_topics_on_timestamps_private index on topics.

Follow-up to f66007ec83b62169b5c41016eecd40c72f27028f
2021-09-03 15:12:13 +08:00
c401d6411b A11Y: Improve create account modal for screen readers (#14234)
Improves the create account modal for screen readers by doing the following:

* Making the `modal-alert` section into an `aria-role="alert"` region and making it show and hide using height instead of display:none so screen readers pick it up. Made a change so the field-related error messages are always shown beneath the field.
* Add `aria-invalid` and `aria-describedby` attributes to each field in the modal, so the screen reader will read out the error hint on error. This necessitated an Ember component extension to allow both the `aria-*` attributes to be bound and to render on `{{input}}`.
* Moved the social login buttons to the right in the HTML structure so they are not read out first.
* Added `aria-label` attributes to the login buttons so they can have different content for screen readers.
* In some cases for modals, the title that should be used for the `aria-labelledby` attribute is within the modal content and not the discourse-modal-title title. This introduces a new titleAriaElementId property to the d-modal component that is then used by the create-account modal to read out the title

------

This is the same as e0d2de73d89cdea13e9681b2daaa52074ee510a5 but
fixes the Ember-input-component-extension to use the public
Ember components TextField and TextArea instead of the private
TextSupport so the extension works in both normal Ember and
Ember CLI.
2021-09-03 13:04:24 +10:00
a0fbccf612 Revert "A11Y: Improve create account modal for screen readers (#14204)" (#14233)
This reverts commit e0d2de73d89cdea13e9681b2daaa52074ee510a5.
2021-09-03 09:42:56 +10:00
e0d2de73d8 A11Y: Improve create account modal for screen readers (#14204)
Improves the create account modal for screen readers by doing the following:

* Making the `modal-alert` section into an `aria-role="alert"` region and making it show and hide using height instead of display:none so screen readers pick it up. Made a change so the field-related error messages are always shown beneath the field.
* Add `aria-invalid` and `aria-describedby` attributes to each field in the modal, so the screen reader will read out the error hint on error. This necessitated an Ember component extension to allow both the `aria-*` attributes to be bound and to render on `{{input}}`.
* Moved the social login buttons to the right in the HTML structure so they are not read out first.
* Added `aria-label` attributes to the login buttons so they can have different content for screen readers.
* In some cases for modals, the title that should be used for the `aria-labelledby` attribute is within the modal content and not the discourse-modal-title title. This introduces a new titleAriaElementId property to the d-modal component that is then used by the create-account modal to read out the
2021-09-03 08:59:22 +10:00
75041dbbeb UX: Remove :empty on topic-statuses, clean up (#14227) 2021-09-02 15:35:35 -04:00
90a23c6fc8 FEATURE: Enable auto dark mode on new instances (#14208) 2021-09-02 14:55:38 -04:00
ea84c66fe0 DEV: This constructs a pluginId for modifyClass when dispatching events
It also helpfully adds the `ignoreMissing` option which was causing
logging issues on optional modifications before.
2021-09-02 14:50:31 -04:00
f0d2b0f2f0 Version bump to v2.8.0.beta6 (#14228)
v2.8.0.beta5 can cause segfaults due to the oj gem v3.13.3.
v2.8.0.beta6
2021-09-02 14:25:33 -04:00
d00bd626d8 DEV: re-enable ember-cli tests on CI (#14189) 2021-09-02 19:27:31 +02:00
8bb331e63f DEV: prevents uppy to act on destroyed object (#14224) 2021-09-02 18:38:36 +02:00
d2eef423c3 DEV: prevents broken tests due to focus bubbling (#14223) 2021-09-02 18:30:52 +02:00
074bce77f0 FIX: bug with navigation to the activity/topics and the activity/read pages (#14182) 2021-09-02 19:49:26 +04:00
09764291b1 FIX: In test mode, initializers were modifying classes over and over
This adds a new property, `pluginId` which you can pass to `modifyClass`
which prevent the class from being modified over and over again.

This also includes a fix for polls which was leaking state between tests
which this new functionality exposed.
2021-09-02 11:22:01 -04:00
fa66d1fa82 FIX: Make bindMobileUploadButton explicit for upload mixins (#14220)
When using ComposerUpload and/or ComposerUploadUppy, we were
always calling bindMobileUploadButton. However with more composer-like
interfaces being developed, we need this to be optional, as not
everywhere will have a separate mobile upload button to bind to.

Also makes it so the composer extending the ComposerUpload mixins is
responsible for explicitly unbinding the mobile upload button if
it needs to.
2021-09-02 17:31:15 +10:00
6e812f30ec DEV: Don't clear sidekiq default error handlers in development. (#14205)
Restores error logs in the development environment.
2021-09-02 15:09:55 +08:00
43f40c3cf5 Build(deps): Bump ffi from 1.15.3 to 1.15.4 (#14214)
Bumps [ffi](https://github.com/ffi/ffi) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/ffi/ffi/releases)
- [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ffi/ffi/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: ffi
  dependency-type: indirect
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-02 11:19:35 +08:00
43c05ef172 Build(deps): Bump aws-eventstream from 1.1.1 to 1.2.0 (#14215)
Bumps [aws-eventstream](https://github.com/aws/aws-sdk-ruby) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-eventstream/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/compare/1.1.1...1.2.0)

---
updated-dependencies:
- dependency-name: aws-eventstream
  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-09-02 11:19:19 +08:00
823354d177 DEV: Update Plugin Release Notes heading format (#14218) 2021-09-02 11:08:31 +08:00
6a5b44be53 DEV: Pin oj gem to 3.13.2. (#14219)
Follow-up to 0183d51070d33abc66c8681b43a5ce7571333b13
2021-09-02 11:01:54 +08:00
Sam
0183d51070 FIX: downgrade oj (#14217)
We appear to be having memory issues with oj leading to stuck proccesses

see: https://github.com/ohler55/oj/pull/695#issuecomment-911012672

not certain this will fix the issue, but worth a shot
2021-09-02 11:49:08 +10:00
ef0471d7ae DEV: Allow passing cook_method to TopicEmbed.import to override default (#14209)
DEV: Allow passing cook_method to TopicEmbed.import to override default

This will be used in the rss-polling plugin when we want to have
oneboxes on feed content, like youtube for example.
2021-09-01 15:46:39 -03:00
c6f1818b85 Version bump to v2.8.0.beta5 (#14210) v2.8.0.beta5 2021-09-01 13:29:36 -04:00
4f3a7c6f07 FIX: Visible "skip navigation" link on some themes (#14211) 2021-09-01 12:53:53 -04:00
0e62602fbf FIX: Use named params correctly with dir-span (#14203) 2021-09-01 07:58:26 -06:00
a2ca430068 DEV: prevents hooks to create leaks on widgets (#14207)
Before this, mounted widgets were not correctly unhooked and would keep a reference to a custom widget object.
2021-09-01 14:34:20 +02:00
55739fd3c9 DEV: cards were leaking mousedown event listener (#14206) 2021-09-01 13:01:37 +02:00
1a65f0bfbb Build(deps): Bump oj from 3.13.2 to 3.13.3 (#14202)
Bumps [oj](https://github.com/ohler55/oj) from 3.13.2 to 3.13.3.
- [Release notes](https://github.com/ohler55/oj/releases)
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ohler55/oj/compare/v3.13.2...v3.13.3)

---
updated-dependencies:
- dependency-name: oj
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-01 12:32:54 +08:00
eba317b74e DEV: Extract textarea text manipulation to mixin (#14201) 2021-08-31 14:36:26 -05:00
2bf81592ec UX: Comma separate public custom field lists (#14200) 2021-08-31 14:08:04 -04:00
8f06528bb2 A11Y: Add "skip to main content" link (#14190) 2021-08-31 13:43:30 -04:00
94085d0996 UX: Select-kit update alignment fixes (#14199) 2021-08-31 17:44:11 +02:00
59975d7433 Update translations (#14197) 2021-08-31 16:10:59 +02:00
499c69c827 DEV: prevents _lastKeyTimeout to leak after component lifecycle (#14194) 2021-08-31 15:22:25 +02:00