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

60011 commits

Author SHA1 Message Date
Jarek Radosz
404810a6f1 DEV: Move discourse-post-voting to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
e65677f217 DEV: Move discourse-data-explorer to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
079dd05376 DEV: Move discourse-chat-integration to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
c2af0a92db DEV: Move discourse-math to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
c9fc940c1f DEV: Move discourse-rss-polling to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
383e484fe2 DEV: Move discourse-graphviz to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
683ee9c353 DEV: Move discourse-patreon to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
5e86f2c21f DEV: Move discourse-zendesk-plugin to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
4525a9aeb4 DEV: Move discourse-openid-connect to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
3d00a1389a DEV: Move discourse-oauth2-basic to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
4fa3a17211 DEV: Move discourse-lti to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
1cebc0643d DEV: Move discourse-login-with-amazon to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
336d23f7e4 DEV: Move discourse-microsoft-auth to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Jarek Radosz
863c3ecb1a DEV: Move discourse-apple-auth to core (#33570)
https://meta.discourse.org/t/373574

Internal `/t/-/156778`
2025-07-15 16:38:05 +02:00
Régis Hanol
36157496f6
FEATURE: pass email to external auth on signup (#33559)
And forward them in "discourse id" so we can pre-fill the email field on
the signup page.

Also added `PreloadStore.has("key")` so we can quickly check a key is
present in the "preload store" without actually retrieving it.

Internal ref - t/154880
2025-07-15 16:17:01 +02:00
Natalie Tay
3a6afa75e7
DEV: Supplement updateCategory API doc to include localizations (#33601)
We're moving the `_destroy` logic for localizations to the backend. The
`updateCategory` API should look something like this:

```
# Scenario: edit italian, add japanese, delete spanish (just exclude from list)

# PUT /categories/4
{
  "name": "General",
  "slug": "general",
  "color": "25AAE2",
  #  ...
  "category_localizations": [
    {
      "id": 102
      "locale": "it",
      "name": "generale",
      "description": "Si prega di creare qui argomenti che non rientrano in altre categorie esistenti."
    }
    {
      "locale": "ja",
      "name": "一般",
      "description": "他の既存のカテゴリに該当しないトピックをここに作成してください。"
    }
  ]
}
```
2025-07-15 22:03:33 +08:00
Natalie Tay
d814ef3fa4
DEV: Prevent N+1s when topic list (e.g. /latest) has localized titles (#33616)
Currently visible on
<https://meta.discourse.org/tag/chinese-translation> for `Developers`,
we see an N+1 when loading /latest or any other topic lists due to
`topic_localizations.find_by` which will hit the db.

This PR switches us to use `find` instead as the associations have been
loaded already, and includes a test.
2025-07-15 22:02:54 +08:00
chapoi
f1c7d5fd8e
UX: DMenu-composer z-index (#33618)
* Extract all toolbar-menu's into 1 selector to use a correct z-index
* Ensure all mobile dmenu's have the same z-index
2025-07-15 15:43:31 +02:00
Selase Krakani
8253b14732
DEV: Add category_users converter and importer steps (#33367)
This adds converter(Discourse-only, for now) and importer steps for
`category_users`
2025-07-15 13:21:50 +00:00
Kris
187aeb58ed
UX: use correct name for PMs in user admin stats (#33617)
When admin'ing an account, we have a very old "private topics" text —
this should use the current term, "personal messages"

Reported:
https://meta.discourse.org/t/rename-private-topics-to-personal-message-topics/374264
2025-07-15 09:18:03 -04:00
David Battersby
aaa63c4f6c
FIX: load saved draft when clicking reply to post (#33543)
In the past we have always relied on automatically opening the composer
and auto loading the existing draft when visiting a topic that has a
draft post reply. This is fine to auto load the draft, but when the
composer is closed and reopened on the same page then we have an issue.

The result is that the draft is then deleted because the draft key is
set and the composer body is blank, since it has never been populated
when clicking the reply to post button.

To solve this we can check for existing drafts when clicking the reply
to post button, then load the draft into the composer.

_The challenging part of this change is that we have a number of tests
that were relying on a false positive. Hence in the specs I have
switched some tests to use a fixture that does not have drafts and in
some cases kept the same fixture but mocked the response as having no
drafts returned._
2025-07-15 13:32:31 +04:00
chapoi
f0041661c0
Revert (#33600)
partially reverting
2e11eb20bf
because it hides new-new
2025-07-15 10:12:55 +02:00
David Battersby
514431e040
FIX: my redirect case insensitive params (#33604)
This changes allows the `/my/` prefix redirect to work when the name
param contains uppercase letters.

#### For example:

`/my/messages/group/MyGroup` now redirects to
`/u/username/messages/group/MyGroup`
2025-07-15 09:49:48 +04:00
Kelv
1c8f2b3a77
FIX: include icon for private messages in non message filtered searches (#33611)
Context:
https://meta.discourse.org/t/missing-pm-icon-in-in-all-searches/365094

This ensures PMs are marked as such with the PM icon in searches where
there might be other types of results.
2025-07-15 13:17:27 +08:00
Linca
7a099ebb6a
FEATURE: Allow users to bulk recategorize silently (#33490)
We want to add an option for admins to carry out the operation silently
when they are updating the category for the selected topics. When the
“Perform this action silently” checkbox has been checked, the
`:notify_category_change sidekiq` job should not be enqueued.
2025-07-15 11:42:30 +08:00
Krzysztof Kotlarek
d5693cd8f9
DEV: enable Foundation and stop Default (#33610)
Reveal Foundation theme and stop creating a Default for new instances.
Instead, the Foundation should be set as the default.
2025-07-15 11:16:11 +08:00
Martin Brennan
33abb858e9
DEV: Add X-Discourse-BrowserPageView response header (#33598)
When we are tracking requests in the `Middleware::RequestTracker`, we
have historically added an `X-Discourse-TrackView` response header
for implicitly tracked requests HTML requests, and also explicitly
tracked page view requests when navigating the Ember app.

Within the past couple of years, we introduced the concept of
Browser Page Views (BPVs), which are recorded when requests are made
via AJAX when navigating the app with Ember, and also piggybacked
onto the first MessageBus request on page load. The former is known
as an explicitly tracked request, the latter is a deferred tracked request.

The explicitly tracked browser page views also add the `X-Discourse-TrackView`
header to the response, so it is hard to differentiate which requests are purely
browser page view requests in the logs.

This commit adds a new response header, `X-Discourse-BrowserPageView`,
that acts in a similar way to the existing `X-Discourse-TrackView`
header, but is specifically for requests that are tracked as BPVs (both explicit
and deferred).
2025-07-15 11:28:10 +10:00
Juan David Martínez Cubillos
ac08ac962b
DEV: Remove ability to use users' names in group mention notifications and mentions shown in emails and added :user_notification_email_options plugin modifier to allow plugins reintroduce this or other modifications to emails (#33449)
**Description**

Changes introduced previously on this
[PR](https://github.com/discourse/discourse/pull/33055) are reverted in
order to improve code and add flexibility to the user notifications
emails pipeline
2025-07-14 15:20:08 -05:00
Jordan Vidrine
6ad9bd4eca
DEV: Additional topic list spacing variables (#33571) 2025-07-14 14:54:24 -05:00
Kris
c16f0002fe
UX: minor fullscreen composer adjustments (#33584)
1. The grippie shouldn't appear in full-screen mode, as reported here:
https://meta.discourse.org/t/grip-not-hidden-in-composer-full-screen-mode/373303

2. Composer education popups are tool tall (post the change from
c848263523):
https://meta.discourse.org/t/your-topic-is-similar-to-pop-up-in-full-screen-composer/373304

Before:
<img width="3018" height="1718" alt="image"
src="https://github.com/user-attachments/assets/6001ff9c-1774-428c-8367-6dc9d4193336"
/>


After:
<img width="3014" height="1708" alt="image"
src="https://github.com/user-attachments/assets/bdf7b099-209e-4c9b-9c79-cb9e1412a0f8"
/>
2025-07-14 14:23:44 -04:00
David Taylor
acd74860de
DEV: Enable admin warning for discourse.script-tag-discourse-plugin (#33605)
https://meta.discourse.org/t/366482
2025-07-14 14:54:11 +01:00
David Taylor
5e6157c61d
DEV: Include sourcemap when generating JavascriptCache digest (#33603)
It's possible for different source files to generate the same compiled
output (e.g. if only a comment changes), so we should include the
sourcemap content when calculating a digest.

Extracted from #33103
2025-07-14 14:09:05 +01:00
David Taylor
2a356130c0
DEV: Move theme hbs transforms into dedicated file (#33602)
Extracted from #33103
2025-07-14 14:08:56 +01:00
Jarek Radosz
378bed012c
DEV: Improve separation of core and plugin CI (#33583)
1. Use separate caches for plugins and core
2. Don't load plugins in non-plugin jobs
3. Propagate LOAD_PLUGINS to all steps
4. Check annotations of plugin models
5. Update outdated annotations
2025-07-14 14:28:30 +02:00
dependabot[bot]
2d10a783bd
Build(deps): Bump @babel/standalone from 7.28.0 to 7.28.1 in the babel group (#33588)
Bumps the babel group with 1 update:
[@babel/standalone](https://github.com/babel/babel/tree/HEAD/packages/babel-standalone).


Updates `@babel/standalone` from 7.28.0 to 7.28.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.28.1/packages/babel-standalone)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 14:26:16 +02:00
dependabot[bot]
b62e681af1
Build(deps-dev): Bump webpack from 5.100.0 to 5.100.1 (#33590)
Bumps [webpack](https://github.com/webpack/webpack) from 5.100.0 to
5.100.1.
- [Release notes](https://github.com/webpack/webpack/releases)
-
[Commits](https://github.com/webpack/webpack/compare/v5.100.0...v5.100.1)

---------

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-14 14:23:50 +02:00
dependabot[bot]
ebcb48b085
Build(deps-dev): Bump lefthook from 1.12.1 to 1.12.2 (#33592)
Bumps [lefthook](https://github.com/evilmartians/lefthook) from 1.12.1
to 1.12.2.
- [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.12.1...v1.12.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 14:23:17 +02:00
Krzysztof Kotlarek
19c3beb555
Revert "DEV: enable Foundation and stop Default" (#33599)
Reverts discourse/discourse#33508
2025-07-14 16:17:40 +08:00
Ted Johansson
1bf7136b27
FIX: Broken links to site settings under Content section (#33597)
The Content section in particular has four tabs which are all site setting pages. It does not have one under /settings, like other sections.

The admin search functionality will automatically use /settings for multi-tabbed sections. This results in a 404 when searching for Content site settings.

This PR adds a front-end redirect (replaceWith) for /content/settings to fix the immediate issue.
2025-07-14 16:14:50 +08:00
Ted Johansson
6bc460a78d
DEV: Move post-related specs from guardian_spec to post_guardian_spec (#33587)
This is the first in a series of PRs aimed at organizing the guardians and their tests a bit better to make them more discoverable and reduce the amount of "pinballing" around looking for the relevant methods.

There is no change to any functionality, and the tests have been copied over as-is, except where fixture variables needed renaming to fit in the new spec file.
2025-07-14 16:14:19 +08:00
Martin Brennan
cbf88d617e
UX: Shortcuts for editor heading toolbar (#33578)
Uses the following shortcuts for the editor heading toolbar:

* Ctrl + Alt + 1: Heading 1
* Ctrl + Alt + 2: Heading 2
* Ctrl + Alt + 3: Heading 3
* Ctrl + Alt + 4: Heading 4
* Ctrl + Alt + 0: Paragraph

On macOS, substitute `Ctrl` with `Cmd` and `Alt` with `Option`.

Also adds composer shortcuts to keyboard shortcut help modal (?)
2025-07-14 17:40:28 +10:00
Krzysztof Kotlarek
699f35aa70
DEV: enable Foundation and stop Default (#33508)
Reveal Foundation theme and stop creating a Default for new instances.
Instead, the Foundation should be set as the default.
2025-07-14 15:35:07 +08:00
Krzysztof Kotlarek
d164351458
DEV: remove deduplicate horizon script (#33595)
The Horizon theme is now in core, and the remote Horizon repo is
deprecated. This script is not needed anymore.
2025-07-14 14:34:47 +08:00
Linca
a3cff97b48
FEATURE: Make it easier for staff to see if a profile is silenced (#33537)
This commit make it easier for staff to see if a profile is silenced by
aligning it with how suspended notices are shown.

- The number of times a profile has been silenced is shown in the staff
counters banner at the top of the public user profiles.
- Clicking on the silenced note in the staff counters banner goes to a
filtered view of the staff action logs for the user and the silenced
action.
- The profile indicates if a user is silenced and shows the date they
are silenced until. This looks exactly the same as how it currently
displays for suspended users, with the added info of the date. This is
also displayed on the user card, the same as suspended notices currently
are.

## Screenshots


![image](https://github.com/user-attachments/assets/43cf8134-3391-43ff-98fe-fcba07c9e3dd)

![image](https://github.com/user-attachments/assets/2804dcba-70b2-4cf2-8a93-63433a23b481)
2025-07-14 12:44:31 +08:00
Martin Brennan
96dc65d69c
UX: Update composer placeholder for RTE (#33594)
We don't really want to encourage HTML in the RTE,
and BBCode is pretty technical too, so this commit
simplifies the copy of the placeholder for the RTE
2025-07-14 14:34:29 +10:00
Joffrey JAFFEUX
226bc5c359
FIX: correctly allow to translate my messages (#33586)
We were not correctly converting the key, it was outputting "my
messages" instead of "my_messages".
2025-07-14 09:48:49 +10:00
Kris
5eca6d826e
UX: make navigation container full-width again (#33581)
Looks like this regressed in 20f57aec12,
this gets it fixed


Before:
<img width="758" height="224" alt="image"
src="https://github.com/user-attachments/assets/cecef214-b547-4bf2-a41c-fc9f8f0031d1"
/>


After:
<img width="764" height="210" alt="image"
src="https://github.com/user-attachments/assets/731ddc08-4c7d-4edf-85b3-64fffd741eb2"
/>
2025-07-11 12:33:29 -04:00
Kris
b081dadfed
A11Y: add aria-label to advanced search date input (#33580)
The date control here doesn't have a label:

<img width="608" height="170" alt="image"
src="https://github.com/user-attachments/assets/5517d5d2-f64b-4cf9-aad0-f14152a85ffd"
/>

This adds the label, and also removes the headerAriaLabel from the
before/after dropdown — the dropdown has a label applied elsewhere so
this wasn't doing anything (tested with NVDA)
2025-07-11 12:19:24 -04:00
Sérgio Saquetim
301f27caaa
DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
Kris
cb0b8351a9
A11Y: onebox avatars/images are decorative, so screenreaders can skip (#33572)
Adding `alt=""` to tell screenreaders to skip these, we don't reliably
have alt content available for onebox images and they tend to be
decorative, so better to omit.


<img width="738" height="151" alt="learn.microsoft.com onebox with the
link whats new in C# 11, there's a purple C# badge to the left of the
link"
src="https://github.com/user-attachments/assets/15bdc830-683f-4c69-a11b-9d54c66fa627"
/>


We already do this in some oneboxes, so this covers some more cases
including the generic.
2025-07-11 09:55:48 -04:00