Commit Graph

59435 Commits

Author SHA1 Message Date
55d59c523a DEV: Make curry-component available for themes/plugins (#32967) 2025-05-28 11:02:10 +01:00
3812db5d23 Build(deps): Bump the babel group with 2 updates (#32947)
Bumps the babel group with 2 updates:
[@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core)
and
[@babel/standalone](https://github.com/babel/babel/tree/HEAD/packages/babel-standalone).


Updates `@babel/core` from 7.27.1 to 7.27.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/babel/babel/commits/v7.27.3/packages/babel-core)

Updates `@babel/standalone` from 7.27.2 to 7.27.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/babel/babel/commits/v7.27.3/packages/babel-standalone)

---------

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-05-28 11:57:41 +02:00
ff04406a27 Build(deps): Bump terser from 5.39.2 to 5.40.0 (#32948)
Bumps [terser](https://github.com/terser/terser) from 5.39.2 to 5.40.0.
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.39.2...v5.40.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 11:46:07 +02:00
2faa467b29 DEV: Add tests for about page extra group ordering (#32959)
Adding tests for about page extra groups ordering.
2025-05-28 17:36:12 +08:00
f4d4f371e6 UX: fix border-radius on image upload inputs (#32935)
Noticed problems on themes that use border-radius (like Horizon), where
these get the button radius applied, which is too large since, despite
**functioning** like a button, they are essentially inputs and lean more
toward the input styling. Also removed `btn-default` as this element
couldn't be further from a default button if it tried.

| Before | After |
|--------|--------|
| ![CleanShot 2025-05-27 at 11 43
42@2x](https://github.com/user-attachments/assets/fa0aa793-e812-40ed-b142-f47158e2d01b)
| ![CleanShot 2025-05-27 at 11 42
01@2x](https://github.com/user-attachments/assets/bba289e7-3707-4725-925e-a993fec32da8)
|

---------

Co-authored-by: Ella <ella.estigoy@gmail.com>
2025-05-28 08:58:21 +02:00
435088f62c DEV: Add locale column to categories (#32962)
Previously we had omitted determining the locale of categories, as
unlike posts, categories are usually single words and are usually only
translated once.

Since there is no locale, a category called "Staff" would also have an
English translation. With LLMs that perform poorly, we see that
translating "Staff" to English may result in something entirely
different (like "Personnelle" or "Personal").

Thus adding locale support to categories can mitigate this issue due to
the uncertainty.
2025-05-28 13:49:26 +08:00
f99c17d52b Bump version to v3.5.0.beta6-dev 2025-05-28 12:34:15 +08:00
0db6f59383 Bump version to v3.5.0.beta5 v3.5.0.beta5 2025-05-28 12:34:14 +08:00
ec6239b594 Build(deps): Bump @csstools/postcss-light-dark-function from 2.0.8 to 2.0.9 (#32949)
Bumps
[@csstools/postcss-light-dark-function](https://github.com/csstools/postcss-plugins/tree/HEAD/plugins/postcss-light-dark-function)
from 2.0.8 to 2.0.9.
-
[Changelog](https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-light-dark-function/CHANGELOG.md)
-
[Commits](https://github.com/csstools/postcss-plugins/commits/HEAD/plugins/postcss-light-dark-function)

---------

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-05-28 08:58:09 +08:00
8b15a8874c Build(deps-dev): Bump rspec-expectations from 3.13.4 to 3.13.5 (#32952)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [rspec-expectations](https://github.com/rspec/rspec) from 3.13.4
to 3.13.5.
-
[Changelog](https://github.com/rspec/rspec/blob/rspec-mocks-v3.13.5/rspec-expectations/Changelog.md)
-
[Commits](https://github.com/rspec/rspec/compare/rspec-expectations-v3.13.4...rspec-mocks-v3.13.5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:56:18 +08:00
64734610cb Build(deps-dev): Bump rspec-mocks from 3.13.4 to 3.13.5 (#32953)
Bumps [rspec-mocks](https://github.com/rspec/rspec) from 3.13.4 to
3.13.5.
-
[Changelog](https://github.com/rspec/rspec/blob/rspec-mocks-v3.13.5/rspec-mocks/Changelog.md)
-
[Commits](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.4...rspec-mocks-v3.13.5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:56:06 +08:00
a2dbf9392b Build(deps-dev): Bump rspec from 3.13.0 to 3.13.1 (#32955)
Bumps [rspec](https://github.com/rspec/rspec) from 3.13.0 to 3.13.1.
-
[Commits](https://github.com/rspec/rspec/compare/rspec-metagem-v3.13.0...rspec-v3.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:55:53 +08:00
8f2283a5eb Build(deps-dev): Bump esbuild from 0.25.4 to 0.25.5 (#32950)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.4 to 0.25.5.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.4...v0.25.5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:55:45 +08:00
eb43f9425a Build(deps-dev): Bump mime-types-data from 3.2025.0520 to 3.2025.0527 (#32951)
Bumps [mime-types-data](https://github.com/mime-types/mime-types-data)
from 3.2025.0520 to 3.2025.0527.
-
[Changelog](https://github.com/mime-types/mime-types-data/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/mime-types/mime-types-data/compare/v3.2025.0520...v3.2025.0527)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:54:47 +08:00
4f142c9632 Build(deps-dev): Bump rspec-support from 3.13.3 to 3.13.4 (#32954)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [rspec-support](https://github.com/rspec/rspec) from 3.13.3 to
3.13.4.
-
[Changelog](https://github.com/rspec/rspec/blob/rspec-support-v3.13.4/rspec-support/Changelog.md)
-
[Commits](https://github.com/rspec/rspec/compare/rspec-support-v3.13.3...rspec-support-v3.13.4)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:53:17 +08:00
69543bc4be Build(deps-dev): Bump rspec-core from 3.13.3 to 3.13.4 (#32956)
Bumps [rspec-core](https://github.com/rspec/rspec) from 3.13.3 to
3.13.4.
-
[Changelog](https://github.com/rspec/rspec/blob/rspec-core-v3.13.4/rspec-core/Changelog.md)
-
[Commits](https://github.com/rspec/rspec/compare/rspec-core-v3.13.3...rspec-core-v3.13.4)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 08:52:46 +08:00
0b65360094 FIX: Make post created/edited automation trigger regexes more specific (#32944)
- For `with_images`, ignore `<img>` tags representing emoji or a quote
avatar
- For `with_links` and `with_uploads`, exclude tags starting with the
letter "a" other than `<a>` (like `<aside>`)
- For `with_code`, the `<pre>` tag wasn't being detected because it was
expecting an extra char before the ">"
2025-05-27 15:40:00 -05:00
90ee5cfadd DEV: Apply transformer for composer editor reply placeholder (#32943)
This adds an `applyValueTransformer` for the Composer textarea's placeholder text
2025-05-27 15:37:32 -05:00
ee14a81573 Update translations (#32939) 2025-05-27 22:11:24 +02:00
06d3d3f418 DEV: Import likes into user_actions table (#32921)
Likes given / likes received on user admin page were empty because of
this missing data. Also, a background job cleared the like stats from
`user_stats` table after some time because of this missing data.
2025-05-27 22:08:51 +02:00
e371e1b3cd FIX: Skip importing solved topics when plugin isn't installed (#32922) 2025-05-27 22:08:43 +02:00
aa94a71789 UX: Handle long URLs in theme grid with overflow-wrap (#32942)
Added `overflow-wrap: anywhere` to prevent long URLs from breaking the
layout

### Before
<img width="268" alt="image"
src="https://github.com/user-attachments/assets/2512b44e-7af3-42cb-b1c6-d7fcb7dd0535"
/>


### After
<img width="260" alt="image"
src="https://github.com/user-attachments/assets/9c5abf05-8f79-4434-bdb7-fc2b5fd2bd2e"
/>
2025-05-27 11:07:19 -06:00
af91b0433f DEV: Post localization improvements (#32869)
## 🔍 Overview
This update includes some small improvements to post localizations. In
particular:
- we only show add translation button if user is part of
`experimental_content_localization_allowed_groups` and
`SiteSetting.experimental_content_localization` is `true`
- we no longer load `post_localizations` on every post until the post
localization globe is clicked
- we move the post localization indicator to be an menu item in the
post-action-buttons instead of being in the post meta data
- we remove the `SiteSetting.content_localization_debug_allowed_groups`
in favor of using a single setting:
`experimental_content_localization_allowed_groups_map`

## 📷 Screenshots

![image](https://github.com/user-attachments/assets/fa239501-0dbc-43ba-8b70-d6899dd1554c)


![image](https://github.com/user-attachments/assets/8b3272b3-7483-4bb1-af36-8c8ad5d55d03)
2025-05-27 08:49:53 -07:00
2137f55b4d DEV: Add a path argument to withEventValue (#32924)
…to support `target.checked` cases
2025-05-27 17:06:59 +02:00
8adb6649fe UX: Improve UX when profiles are hidden from anon (#32938)
- Update `<UserLink>` to omit `href` entirely when profiles are
unavailable. Clicking now does nothing

- Restore the `.non-clickable` class which was accidentally dropped in
8b4730e5

- Update topic-list, topic-map and about page to use `UserLink`
component, so that they get the automatic unclickable behavior
2025-05-27 14:18:25 +01:00
fdc935b3b5 UX: add fallback width for modal (#32937)
Potentially due specificity changes in #32733 , the `max-modal-width` is
undefined when rendering mobile, resulting in:


![image](https://github.com/user-attachments/assets/8bd8551b-a52e-46a1-92cc-7a3e79db042d)

Despite my expecting the MQ to take preference, it doesn't:
![CleanShot 2025-05-27 at 12 16
08@2x](https://github.com/user-attachments/assets/a897564d-0173-4442-82df-8d5dbaa3411d)

This commit:
* Added a fallback 
* Increased specificity for good measure
* Fixed border-radius (should be zero, aligned with top and full-width)

![CleanShot 2025-05-27 at 12 23
56@2x](https://github.com/user-attachments/assets/9d43ce30-424a-4855-ad43-1b915d251f0d)
2025-05-27 14:31:22 +02:00
807e4c7004 FIX: Unblock social signup when name is required and `auth overrides… (#32923)
… name` is enabled

In the edge case when:
- Full Name is set to Required
- `auth overrides name` is enabled

we were previously showing the name input as disabled, which blocked the
signup process.
2025-05-27 08:26:38 -04:00
6d42d95341 DEV: update composer similar topics limit (#32934)
Updates the composer similar topics tips to return a maximum of 3 topic
results. We are phasing out the site setting in an effort to improve the
UX in the composer.

We will handle the migration to remove the site setting value from the
database in a follow up PR.
2025-05-27 14:06:31 +04:00
71412c0767 UX: update composer educational tips copy (#32933)
Updates the composer educational tips copy for the following:

- new topic
- new reply
- dominating topic
- don't feed the trolls
2025-05-27 12:24:42 +04:00
ad85ba0a77 FIX: Add missing about group ordering option (#32931)
We are missing one of the options for ordering of extra groups on the about page. This setting uses the exact order the groups are selected in the settings.
2025-05-27 12:10:28 +08:00
6f123c102f FIX: avoid infinite loop when synonym tag is self (#32932)
When tag synonym is tag itself, it should not redirect to prevent
infinite loop.
2025-05-27 11:48:51 +08:00
373a9adb3b DEV: Move some site settings from Navigation to Interface (#32929)
Moving three site settings from Navigation to Interface & layout.
2025-05-27 09:51:08 +08:00
8efd99da9e FEATURE: Improve emoji diversity rendering (#32909)
This change polishes the emoji diversity rendering behaviour in the emoji pickers. When a user changes their diversity setting, that setting will now be applied to favourites, chat default reactions, and in the  emoji picker section selectors.

If an emoji was previously stored with a skin tone in favourites or default reactions, the stored skin tone won't be overridden.
2025-05-27 11:34:24 +10:00
012b48db62 DEV: Migrate add-groups-to-about component settings to site settings (#32910)
We're moving the add-groups-to-about theme component into core. We have already added the logic and switchover in #32659.

This PR adds a data migration that maps the theme settings to the relevant site settings, then enables the core implementation.
2025-05-27 09:22:31 +08:00
1c1300d0e7 FIX: back to forum button should lead to forum and not chat (#32913)
Similar fix to https://github.com/discourse/discourse/pull/32911

Meta:
https://meta.discourse.org/t/doc-sub-category-back-to-forum-loop/367513/15
2025-05-27 08:43:47 +08:00
1de8960d2a FIX: Serve RTL CSS for themes and components (#32916)
Follow up to https://github.com/discourse/discourse/pull/32881

Stylesheet `<link>` tags for themes/components are aren't getting
included/rendered in the HTML document due to a missing check in
stylesheet manager. See
https://meta.discourse.org/t/ui-layout-broken-for-rtl-language-after-latest-update/367434?u=osama.
2025-05-27 03:15:05 +03:00
adc8dd29eb DEV: Update allowed supported locales in translation editor (#32920)
## 🔍 Overview
This update adds a new site setting:

```ruby
SiteSetting.experimental_content_localization_supported_locales
```

where admins can set the supported languages for content localizations,
which will populate the picker inside the translation composer editor.
The update also ensures the content localization settings are shown in
the site setting area: "localization"

## 📷 Screenshots

![Screenshot 2025-05-26 at 10 03
14](https://github.com/user-attachments/assets/62645e4d-4d7b-460c-a249-66b563d35a93)

![Screenshot 2025-05-26 at 10 04
08](https://github.com/user-attachments/assets/dd3ac5ea-e9be-4f8f-8488-2dedea15e833)
2025-05-26 11:40:19 -07:00
487f610fc1 DEV: add user email to chat summary mailer (#32917)
Pass user email rather than relying on enrichment when sending summary
emails.
2025-05-26 19:19:16 +04:00
5cb19734e0 FIX: Also show the toggle localization button on mobile (#32912)
In https://github.com/discourse/discourse/pull/32618, the button was
added to a place which does not show up on mobile.

When the feature was still in discourse-translator
(https://github.com/discourse/discourse-translator/pull/205), it was
added to the plugin outlet which would allow it to show up on both
mobile and desktop. This commit moves the button to be a neighbour of the
plugin outlet.
2025-05-26 21:54:34 +08:00
804bdcfe5f FIX: resolve discard draft keep editing (#32667)
Fixes a bug where clicking keep editing in the discard modal dialog
would result in the composer auto save being disabled. Because of this
updates to drafts after this point can easily be lost.

The issue was that the `cancelComposer` was not resolving the promise,
and therefore not setting `skipAutoSave` to false in the final step.

This change also includes another fix for an issue that was revealed
where the discard draft dialog would continually open again after we
close it. This would happen when editing a draft while viewing a
different topic. It wasn't noticed before as the `keep editing` button
would result in the code hanging at the `await
this.cancelComposer(opts)` stage and not opening the composer again for
the new topic reply.
2025-05-26 17:40:28 +04:00
84762e6317 UX: Modal close animation (#32842)
Adding an animation on closing the modal.
2025-05-26 10:47:15 +02:00
648722dc81 FIX: back to forum button only from admin (#32911)
Search for last not admin URL only when user is in admin panel. When back to forum link is clicked from documentation plugin link should lead to homepage.

Meta: https://meta.discourse.org/t/doc-sub-category-back-to-forum-loop/367513/10
Specs: discourse/discourse-doc-categories#40
2025-05-26 16:43:47 +08:00
2f3404fe4d UX: fix search results unreachable bottom results and more button (#32883)
Meta report:
https://meta.discourse.org/t/search-in-header-gives-too-deep-results/362973

The general problem of our `menu-panel` is that it had no proper
max-height set, which mean you have to scroll the page instead of the
panel to see bottom results. In the new header-search setup however,
scrolling the page makes the panel disappear, effectively locking you
out.

This commit adds a best-estimate max-height on the parent level
`menu-panel`, dependent on where the search is triggered from (header VS
welcome banner)

| Old | New |
|--------|--------|
| ![CleanShot 2025-05-23 at 14 58
07@2x](https://github.com/user-attachments/assets/4a96d518-13d0-4f97-b472-5d1f56bbaa1a)
| ![CleanShot 2025-05-23 at 14 59
30@2x](https://github.com/user-attachments/assets/9c8546d2-a780-49b3-80d0-95eab81eff94)
|
2025-05-26 09:40:23 +02:00
5474ea4c03 DEV: maps IST rails timezone to kolkata (#32896)
This commit ensures rails will recognise `IST` as a timezone. It will be
mapped to the standard timezone `Asia/Kolkata`.

Its technically not a standard, but it's used by many people so we are
adding it as a timezone in core.

/t/-/150799
2025-05-26 08:56:04 +02:00
e20fe1a6c7 fix Right-To-Left rendering of ordered lists in posts (#32898)
change "padding-left" to "padding-inline-start".

See:

https://meta.discourse.org/t/rtl-numbered-or-bullet-lists-are-broken/367516
2025-05-26 16:49:47 +10:00
fa39af6526 FIX: prevents double load of automation.index (#32899)
Im not exactly sure of the reason, but I thought it was related to the
recent `addAdminPluginConfigurationNav`. I followed more closely what
has been made in chat for hooks and it seems to fix the problem.


/t/-/154466
2025-05-26 08:17:26 +02:00
b485e04e4f FEATURE: Also localize banners (#32908)
Banners take a different route and are retrieved separately.
2025-05-26 13:16:22 +08:00
c4ff6bd40e DEV: remove old themes/components code (#32875)
Recently, themes page was rebranded and put
`/admin/config/customize/themes`. In this PR, old
`/admin/customize/themes` was removed. In addition, when an admin visits
an old URL, they are redirected to the new one.
2025-05-26 09:21:15 +08:00
7a297a531a Build(deps): Bump snaky_hash from 2.0.2 to 2.0.3 (#32901)
Bumps [snaky_hash](https://github.com/oauth-xx/snaky_hash) from 2.0.2 to
2.0.3.
- [Release notes](https://github.com/oauth-xx/snaky_hash/releases)
-
[Changelog](https://github.com/oauth-xx/snaky_hash/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/oauth-xx/snaky_hash/compare/v2.0.2...v2.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 00:59:10 +02:00
b8368d1618 Build(deps): Bump json from 2.12.0 to 2.12.2 (#32902)
Bumps [json](https://github.com/ruby/json) from 2.12.0 to 2.12.2.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.12.0...v2.12.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 00:58:52 +02:00