Commit Graph
60426 Commits
Author SHA1 Message Date
Martin Brennan 37d1849de6 UX: Resize dmenu width for filter on window resize (#34091)
Since we don't have native floatkit/dmenu functionality (yet) to
make the menu stick to the width of the element, this is a
stopgap solution to make sure the menu stays the same width
as the filter input whether resizing the window or hiding/showing
the menu.
2025-08-05 17:44:06 +10:00
Natalie Tay c61a6f83e7 FEATURE: Localize topic titles in notifications and bookmarks (#34059)
Localizes topic titles in these areas
- user notification
- bookmarks

This commit also updates the user notification bookmark list to use fancy
title instead of title, similar to the other user notification tabs.
2025-08-05 12:12:22 +08:00
Jordan VidrineandMartin Brennan acf3d73e63 UX: Add category badges to category filter tip results (#34078)
This PR adds category badges to be shown in the filter tips menu.

---------

Co-authored-by: Martin Brennan <martin@discourse.org>
2025-08-05 13:46:18 +10:00
Krzysztof Kotlarek 025f5ba1e1 DEV: temporarily disable flaky color palette spec (#34088) 2025-08-05 11:27:55 +08:00
Kelv c648160d3f DEV: use floatkit autocomplete for chat composer (#33980)
This PR ports the floatkit-based autocomplete system to chat composer
under a site setting, providing consistent UX across both regular and
chat composers.

### Key Changes

* Adds floatkit_autocomplete_chat_composer setting (defaults to true)
* Adds `fixedTextareaPosition` option and
`createVirtualElementAtTextarea` to DAutocompleteModifier to allow for
positioning of the autocomplete menu relative to the whole textarea
bounds instead of following the cursor - this is better for chat UI &
aligns with current behaviour
2025-08-05 10:43:58 +08:00
Martin Brennan c3e4dd4db6 DEV: Convert FilterTips to use DMenu and refactor components (#33999)
* Use DMenu for the filter tips UI
* Move the input, filtering, and DMenu into the same
`FilterNavigationMenu` component to avoid input event listener
shenanigans
* General renaming, refactors, adding comments
* Move searching/suggestion logic for specific types of filter out into
`FilterSuggestions` lib to avoid cluttering the component
2025-08-05 12:10:40 +10:00
Gary Pendergast 0802135037 DEV: Monkey patch a from_described_class helper in RSpec::Mocks (#34021)
This change adds a new `from_described_class` helper to `RSpec::Mocks`, allowing stubs to only be used when called from the described class in a given spec.

The practical application of this helper is to handle flaky specs, where other code can call the mocks before the test target can.
2025-08-05 12:03:42 +10:00
Jeff Wong 9562465329 FIX: partial migrations (#34085) 2025-08-04 18:07:09 -07:00
Sam 3d9fbd1ddd FIX: do not perform null translation (#34084) 2025-08-04 16:53:16 -07:00
Roman Rizzi a5b0c3bc06 FIX: Make sure strings are correctly escaped before seeding a persona for triage scripts (#34082) 2025-08-05 09:00:02 +10:00
Sérgio Saquetim f57cb094c3 DEV: Simplify post decorators by removing afterAdopt handling (#34020)
Consolidated all decorator logic into a single `decorate` method,
eliminating the complexity of separate `beforeAdopt` and `afterAdopt`
options. Streamlined related API and component logic for consistency and
maintainability.
2025-08-04 17:51:15 -03:00
Sérgio Saquetim e10517edd6 DEV: Ensure poll with @mentions and user statuses renders without errors (#34014)
This commit ensures that polls including @mentions of users with active user
statuses are rendered correctly without errors. It introduces a document
validation check before rendering components, adds fixtures for polls
with mentions, and provides acceptance tests to verify proper rendering
of polls containing @mentions.
2025-08-04 17:50:47 -03:00
Sérgio Saquetim 2223606cca DEV: Add value transformer for post edits indicator labels (#34075)
Introduced the `post-meta-data-edits-indicator-label` transformer to
enable customization of post edits indicator labels. Added integration
tests to validate customization and default behavior.
2025-08-04 17:50:16 -03:00
chapoi c79c5566d1 DEV: add text area option to custom user fields (#34072)
Meta feature request
https://meta.discourse.org/t/is-it-possible-to-have-a-multi-line-longer-text-field-in-the-signup-form/257642/7

This commit adds the option to use a textarea as a custom field:
<img width="1430" height="1520" alt="CleanShot 2025-08-04 at 19 06
45@2x"
src="https://github.com/user-attachments/assets/f827a473-1493-479a-903f-cc2b719e5e87"
/>

### Shown on profile:
<img width="690" height="433" alt="image"
src="https://github.com/user-attachments/assets/c9f386a3-0ca9-4402-9f4e-c3564f347a1c"
/>

### Shown on usercard (not particularly recommended):
<img width="1300" height="670" alt="CleanShot 2025-08-04 at 19 07 22@2x"
src="https://github.com/user-attachments/assets/a9b981cb-afd2-4402-a350-553604b5d070"
/>

### Shown on signup screen
<img width="976" height="1404" alt="CleanShot 2025-08-04 at 19 41 17@2x"
src="https://github.com/user-attachments/assets/548b0bd5-fc6f-4300-94a5-ff1d945a1f43"
/>
2025-08-04 22:12:37 +02:00
Kris 27c9608391 FIX: update fallback style for category-link helper (#34076)
The category-link helper isn't working in some cases, like the user
summary:

Before:
<img width="400" alt="image"
src="https://github.com/user-attachments/assets/5f89f71b-a298-4406-b21b-8b0742b24e02"
/>


After:
<img width="400" alt="image"
src="https://github.com/user-attachments/assets/25871813-ca22-4c89-86c3-45baee7b95a1"
/>


It looks like we were using `category.styleType` instead of
`category.style_type` — I've also added a fallback (to square) if for
some reason `style_type` isn't defined and added some tests
2025-08-04 16:09:04 -04:00
Renato Atilio 442248c08e DEV: use idiomatic prosemirror atEnd selection (#34077)
Uses ProseMirror's idiomatic `Selection.atEnd` instead of trying to
build a `TextSelection`.
2025-08-04 16:55:30 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 188c123f76 Build(deps-dev): Bump stylelint from 16.22.0 to 16.23.0 in the lint group (#33948)
Bumps the lint group with 1 update:
[stylelint](https://github.com/stylelint/stylelint).


Updates `stylelint` from 16.22.0 to 16.23.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
-
[Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/stylelint/stylelint/compare/16.22.0...16.23.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 20:55:30 +02:00
Kris ed420f9391 UX: fix category badges on 404 page and oneboxes (#34071)
Looks like the new styles weren't implemented here, this does it


Before:
<img width="1526" height="504" alt="image"
src="https://github.com/user-attachments/assets/bd00570b-c64c-4a96-a156-f2d64793e4ee"
/>



After: 
<img width="1416" height="526" alt="image"
src="https://github.com/user-attachments/assets/31d75336-c704-40bd-a422-6a553ece62f8"
/>

<img width="1490" height="754" alt="image"
src="https://github.com/user-attachments/assets/22848386-c359-445d-b581-3417f29bde96"
/>

<img width="1446" height="532" alt="image"
src="https://github.com/user-attachments/assets/132b904a-1ef8-4357-be98-5ded856a8edf"
/>
2025-08-04 14:02:51 -04:00
chapoi 0f4ec028d7 UX: remove btn-default class from light-dark toggle (#34070)
The dropdown has `btn-default` classes applied, while they aren't button
defaults and thus it's causing styling issues.

Example mint theme:
* missing icons
* awkward border 

| Before | After |
|--------|--------|
| <img width="253" height="210" alt="CleanShot 2025-08-04 at 17 54 28"
src="https://github.com/user-attachments/assets/073b459a-e6f1-41ae-8065-77c81e6c70df"
/> | <img width="253" height="210" alt="CleanShot 2025-08-04 at 17 55
06"
src="https://github.com/user-attachments/assets/c36931a8-39e9-49c4-86aa-726a463be78c"
/> |
2025-08-04 18:04:40 +02:00
Isaac Janzen c6d8fdea6a DEV: Add and update post plugin outlets (#33944)
- Add `prevPost` and `nextPost` to post outlet params
- Add `prevPost` to  `post-article-class` transformer
- Introduce `in-post-article` plugin outlet for adding extension points
to the post within the `article` itself
- Introduce `post-links` plugin outlet that wraps `PostLinks` component
(I chose to wrap here vs within the component to ensure that we render
the outlet even if there is not post links)
2025-08-04 11:01:25 -05:00
David TaylorandSérgio Saquetim aae6385937 UX: Make AI streaming more efficient under glimmer post stream (#34068)
In the glimmer post stream, mutating `post.cooked` will cause ember to
re-render the HTML. That conflicts with d-ai's own morphlex-based diff
streaming.

To avoid this, we can wait until all streaming has finished before
setting the cooked property of the model.

Co-authored-by: Sérgio Saquetim <saquetim@discourse.org>
2025-08-04 16:15:57 +01:00
Kris b7b7a41d61 UX: fix quote control position in non-glimmer post stream (#34069)
The element ordering is different in the non-glimmer post stream, so
this will fix it (and won't change anything in the glimmer version)

Before:
<img width="1150" height="330" alt="image"
src="https://github.com/user-attachments/assets/926826fe-7671-45da-b985-176cfe5c2cf5"
/>


After: 
<img width="1164" height="302" alt="image"
src="https://github.com/user-attachments/assets/4fa966f4-9a34-4dc4-8b54-d370273a6064"
/>
2025-08-04 11:09:47 -04:00
chapoi c7f68715b5 UX: add spacing to discourse tag box-style (#34065)
Meta report https://meta.discourse.org/t/very-minor-tag-issue/375029

| Before | After |
|--------|--------|
| <img width="938" height="248" alt="CleanShot 2025-08-04 at 13 28
06@2x"
src="https://github.com/user-attachments/assets/db816c75-dc49-4a73-b161-7475a8ccca6c"
/> | <img width="938" height="248" alt="CleanShot 2025-08-04 at 13 27
50@2x"
src="https://github.com/user-attachments/assets/78468f6c-fa04-4d0f-a60f-a9d332e0a7f5"
/> |
2025-08-04 16:10:09 +02:00
chapoi 0dca6d3e4d UX: make tables in blockquotes fixed to prevent overflow (#34061)
Fix for meta report

https://meta.discourse.org/t/a-table-renders-outside-the-boundaries-of-the-post-comment/375689

Broken overflow gets replaced by horizontal scrolling within the table
cells. Not ideal either, but better than before and not much
alternatives afaik.

| Normal (before) | With fixed layout (after) |
|--------|--------|
| <img width="754" height="769" alt="CleanShot 2025-08-04 at 11 49 29"
src="https://github.com/user-attachments/assets/68d040d6-2e0c-45a8-90da-0879d142f1ba"
/> | <img width="789" height="751" alt="CleanShot 2025-08-04 at 11 56
09"
src="https://github.com/user-attachments/assets/d1e2439b-0a5c-46ce-a282-e205e687f5a1"
/> |
2025-08-04 16:09:35 +02:00
Kris 6f489d5303 UX: direct to single tag page from tag intersection when one tag remains (#34038)
When on a tag intersection like this: `/tags/intersection/foo/bar`

We have our tag selector:

<img width="946" height="136" alt="image"
src="https://github.com/user-attachments/assets/6f64cec6-c8f0-456e-a139-769ae66584d1"
/>

When you remove all but one tag, we redirect to /tags, which isn't the
best experience. This change will direct users to the single tag page
`/tag/foo` instead.
2025-08-04 09:42:25 -04:00
Roman Rizzi af1412a307 FIX: Use correct variable for triage personas migration (#34067)
Followup: https://github.com/discourse/discourse/pull/34010 and
https://github.com/discourse/discourse/pull/34066
2025-08-04 10:35:46 -03:00
Roman Rizzi 723e13473f FIX: Remove custom prefix when seeding personas for triage (#34066) 2025-08-04 10:16:45 -03:00
Roman RizziandRafael dos Santos Silva 23650aba6a FEATURE: Use a persona when running the AI triage automation script (#34010)
Co-authored-by: Rafael dos Santos Silva <xfalcox@gmail.com>
2025-08-04 09:11:13 -03:00
Gary Pendergast 33dfd7dba9 DEV: Fix a handful of flaky Prosemirror editor tests (#34054) 2025-08-04 07:47:07 -03:00
Renato Atilio a371bbe945 UX: [rte] properly put cursor at end when putCursorAtEnd is called (#34039) 2025-08-04 07:18:04 -03:00
Loïc Guitaut 1dc7295bba DEV: Add Goldiloader behind a setting (#34006)
This will allow us to try out Goldiloader and see how it performs.
2025-08-04 12:05:02 +02:00
David Taylor 2fc4b34c5a DEV: Enable local-storage for smoke test (#34060)
The localStorage API has been a web standard for a very long time. It's
safe to assume it'll be available in all users browsers, so it makes
sense for the smoke test to match.

Also adds console logs to the smoke-test output, to make debugging
failures easier.
2025-08-04 11:01:09 +01:00
David Taylor 466b9b547a FIX: Infinite reload in viewport-based-mobile-mode (#34058)
We only want to run this logic in the legacy mobile-mode. Setting the
query params in the new viewport-based mobile mode won't do anything.

Followup to 36a42c5ea7
2025-08-04 09:55:30 +01:00
Discourse Translator Bot 9b6e110e5a Update translations (#34027) 2025-08-04 10:47:40 +02:00
Natalie Tay 47a0780b03 FIX: Helper rake task typo in llm setting (#34057)
Small typo in llm setting in helper rake task
2025-08-04 16:23:17 +08:00
Krzysztof Kotlarek bef5114814 FIX: add compontent to all themes button (#34056)
Previously, the "add all themes" button was only adding user-selectable
and active themes. Instead, it should include all installed themes.
2025-08-04 15:35:22 +08:00
Martin Brennan 7121cfd4ab FEATURE: User preference for editor Markdown monospace font (#34051)
This commit responds to feedback in the Discourse Meta discussion

https://meta.discourse.org/t/monospace-font-in-the-markdown-only-editor/359936

This change introduces a user preference that allows users to choose
whether the Markdown editor uses a monospace font. The default setting
is `true` for new sites, but set to `false` for existing sites to avoid
disrupting current users' experiences.

Admins can change the `default_other_enable_markdown_monospace_font`
site setting to manage this for all users.
2025-08-04 14:56:21 +10:00
Krzysztof Kotlarek 7a9cf9356e FEATURE: Add dark color scheme setting for themes (#33967)
- Add dark_color_scheme_id to Theme model
- Update theme editor interface to allow selecting both light and dark
schemes
- Update color scheme selector to support setting default light/dark
schemes
- Fix user preferences to use theme's dark scheme instead of site
setting
<img width="1095" height="823" alt="Screenshot 2025-07-30 at 3 48 57 pm"
src="https://github.com/user-attachments/assets/cdc32e9e-b2ac-41fc-b533-047bbd09406a"
/>
<img width="1020" height="736" alt="Screenshot 2025-07-30 at 3 49 08 pm"
src="https://github.com/user-attachments/assets/63e8473f-d2a7-4fc5-81b7-4dad0d0fcace"
/>
2025-08-04 12:33:41 +08:00
Natalie Tay cd08cf2fa2 FIX: Show category localization selector for non-supported locales when localization exists (#34025)
There's a bug now where if a category localization exists for an
unsupported locale, its locale would show up defaulting to the first
item in the dropdown. By right, the dropdown only shows locales set in
`SiteSetting.content_localization_supported_locales`.

This commit makes sure that localization's locale is added to the dropdown.
2025-08-04 12:04:27 +08:00
Martin Brennan 6f92b20486 DEV: Drop old enable_experimental_sidebar user option (#34052)
This is no longer used anywhere in the codebase.
2025-08-04 13:48:57 +10:00
Martin Brennan 2f07739215 FIX: Event notification translation for predefined attendance (#34053)
When users were sent a notification when they were signed up to
an event with predefined attendance, the translation key was misssing,
since we originally needed to append `_html` to the key, but don't
anymore.

Handled this broken translation and used the eventName instead
of description in the notification, since the latter is not always
set and was not passed to I18n anyway.

<img width="1108" height="100" alt="image"
src="https://github.com/user-attachments/assets/d1d1ed16-237a-451b-b376-0c9f4acb9cd4"
/>

<img width="484" height="148" alt="image"
src="https://github.com/user-attachments/assets/bb793249-9c5e-4ef1-b045-abcef8706c97"
/>
2025-08-04 13:48:03 +10:00
Natalie Tay b7d7f99c04 FEATURE: Allow re-localization twice a day if post version has changed (#34023)
This commit is a continuation of
https://github.com/discourse/discourse-ai/pull/1422.

Previously, we entirely skipped / disallowed localization. With this PR,
- For topics, we will only enqueue the translate title job if the post
revisor indicates there is a title change
- For posts, we will only enqueue the translate post job if there is a
post version change

Both jobs will be enqueued with a delay of
`SiteSetting.editing_grace_period` or `5 minutes`, whichever is larger.
Each topic or post may be retranslated to a locale at a maximum of twice
a day.
2025-08-04 10:58:30 +08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2915dfacd0 Build(deps-dev): Bump playwright from 1.54.1 to 1.54.2 (#34048)
Bumps [playwright](https://github.com/microsoft/playwright) from 1.54.1
to 1.54.2.
- [Release notes](https://github.com/microsoft/playwright/releases)
-
[Commits](https://github.com/microsoft/playwright/compare/v1.54.1...v1.54.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:55:17 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f2556648bd Build(deps): Bump pg from 1.6.0 to 1.6.1 (#34046)
Bumps [pg](https://github.com/ged/ruby-pg) from 1.6.0 to 1.6.1.
- [Changelog](https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.6.0...v1.6.1)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:51:54 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d56e566b39 Build(deps): Bump memfs from 4.26.0 to 4.36.0 (#34049)
Bumps [memfs](https://github.com/streamich/memfs) from 4.26.0 to 4.36.0.
- [Release notes](https://github.com/streamich/memfs/releases)
-
[Changelog](https://github.com/streamich/memfs/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/streamich/memfs/compare/v4.26.0...v4.36.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:44:39 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 35996bacba Build(deps-dev): Bump parallel_tests from 5.3.1 to 5.4.0 (#34045)
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from
5.3.1 to 5.4.0.
-
[Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/grosser/parallel_tests/compare/v5.3.1...v5.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:20:51 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 0e237b62bf Build(deps-dev): Bump extralite-bundle from 2.12 to 2.13 (#34042)
Bumps [extralite-bundle](https://github.com/digital-fabric/extralite)
from 2.12 to 2.13.
-
[Changelog](https://github.com/digital-fabric/extralite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digital-fabric/extralite/commits)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:06:36 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ae181f29b7 Build(deps): Bump regexp_parser from 2.10.0 to 2.11.0 (#34041)
Bumps [regexp_parser](https://github.com/ammar/regexp_parser) from
2.10.0 to 2.11.0.
-
[Changelog](https://github.com/ammar/regexp_parser/blob/master/CHANGELOG.md)
-
[Commits](https://github.com/ammar/regexp_parser/compare/v2.10.0...v2.11.0)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:06:28 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3f3b637c64 Build(deps): Bump cbor from 0.5.9.8 to 0.5.9.9 (#34044)
Bumps [cbor](http://cbor.io/) from 0.5.9.8 to 0.5.9.9.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 01:06:19 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2446258292 Build(deps): Bump rb_sys from 0.9.116 to 0.9.117 (#34043)
Bumps [rb_sys](https://github.com/oxidize-rb/rb-sys) from 0.9.116 to
0.9.117.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
-
[Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.116...v0.9.117)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 00:46:11 +02:00