Commit Graph

34059 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
6740a340ca
DEV: unifies emoji picker (#28277)
The chat emoji picker is renamed emoji-picker, and the old emoji-picker is removed.

This commit doesn't attempt to fully rework a new emoji-picker but instead tries to migrate everything to one picker (the chat one) and add small changes.

Other notable changes:
- all the favorite emojis code has been mixed into one service which is able to store one state per context, favorites emojis will be stored for all topics, and for each chat channel. Meaning that if you always use a specific emoji in a channel, it will only show as favorite emoji in this channel.
- a lot of static code has been removed which should improve initial load perf of discourse. Initially this code was around to improve the performance of the emoji picker rendering.
- the emojis are now stored, once the full list has been loaded, if you close and reopen the picker it won't have to load them again.

List of components:

- `<EmojiPicker />` will render a button which will open a dropdown
- `<EmojiPickerContent />` represents the content of the dropdown alone, it's useful when you want to render a picker from an action which is not the default picker button
- `<EmojiPickerDetached />` just a simple wrapper over `<EmojiPickerContent />` to make it easier to use it with `this.menu.show(...)`

---------

Co-authored-by: Renato Atilio <renatoat@gmail.com>
2025-01-08 11:41:36 +01:00
Ted Johansson
d9ddc25808
DEV: Convert admin API keys to conform to UI guidelines (#30096)
This PR updates the admin API keys page to follow the Admin UI Guidelines. In addition it modernizes all the JavaScript involved in this admin area.
2025-01-08 18:11:38 +08:00
Sam
9cf78ba195
FEATURE: show silence reason when viewing silenced users (#30635)
This adds the Silence Reason column to silenced user lists.

This feature helps combat large spam attacks cause you can quickly see
why a user was silenced and then bulk act on all the silenced users
2025-01-08 16:04:19 +11:00
Ella E.
a88c86beef
FIX: Cleaned up horizontal nav scrolling so arrows show/hide properly (#30621) 2025-01-07 18:07:44 -07:00
Osama Sayegh
4f9359d056
FIX: Name field should appear in the signup form for login-required sites (#30634)
Meta topic: https://meta.discourse.org/t/full-name-at-sign-up-went-missing/345662/17?u=osama

The preloaded `site` object for anons on login-required sites is a stripped down version of the full object with just a specific set of attributes and doesn't use the site serializer. This results in the `full_name_required_for_signup` and `full_name_visible_in_signup` attributes not making it to the client app when a login-required site is accessed by an anon, causing the name field in the signup form to not be rendered, even when it's required.

This commit includes those attributes in the stripped down version of the `site` object that's used for anons on login-required sites.
2025-01-08 03:49:34 +03:00
dependabot[bot]
a08d6e8f37
Build(deps-dev): Bump the embroider group with 2 updates (#30629)
Bumps the embroider group with 2 updates: [@embroider/compat](https://github.com/embroider-build/embroider/tree/HEAD/packages/compat) and [@embroider/core](https://github.com/embroider-build/embroider/tree/HEAD/packages/core).


Updates `@embroider/compat` from 3.7.1 to 3.8.0
- [Release notes](https://github.com/embroider-build/embroider/releases)
- [Changelog](https://github.com/embroider-build/embroider/blob/main/CHANGELOG.md)
- [Commits](https://github.com/embroider-build/embroider/commits/HEAD/packages/compat)

Updates `@embroider/core` from 3.4.20 to 3.5.0
- [Release notes](https://github.com/embroider-build/embroider/releases)
- [Changelog](https://github.com/embroider-build/embroider/blob/main/CHANGELOG.md)
- [Commits](https://github.com/embroider-build/embroider/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@embroider/compat"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: embroider
- dependency-name: "@embroider/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: embroider
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 01:14:49 +01:00
dependabot[bot]
a2739df96b
Build(deps): Bump ace-builds from 1.37.2 to 1.37.3 (#30630)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.37.2 to 1.37.3.
- [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.37.2...v1.37.3)

---
updated-dependencies:
- dependency-name: ace-builds
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 00:14:34 +01:00
dependabot[bot]
3bf20c6b33
Build(deps-dev): Bump @swc/core from 1.10.4 to 1.10.6 (#30632)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.10.4 to 1.10.6.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/compare/v1.10.4...v1.10.6)

---
updated-dependencies:
- dependency-name: "@swc/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 00:13:52 +01:00
dependabot[bot]
eef35c89c4
Build(deps-dev): Bump @floating-ui/dom from 1.6.12 to 1.6.13 (#30631)
Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.12 to 1.6.13.
- [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.6.13/packages/dom)

---
updated-dependencies:
- dependency-name: "@floating-ui/dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 00:13:28 +01:00
Sérgio Saquetim
2a459b3dfe
DEV: Enable the Glimmer post menu admin notices (#30595) 2025-01-07 14:37:50 -03:00
Sérgio Saquetim
7fd2fb6b85
DEV: Display feedback in the Glimmer post menu on iOS / iPadOS devices (#30594)
This commit introduces a workaround for a behavior observed in Safari for iOS / iPadOS where the feedback message wasn't being displayed after clicking on the copy button in the Glimmer post menu
2025-01-07 14:37:14 -03:00
Mark VanLandingham
260017de1d
FIX: Move posts modal passing topic instance rather than ID (#30622)
Fixes issue in type difference due to modernization in this commit  df9de3022f
2025-01-07 09:38:46 -06:00
Jarek Radosz
affe26f0dd
DEV: Update nokogiri to 1.18.1 (#30554)
Nokogiri/libxml is now more strict in terms of params it receives.

It uses kwargs vs options object (I fixed an issue there in #30545) doesn't accept nil/blank html (fixed here) and most importantly handles encoding in a different way. It seems to require explicitly specifying UTF8.

* Build(deps): Bump nokogiri from 1.16.8 to 1.18.1

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.8 to 1.18.1.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.16.8...v1.18.1)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 12:05:39 +01:00
Martin Brennan
c1a46995a7
FIX: Wizard improvements post-merge part 1 (#30612)
* FIX: Wizard improvements post-merge part 1

Followup 3135f472e2

Fixes the following:

* On mobile, the Styling step was very narrow
* When clicking Next on the Styling step after previously
  selecting Hot, we got an error

Also makes the following UX improvements for the preview:

* Use different topic titles for Latest and Hot
* Also make Hot view and reply numbers higher

This helps differentiate the two previews.

* DEV: Review fixes
2025-01-07 17:01:05 +10:00
Martin Brennan
8185770d63
UX: Admin setting page consistency - Files and Other (#30572) (#30614)
Followup c2282439b3

Make the Files and Other config pages reached from the sidebar
use our consistent site setting page rules.

Also slightly improves AdminAreaSettings so we don't show
"Settings not found" when still loading settings.
2025-01-07 16:39:00 +10:00
Gary Pendergast
ec3b6d57c2
UX: Admin setting page consistency - Onebox (#30611)
Create a basic config page that only contains Onebox-related settings, to replace the "onebox" category view linked to from "Onebox" in the admin sidebar.
2025-01-07 16:21:53 +11:00
Gary Pendergast
46e4290a2a
UX: Admin setting page consistency - User API (#30610)
Create a basic config page that only contains user API-related settings, to replace the "user_api" category view linked to from "User API" in the admin sidebar.
2025-01-07 16:05:54 +11:00
Gary Pendergast
18a8ca38ff
UX: Admin setting page consistency - Rate Limits (#30609)
Create a basic config page that only contains rate limiting-related settings, to replace the "rate_limits" category view linked to from "Rate limits" in the admin sidebar.
2025-01-07 15:46:40 +11:00
Gary Pendergast
ef8b62ae0a
UX: Admin setting page consistency - Developer (#30607)
Create a basic config page that only contains developer-related settings, to replace the "developer" category view linked to from "Developer" in the admin sidebar.
2025-01-07 15:17:36 +11:00
Gary Pendergast
9ffbf93aa7
UX: Admin setting page consistency - Spam (#30606)
Create a basic config page that only contains security-related settings, to replace the "security" category view linked to from "Security settings" in the admin sidebar.
2025-01-07 15:17:15 +11:00
Krzysztof Kotlarek
51a444ab53
FIX: consistent delete button for admin panel (#30592)
Move the delete button to more options to follow guide https://meta.discourse.org/t/creating-consistent-admin-interfaces/326780#p-1605522-h-5d-table-26
2025-01-07 14:05:45 +11:00
Gary Pendergast
d9d1da82cb
UX: Admin setting page consistency - Security (#30598)
Create a basic config page that only contains security-related settings, to replace the "security" category view linked to from "Security settings" in the admin sidebar.
2025-01-07 13:48:40 +11:00
Martin Brennan
70381a1e39
UX: Admin setting page consistency - Experimental (#30572) (#30603)
Followup c2282439b3

Make the Experimental config page reached from the sidebar
use our consistent site setting page rules.
2025-01-07 12:22:10 +10:00
Martin Brennan
725e146dca
FIX: Calculate experiment_enabled on server for "What's new?" (#30599)
Experimental "What's new?" feature feed items previously calculated
a boolean for experimentEnabled on the client based on the siteSettings
service, and this would control the initial state of the experiment
toggle.

However this requires the person who creates the site setting for the
experiment to remember to set it to `client: true`. This commit removes
that manual step by calculating whether the experiment is enabled
server-side, where we have access to all the site settings.
2025-01-07 11:27:24 +10:00
Martin Brennan
30be75460f
UX: Admin setting page consistency - Group permissions (#30528) (#30578)
* UX: Admin setting page consistency - Group permissions (#30528)

Followup c2282439b3 and
21470e4afd

Adds a new "Group permissions" page and group_permissions site
setting area, which shows every single group-based site setting
in the app and core plugins.

Also adds a "trust_levels" area to show on the already moved
admin "Trust level" settings page, since that previously was
showing a mix of trust level settings and allowed group settings.

* DEV: Review fixes
2025-01-07 11:25:21 +10:00
Ella E.
fd909dd348
UX: Refactor nav stack active element (#30601)
* UX: Add a grey background and bold text to highlight the active element in the nav stack
2025-01-06 18:14:17 -07:00
dependabot[bot]
5202532acb
Build(deps): Bump ace-builds from 1.37.1 to 1.37.2 (#30590)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.37.1 to 1.37.2.
- [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.37.1...v1.37.2)

---
updated-dependencies:
- dependency-name: ace-builds
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 01:35:00 +01:00
Martin Brennan
bcc34420bb
UX: Remove version from "What's new?" items (#30596)
This version number is a technical detail that controls
what items show up on certain sites, most admins don't
need this level of detail. Remove it here, maybe we can
add it back in some hidden way later if needed.
2025-01-07 10:06:10 +10:00
Martin Brennan
d8692faf00
UX: More translations for admin dashboard (#30570)
Followup 8d5c4ecc33

Implement review suggestions from https://github.com/discourse/discourse/pull/30541
after merge, and also fix other hardcoded strings on this
dashboard.
2025-01-07 09:49:34 +10:00
Kris
f0ac25cf35
UX: adjust mobile to avoid progress bar jitter (#30591) 2025-01-06 17:57:24 -05:00
David Taylor
210559edc8
DEV: Support expand-pinned modifier in legacy topic-list (#30587)
This provides an easier upgrade path for themes/plugins. Matches the strategy used for other new topic-list-related modifiers.
2025-01-06 22:33:36 +00:00
Kris
116c3f7f8d
UX: improve table hover states, fix table button margin issue (#30585) 2025-01-06 13:59:48 -05:00
Kris
3dfe1a9fda
UX: add missing icon for open_topic small action (#30586) 2025-01-06 13:50:58 -05:00
Kris
1ae341fa38
UX: only show red count in IP lookup when greater than 0 (#30584) 2025-01-06 11:58:12 -05:00
David Taylor
486ff2a564
UX: Do not anchor scroll on topic navigation/map (#30580)
topic-navigation and topic-map appear in the DOM before the post stream, and are then rearranged with CSS grid. That means that, if they are entirely within the viewport, and does not have a fixed/sticky position, then they will be chosen as the browser's scroll anchor point.

We never want these elements to be used as the anchor, so we can set `overflow-anchor: none`.

https://meta.discourse.org/t/344386/16
2025-01-06 10:13:29 +00:00
Gary Pendergast
f5126199f6
UX: Admin setting page consistency - Navigation (#30574)
Create a basic config page that only contains navigation-related settings, to replace the setting filtered view linked to from "Navigation" in the admin sidebar.
2025-01-06 17:44:33 +11:00
Martin Brennan
17f4052068
UX: Admin setting page consistency - Search (#30528) (#30573)
Followup c2282439b3

Make the Search config page reached from the sidebar
use our consistent site setting page rules.
2025-01-06 16:36:48 +10:00
Martin Brennan
9a87baaab4
UX: Admin setting page consistency - Legal (#30572)
Followup c2282439b3

Make the Legal config page reached from the sidebar
use our consistent site setting page rules.
2025-01-06 16:08:42 +10:00
Martin Brennan
21470e4afd
UX: Admin setting page consistency - Trust levels (#30571)
Followup c2282439b3

Make the trust levels config page reached from the sidebar
use our consistent site setting page rules.
2025-01-06 15:53:18 +10:00
Martin Brennan
e987874204
FIX: Dashboard last checked date was always English (#30569)
The `problemsTimestamp` on the admin dashboard was always
forcing the "en" locale for some reason, we can remove the locale
entirely because we already set the locale for moment.js using
I18n on the server-side.

c.f. https://meta.discourse.org/t/last-check-date-not-localized-in-admin-dashboard/345483
2025-01-06 14:59:21 +10:00
Gary Pendergast
5463b845e3
UX: Admin setting page consistency - Site Logo (#30567)
Create a basic config page that only contains site logo settings, to replace the "branding" category linked to from "Site logo" in the admin sidebar.
2025-01-06 15:45:19 +11:00
Gary Pendergast
01ceeae2d6
UX: Admin setting page consistency - Fonts (#30564)
Create a basic config page that only contains font-related settings, to replace the setting filtered view linked to from "Font style" in the admin sidebar.
2025-01-06 15:05:40 +11:00
Kelv
b07e7cc70f
DEV: refactor setting object mixin to helper class (#30529)
This PR moves the logic from the setting-object mixin to a helper class. I've opted to maintain the interface of the previous classes (ThemeSettings / SiteSetting) that used the mixed-in methods through aliases so that we limit the amount of changes here (these are referenced in the string form and across classes/templates).

Another option we may consider in future if we want to optimize for performance is straight duplication which would trade off this overhead of aliasing/chaining calls through the helper for some duplicate code - only 2 models require these methods at the time of this PR.
2025-01-06 12:02:46 +08:00
Arpit Jalan
d400fe6623
FEATURE: add new setting to select view for category page on mobile (#30519) 2025-01-06 09:25:25 +05:30
Krzysztof Kotlarek
407fa69778
UX: admins embedding page follows admin ux guideline (#30122)
Conversion of /admin/customize/embedding page to follow admin UX guidelines.
2025-01-06 13:01:08 +11:00
Martin Brennan
02113fc22a
DEV: Add isTablet to capabilities service (#30562)
We already had isIpadOS, but for some themes and components
we really need to do different things if the user is on
a tablet, including Android tablets.

isTablet and isTabletScreen have been introduced to the
capabilities service.

isTablet is true if the screen size is a tablet, touch
is detected, or we have already detected iPad OS, or
the device matches tablet UAs

isTabletScreen checks both portrait and landscape dimensions
of 1280x600 which should cover most cases.
2025-01-06 11:28:38 +10:00
dependabot[bot]
53b51e0d56
Build(deps-dev): Bump ember-cli from 6.0.1 to 6.1.0 (#30459)
Bumps [ember-cli](https://github.com/ember-cli/ember-cli) from 6.0.1 to 6.1.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.0.1...v6.1.0)

---
updated-dependencies:
- dependency-name: ember-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-05 00:23:20 +01:00
Osama Sayegh
e2129dc07c
FIX: Allow signups when full names are disabled (#30551)
Follow-up to 3187606d34

When the `enable_names` setting is false and the `full_name_requirement` setting is set to `required_at_signup`, the name field in the signup form should effectively be not required (and hidden). However, that is not actually the case at the moment because the `name-validation.js` mixin only checks for the `full_name_requirement` setting when determining whether the name field should block a new signup.

This commit fixes the issue by making the `full_name_required_for_signup` and `full_name_visible_in_signup` site attributes check for the `enable_names` setting themselves. This spares any consumers of these properties from having to remember to include a check for the `enable_names` setting.
2025-01-04 15:13:44 +03:00
Renato Atilio
b4f0a8748d
UX: avoid triggering the autocomplete mid-word (#30042)
With the previous logic, autocompletes were being opened mid-word, which was annoying and didn't properly work – selecting an option would generate an invalid format, mixing existing with new.

This PR makes a simple change: only ever trigger an autocomplete on word ends, and close them when arrow-navigating out of the word-end boundary.

ref /t/-/143169
2025-01-03 16:27:44 -03:00
Bryce Huhtala
dacb5d5d33
UX: use em for code font-size (#30547) 2025-01-03 13:09:29 -05:00
Angus McLeod
4d5be463f6
Use lambda to dynamically evaluate allowed user api key client scopes (#30544) 2025-01-03 10:25:21 -05:00
Gabriel Grubba
13b9493bf0
DEV: Add subcategories with featured topics list plugin outlet (#30538)
This adds plugin outlets for mobile and desktop views of the subcategories with featured topics list.
2025-01-03 10:18:57 -03:00
Jan Cernik
1c893d1725
FIX: Show error message when password is too common (#30507) 2025-01-03 09:23:14 -03:00
Jarek Radosz
d8e8c9f1e4
DEV: Convert UserFlagPercentage to gjs (#30453) 2025-01-03 13:20:26 +01:00
Natalie Tay
91f7ae2741
DEV: Allow export user archive (job) to be requested and sent to an admin (#30543)
It is not possible for an admin to generate a suspended user's archive now, disallowing SAR (subject access requests) under the GDPR.

This commit expands the export_user_archive job to allow specifying a requesting_user_id which will send the archive to an admin. When not specified, this defaults to the user itself.
2025-01-03 14:27:10 +08:00
Osama Sayegh
5a55c9062a
DEV: Add reviewables:populate rake task (#30540)
Adds a new reviewables:populate rake task that works in a similar fashion to the existing *:populate rake tasks. The rake task creates pending reviewable of all core types, with possibility for plugins to extend the task to populate their own reviewable types.
2025-01-03 10:05:04 +08:00
Martin Brennan
4aa7a89371
DEV: Round 1 converting admin site setting components to gjs (#30526)
Converts the following site setting components:

* Bool
* Category
* Colors
* Category
* CompactList
* EmojiList
2025-01-03 11:34:28 +10:00
Martin Brennan
8d5c4ecc33
FIX: Dashboard report change tooltip was not translated (#30541)
Use i18n in the JS code instead of concatenating English
strings.

c.f. https://meta.discourse.org/t/titles-on-graphs-in-community-health-dashboard-are-not-localized/302776/8?u=martin
2025-01-03 11:20:29 +10:00
Martin Brennan
3260654505
UX: Admin setting page consistency - Notifications (#30528)
Followup c2282439b3

Make the Notifications config page reached from the sidebar
use our consistent site setting page rules.
2025-01-03 10:34:40 +10:00
Guhyoun Nam
b552d7214b
DEV: Add PluginOutlet on full-page-search-above-search-header and filters (#30454)
This PR adds PluginOutlets on full-page-search-above-search-header and full-page-search-filters.
2025-01-02 14:35:10 -06:00
Isaac Janzen
b1602d0e7f
DEV: Add topic-list-item-expand-pinned value transformer (#30537)
- Add `topic-list-item-expand-pinned` value transformer
2025-01-02 13:51:46 -06:00
Bryce Huhtala
b3772e23bf
UX: inherit font-size for code in headings (#30536)
* UX: inherit font-size for code in headings

* UX: use descendant selector

* FIX: linting
2025-01-02 13:30:01 -05:00
Joffrey JAFFEUX
35f8b1d5d3
DEV: use isFocused dom helper (#30533) 2025-01-02 15:02:20 +01:00
dependabot[bot]
8c94e17b6b
Build(deps): Bump the highlightjs group across 1 directory with 2 updates (#30465)
Bumps the highlightjs group with 2 updates in the / directory: [@highlightjs/cdn-assets](https://github.com/highlightjs/highlight.js) and [highlight.js](https://github.com/highlightjs/highlight.js).


Updates `@highlightjs/cdn-assets` from 11.10.0 to 11.11.1
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/11.10.0...11.11.1)

Updates `highlight.js` from 11.10.0 to 11.11.1
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/11.10.0...11.11.1)

---
updated-dependencies:
- dependency-name: "@highlightjs/cdn-assets"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: highlightjs
- dependency-name: highlight.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: highlightjs
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 13:37:16 +01:00
dependabot[bot]
72d7d683a6
Build(deps-dev): Bump ember-cli-deprecation-workflow from 3.0.2 to 3.1.0 (#30492)
Bumps [ember-cli-deprecation-workflow](https://github.com/ember-cli/ember-cli-deprecation-workflow) from 3.0.2 to 3.1.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)

---
updated-dependencies:
- dependency-name: ember-cli-deprecation-workflow
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 13:18:48 +01:00
dependabot[bot]
d345cbef06
Build(deps-dev): Bump @swc/core from 1.10.1 to 1.10.4 (#30502)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.10.1 to 1.10.4.
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/compare/v1.10.1...v1.10.4)

---
updated-dependencies:
- dependency-name: "@swc/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 13:05:10 +01:00
Joffrey JAFFEUX
9b7fc3797e
UX: do not tab to an already active tab (#30531) 2025-01-02 12:28:57 +01:00
Joffrey JAFFEUX
a5ba788a23
DEV: allows d-menu to refocus trigger (#30522) 2025-01-02 09:31:15 +01:00
Ella E.
e04af92740
UX: Add highlight for active nav in admin secondary sidebar (#30486)
This PR makes the secondary sidebar in the admin UI more consistent
navigation experience:

* Added a coloured background for links on hover
* Replaced the bold text and line style with a distinct background
highlight, ensuring it complements the admin sidebar while maintaining
its own identity
* Bringing in arrow indicators to match the active navigation state in
the category settings

### Before
<img width="488" alt="image"
src="https://github.com/user-attachments/assets/aa843766-0ed7-435a-8880-6f0598aa4782"
/>


### After
<img width="475" alt="image"
src="https://github.com/user-attachments/assets/ec31bab9-0f51-4757-ab06-95a961ae17ee"
/>
2025-01-01 23:50:16 -07:00
Kelv
50ac0a5702
DEV: refactor singleton mixin to class decorator (#30498)
Refactors the Singleton mixin into a class decorator that directly mutates target classes with the same static property & functions as the mixin. This maintains the public interface of such singleton classes.

Classes refactored to use the singleton class decorator:

Session
User
Site
I removed singleton functionality from LogsNotice since services are already singletons and what we had previously defined in its customized createCurrent method could be replaced by directly injecting the relevant services into the class. This also allowed us to get rid of the logs-notice initializer.

We are adding a deprecation warning to the Singleton mixin instead of deleting since there are plugins that could still be using it.
2025-01-02 12:57:48 +08:00
Martin Brennan
9a12eb5c3c
FIX: Wizard branding step null logo (#30523)
Followup 3135f472e2

Fixes an issue where the wizard branding step would
error if SiteSetting.logo was null, this did not come
up during testing because in our testing discourse-logo-sketch-small.png
is used for the logo settings.
2025-01-02 10:44:31 +10:00
Martin Brennan
3135f472e2
FEATURE: Improve wizard quality and rearrange steps (#30055)
This commit contains various quality improvements to
our site setup wizard, along with some rearrangement of
steps to improve the admin setup experience and encourage
admins to customize the site early to avoid "all sites look the
same" sentiment.

#### Step rearrangement

* “Your site is ready” from 3 → 4
* “Logos” from 4 → 5
* “Look and feel” from 5 → 3

#### Font selector improvements

Changes the wizard font selector dropdown to show
a preview of all fonts with a CSS class so you don't
have to choose the font to get a preview.

Also makes the fonts appear in alphabetical order.

#### Preview improvements

Placeholder text changed from lorem ipsum to actual topic titles,
category names, and post content. This makes it feel more "real".

Fixes "undefined" categories. Added a date to the topic timeline.

Fixes button rectangles and other UI elements not changing in
size when the font changed, leading to cut off text which looked super
messy. Also fixed some font color issues.

Fixed table header alignment for Latest topic list.

#### Homepage style selector improvements

Limited the big list of homepage styles to Latest, Hot, Categories with latest topics,
and Category boxes based on research into the most common options.

#### Preview header

Changed the preview header to move the hamburger to the left
and add a chat icon

#### And more!

Changed the background of the wizard to use our branded blob style.
2025-01-02 09:28:23 +10:00
Martin Brennan
c2282439b3
UX: Move first settings admin route to config page (#30510)
For consistency, we are updating all sidebar links that
point to an /admin/customize/site_settings URL to their
own config pages, in preparation for more focused config
pages in future. This will mitigate the issue we have now,
which is that every sidebar link you click showing a different
UI to admins.

This commit moves admin/config/login-and-authentication to
establish the pattern.
2025-01-02 09:13:37 +10:00
Martin Brennan
5711bf6f27
DEV: Move admin config pages out of /customize/ sub-route (#30511)
The customize routes add CSS classes that make these admin
config pages look different from the ones under /admin/config.
We want all config routes to be under /admin/config as well.

This commit moves the emoji, user fields, and permalinks pages
out of customize and into config, updating all references and
adding more rails routes as needed.

Also renames admin emojis route to emoji, emoji is singular and plural.
2025-01-02 09:13:11 +10:00
Penar Musaraj
2ff3f44b95
DEV: User page layout backwards compatibility (#30515)
Followup to #30499, fixes CSS for older browsers.
2024-12-31 11:43:49 -05:00
zogstrip
9497a6165f DEV: refactor email_controller.rb
- Make an `includes(:user)` explicit rather than implicit.
- Refactor the `unsubscribe` action to bail early when `key` is invalid
2024-12-31 15:28:59 +01:00
Gary Pendergast
25351bdb8e
FIX: Switch back to using a temp table for moving posts. (#30509) 2024-12-31 17:02:27 +11:00
Ella E.
d1b3b85584
DEV: Add element wrapper to the body and screenshot (#30497) 2024-12-30 18:09:04 -07:00
Gary Pendergast
86637403c7
UX: Add Sentence Casing for Setting Names (#30479) 2024-12-31 09:55:53 +11:00
Penar Musaraj
2ffcb94c8b
A11Y: Fix screen reader access to user directory (#30499) 2024-12-31 08:10:00 +11:00
Osama Sayegh
3187606d34
FEATURE: Add option to hide full name input at signup (#30471)
This commit replaces the `full_name_required` setting with a new `full_name_requirement` setting to allow more flexibility with the name field in the signup form. The new setting has 2 options, "Required at signup" and "Optional at signup", which are equivalent to the true/false possibilities of the old setting, and a third option "Hidden at signup" that hides the name field from the signup form, making it effectively optional too.

New sites will have the "Hidden at signup" option as the default option, and existing site will continue to use the option that maps to their current configuration.

Internal topic: t/136746.
2024-12-30 22:26:20 +03:00
Sérgio Saquetim
b728b74c49
DEV: Add showLogin action to post menu buttons and prevent text selection (#30500)
This commit adds `showLogin` as an available action to the post menu buttons. They can use this action to show the login form when there is no user logged in.

It also adds a small CSS tweak to prevent the content from the post menu to being user selectable. This was causing small UX issues in touch devices.
2024-12-30 15:57:07 -03:00
Angus McLeod
ce7a14104b
Add user api key client rate limit settings (#30402) 2024-12-30 11:10:48 -05:00
Renato Atilio
9a22e8d2f1
DEV: fix cancel swipe callback typo (#30491) 2024-12-30 12:45:06 -03:00
David Taylor
bf35f7f860
DEV: Add deprecations for topic-status raw-view modifications (#30496)
This will make the 'auto' glimmer-topic-list feature aware of these modifications, so that the new topic-list will not be enabled until they're resolved.
2024-12-30 11:35:23 +00:00
David Taylor
9c83872a4e
PERF: Refactor and optimize splash screen implementation (#30373)
- Remove JS

- Remove "Loading..." text. This has been been broken for a while due to some conflicting discourse-ai CSS. Also, animating the `content:` property like this requires the browser to repaint/reflow, which cannot be done while JS is executing.

- Replace animated SVG with divs animated via CSS. When JS is executing, browsers pause animations of transform properties inside SVGs. This limitation does not exist on regular CSS animations. So with this change, the animation continues smoothly even you run an infinite loop in JS.

  To ensure the splash screen remains "contentful" for LCP purposes, an SVG background-image is used

There is no change to the visual look of the animation
2024-12-30 11:31:08 +00:00
chapoi
1312563fac
DEV: add plugin outlet to user-menu tabs (#30468) 2024-12-30 02:17:46 +01:00
Jordan Vidrine
def0d13cd9
UX: Hide before-header-panel-outlet on login page (#30472) 2024-12-27 06:07:29 -06:00
Alan Guo Xiang Tan
cad56e2a21
DEV: Support a perform_when_readonly option for Jobs::Scheduled (#30478)
This is useful for scheduled jobs that should be performed even when
`Discourse.readonly_mode?` is `true`.
2024-12-27 09:42:40 +08:00
Arpit Jalan
bf3279d75a
FEATURE: support adobe analytics tags tracking (#30433)
https://experienceleague.adobe.com/en/docs/experience-platform/tags/home

https://experienceleague.adobe.com/en/docs/platform-learn/implement-in-websites/configure-tags/add-embed-code
2024-12-26 15:25:48 +05:30
Alan Guo Xiang Tan
061d6fd7a7
DEV: Remove log messages that are redundant (#30466)
I think the log messages were used for initial production trials but the
log messages are actually not very useful in the grand scheme of things.
If the timing of the job is important information, one can get it by
enabling Sidekiq logging and obtain the information from there. There is
no need for us to flood the logs with these messages.

Also the messages will contain at most 100 ids so it is just alot of
noise in general.
2024-12-26 09:54:09 +08:00
Alan Guo Xiang Tan
e4cab1c60b
DEV: Set Jobs::SyncAclsForUploads to low queue (#30467)
This job is not mission critical and should not clog the default queue
2024-12-26 09:54:02 +08:00
chapoi
61e5431d2a
Hide before-header-panel-outlet on signup/login pages (#30432) 2024-12-26 01:39:26 +01:00
Jarek Radosz
c6dd33cc06
DEV: Convert ResponsiveTable to gjs (#30430) 2024-12-23 21:50:13 +01:00
Jordan Vidrine
e90a92b298
fix (#30452) 2024-12-23 14:30:58 -06:00
Mark VanLandingham
df1fc5bca8
FIX: Consistently notify lowest post number if post_moved notification generation (#30448)
We currently query the posts table without an order when notifying users of moved posts. Generally the query will return the lowest post number post (b/c ID correlates with post_number in most cases) but not always. This adds an order to the post query in notify_moved_posts job.

Also I removed some if statement nesting with early returns / guard clauses.
2024-12-23 09:53:43 -06:00
Jarek Radosz
c3548aec5e
DEV: Don't use 0-delay for test-env discourseLater (#30442)
`discourseLater` automatically uses delay of 10ms in test environment
2024-12-23 16:31:46 +01:00
Jarek Radosz
c1818bf40e
DEV: Update a topic test to use settled (#30443)
…instead of `next()`/`assert.async()/done()`
2024-12-23 15:49:38 +01:00
Osama Sayegh
e2cd1da26d
FIX: All admins should be allowed to see deleted PM posts regardless of their mod status (#30206)
Admins and moderators can see a user's deleted posts via the `/u/:username/deleted-posts` route. Admins can always see any post on the site, but that's not always the case for moderators, e.g., they can't see all PMs. So, this route accounts for that and excludes posts that a moderator wouldn't be allowed to see if they were not deleted.

However, there's currently a problem with that logic where admins who also have moderation privileges, are treated the same way as moderators and prevented from seeing posts that pure moderators can't see. This commit fixes that problem and only applies the permission checks to moderators who don't have admin privileges.

Internal topic: t/143107.
2024-12-23 12:48:03 +03:00
dependabot[bot]
7b5132b0f2
Build(deps-dev): Bump jsuites from 5.8.0 to 5.8.3 (#30422)
Bumps [jsuites](https://github.com/jsuites/jsuites) from 5.8.0 to 5.8.3.
- [Release notes](https://github.com/jsuites/jsuites/releases)
- [Changelog](https://github.com/jsuites/jsuites/blob/master/changelog.md)
- [Commits](https://github.com/jsuites/jsuites/commits)

---
updated-dependencies:
- dependency-name: jsuites
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23 09:41:22 +01:00