Commit Graph

59736 Commits

Author SHA1 Message Date
5bca4c30d9 UX: fix tag suggestion alignment (#33315)
Before:

![image](https://github.com/user-attachments/assets/fbadbb06-e267-41bc-9cb5-41c32819f95b)


After: 

![image](https://github.com/user-attachments/assets/fe2bb8fd-bcd4-4bb4-a9fd-6225da99004b)
2025-06-23 11:50:55 -04:00
e241de51cd FIX: correctly follow enable_emoji_shortcuts in chat (#33297)
Prior to this fix, this setting would have no effect in chat.
2025-06-23 17:42:24 +02:00
Sam
f0f75b1a63 DEV: implement missing icons (#33310)
missing icons
2025-06-23 17:42:12 +02:00
43fb58ee08 UX: consistent sizing for configure default nav links (#33314)
Before:

![image](https://github.com/user-attachments/assets/f01356eb-c6ca-4fdd-910e-61cc25eff49c)


After: 

![image](https://github.com/user-attachments/assets/a048f018-e198-43cd-9ce7-8cbf57f4f492)


To match the sizing with tags: 


![image](https://github.com/user-attachments/assets/d6071d33-00d2-4460-9338-6eb3e53dd92f)
2025-06-23 11:24:19 -04:00
d81faa1226 FIX: Do not set locale when replying and also default to none (#33312)
This PR relates to the locale setting in the composer and fixes 2
quirks:
- When replying to a post, the composer sets the locale of the new post
in composer to the locale of the post being replied. This PR defaults
the value to "none"
- When creating a new post, the composer sets the locale to the user's
locale. However we are seeing the behaviour that users do not write in
the locale they set their profile to. This PR defaults the value to
"none"
2025-06-23 21:11:03 +08:00
8094cb502a Build(deps-dev): Bump @swc/core from 1.12.3 to 1.12.5 (#33298)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.12.3 to
1.12.5.
- [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.12.3...v1.12.5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 14:23:58 +02:00
3fbb2954cb DEV: Refactor Chat::ListChannelMessages service a bit
- improve the contract a little
- use `model` where possible
- extract message existence logic to a dedicated policy, allowing easier
  testing.
- remove unused code
- refactor specs to follow current guidelines/best practices
2025-06-23 14:18:49 +02:00
8337b49fe8 Build(deps): Bump ace-builds from 1.42.0 to 1.43.0 (#33299)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.42.0 to
1.43.0.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
-
[Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/ajaxorg/ace-builds/compare/v1.42.0...v1.43.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 13:46:20 +02:00
5b543dee92 Build(deps-dev): Bump concurrently from 9.1.2 to 9.2.0 (#33300)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently)
from 9.1.2 to 9.2.0.
- [Release
notes](https://github.com/open-cli-tools/concurrently/releases)
-
[Commits](https://github.com/open-cli-tools/concurrently/compare/v9.1.2...v9.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 13:46:01 +02:00
82633134ba Build(deps-dev): Bump rubocop from 1.76.2 to 1.77.0 (#33301)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.76.2 to
1.77.0.
- [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.76.2...v1.77.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 13:44:32 +02:00
00942ddffd FIX: Admin search labels doubled up with parent label (#33308)
Fixes an issue where the admin search results was showing
breadcrumbs with a double up of the parent label. For example,
we would show "Plugins > Plugins > AI > Usage" or
"Advanced > Advanced > Backups > Logs".

Also adds a missing translation for the chat incoming webhooks
page.
2025-06-23 16:21:29 +10:00
f29c8b7a38 DEV: Add get() method to the FormKit API (#33309)
This change adds an API for retrieving the current value of a component within a FormKit form. It makes use of the existing `@onRegisterApi` parameter, adding a `get()` method to match the existing `set()` method.
2025-06-23 15:50:36 +10:00
1fab4974ee FIX: Add @disabled parameter support to the FormKit Submit component (#33307)
When the `@disabled` parameter is set a on `<Submit>` component, the component now passes it through to the underlying `<DButton>`.
2025-06-23 15:50:18 +10:00
84da9508eb FIX: FormKit textarea value attribute binding (#33306)
The FormKit textarea component was using `@field.value` as inner content, preventing dynamic updates to the `textarea` value through the form API.

This change moves the `textarea` value to being set in the `value` attribute, instead.
2025-06-23 15:50:14 +10:00
4107803704 UX: Fix new/unread topic banner overlap with topic filter empty state (#33305)
Followup 30b0e38877af703606042cf1a2997a9a06582c32

Changes margin to padding for topic filter empty state to prevent the
"See X new or updated topics" banner from overlapping with the empty
state
when there are no topics in the filter.
2025-06-23 14:40:35 +10:00
1b4d884303 DEV: Horizon sync for 2025-06-23 (#33304)
Keep Horizon up to date with the latest changes, so cutover
isn't as big.

2bcd04d4f4...c6000c996f
2025-06-23 13:37:54 +10:00
f641a1fb6e DEV: Remove old CSS class for empty topic filter (#33302)
Followup 30b0e38877af703606042cf1a2997a9a06582c32
2025-06-23 10:15:23 +10:00
4b947d2404 DEV: Partially refactor themes controller to services (#33141)
This commit starts to introduce services to replace actions in the
ThemesController. We will start with the low langing fruit:

* Create
* Destroy
* BulkDestroy
* GetTranslations

Endpoints like #import and #update will be much harder.
Also, the https://github.com/discourse/discourse-theme-creator plugin
overrides some of these controller actions directly, so we need
to be careful.
2025-06-23 10:14:58 +10:00
5902e1141c FIX: broken link in admin quick start guide (#33295)
As reported in
https://meta.discourse.org/t/self-hosted-discourse-instance-appending-7d-to-the-fqdn/371144,
there was an extra "7D" in the URL which caused the link to break.
2025-06-21 07:04:25 -07:00
0dc01d55fd FIX: ensures colors are set for tl-growth report (#33294) 2025-06-21 12:55:23 +02:00
ffce270652 DEV: Bump aws-sdk-core in prep for aws-sdk-mediaconvert (#33250)
In an upcoming pr #33092 that adds support for aws-sdk-mediaconvert it
requires
that we bump aws-sdk-core to 3.225.0

```
+    aws-sdk-mediaconvert (1.160.0)
+      aws-sdk-core (~> 3, >= 3.225.0)
```

but in doing so there are apparently some api changes and it requires
changes
in core to support the new version. I thought it would best to break out
these
changes in a separate PR as to not muddy up the mediaconvert pr that is
already
quite large.
2025-06-20 16:41:01 -06:00
95f4460394 DEV: Import uploads from UploadsDB (#33259) 2025-06-20 22:59:57 +02:00
a51fb04864 DEV: Store avatar in users converter step (#33176) 2025-06-20 22:59:36 +02:00
f4bdd2f6e7 DEV: Add PluginOutlets to preferences-email and exception templates to remove template overrides (#33071)
**Description**

As part of removing template overrides from plugins and themes we need
to introduce these pluginOutlets.
2025-06-20 10:55:49 -05:00
ee6b59344f UX: Order Form Template TagChooser choices alphabetically (#33109) 2025-06-20 10:05:01 -05:00
0eb6da387c DEV: add tag hashtag data source style type (#33289)
Follow up from #33284 to add the missing style type value. This value
was originally meant for just categories but it makes things much easier
(and more complete) to add these values for other hashtag data types
like tags/channels etc, especially since they have default `icon` values
already.
2025-06-20 18:08:47 +04:00
bb5c2e7a00 FIX: chat message inline onebox url target (#33288)
Chat inline onebox links should open in a new tab with the help of chat
decorators by appending the `target="_blank"` attribute. I suspect this
may have been accidentally broken during a refactor in #31309

The issue was that the element that we pass into the decorator has
changed, meaning that the selector in the decorator would never find
inline links in cooked messages.
2025-06-20 18:04:37 +04:00
a81eaacb1c Build(deps): Bump rails_failover from 2.2.0 to 2.3.0 (#33263)
Bumps [rails_failover](https://github.com/discourse/rails_failover) from
2.2.0 to 2.3.0.
-
[Changelog](https://github.com/discourse/rails_failover/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/discourse/rails_failover/compare/v2.2.0...v2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 13:17:36 +02:00
63cc658891 UX: apply colour vars to svg (#33287)
Small follow-up for #32669

Replacing hardcoded HEX with css var
2025-06-20 12:24:55 +02:00
61dace2d9c Build(deps): Bump terser from 5.43.0 to 5.43.1 (#33280)
Bumps [terser](https://github.com/terser/terser) from 5.43.0 to 5.43.1.
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.43.0...v5.43.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 12:21:17 +02:00
e8c483fd62 Build(deps-dev): Bump @swc/core from 1.12.1 to 1.12.3 (#33279)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.12.1 to
1.12.3.
- [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.12.1...v1.12.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 12:01:26 +02:00
3c5cf90f74 UX: scroll to top of form on error (#33276)
This commit ensures the form errors summary is visible on error.
2025-06-20 11:16:54 +02:00
9dadc0141c FEATURE: add link to "associated accounts" providers (#33275)
This adds a link for each authentication providers that are listed in
/my/preferences/account in the "Associated Accounts" section.

This is particularly useful when Discourse is being used in the PWA or
in the DiscourseMobile app where there's no browser bar available and
the only way to visit the provider's website is to open a browser
window.

That way, they can _just_ click the provider's name.

Internal ref - t/156255

---

**BEFORE**

![Screenshot 2025-06-19 at 21 04
46](https://github.com/user-attachments/assets/3d2be5d0-d857-4b8a-b0a5-5672301c59c6)

**AFTER**

![Screenshot 2025-06-19 at 21 03
39](https://github.com/user-attachments/assets/4c8bc5e9-3c99-4924-8d33-547f567bb346)
2025-06-20 10:22:29 +02:00
1a9f577044 DEV: Don’t check model validity when no changes have been made
When fetching a model using the `model` step in a service, if that model
is an `ActiveRecord` object, we check if it’s in a valid state. While
this is useful when manipulating the model or when we create a new one,
it’s not the case for a model we just pulled from the DB, as it should
be valid.

In some cases, running the validations can be costly (it can lead to N+1
queries if the model validates associated items for example).

This patch introduces a small optimization by checking if the model has
any pending changes on it, thus requiring validation. If that’s not the
case, we just skip the validation part, as the model should be valid
anyway.
2025-06-20 09:09:33 +02:00
a5897d2440 DEV: Create rules for AI Coding Agents (#33282)
This is an initial attempt at creating a useful set of development instructions for AI coding agents.
2025-06-20 16:39:04 +10:00
3b5dc4c478 Build(deps): Bump net-imap from 0.5.8 to 0.5.9 (#33277)
Bumps [net-imap](https://github.com/ruby/net-imap) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/ruby/net-imap/releases)
- [Commits](https://github.com/ruby/net-imap/compare/v0.5.8...v0.5.9)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 14:14:30 +08:00
033a805809 Build(deps-dev): Bump rspec-rails from 8.0.0 to 8.0.1 (#33278)
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 8.0.0 to
8.0.1.
-
[Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
-
[Commits](https://github.com/rspec/rspec-rails/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-20 14:13:57 +08:00
f138f78f50 DEV: add channel hashtag style type (#33284)
Adds the missing `style_type` that is used to decorate hashtags in core.

All chat channels currently use an icon by default, so declaring the
style type on the channel hashtag data source makes this more complete.
2025-06-20 10:04:36 +04:00
bbf7a37902 FIX: exclude experimental system theme palettes (#33267)
In this PR, system themes were hidden behind site settings
https://github.com/discourse/discourse/pull/33230

When system theme is hidden, color palettes should be hidden as well.
2025-06-20 13:44:18 +08:00
30b0e38877 FEATURE: Add revamped new and unread topic filter education (#32669)
This commit improves the empty states and education
for the new and unread pages, so they are less overwhelming
and more visually pleasant.
2025-06-20 11:24:07 +10:00
c9425c93cc FIX: ensures empty fields don't store an empty array (#33274)
This is a follow-up to
299d28cb73
to apply it to more fields.
2025-06-19 20:46:48 +02:00
35d9688aa3 UX: Add tertiary-25 color variable (#33273) 2025-06-19 13:05:55 -05:00
299d28cb73 FIX: ensures empty tags field is not storing an empty array (#33270)
This would happen in the following scenario:
- select a tag
- save the automation
- unselect the tag
- save the automation

You would end up with a field having `[]` as value instead of `nil`.
This can cause issues in the logic of scripts and triggers as they might
consider the value as present.
2025-06-19 17:06:22 +02:00
af11b23309 FIX: add channel hashtag color when lazy load is disabled (#33269)
When category lazy loading was disabled, chat channel CSS classes were
not being inserted into the page markup. This meant that they would not
be styled correctly in the markdown editor preview.
2025-06-19 18:54:11 +04:00
81b4cb776b FIX: prevent login loop when logging out when only one idp (#33266)
When we migrated to the full page /login, we added a nice feature that
will automatically redirect a user to the idp if it's the only way they
can log in, thus avoiding unecessary click.

But when logging out, we would redirect to the /login page which would
start the /login process by automatically redirecting the user to the
idp...

The fix is easy, redirect back to `/login-required` after logging out
instead. This will show the "splash" screen that asks the user to either
log in or sign up.

Note: I also removed the `Discourse::Utils::EMPTY_KEYWORDS` since it was
its last occurence and I'm pretty sure we dropped support for Ruby 2 a
while ago...

Internal ref - t/156834
2025-06-19 15:02:54 +02:00
5307a1c8e9 Build(deps-dev): Bump matrix from 0.4.2 to 0.4.3 (#33262)
Bumps [matrix](https://github.com/ruby/matrix) from 0.4.2 to 0.4.3.
- [Release notes](https://github.com/ruby/matrix/releases)
- [Changelog](https://github.com/ruby/matrix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/matrix/compare/v0.4.2...v0.4.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 11:22:36 +02:00
6dcddb3906 Build(deps): Bump ostruct from 0.6.1 to 0.6.2 (#33261)
Bumps [ostruct](https://github.com/ruby/ostruct) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/ruby/ostruct/releases)
- [Commits](https://github.com/ruby/ostruct/compare/v0.6.1...v0.6.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 11:22:17 +02:00
8c2b8dbbe4 Build(deps): Bump rdoc from 6.14.0 to 6.14.1 (#33260)
Bumps [rdoc](https://github.com/ruby/rdoc) from 6.14.0 to 6.14.1.
- [Release notes](https://github.com/ruby/rdoc/releases)
- [Changelog](https://github.com/ruby/rdoc/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rdoc/compare/v6.14.0...v6.14.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 11:22:00 +02:00
3364bd7edb Build(deps): Bump faraday-retry from 2.3.1 to 2.3.2 (#33264)
Bumps [faraday-retry](https://github.com/lostisland/faraday-retry) from
2.3.1 to 2.3.2.
- [Release notes](https://github.com/lostisland/faraday-retry/releases)
-
[Changelog](https://github.com/lostisland/faraday-retry/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/lostisland/faraday-retry/compare/v2.3.1...v2.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 11:21:45 +02:00
fe30ffa3f9 DEV: Remove 'experimental' prefix from settings (#33233)
This PR takes the localization features out of "experimental" to prep
for the announcement
- rename settings and gives them its own area
- `experimental_content_localization` to `content_localization_enabled`
- `experimental_content_localization_allowed_groups` to
`content_localization_allowed_groups`
- `experimental_content_localization_supported_locales` to
`content_localization_supported_locales`
- `experimental_anon_language_switcher` to
`content_localization_anon_language_switcher`
- migration
- related to https://github.com/discourse/discourse-ai/pull/1439

| screenshot 📸 |
|---|
| <img width="964" alt="Screenshot 2025-06-17 at 5 06 32 PM"
src="https://github.com/user-attachments/assets/9a8b2c38-c846-4fc9-8ddd-815c45cc3d0e"
/> |
2025-06-19 12:23:42 +08:00