2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-10-04 17:32:34 +08:00
Commit graph

59881 commits

Author SHA1 Message Date
Gerhard Schlager
5200bff765
DEV: Add locale files from themes to Crowdin (#33471) 2025-07-07 11:39:53 +02:00
Yuriy Kurant
ba64209468
FIX: Sidebar messages link updates (#33444)
* Fixes capitalisation for *My messages*, *My posts*, and *My drafts*
sidebar links.
* Hides *My messages* link for anonymous users.
* Hides *My messages* link for users who can’t access messages.
* Adds active state for *My messages* link (applies to all child routes:
personal, group, and tags).
2025-07-07 11:55:39 +08:00
Martin Brennan
4893bda14a
UX: Title label adjustments for new new view (#33489)
Adds some title labels and tweaks the main New tab title
label for the new new view.
2025-07-07 11:07:22 +10:00
dependabot[bot]
27a7e26594
Build(deps): Bump the babel group with 3 updates (#33452)
Bumps the babel group with 3 updates:
[@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators),
[@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/plugin-proposal-decorators` from 7.27.1 to 7.28.0
- [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.28.0/packages/babel-plugin-proposal-decorators)

Updates `@babel/core` from 7.27.7 to 7.28.0
- [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.28.0/packages/babel-core)

Updates `@babel/standalone` from 7.27.7 to 7.28.0
- [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.28.0/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-07-05 23:34:20 +02:00
dependabot[bot]
526162268d
Build(deps-dev): Bump mime-types-data from 3.2025.0624 to 3.2025.0701 (#33420)
Bumps [mime-types-data](https://github.com/mime-types/mime-types-data)
from 3.2025.0624 to 3.2025.0701.
-
[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.0624...v3.2025.0701)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 23:06:15 +02:00
dependabot[bot]
f2239f4059
Build(deps): Bump @floating-ui/dom from 1.7.1 to 1.7.2 (#33389)
Bumps
[@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)
from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
-
[Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md)
-
[Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.7.2/packages/dom)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 23:05:21 +02:00
dependabot[bot]
a7a9cd20d3
Build(deps): Bump rdoc from 6.14.1 to 6.14.2 (#33476)
Bumps [rdoc](https://github.com/ruby/rdoc) from 6.14.1 to 6.14.2.
- [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.1...v6.14.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 22:57:42 +02:00
dependabot[bot]
42a7b0f102
Build(deps-dev): Bump lefthook from 1.11.14 to 1.11.16 (#33477)
Bumps [lefthook](https://github.com/evilmartians/lefthook) from 1.11.14
to 1.11.16.
- [Release notes](https://github.com/evilmartians/lefthook/releases)
-
[Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/evilmartians/lefthook/compare/v1.11.14...v1.11.16)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 22:50:30 +02:00
dependabot[bot]
820d30780f
Build(deps-dev): Bump ember-cli-deprecation-workflow from 3.3.0 to 3.4.0 (#33478)
Bumps
[ember-cli-deprecation-workflow](https://github.com/ember-cli/ember-cli-deprecation-workflow)
from 3.3.0 to 3.4.0.
- [Release
notes](https://github.com/ember-cli/ember-cli-deprecation-workflow/releases)
-
[Changelog](https://github.com/ember-cli/ember-cli-deprecation-workflow/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/ember-cli/ember-cli-deprecation-workflow/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 22:45:26 +02:00
Régis Hanol
9e19d11b7e
DEV: smarter output message when running bin/turbo_rspec (#33484)
When more than 5 files are run via `turbo_rspec`, we'll show the count.
When less than 5 files, we'll list them.

This is slightly better DX as it avoids spamming the console with
unecessary information.
2025-07-05 22:11:15 +02:00
Natalie Tay
75330efab0
FIX: Prevent saving empty string as a locale (#33481)
Post edits need to inform the backend if the locale is changed and is
sometimes set as `""`. This PR prevents the locale from being set to
`""` in the database, and includes a migration to purge the empty
strings.
2025-07-04 17:20:42 +08:00
Ted Johansson
4c7089f817
DEV: Deprecate external_system_avatars_enabled (#33436)
We want to deprecate the enabled/disabled toggle for this setting and rely entirely on the presence of a URL.

This change:

- Deprecates and hides the enabled/disabled setting.
- Updates all code paths and tests that rely on the old setting.
- Adds a migration that clears the URL if the enabled/disabled setting is set to false.
2025-07-04 16:02:04 +08:00
Gary Pendergast
18396c93a2
FIX: Rename the reviewable notes route to match existing reviewable routes (#33480)
The reviewable notes route was originally created at `/reviewables/:reviewable_id/notes`, which didn't match the existing reviewable routes at `/review/:reviewable_id`.

This change fixes the naming inconsistency, and tidies up some of the endpoint permission checks.
2025-07-04 17:46:41 +10:00
Alan Guo Xiang Tan
e996690f85
DEV: Improve layout of flagged post in new reviewable UI (#33464)
This commit makes a UX pass at the layout when displaying a reviewable
of `ReviewableFlaggedPost` type.
2025-07-04 09:08:15 +08:00
Ruben Oussoren
be300f960b
fix/ Added default values for category color and text_color (#33479) 2025-07-03 20:16:40 -04:00
Ruben Oussoren
a697740929
Add category moderation groups and more attributes to generic importer (#32561)
This PR improves the generic bulk import and base scripts by adding
support for several previously unimplemented features and attributes:

- Category Moderation Groups: Implements the import of group-based
moderation settings for categories.
- Group Attributes: Adds import support for public_admission,
public_exit, allow_membership_requests, and assignable_level.
- User Attributes: Adds import support for trust_level and
primary_group_id.
- User Option: Adds import support for the hide_profile_and_presence
user option.
- Multiple Tag Groups per Tag: Updates tag import logic to handle tags
belonging to multiple tag groups.
2025-07-03 17:03:10 -04:00
Jordan Vidrine
2f8d35aebd
UX: Remove unnecessary border (#33472) 2025-07-03 14:37:28 -05:00
Natalie Tay
01d42ab524
FEATURE: Display locale change in post history modal (#33469)
This commit adds locale changes to the post history modal, and also updates
the topic's locale if the first post is being updated.
2025-07-03 23:08:47 +08:00
chapoi
51d7c8c047
UX: increase chat avatar & icon sizing in sidebar (#33468)
Moving this design experiment into core.

Slight increase of avatar sizing in sidebar:

| Before | After |
|--------|--------|

|![image](https://github.com/user-attachments/assets/894c1c64-30ad-423b-8bc2-685c1b227433)|
![image](https://github.com/user-attachments/assets/ee4d2f26-6707-4532-b3fd-62b6835a9142)
|

And in general of the other prefixes also a spacing increase (to keep
alignment) and mini size increase:

| Before | After |
|--------|--------|
| ![CleanShot 2025-07-03 at 14 43
19@2x](https://github.com/user-attachments/assets/fb0c7f51-96a7-43b2-9fca-abd6c5532287)
| ![CleanShot 2025-07-03 at 14 41
58@2x](https://github.com/user-attachments/assets/f192a3a9-9bb6-4631-889f-71c13e6e9698)
|
2025-07-03 16:00:12 +02:00
Kris
b92262d56b
REFACTOR: merge mobile and desktop menu-panel CSS into common (#33350)
This consolidates menu-panel (notification menu and navigation menu)
styles into a common file and deletes the separate desktop and mobile
stylesheets. There should be no major visual changes as a result.
2025-07-03 09:21:33 -04:00
Joffrey JAFFEUX
1164f10780
FIX: clear selection on expand popup menu (#33467)
Having a text selection can cause issues on iOS where the caret will
show over any other element. The state is already stored in the toolbar
state so we don't need to keep it actually selected.

No test as it's a very specific behavior and a whole system spec for
this seems heavy.
2025-07-03 13:19:58 +02:00
David Taylor
445678b7ff
DEV: Make outlet argument stringification more robust (#33465) 2025-07-03 12:06:35 +01:00
David Taylor
949e168c07
Revert "DEV: Move all admin sidebar code to admin bundle (#33416)" (#33466)
This reverts commit eb1e338185.

Seeing duplicate sidebar items in a plugin. Reverting while we
investigate
2025-07-03 11:52:46 +01:00
Joffrey JAFFEUX
9cd271ae60
FIX: resets quote state when reseting text selection (#33463)
In the follow cases:
- no text selection
- invalid text selection (outside of the cooked of a post)

The quote state should be cleared. This commit also adds a spec to
prevent similar regressions.
2025-07-03 12:18:10 +02:00
Joffrey JAFFEUX
51419f94ba
DEV: allows to load full calendar 6 as an async bundle (#33448)
Usage:

```js
import loadFullCalendar from "discourse/lib/load-full-calendar";

const calendarModule = await loadFullCalendar();
const fullCalendar = new calendarModule.Calendar(...);
```

This will be used in discourse-calendar.
2025-07-03 12:17:54 +02:00
David Taylor
eb1e338185
DEV: Move all admin sidebar code to admin bundle (#33416)
- Converts plugin apis to use transformers, so that core doesn't need to
import the admin-sidebar modules
- Adds support for admin initializers, and registers the admin sidebar
using one
- Adds support for `needs.instanceInitializer(() => { ... })` in qunit
tests, so that transformers can be registered at the right time.
(`beforeEach` is too early)
2025-07-03 10:48:01 +01:00
Alan Guo Xiang Tan
7ee96e398f
DEV: Update colors for flag reasons in new reviewable UI (#33462)
Prior to this change, off topic and something else flags did not have
the right CSS classes set resulting in the right colors not being set
for the badges used to display the flag reasons.

This commit also updates the colors used for the off topic and illegal
flags to reflect the severity. Before this change, the badge color for
illegal was green while the badge color for off topic is blue. Those
colors are too "positive".

### Screenshots

#### Before

<img width="718" alt="Screenshot 2025-07-03 at 3 22 49 PM"
src="https://github.com/user-attachments/assets/cc10d078-fe58-41aa-8c15-4bba86eb90e5"
/>

#### After

<img width="715" alt="Screenshot 2025-07-03 at 3 23 02 PM"
src="https://github.com/user-attachments/assets/e039e042-68ae-4e76-bd5a-62116ef020a3"
/>
2025-07-03 15:56:39 +08:00
Alan Guo Xiang Tan
0ec3fd570d
DEV: Add CurrentUserSerializer#use_reviewable_ui_refresh attribute (#33460)
This commit adds a `use_reviewable_ui_refresh` attribute to the
`CurrentUserSerializer` and updates the client side to use this
attribute as a feature flag to determine when the new reviewable UI
should be shown.
2025-07-03 14:54:05 +08:00
Ella E.
38194c2aec
DEV: First pass of review queue redesign
This is the start of the review queue redesign. Due to the rapidly
growing size of this redesign, this PR is being merged in a
semi-functional state: large chunks of it have the new design, but there
are substantial sections that may not function at all.

This PR is focussed on the variations of reviewable posts, other
reviewables (eg, users, chat messages) will continue to use the old UI.

Co-authored-by: Gary Pendergast <gary@pento.net>
2025-07-03 14:32:43 +08:00
Alan Guo Xiang Tan
ffeec9fb27 Revert "DEV: Introduce reviewable_ui_refresh site setting (#33404)"
This reverts commit bc29e5088e.
2025-07-03 13:31:27 +08:00
Alan Guo Xiang Tan
5b3347ea93 Revert "DEV: Display flag reasons and count for reviewable in refreshed UI (#33408)"
This reverts commit db49566d90.
2025-07-03 13:31:27 +08:00
Alan Guo Xiang Tan
0cf62f1f40 Revert "UX: Update badge colors for illegal and offtopic reviewables (#33456)"
This reverts commit 7ca8e41ec0.
2025-07-03 13:31:27 +08:00
Linca
7dffa06de6
FEAT: Add clipboard button to new palette UI (#33430)
The current colour palette editor has a ‘Copy to clipboard’ button on it
that copies a JSON object of the current palette’s colours. This commit
adds the button to the new colour palette UI.
2025-07-03 08:09:49 +03:00
Ted Johansson
02e17ddb7f
FIX: Make hide_new_user_profiles work with manually upgraded users (#33458)
The site setting hide_new_user_profiles states:

> Hide trust level 1 or lower user profiles from the public and trust level 1 users until they post for the first time.

This implies that TL2 and above should be visible.

However, the actual logic encodes the assumption that TL2 have posted at some point. This fails to account for the fact that admins can manually upgrade a user without posts to a higher TL. This PR covers for that scenario.
2025-07-03 13:00:30 +08:00
Ella E.
d1a59f8e08
UX: Improve invite list (#33253)
This PR improves the user invite list for both desktop and mobile views:

* Simplified table layout
  * Better layout on mobile
  * Removes extra padding and header row clutter
  * Better alignment of columns and row spacing
  * Keeps invite details compact but clear

* Improved group display
  * Group icons and names are now properly aligned side-by-side
  * Consistent inline styling for multiple groups per invite

* Updated row actions
  * Moves the Remove action into a dropdown to reduce accidental clicks and keep destructive actions less prominent
  * Uses consistent button styling (Edit and More actions)
2025-07-03 09:28:02 +08:00
dependabot[bot]
4e4d4e40a6
Build(deps): Bump ace-builds from 1.43.0 to 1.43.1 (#33454)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.43.0 to
1.43.1.
- [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.43.0...v1.43.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-03 09:13:51 +08:00
Ella E.
7ca8e41ec0
UX: Update badge colors for illegal and offtopic reviewables (#33456)
* Replaces green `Illegal` badge with a deeper red to better reflect
severity
* Also updates `Off-topic` badge to a muted yellow/brown to better match
its low-priority nature
2025-07-03 09:13:25 +08:00
chapoi
ebee4df8a1
DEV: Replace toolbar popup menu with DMenu (#33247)
This commit replaces the `toolbar-popup-menu-options`, which used
`select-kit` with a new implementation using `dmenu`.

---------

Co-authored-by: Renato Atilio <renato@discourse.org>
Co-authored-by: Martin Brennan <martin@discourse.org>
2025-07-03 09:57:16 +10:00
Martin Brennan
2ee7d055a2
UX: Shrink YouTube thumbnail in chat transcript (#33433)
This fixes an issue where the YouTube thumbnail was huge in a chat
transcript, like in this scenario:

* Share a link to a youtube video in channel A
* See it onebox at a reasonable size
* Grab a link to your message
* Share the link to your message in channel B (e.g. a DM to yourself)
*  See GIANT youtube image

This commit only fixes the issue visually though -- it does not apply
the LazyYoutube decorations that actually embed the video. We can do
this in a followup commit.
2025-07-03 07:51:59 +10:00
Kris
a66cba31ef
A11Y: make in-reply-to keyboard accessible (#33447)
Adding an empty href to this link makes it keyboard accessible. You can
now trigger it with the enter key. This also allows us to remove the
tabindex.


![image](https://github.com/user-attachments/assets/357f7a6e-05fd-46dc-9da7-56520e9ca8f0)


`event.preventDefault();` is neccessary because otherwise `href=""` was
resulting in a page refresh, and another work around like `href="#"` was
adding an entry to the browser history
2025-07-02 17:20:25 -04:00
Discourse Translator Bot
59367ac03f
Update translations (#33409) 2025-07-02 22:36:37 +02:00
Régis Hanol
2d2ba55271
DEV: add login-required wrapper plugin outlet (#33435)
One can use it in a plugin to override the whole "login-required"
template without having to replace all the different (and smaller)
plugin outlets already available in that template.

Internal ref - t/154909
2025-07-02 21:39:37 +02:00
Joffrey JAFFEUX
a6e35de257
DEV: adds support for startsWith/endsWith validation (#33446)
Usage:

```gjs
<form.Field
  @title="Name
  @name="name"
  @validation="startsWith:foo|endsWith:bar"
  as |field|>
    <field.Input />
</form.Field>
```
2025-07-02 17:21:30 +02:00
Kris
555b69c932
UX: fix title status icon size (#33442) 2025-07-02 09:48:59 -05:00
Kris
73be80d22f
A11Y: autofocus topic map DMenu contents for links, likes, and users - fix links (#33419)
This traps focus for these topic map menus (links, likes, and users)


![image](https://github.com/user-attachments/assets/c56993e7-03f9-47a4-a8a3-6eece4a5fe77)

and also restructures the links in the link menu to avoid `display:
contents;` — unfortunately `display: contents;` can make content within
inaccessible with keyboard nav

So instead I've restructured it to use subgrid, which avoid the issue
without changing the visuals.


![image](https://github.com/user-attachments/assets/edf74a0b-6a0d-4f98-a4f5-0151ef327cb6)
2025-07-02 09:48:21 -04:00
David Taylor
9166076c66
FIX: Run post-adopt decorators correctly in glimmer post-stream (#33440)
This will fix the `lib/lazy-load-images` decorator, which sets the
background color of images while they're loading
2025-07-02 14:13:33 +01:00
Osama Sayegh
31d9d5b078
DEV: Move AdminConfigAreaCard back to the admin bundle (#33429)
Follow up to 0ccf792b91

In the linked commit, I moved the `AdminConfigAreaCard` component out of the
admin bundle and into the main discourse bundle to make the new
`addCardToAdminThemesGrid` API method, introduced in the same commit, work
without breaking the site for non-staff users who don't get the admin
bundle.

However, there's a better way to go about this without forcing us to
move the component file to the main bundle which is to introduce a new
`PluginOutlet` since it effectively does the same thing as the
`addCardToAdminThemesGrid` API method and it's already a well
established pattern for letting plugins customize and add content to
Discourse pages.
2025-07-02 14:03:33 +03:00
Joffrey JAFFEUX
6084c9e7d5
FIX: ensures we have a cooked to work with (#33439)
At this point cooked could be null and checking if it's inside a small
action is useless and would generate an error which wouldn't break
anything but is something we want to avoid.
2025-07-02 12:22:11 +02:00
David Battersby
e91024a221
FIX: render emojis in cooked hashtag text for composer rich text mode (#33395)
Correctly renders emojis within hashtag text (ie. chat channel titles)
in composer rich text mode.
2025-07-02 08:43:31 +01:00
Joffrey JAFFEUX
732c0f47af
FIX: ensures small actions don't trigger post toolbar (#33422) 2025-07-02 08:11:58 +02:00