Commit Graph

58077 Commits

Author SHA1 Message Date
e26a1175d7 FEATURE: Initial version of experimental admin search (#31299)
This feature allows admins to find what they are
looking for in the admin interface via a search modal.
This replaces the admin sidebar filter
as the focus of the Ctrl+/ command, but the sidebar
filter can also still be used. Perhaps at some point
we may remove it or change the shortcut.

The search modal presents the following data for filtering:

* A list of all admin pages, the same as the sidebar,
   except also showing "third level" pages like
   "Email > Skipped"
* All site settings
* Themes
* Components
* Reports

Admins can also filter which types of items are shown in the modal,
for example hiding Settings if they know they are looking for a Page.

In this PR, I also have the following fixes:

* Site setting filters now clear when moving between
   filtered site setting pages, previously it was super
   sticky from Ember
* Many translations were moved around, instead of being
   in various namespaces for the sidebar links and the admin
   page titles and descriptions, now everything is under
   `admin.config` namespace, this makes it way easier to reuse
   this text for pages, search, and sidebar, and if you change it
   in one place then it is changed everywhere.

---------

Co-authored-by: Ella <ella.estigoy@gmail.com>
2025-02-21 11:59:24 +10:00
a77d469eeb UX: close thread panel with a single escape (#31426)
Before this commit we were requiring two escapes:
- one to un-focus composer
- one to close panel
2025-02-21 00:10:02 +01:00
c81d257961 DEV: The annual aws gems update (#31428) 2025-02-20 23:56:30 +01:00
902225a937 Build(deps-dev): Bump selenium-devtools from 0.132.0 to 0.133.0 (#31432) 2025-02-20 23:31:52 +01:00
3520059ca9 Build(deps-dev): Bump sqlite3 from 2.5.0 to 2.6.0 (#31434) 2025-02-20 23:31:22 +01:00
0f567e4bd3 DEV: Clarify class when excerpt is present (#31427) 2025-02-20 16:23:36 -06:00
3b881a2b35 Build(deps-dev): Bump selenium-webdriver from 4.28.0 to 4.29.0 (#31431) 2025-02-20 23:08:02 +01:00
e72c42585e Build(deps): Bump stringio from 3.1.3 to 3.1.4 (#31430) 2025-02-20 23:07:18 +01:00
006b5b13d9 DEV: Update/add plugin outlets to ParentCategoryRow to remove template overrides (#31395)
Description

We need to add these plugin modifiers as part of changes made to remove
template overrides
2025-02-20 15:40:00 -05:00
d1f3b2fc45 FIX: Drafts should not have an expand button (#31424)
## 🔍 Overview

Currently editing a long post and it existing as a draft in the user
stream results in the expand post button being shown in the stream.
However, expanding does nothing and results in errors because it cannot
make the request. This update applies a fix to ensure that long drafts
on edits do not have an expand button

## 📸 Screenshots

### ←Before
![Screenshot 2025-02-20 at 11 14
32](https://github.com/user-attachments/assets/c090d025-6efb-458b-bb6b-4d12e0b214ae)

### →After
![Screenshot 2025-02-20 at 11 14
48](https://github.com/user-attachments/assets/077a1a6a-c6f3-445a-9d65-357acab195f7)
2025-02-20 12:28:49 -08:00
7aac73126c UX: triggers upload dialog on doubleclick (#31425)
When making a double click on the [+] button next to the chat composer,
the upload dialog will now be displayed.

No test as it's hard to test with capybara and is not an important
behavior.
2025-02-20 21:08:59 +01:00
834ea70b1c DEV: Improve postcss error handling (#31420)
Followup to 087e8e4bdb53f71930ec5c930c463c37dd2bd58d

- Fixes the variable-prefixer so it doesn't explode when the input is
unparseable
- Add URL polyfills so that postcss can print its errors properly
- Catch postcss errors in the same way as sass errors
2025-02-20 16:48:22 +00:00
a26138b501 DEV: Fix mixed-decls in mobile user-card scss (#31418) 2025-02-20 15:45:59 +01:00
087e8e4bdb DEV: Introduce postcss for autoprefix and light-dark() polyfill (#31393)
Introduces PostCSS at the end of our CSS compilation pipeline. For now,
just adds autoprefixer and light-dark polyfill.
2025-02-20 14:40:27 +00:00
1b33a9900f DEV: Fixup db:reset (#31242)
In this case, db:create is run as part of another command, so it's not
in the argument list.

Followup to 30bea2563121308fce1bffb7b1e43c07e4a39839
2025-02-20 12:32:45 +00:00
23cfab8f19 FIX: Recover from failing automations (#31413)
If Jobs::DiscourseAutomation::Tracker fails during execution of a
pending automation, then the remaining automation were no longer
executed.

Automation may fail for various reasons: a person has PMs disabled, rate
limit is reached, etc.
2025-02-20 12:45:06 +02:00
29d06f1243 DEV: replace passwordValidation mixin in PasswordResetController (#31412)
This replaces the password validation mixin with a helper class in the
password-reset controller class.
Also removes the redundant flag `passwordValidationVisible` that is
already fully dependent on whether `passwordValidation` has a `reason`.
2025-02-20 18:23:41 +08:00
6ae33d63af FIX: Lightbox chat uploads immediately after optimize (#31414)
When a message is first sent, the original upload URL is used for a
split-second before it's replaced by the optimised thumbnail. Using
`didInsert` didn't re-run on any changes to the uploads. Switching to a
proper modifier, and checking the length of the uploads array within it,
will ensure that it is re-run whenever the uploads change.
2025-02-20 10:21:53 +00:00
6bd1bc3866 Build(deps): Bump @ember/string from 4.0.0 to 4.0.1 (#31409)
Bumps [@ember/string](https://github.com/emberjs/ember-string) from
4.0.0 to 4.0.1.
- [Release notes](https://github.com/emberjs/ember-string/releases)
-
[Changelog](https://github.com/emberjs/ember-string/blob/main/CHANGELOG.md)
- [Commits](https://github.com/emberjs/ember-string/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 10:32:19 +01:00
287e8eae42 FIX: Correct errors in uploads:sync_s3_acls rake task (#31411)
This is a follow up to a9eefd1b4849573452581c113cfcbdd4420fb3c2.

### Reviewer notes

This rake task is quite annoying to test so I don't think the time
trying to figure out how to test it is worth it. This does not sit in a
critical path anyway so I think the lack of tests here is OK.
2025-02-20 16:16:27 +08:00
b5147a4634 FEATURE: Allow admins to remove users from chat DMs (#31366)
This feature allows admins to remove users from channels.
2025-02-20 15:16:57 +08:00
b8a4b11cbb DEV: use PasswordValidationHelper instead of mixin for signup controller (#31380)
This introduces a helper class for password validation logic, and
replaces the mixin in the signup controller class. All properties that
impact password validation in that class are also converted to
autotracked ones.
2025-02-20 10:01:28 +08:00
29a8c6ee49 DEV: Add a new type_source field to the Reviewable model. (#31325)
This change adds a new `type_source` field to the `Reviewable` model, indicating whether the Reviewable type was registered by `core`, a plugin, or an `unknown` source.

When a plugin that registered a Reviewable type is disabled, this allows us to tell the user which plugin they need to re-enable to handle any orphan reviewable items.
2025-02-20 09:09:47 +11:00
dd5901d51e Build(deps-dev): Bump zeitwerk from 2.7.1 to 2.7.2 (#31405)
Bumps [zeitwerk](https://github.com/fxn/zeitwerk) from 2.7.1 to 2.7.2.
- [Changelog](https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fxn/zeitwerk/compare/v2.7.1...v2.7.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 21:40:06 +01:00
3d9e075bbf Build(deps-dev): Bump chrome-remote-interface from 0.33.2 to 0.33.3 (#31404)
Bumps
[chrome-remote-interface](https://github.com/cyrus-and/chrome-remote-interface)
from 0.33.2 to 0.33.3.
-
[Commits](https://github.com/cyrus-and/chrome-remote-interface/compare/v0.33.2...v0.33.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 21:39:55 +01:00
c841db1c1d Build(deps): Bump message_bus from 4.3.8 to 4.3.9 (#31403)
Bumps [message_bus](https://github.com/discourse/message_bus) from 4.3.8
to 4.3.9.
-
[Changelog](https://github.com/discourse/message_bus/blob/main/CHANGELOG)
-
[Commits](https://github.com/discourse/message_bus/compare/v4.3.8...v4.3.9)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 21:39:45 +01:00
65101cf936 Build(deps-dev): Bump ember-cli from 6.2.0 to 6.2.2 (#31401)
Bumps [ember-cli](https://github.com/ember-cli/ember-cli) from 6.2.0 to
6.2.2.
- [Release notes](https://github.com/ember-cli/ember-cli/releases)
-
[Changelog](https://github.com/ember-cli/ember-cli/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/ember-cli/ember-cli/compare/v6.2.0...v6.2.2)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Discourse CI <ci@ci.invalid>
2025-02-19 21:39:35 +01:00
e1a1f379ce Build(deps-dev): Bump parallel_tests from 4.9.0 to 4.9.1 (#31402)
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from
4.9.0 to 4.9.1.
-
[Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/grosser/parallel_tests/compare/v4.9.0...v4.9.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 21:39:26 +01:00
78f663a1c8 Build(deps-dev): Bump message-bus-client from 4.3.8 to 4.3.9 (#31400)
Bumps [message-bus-client](https://github.com/discourse/message_bus)
from 4.3.8 to 4.3.9.
-
[Changelog](https://github.com/discourse/message_bus/blob/main/CHANGELOG)
-
[Commits](https://github.com/discourse/message_bus/compare/v4.3.8...v4.3.9)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 21:39:17 +01:00
6524e72088 UX: increase limit in chat channel fetcher (#31406)
Increases the number of chat channels loading to prevent missing
notifications for channels beyond the current limit.
2025-02-19 23:51:46 +04:00
4b42be0e18 Build(deps-dev): Bump @swc/core from 1.10.16 to 1.10.18 (#31399)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.10.16 to
1.10.18.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/swc-project/swc/compare/v1.10.16...v1.10.18)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 20:23:05 +01:00
0abc33c5a2 DEV: Ensure sidebar sections are collapsable in mobile view (#31383) 2025-02-19 16:05:43 -03:00
3e22fc8ba2 DEV: Update sass gems/package (#31396)
…and temporarily silence the new deprecations: color-functions, import, global-builtin.
2025-02-19 20:04:17 +01:00
9bebbee01b DEV: Update linting setup (#31392) 2025-02-19 19:27:25 +01:00
c1ee4e120e DEV: remove empty outlet wrapper to prevent it from occupying layout space (#31391)
The `toggle-summary` class is specific to our use in the AI plugin, so
I've moved it there in
https://github.com/discourse/discourse-ai/pull/1136...

This wrapper was occupying some space even though it was empty in the PM
topic map, so it's better to not have it.

This also allows us to remove some sub-optimal CSS that was adding a gap
based on content within it. Without the empty wrapper, we can always
have the gap present.
2025-02-19 12:58:21 -05:00
f0d231355e DEV: Ensure only one csrftoken request is running simultaneously (#31390)
Before this, triggering two ajax requests close together would 'race' to
create a csrf-token, and only one would succeed
2025-02-19 17:43:55 +00:00
8be39c5bf0 FIX: Improve group name validation (#31315)
This commit improves a few aspects regarding group name validation:

- `min_username_length` and `max_username_length` are validated with the
  shortest and longest names of users and groups

- skip validation of the group name when the group is an automatic one
2025-02-19 19:33:46 +02:00
b9f6a7e61d Build(deps): Bump nokogiri from 1.18.2 to 1.18.3 (#31388)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.2
to 1.18.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
-
[Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.18.3/CHANGELOG.md)
-
[Commits](https://github.com/sparklemotion/nokogiri/compare/v1.18.2...v1.18.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 15:04:13 +01:00
90d6747248 DEV: Remove unused 'advanced' theme editor mode (#31387)
This mode was introduced briefly in 2019, and allowed editing theme
settings/translations/extra-css from the admin panel UI. But then we
decided that making it possible to edit these fields via the UI
conflicted with our recommendation of using a proper IDE,
discourse_theme, and version-controlled themes. The feature was disabled
in core, and theme-creator uses a monkey-patch to expose it.

Even for the current use in theme creator, there are now major styling
and functionality issues, because this feature is not visible or tested
in core. For example: it doesn't allow editing 'extra JS' fields, which
are arguably the most common.

This commit removes the code for this 'advanced' mode, in advance of
some more extensive modernization of this component/model.
2025-02-19 12:28:34 +00:00
a0e1a12161 FIX: Wikipedia onebox images and sections (#31384)
Both article images and section extraction were
not working for wikipedia oneboxes, this commit
fixes both and updates our spec fixture responses
to use the new HTML
2025-02-19 14:29:17 +10:00
143a824449 FIX: Language parser matches with dashes or underscores (#31381)
Our language parser now incorrectly matches underscored locales:

```
[1] pry(main)> HttpLanguageParser.parse("zh-CN")
=> "zh_CN"
[2] pry(main)> HttpLanguageParser.parse("zh_CN")
=> "en_GB"
```

This commit makes sure the input can be agnostic of `-` or `_`
2025-02-19 11:55:14 +08:00
b47e429b26 DEV: Fix mixed-decls sass deprecations in plugins (#31356)
A follow-up to #31343.

```
WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls
```
2025-02-18 20:04:51 +01:00
46c568a85d DEV: Remove unnecessary scss mixins (#31355) 2025-02-18 15:45:18 +01:00
41c80959c7 FIX: Ensure revoke_ungranted_titles! works with user_ids (#31371)
When `revoke_ungranted_titles!` was invoked, the optional list of
`user_ids` was not passed from the argument list to the query. This
resulted in an exception because the placeholder `:user_ids` existed in
the query.
2025-02-18 15:55:48 +02:00
b37b51d15f Update translations (#31377) 2025-02-18 14:51:47 +01:00
aa66917df6 Build(deps-dev): Bump extralite-bundle from 2.8.2 to 2.10 (#31374)
Bumps [extralite-bundle](https://github.com/digital-fabric/extralite)
from 2.8.2 to 2.10.
-
[Changelog](https://github.com/digital-fabric/extralite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digital-fabric/extralite/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 23:28:10 +01:00
64c9c7ce15 Build(deps-dev): Bump rubocop-rails from 2.30.0 to 2.30.1 (#31373)
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from
2.30.0 to 2.30.1.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
-
[Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/rubocop/rubocop-rails/compare/v2.30.0...v2.30.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 23:27:35 +01:00
6899dd5488 Build(deps-dev): Bump rubocop from 1.72.1 to 1.72.2 (#31372)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.72.1 to
1.72.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
-
[Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/rubocop/rubocop/compare/v1.72.1...v1.72.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 23:27:19 +01:00
1a7d2667c4 DEV: Add the AsyncContent component (#31101)
Co-authored-by: David Taylor <david@taylorhq.com>
2025-02-17 18:38:51 -03:00
43ececd22d FIX: Adds further support for 'prioritize_full_name_in_ux' setting (#31346)
This sets the stage for being able to consolidate Like notifications
using full names. It also is crucial to this [Reactions plugin
PR](https://github.com/discourse/discourse/pull/31292).

The Like consolidation PR will come after these.
2025-02-17 12:09:18 -06:00