Commit Graph

59361 Commits

Author SHA1 Message Date
ec3401c788 Build(deps-dev): Bump rubocop from 1.75.4 to 1.75.5 (#32588)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.75.4 to
1.75.5.
- [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.75.4...v1.75.5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 12:01:11 +08:00
ed830c94f3 DEV: Remove iOS 18 media optimization check (#32581)
We already have a site setting for iOS and the feature doesn't work
reliably, no need for the extra check.
2025-05-06 13:49:45 +10:00
a20aaecb1f UX: composer starts with allowPreview default false (#32589)
The rich editor is loaded asynchronously, so when `allowPreview` starts
as `true`, if we're opening the composer for the 1st time, ProseMirror
dependencies will be loaded async and while the rich editor is fully
loaded, the composer animates from having a preview to not having one,
shrinking in width.

This changes the `allowPreview` to be default `false`, so the animation
never happens – when the default composer editor is set to the Markdown
editor, it'll instantly and synchronously set the tracked property,
before any animation kicks in.
2025-05-06 12:11:54 +10:00
7cebd41015 FIX: autocomplete being cut on rich editor (#32586)
The `.ProseMirror-container` is scrollable, and it being `position:
relative` cuts mentions/hashtags/etc autocompletes. Removing it _should_
be safe and `.d-editor-textarea-wrapper` (a name we should change
eventually btw...) becomes the new anchor for absolute positioning.

Before

![image](https://github.com/user-attachments/assets/21463af7-14e2-489d-bec2-f0763f2f4fab)

After

![image](https://github.com/user-attachments/assets/c86a394a-4dc0-4131-be29-2987f417cef6)
2025-05-06 09:46:22 +10:00
dad3927362 UX: link to /new-invite in quick start guide (#32580)
The `/my/invited` page is kind of jarring to send a new admin to? 

Before, directs to `/my/invited`



![image](https://github.com/user-attachments/assets/11b75c5c-d613-4861-bb94-13d1a5fe892c)


After, `/new-invite` (opens the modal on the homepage) 


![image](https://github.com/user-attachments/assets/5534fa5c-6819-44af-8c4c-525bfba54e89)
2025-05-06 09:05:01 +10:00
cbb1787220 DEV: Remove select kit animation (#32582) 2025-05-05 14:40:17 -05:00
54faff1608 DEV: Add a missing path to the stylesheet watcher (#32579)
A followup to https://github.com/discourse/discourse/pull/31416

---------

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2025-05-05 19:31:39 +02:00
49e3b5be76 Bump version to v3.5.0.beta5-dev 2025-05-05 12:58:30 -04:00
133b230ed9 Bump version to v3.5.0.beta4 v3.5.0.beta4 2025-05-05 12:58:30 -04:00
40579a5dad Build(deps-dev): Bump ember-cli from 6.3.1 to 6.4.0 (#32552)
Bumps [ember-cli](https://github.com/ember-cli/ember-cli) from 6.3.1 to
6.4.0.
- [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.3.1...v6.4.0)

---------

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-05 17:24:13 +02:00
5f3dae06fe DEV: Update content-tag to 3.1.3 (#32577) 2025-05-05 17:02:52 +02:00
61b621630c UX: rich editor footnotes position (#32566) 2025-05-05 09:12:09 -03:00
2bdb78b7ad Build(deps): Bump @floating-ui/dom from 1.6.13 to 1.7.0 (#32570)
Bumps
[@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)
from 1.6.13 to 1.7.0.
- [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.0/packages/dom)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 13:48:31 +02:00
e910efd772 Build(deps): Bump ace-builds from 1.40.1 to 1.41.0 (#32569)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.40.1 to
1.41.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.40.1...v1.41.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 13:47:23 +02:00
abca26c1c4 Build(deps): Bump prosemirror-keymap from 1.2.2 to 1.2.3 in the prosemirror group (#32567)
Bumps the prosemirror group with 1 update:
[prosemirror-keymap](https://github.com/prosemirror/prosemirror-keymap).


Updates `prosemirror-keymap` from 1.2.2 to 1.2.3
-
[Changelog](https://github.com/ProseMirror/prosemirror-keymap/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/prosemirror/prosemirror-keymap/compare/1.2.2...1.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 13:47:00 +02:00
25dfc64b39 FEATURE: Add color palette list selection to new UI (#32379)
Follow-up to https://github.com/discourse/discourse/pull/31742

This commit adds a color palettes list to the new color palette edit page
that was introduced in the linked PR to allow navigating between color
palettes. It reuses the same UI that we already have in the legacy color
palette UI (`/admin/customize/colors`), but we may redesign the page in
the future.
2025-05-05 05:12:50 +03:00
3492819c19 DEV: Don't allow context-free system post destruction (#32523)
There are instances of posts being deleted by system_user where the context is left blank in the staff action logs, leading to confusion about why exactly they have been deleted.

This change deprecates using the PostDestroyer as system_user without providing a context, and adds a context to all call sites currently missing it in core. Plugins to be done after this is merged.
2025-05-05 09:58:29 +08:00
ffa406b0b1 UX: Add more info to theme cards (#32334)
Demo:
<img width="1431" alt="Screenshot 2025-05-02 at 2 24 41 pm"
src="https://github.com/user-attachments/assets/c8ec824e-25df-4efc-a4be-c774a2a97896"
/>
<img width="1480" alt="Screenshot 2025-05-02 at 2 24 32 pm"
src="https://github.com/user-attachments/assets/a4020283-9b6d-4f5e-a8c2-72b7608a6026"
/>

Mobile:
<img width="424" alt="Screenshot 2025-05-02 at 2 25 29 pm"
src="https://github.com/user-attachments/assets/af68669a-7bb4-46dc-92ab-6ecc7a3f3842"
/>
<img width="421" alt="Screenshot 2025-05-02 at 2 25 36 pm"
src="https://github.com/user-attachments/assets/961d9f5c-8010-4c5f-a319-6e356b088667"
/>
2025-05-05 09:06:05 +08:00
3b81670a86 UX: apply signup page styles to invite page (#32563)
These styles should generally apply to the invite page as well — fixes
some inconsistencies, including this issue reported here:
https://meta.discourse.org/t/user-fields-at-signup-visual-bug-when-invited-vs-regular-signup/364488

Before: 


![image](https://github.com/user-attachments/assets/78824fc0-ffe9-4135-8cb3-81e17c9a566f)


After:


![image](https://github.com/user-attachments/assets/fe9b09a9-765c-4cc4-af5c-c5a76dddb53c)
2025-05-02 16:24:40 -04:00
9993fae38d Build(deps-dev): Bump rspec-rails from 7.1.1 to 8.0.0 (#32537)
Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 7.1.1 to
8.0.0.
-
[Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md)
-
[Commits](https://github.com/rspec/rspec-rails/compare/v7.1.1...v8.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 18:08:57 +02:00
82d84af6b0 Revert "DEV: Show login-required screen in root route (#32350)" (#32562)
This reverts commit 10df7fdee060d44accdee7679d66d778d1136510.
2025-05-02 11:50:43 -04:00
82bac55994 Build(deps): Bump the babel group with 3 updates (#32535)
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.25.9 to 7.27.1
- [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.1/packages/babel-plugin-proposal-decorators)

Updates `@babel/core` from 7.26.10 to 7.27.1
- [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.1/packages/babel-core)

Updates `@babel/standalone` from 7.27.0 to 7.27.1
- [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.1/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-02 17:35:47 +02:00
91e40d8838 Build(deps): Bump public_suffix from 6.0.1 to 6.0.2 (#32542)
Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from
6.0.1 to 6.0.2.
-
[Changelog](https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/weppos/publicsuffix-ruby/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 17:35:25 +02:00
9a704b8072 Build(deps): Bump psych from 5.2.3 to 5.2.4 (#32551)
Bumps [psych](https://github.com/ruby/psych) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/ruby/psych/releases)
- [Commits](https://github.com/ruby/psych/compare/v5.2.3...v5.2.4)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 17:14:54 +02:00
0f2c5adec5 Build(deps-dev): Bump rspec-mocks from 3.13.2 to 3.13.3 (#32548)
[//]: # (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-mocks](https://github.com/rspec/rspec-mocks) from 3.13.2 to
3.13.3.
- [Release notes](https://github.com/rspec/rspec-mocks/releases)
-
[Changelog](https://github.com/rspec/rspec-mocks/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-mocks/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 17:12:54 +02:00
e6e271a0f4 Build(deps-dev): Bump rspec-expectations from 3.13.3 to 3.13.4 (#32549)
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations)
from 3.13.3 to 3.13.4.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
-
[Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 17:12:27 +02:00
7d07d06f7b Build(deps-dev): Bump rspec-support from 3.13.2 to 3.13.3 (#32550)
Bumps [rspec-support](https://github.com/rspec/rspec) from 3.13.2 to
3.13.3.
-
[Changelog](https://github.com/rspec/rspec/blob/rspec-support-v3.13.3/rspec-support/Changelog.md)
-
[Commits](https://github.com/rspec/rspec/compare/rspec-support-v3.13.2...rspec-support-v3.13.3)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 17:12:14 +02:00
723679ab5e DEV: use distinct emoji in headings (#32559) 2025-05-02 10:43:53 -04:00
dd33132757 UX: fix long category name overflow in category boxes (#32560)
Before:


![image](https://github.com/user-attachments/assets/cc2906e1-5b37-4a11-8a9e-2bb26f420507)


After: 


![image](https://github.com/user-attachments/assets/75823f3f-9f29-4a78-9324-6572502d6f09)
2025-05-02 10:42:15 -04:00
f0da415bea Update Getting Started guide (#32554)
This is a rewrite of the Getting Started guide, focused on reducing the amount of text and number of links, and restructuring the doc to better meet the needs of new admins.
2025-05-02 12:34:55 +10:00
ba7311d807 DEV: remove fa remapping logic (#32478)
Follow up to https://github.com/discourse/discourse/pull/31866, we are
removing the FA name mappings from the codebase. Timeline is mentioned
in Meta topic
https://meta.discourse.org/t/were-upgrading-our-icons-to-font-awesome-6/325349:

> Start May 2025 - removal of old icon names mapping and error level
logging

We'll be merging this in on the 2nd May.

---------

Co-authored-by: Ted Johansson <ted@discourse.org>
2025-05-02 10:20:21 +08:00
926c287be1 DEV: Add user-field-components value transformer (#31099) 2025-05-01 13:58:21 -05:00
732316f80b REFACTOR: remove /mobile/personal-message and move to /common/personal-message (#32546)
This moves the mobile CSS to the common file and deletes the mobile
file. There should be no major visual changes as a result.
2025-05-01 14:57:33 -04:00
9245e9dbc5 DEV: remove wrapping spans from #main-outlet plugin outlets (#32355)
Even when these plugin outlets are unused we end up with empty spans in
the layout, which can get in the way (especially for grid and flex
layouts where empty containers are not collapsed).

These are fairly hard to target without classes present anyway, they'd
have to be picked up with `:has()` or something like `#main-outlet >
span`. I did a quick spot check of themes/components that use these
outlets in http://github.com/discourse and I didn't see any obvious
cases where they were being targeted.

In any cases where the removal does cause issue, the theme can be
updated to target a container added by it, or a wrapping `span` can be
added there.
2025-05-01 12:56:22 -04:00
3e0e44ee7e REFACTOR: remove /mobile/invites-show and move to /common/invites-show (#32532)
This removes `/mobile/invites-show` and moves the styles to
`/common/invites-show` with breakpoints — there are no significant
visual changes
2025-05-01 12:54:32 -04:00
41227ec181 REFACTOR: remove /mobile/new-user and move to /common/new-user (#32533)
This is a straightforward case of porting mobile styles to a breakpoint
in the common file, almost all the mobile styles concern a special
layout for the messages page.

No visual changes.
2025-05-01 12:53:22 -04:00
4cd5e7070b FIX: wizard logo preview (#32543)
Bug introduced in this commit -
https://github.com/discourse/discourse/commit/e41897a3066
2025-05-01 09:57:14 -04:00
4e3d9d88ea FIX: shorten search everything to search (#32544)
`Search everything` was a bit too big.
2025-05-01 09:42:38 -04:00
4d0a817f40 DEV: Compile 'common' CSS into own assets (#31416)
Previously we were compiling core and theme CSS into two targets:
Desktop and Mobile. The majority of both files was the 'common' css.
This commit splits those common styles into their own targets so that
there is less duplication. This should improve compilation times + cache
reuse, as well as opening the door for experiments with
media-query-based mobile-modes.

The only functional change is that we can no longer use `@extend` to
copy 'common' rules in core to mobile/desktop. This is probably for the
best. Duplication and/or mixins are a more native-css pattern for this.

Plugins already have a common / mobile / desktop pattern, so are
unchanged by this commit.
2025-05-01 10:44:49 +01:00
427d4d2b53 DEV: Update workflow concurrency controls to use github.ref_name (#32524)
`github.ref_name` is

> The short ref name of the branch or tag that triggered the workflow
run. This value matches the branch or tag name shown on GitHub. For
example, feature-branch-1.
> 
> For pull requests, the format is <pr_number>/merge.

Not sure why we use `github.run_number` when it is a unique number for
each run of a workflow. `github.head_ref` is only present on pull
request events so it is blank when the workflow is ran on
other branches.

By updating the key to `github.ref_name` + `github.job` we ensure that
only one workflow will be running for a given PR or branch.
2025-05-01 16:02:08 +10:00
5147db2869 Build(deps): Bump multi_xml from 0.7.1 to 0.7.2 (#32541)
Bumps [multi_xml](https://github.com/sferik/multi_xml) from 0.7.1 to
0.7.2.
-
[Changelog](https://github.com/sferik/multi_xml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sferik/multi_xml/compare/v0.7.1...v0.7.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 13:25:56 +10:00
07a4ffdf58 UX: display search input and open modal on click (#32508)
In this PR we hide search input.

https://github.com/discourse/discourse/pull/32485

However, search input is much more intuitive. Therefore, input was
brought back and opens modal on click. In addition, search link was
removed.
2025-05-01 10:12:12 +08:00
3ccb54ba22 DEV: Add composer-save-button-label value transformer (#32531) 2025-04-30 15:51:38 -05:00
13acf58b27 UX: Append '+' to link count if above threshold in topic map (#32093)
Meta:
https://meta.discourse.org/t/suggestion-for-fixing-the-inaccurate-link-counter-value/359527

The link count in the topic map summary is limited to 50 on the backend.
However, the frontend displays exactly 50, even when more links exist. 
This can be misleading as users might assume there are no additional
links.

This PR updates the logic by fetching one extra link from the database
and appending a `+` to the count when there are more than 50 links.

Before:

![image](https://github.com/user-attachments/assets/a741d984-1eb0-41f0-9f58-1a52574fc9bc)

After:

![image](https://github.com/user-attachments/assets/8b1e589a-f85f-4c06-a2ac-dd2b34a41b46)
2025-04-30 12:41:43 -04:00
63a35d6ca7 UX: Fix post stream setting description mentions post menu (#32250)
In https://github.com/discourse/discourse/pull/31375, the
glimmer_post_stream_mode_auto_groups setting was added. While
translating, I noticed its description is identical to the one for
glimmer_topic_list_mode - both say "post menu implementation". I assume
this was actually meant to refer to the "post stream" instead? Since
glimmer_post_stream_mode uses "post stream implementation", I expected
this setting - also related to the post stream - to follow the same
wording.

I had also mentioned this on Crowdin about two weeks ago, but didn’t get
a reply.
2025-04-30 12:37:39 -04:00
10df7fdee0 DEV: Show login-required screen in root route (#32350)
This changes means that login-required sites will show a splash screen
on `/`. Users heading to `/login` or `/signup` will see the respective
forms.
2025-04-30 12:32:18 -04:00
56edbcd9e2 DEV: Add ability to render empty state for custom sidebar section (#32518) 2025-04-30 10:03:31 -05:00
ef529fc8a1 UX: fix topic statuses on category list (#32528)
reported here:
https://meta.discourse.org/t/truncated-pinned-topic-title-breaks-the-layout-in-split-view/363926

Multiple statuses are wrapping incorrectly, this fixes it 


Before:

![image](https://github.com/user-attachments/assets/f52f7fa0-f18e-416d-8235-f133146ba057)


After: 

![image](https://github.com/user-attachments/assets/724b12b1-b7f9-487e-a369-0026e67867b3)
2025-04-30 10:53:30 -04:00
19e93142e4 DEV: Introduce reactive JS API for viewport size (#32060)
Usage:

```js
@service capabilities;

...

this.capabilities.viewport.sm; // True when viewport is sm or larger
this.capabilities.viewport.md; // True when viewport is md or larger
// etc.
```
These booleans will update live when the browser is resized. Therefore,
they should only be used in an autotracking context, so that Ember will
re-render things appropriately when they change.
2025-04-30 15:26:59 +01:00
84659cd234 FEATURE: Add routeHistory service, SessionStore service and make back to forum button go back to previous page (#32260)
1000% copied from what we have in the chat

08d5cf01cd/plugins/chat/assets/javascripts/discourse/services/chat-state-manager.js (L164-L172)

Created a service that will return the last visited URLs.

Also created a sessionStore service.

And added it to the `back-to-forum` component for use.

Maybe we could use it in the `BackButton` component, too.

Then, following the [Rule of
Three](https://blog.codinghorror.com/rule-of-three/), update the chat to
use this service as well.
2025-04-30 09:48:00 -03:00