Commit Graph

24048 Commits

Author SHA1 Message Date
Jarek Radosz
72f3cd252f
DEV: Use new qunit-dom's includesValue/doesNotIncludeValue (#30034) 2024-12-02 16:30:56 +01:00
Régis Hanol
9bdd97db42
FIX: editing post while replying (#29985)
BEFORE: if you click the "reply" button on a post and then decided that you want to "edit" the same post, clicking the "edit" button would do nothing. Clicking "edit" on another post works, but editing the same post would appear broken.

AFTER: if you click the "edit" button, it will properly load the content of the post you're trying to edit. No matter which one it is.

This was somewhat tricky to track down as the system specs seemed to contradict the qunit tests until I realized that the qunit tests were only testing the edit on the 1st post and the system specs were testing on replies.

I improved the qunit tests to test both editing OP and a reply and (hopefully) made the system specs a little bit clearer.

This is a follow up to bbe62d88d2.
2024-12-02 16:06:36 +01:00
Régis Hanol
ab32623c07
UX: disable scrolling when modal is open on desktop (#30035)
Uses the `htmlClass` to automagically set the `modal-open` class to
`<html>` so that we can do `overflow: hidden` and prevent the
"background" behind the modal from scrolling while the modal is open.

Internal ref - t/142760
2024-12-02 15:08:43 +01:00
dependabot[bot]
62fc2a383a
Build(deps): Bump @glimmer/syntax from 0.92.3 to 0.93.1 (#30032)
Bumps [@glimmer/syntax](https://github.com/glimmerjs/glimmer-vm) from 0.92.3 to 0.93.1.
- [Release notes](https://github.com/glimmerjs/glimmer-vm/releases)
- [Changelog](https://github.com/glimmerjs/glimmer-vm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/glimmerjs/glimmer-vm/commits)

---
updated-dependencies:
- dependency-name: "@glimmer/syntax"
  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>
2024-12-02 12:19:33 +00:00
dependabot[bot]
08542400ad
Build(deps-dev): Bump jsuites from 5.7.2 to 5.8.0 (#30033)
Bumps [jsuites](https://github.com/jsuites/jsuites) from 5.7.2 to 5.8.0.
- [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-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 12:18:52 +00:00
dependabot[bot]
7d5d1dcc51
Build(deps-dev): Bump qunit-dom from 3.3.0 to 3.4.0 (#30030) 2024-12-02 13:18:28 +01:00
Arpit Jalan
746d145258
FEATURE: pass faqOverridden to about-wrapper plugin outlet (#29994)
Ref: https://github.com/discourse/discourse-woot-theme/pull/29
2024-12-02 12:55:06 +05:30
Jarek Radosz
c4d86635d1
DEV: Update decorator-transforms to 2.3.0 (#30020)
1. the patch is no longer needed
2. this unblocks dependabot (it's been erroring out for a bit)
2024-12-02 01:04:20 +01:00
Jarek Radosz
b3423c40b0
DEV: Fix random typos (#30023)
(late) Nov 2024 edition
2024-12-02 07:34:05 +08:00
Krzysztof Kotlarek
6d4c6ee154
UX: admins users page follows admin ux guideline (#29873)
Conversion of `/admin/users` page to follow admin UX guidelines.

In addition, add the username to the title on the user admin page.
2024-12-02 10:11:23 +11:00
Jarek Radosz
6e4baaf092
DEV: Use qunit-dom's hasValue wherever possible (#30018) 2024-12-01 20:37:24 +01:00
Jarek Radosz
efa2589204
DEV: Finish qunit-dom hasText migration (#30017) 2024-12-01 14:00:48 +01:00
Jarek Radosz
1396aef99f
DEV: Make the logIn helper replace current-user service (#30010) 2024-11-30 17:23:51 +01:00
Jarek Radosz
dfb74d90c3
DEV: Extensively use qunit-dom's hasText (#30012) 2024-11-30 16:44:51 +01:00
Jarek Radosz
bf3e75ca70
DEV: Reduce async/indirection in site-header (#30011) 2024-11-30 15:33:38 +01:00
Jarek Radosz
fa4a37fd7d
DEV: Deprecate componentTest (#30001) 2024-11-30 15:33:27 +01:00
Jarek Radosz
2f932812e0
DEV: Add topic-list-header-sortable-column transformer (#29917)
For conditionally disabling ability to sort on specific columns in the topic list.
2024-11-29 21:32:48 +01:00
Jarek Radosz
a2c8177a4c
DEV: Deprecate discourseModule (#30000)
We're now using QUnit's `module` directly in core and all plugins/themes.
2024-11-29 20:08:52 +01:00
David Taylor
f20db92512
UX: Improve loading-slider behavior (#29995)
- Use `requestAnimationFrame` when transitioning from `ready` -> `loading`. The previous `next()` implementation was unreliable, particularly in Safari, and would cause the loading slider to jump backwards instead of forwards

- Double the minimum transition time to 200ms. This avoids the rolling average being skewed too much by routes which load quickly without network access.
2024-11-29 16:32:59 +00:00
Sérgio Saquetim
4cfc350b09
DEV: Fix linting issue and failing post test (#29989) 2024-11-28 18:13:32 -03:00
Sérgio Saquetim
d3595b6118
FIX: Reset likeAction when updating a cached post from JSON data (#29971)
This commit addresses an issue where the like button would not be updated properly when reloading a post that lost the only like it had received.
2024-11-28 17:20:20 -03:00
Sérgio Saquetim
a710d3f377
DEV: Ensure post.updateFromPost syncs tracked properties (#29970)
This commit ensures that tracked properties added to the post model are correctly synced when using `post.updateFromPost`.

It also introduces a plugin API to allow plugins to register new tracked properties in the post model without needing to modify the class.
2024-11-28 17:19:35 -03:00
Penar Musaraj
ba85fba1e4
FIX: Bug with edit reason on iOS (#29987) 2024-11-28 13:47:39 -05:00
David Taylor
c98335e4e5
UX: Drop post-background highlighting on navigation (#29986)
Animating the background-color property like this is not compositable for the browser, which means the animation is not smooth, and can contribute to the Cumulative Layout Shift web vital.

For now, we're removing this, and may consider re-introducing an alternative version in future based on user feedback.
2024-11-28 16:55:13 +00:00
Jan Cernik
3c884e693c
FIX: Localization for custom signup form descriptions (#29982) 2024-11-28 11:48:58 -03:00
Penar Musaraj
cd4de88e4a
FIX: Correctly toggle bulk select checkboxes for regular users (#29984)
Non-admin/moderator users can bulk select items in new/unread, but not in
latest/top/hot. This commit ensures that when the user can no longer
bulk select items in a list, the bulk select checkboxes in the topic list
rows are hidden.
2024-11-28 09:39:17 -05:00
Joffrey JAFFEUX
89ec7d8b98
DEV: more reactive field data for form-kit (#29819)
A lot of the data of fields is decided at insertion time and is not dynamic afterwards, this commit attempts to solve this problem by making the fk-field-data a component with getters on the all the properties we need. It allows for example to implement a dynamic @disabled without having to pass @disabled everywhere. Generally speaking this solution limits props-drilling.

@format has received the same treatment than @disabled.
2024-11-28 14:30:36 +01:00
Jarek Radosz
2137f2bb74
DEV: Update content-tag to 3.0.0 (#29980) 2024-11-28 14:07:01 +01:00
Jarek Radosz
ef7518d4ad
DEV: Fix no-loose-assertions lint (#29965)
and enable some of qunit lints
2024-11-28 11:22:27 +01:00
Martin Brennan
1f538a81a8
DEV: Consistent AdminConfigAreaEmptyList options (#29975)
Followup ccc8e37dde

The fix above was good, but I would prefer to give
the option of untranslated vs translated label like
I have for other admin components for consistency.
2024-11-28 15:31:04 +10:00
Sam
cb819ab49a
FIX: Rerender Chart component if config changes (#29955)
The chart component was not rerendering if the chart
config passed to it was changed, this commit fixes the issue
by getting the config from `this.args` before trying to
access it inside an async call, so if the args change Ember
correctly rerenders. Also adds tests for this and general
chart rendering.

---------

Co-authored-by: Martin Brennan <martin@discourse.org>
2024-11-28 13:37:59 +10:00
Amanda Alves Branquinho
397ebea25c
DEV:Add plugin outlet for liked posts (#29899)
* DEV:Add plugin outlet for liked posts

* sort imports
2024-11-28 10:02:15 +11:00
Penar Musaraj
ccc8e37dde
FIX: Missing translations for empty config area (#29966) 2024-11-27 15:49:58 -05:00
Jan Cernik
b4ef3456d9
FEATURE: Allow to customize the signup form descriptions (#29959) 2024-11-27 14:23:14 -03:00
Keegan George
469374e063
DEV: Add new plugin outlets to edit topic area (#29951)
This PR adds new wrapper plugin outlets in the edit topic area. Adding these wrapper plugin outlets gives us easy access to `__before` and `__after`.
2024-11-27 08:12:16 -08:00
Jarek Radosz
5db0eba0a8
DEV: Autofix (w/ manual follow up) various qunit lints (#29950) 2024-11-27 13:02:55 +01:00
Arkshine
e4bb727d33
DEV: Add emoji-picker-footer plugin outlet (#29900) 2024-11-27 12:55:59 +01:00
Ella E.
ea2a0f2c8e
DEV: refactor SCSS structure for admin table styling (#29953) 2024-11-26 22:08:52 -07:00
Martin Brennan
2ef9d6ac47
FEATURE: Allow admins to force refresh "What's new?" (#29911)
Sometimes changes to "What's new?" feed items are made or the feed items are
removed altogether, and the polling interval to check for new features is 1 day.

This is quite long, so this commit introduces a "Check for updates"
button for admins to click on the "What's new?" page which will bust
the cache for the feed and check again at the new features endpoint.
This is limited to 5 times per minute to avoid rapid sending of
requests.
2024-11-27 09:40:55 +10:00
Jarek Radosz
ed73d80cbd
DEV: Updates all assert.equal to qunit-dom or strictEqual (#29945)
There will eventually be lint for this.
2024-11-26 22:41:29 +01:00
David Taylor
d4d939bd66
PERF: Remove dynamic <template> invocations (#29942)
Using Ember's `<template>` dynamically is not supported. For every invocation, glimmer-vm has to run one-time setup, and will cache the result indefinitely. This leads to significant memory leaks, and eventual OOM errors.

This commit updates a handful of cases. We'll be following up with the more complex ones, and a linting rule to avoid re-introducing the problem in future.
2024-11-26 18:54:26 +00:00
Keegan George
5605bab2c2
FIX: Preserve history when routing to /filter route (#29929) 2024-11-26 13:26:25 -05:00
Kris
fd22dd179a
UX: attempt to reduce jumpy topic scroll in Firefox (#29941) 2024-11-26 13:17:06 -05:00
Jordan Vidrine
cddc018959
FIX: remove duplicate id (#29939) 2024-11-26 10:40:55 -06:00
Joffrey JAFFEUX
96b88f34a2
FIX: correctly destroy menu/tooltip when removed from dom
This fix will ensure we correctly play the close/destroy sequence in this situation.
2024-11-26 15:55:35 +01:00
Jan Cernik
93443adf22
DEV: Remove the experimental_ prefix for fullpage login (#29546) 2024-11-26 11:08:27 -03:00
Ted Johansson
15a61a0c1f
DEV: Change admin emoji delete button from icon to text (#29931)
The Admin UI guidelines states that buttons should have text, not icons. This was an oversight on the admin emoji listing.

Part of this change is also opportunistically removing the CSS file for admin emojis, none of which is used any more since the conversion.
2024-11-26 14:10:14 +08:00
Jarek Radosz
6e1d01802e
DEV: Clean up assertions in transformer-test (#29928) 2024-11-26 00:40:03 +01:00
Jarek Radosz
613dea61a2
DEV: Allow ember hash as a context in applyValueTransformer (#29922)
This unlocks the ability to use that function directly in templates:

```hbs
{{applyValueTransformer
  "foo-bar"
  @defaultValue
  (hash arg1=@arg1 arg2=@arg2)
}}
```
2024-11-25 22:48:00 +01:00
Jan Cernik
a964e62cd8
FIX: Discourse Connect fixes for full page login (#29915) 2024-11-25 18:06:14 -03:00
Keegan George
1c4d5dae1c
DEV: Allow async calls to finish before removing uploads (#29918)
This PR simply moves the call to remove in progress uploads **after** the async markdown resolvers finish resolving. This is specifically for the case when markdown resolvers are async functions, such as in the case of Discourse AI's image caption feature. This ensures that the in progress upload doesn't get removed causing replace text having nothing to replace once the async call is finished.

No tests as there currently are no tests for this plugin API function, and it's a little tricky to test, especially with in progress uploads being a private property.
2024-11-25 11:10:27 -08:00
Jarek Radosz
433543a516
DEV: Refactor gjs topic-list (#29792)
Based on the initial review in #28934
2024-11-25 14:15:34 +01:00
Osama Sayegh
118f7869bb
FEATURE: Add bulk destroy to admin users list (#29744)
This commit introduces a new feature that allows staff to bulk select and delete users directly from the users list at `/admin/users/list`. The main use-case for this feature is make deleting spammers easier when a site is under a large spam attack.

Internal topic: t/140321.
2024-11-25 11:13:35 +03:00
Ted Johansson
88af23e1ca
DEV: Modernize admin user fields (#29843)
This PR modernizes the user fields area of the admin UI. It is largely based on the work on the emoji section.
2024-11-25 11:54:43 +08:00
Joffrey JAFFEUX
66409fa8b4
UX: improved collapsed drawer state/interactions (#29850)
- Clicking the channel title of a collapsed drawer will only open the drawer, and not open settings
- Remove the back button when the drawer is collapsed
- Uses same icon for toggling on chat that composer
- add max-width to minimised drawer + add hover effect
---------

Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
2024-11-25 03:39:03 +01:00
dependabot[bot]
1396dfabba
Build(deps-dev): Bump @swc/core from 1.9.2 to 1.9.3 (#29905)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.9.2 to 1.9.3.
- [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.9.2...v1.9.3)

---
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>
2024-11-24 22:45:28 +01:00
Gerhard Schlager
0295b4165c
FIX: Permalink.create didn't work as expected anymore (#29895)
This moves the logic of setting the correct permalink values back into the controller. And it replaces the validation with a simpler one, that always works, even when the model is loaded from the DB.

Follow-up to #29634 which broke import scripts and lots of documentation on Meta.
2024-11-22 21:11:26 +01:00
Jordan Vidrine
44fbf1048c
UX: Multiple codeblocks fixes (#29898) 2024-11-22 13:52:23 -06:00
Penar Musaraj
a97ac905d1
Revert "UX: Codeblocks edits (#29893)" (#29896)
This reverts commit 667a09b159.
2024-11-22 12:09:40 -05:00
Joffrey JAFFEUX
f24d2b926f
FIX: makes tags reactive with docked header (#29894)
No test as it's complicated to have a very simple test for this and I don't want to write a system spec for such a very specific thing.
2024-11-22 18:00:11 +01:00
Jordan Vidrine
667a09b159
UX: Codeblocks edits (#29893) 2024-11-22 09:05:48 -06:00
Jarek Radosz
0641d3e4b3
DEV: Improve hbr topic list detection (#29892)
1. `addRawTemplate` is called too early for deprecation handlers to process its deprecation call, so toggle the hbr flag directly
2. move the deprecation handler to an initializer so that other (non-template) calls are always handled
3. move the debug logging to the handler
2024-11-22 14:28:01 +01:00
Jarek Radosz
b9838d6066
DEV: Fix theme name in this deprecation notices (#29888)
A followup to 019ba099c8
2024-11-22 10:24:02 +00:00
Régis Hanol
d71016522e
FIX: hide chat button in user card (#29887)
when the user isn't able to receive DMs (either because they've disabled it or because they're suspended for example).

Internal ref - t/142198
2024-11-22 09:05:58 +01:00
Akshay Birajdar
b138eaf9e5
FEATURE: Add Bulk actions to /filter page (#29420)
- Add bulk actions component on /filter page for both desktop & mobile view.
- Add system specs to assert bulk actions to be available on /filter page.
2024-11-22 11:51:06 +11:00
Amanda Alves Branquinho
02ad1f9cd5
Dev/add outlet for participant (#29864)
* DEV: add outlet for topic participant

* format topic participant file

* Update app/assets/javascripts/discourse/app/components/topic-map/topic-participant.gjs

Co-authored-by: Jarek Radosz <jradosz@gmail.com>

---------

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-11-21 14:41:03 -03:00
David Taylor
019ba099c8
DEV: Unsilence this-property-fallback deprecation (#29855)
This one has the potential to be very noisy, so a special dedupliation handler is introduced.

https://meta.discourse.org/t/337276
2024-11-21 16:35:05 +00:00
Renato Atilio
6e5d4ee492
DEV: refactor composer references on composer-container/-editor (#29629)
Most of it is removing the ComposerContainer > ComposerEditor indirect references to the composer service, so ComposerEditor now deals with the service directly.

Form template was moved from DEditor to ComposerEditor.
2024-11-21 13:29:12 -03:00
Jarek Radosz
2589545623
DEV: Detect hbr topic list customizations (#29793) 2024-11-21 16:00:49 +01:00
Joffrey JAFFEUX
0b210e0fc3
FIX: correctly closes search menu on escape (#29848)
Prior to this fix the menu would not close if a child was in focus, and the search suggestions had a special implementation to handle this. The fix now relies on trapping the keydown escape event on the top dip of the search menu.
2024-11-21 07:39:47 +01:00
Ella E.
a0cf8f64f9
UX: Update sidebar invite button to use correct title attribute text (#29875)
This PR updates the sidebar's Invite button to use the intended text for its title attribute.
2024-11-21 12:22:01 +10:00
chapoi
58edabc2b5
DEV: Dmenu add modifier (#29846) 2024-11-21 03:14:46 +01:00
Jordan Vidrine
34e6c8f3dd
UX: Codeblocks experiment merge (#29870) 2024-11-20 17:24:41 -06:00
dependabot[bot]
4f4b4e74c7
Build(deps): Bump ember-resolver from 13.0.2 to 13.1.0 (#29868)
Bumps [ember-resolver](https://github.com/ember-cli/ember-resolver) from 13.0.2 to 13.1.0.
- [Release notes](https://github.com/ember-cli/ember-resolver/releases)
- [Changelog](https://github.com/ember-cli/ember-resolver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ember-cli/ember-resolver/compare/v13.0.2...v13.1.0)

---
updated-dependencies:
- dependency-name: ember-resolver
  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>
2024-11-20 23:39:31 +01:00
Amanda Alves Branquinho
71a8d48d21
DEV: add outlet wrapper for small user list (#29763)
* DEV: add outlet wrapper for small user list

* DEV: use value transformer to extend small user attrs function

* Update app/assets/javascripts/discourse/app/components/small-user-list.gjs

Co-authored-by: Jarek Radosz <jradosz@gmail.com>

---------

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-11-20 19:22:02 -03:00
Kris
fdfc9284fa
DEV: add order to posters column so it gets a classname (#29866) 2024-11-20 17:09:21 -05:00
Kris
9db6bd08a2
FEATURE: add transformer to pass topic ID to simple invite generation (#29861) 2024-11-20 16:08:08 -05:00
David Taylor
daa34b9e11
DEV: Unsilence d-section deprecation (#29851) 2024-11-20 15:27:19 +00:00
David Taylor
6f7c581a80
DEV: Bump @discourse/lint-configs and autofix (#29847)
In particular, this applies:

- new `discourse/no-implicit-this` template-lint rule
- `init`/`willDestroy` ordering enforcement
- `lines-between-class-members`
2024-11-20 14:15:04 +00:00
Joffrey JAFFEUX
67ce111861
DEV: converts do-not-disturb to gjs (#29840) 2024-11-20 09:50:15 +00:00
Joffrey JAFFEUX
704a5f4cab
DEV: converts insert-hyperlink to gjs (#29841) 2024-11-20 09:49:44 +00:00
Joffrey JAFFEUX
8271010387
DEV: converts grant-badge to gjs (#29842) 2024-11-20 09:49:09 +00:00
Joffrey JAFFEUX
a8ca82b11f
DEV: convert keyboard-shortcuts-help to gjs (#29831) 2024-11-19 23:25:02 +01:00
Joffrey JAFFEUX
ad034a5947
DEV: converts user-status to gjs (#29832) 2024-11-19 23:24:49 +01:00
Joffrey JAFFEUX
921416a741
DEV: converts activation-edit modal to gjs (#29827)
* DEV: converts activation-edit modal to gjs

* Update app/assets/javascripts/discourse/app/components/modal/activation-edit.gjs

---------

Co-authored-by: Jarek Radosz <jarek@cvx.dev>
2024-11-19 23:19:51 +01:00
Joffrey JAFFEUX
e02a37b0d7
DEV: converts jump-to-post modal to gjs (#29830)
* DEV: converts jump-to-post modal to gjs

* Update app/assets/javascripts/discourse/app/components/modal/jump-to-post.gjs

---------

Co-authored-by: Jarek Radosz <jarek@cvx.dev>
2024-11-19 23:14:10 +01:00
David Taylor
32665cf9dd
DEV: Consolidate i18n import paths (#29804)
Enables our new eslint rules which enforce consistent i18n imports. For more info, see 0d58b40cd7
2024-11-19 20:45:18 +00:00
Kris
acc7caa816
A11Y: make the uppy image uploader keyboard navigable (#29807) 2024-11-19 15:38:13 -05:00
Kris
84fecd370c
A11Y: convert sortable topic list headers to proper buttons (#29808) 2024-11-19 15:38:03 -05:00
David Taylor
79b3cb8289
DEV: Bump @discourse/lint-configs and apply fixes (#29823) 2024-11-19 19:10:02 +00:00
David Taylor
d606ac3d8e
DEV: add i18n named export to "discourse-i18n" (#29820)
Soon, we intend to consolidate all js/gjs translation calls to this new function. See https://github.com/discourse/lint-configs/pull/67 and https://github.com/discourse/discourse/pull/29804
2024-11-19 11:25:22 +00:00
Ted Johansson
682e8df007
FIX: Amend broken settings link in emoji admin breadcrumbs (#29818)
Because of an oversight in a previous PR, the breadcrumb link when visiting Admin > Emoji > Settings was broken. The correct path is customize, not config.
2024-11-19 17:24:49 +08:00
Ted Johansson
c3367c329c
DEV: Make breadcrumb separators unclickable icons (#29817)
The current breadcrumb separators are ">" characters that are added as pseudo-elements. These become part of the clickable area for the links, which causes mis-clicks.

This PR does two things:

- Replace the pseudo-element with a DIcon.
- Make sure the separator is not clickable.
2024-11-19 16:42:43 +08:00
Ted Johansson
d96b8d1001
DEV: Modernize admin emoji JavaScript (#29714)
app/assets/javascripts/admin/addon/templates/emojis.hbs
2024-11-19 15:44:34 +08:00
Martin Brennan
01a160d8af
UX: Add AdminConfigAreaEmptyList component (#29816)
This component can be used as a placeholder on
admin pages where the table has no data as per
the admin UI guidelines.
2024-11-19 16:49:57 +10:00
Joffrey JAFFEUX
582de0ffe3
DEV: adds blocks support to chat messages (#29782)
Blocks allow BOTS to augment the capacities of a chat message. At the moment only one block is available: `actions`, accepting only one type of element: `button`.

<img width="708" alt="Screenshot 2024-11-15 at 19 14 02" src="https://github.com/user-attachments/assets/63f32a29-05b1-4f32-9edd-8d8e1007d705">

# Usage

```ruby
Chat::CreateMessage.call(
  params: {
    message: "Welcome!",
    chat_channel_id: 2,
    blocks: [
      {
         type: "actions",
         elements: [
           { value: "foo", type: "button", text: { text: "How can I install themes?", type: "plain_text" } }
         ]
      }
    ]
  },
  guardian: Discourse.system_user.guardian
)
```

# Documentation

## Blocks

### Actions

Holds interactive elements: button.

#### Fields

| Field | Type | Description | Required? |
|--------|--------|--------|--------|
| type | string | For an actions block, type is always `actions` | Yes |
| elements | array | An array of interactive elements, maximum 10 elements | Yes |
| block_id | string | An unique identifier for the block, will be generated if not specified. It has to be unique per message | No |

#### Example

```json
{
  "type": "actions",
  "block_id": "actions_1",
  "elements": [...]
}
```

## Elements

### Button

#### Fields

| Field | Type | Description | Required? |
|--------|--------|--------|--------|
| type | string | For a button, type is always `button` | Yes |
| text | object | A text object holding the type and text. Max 75 characters | Yes |
| value | string | The value returned after the interaction has been validated. Maximum length is 2000 characters | No |
| style | string | Can be `primary` ,  `success` or `danger` | No |
| action_id | string | An unique identifier for the action, will be generated if not specified. It has to be unique per message | No |

#### Example

```json
{
  "type": "actions",
  "block_id": "actions_1",
  "elements": [
    {
      "type": "button",
      "text": {
          "type": "plain_text",
          "text": "Ok"
      },
      "value": "ok",
      "action_id": "button_1"
    }
  ]
}
```

## Interactions

When a user interactions with a button the following flow will happen:

- We send an interaction request to the server
- Server checks if the user can make this interaction
- If the user can make this interaction, the server will:

  * `DiscourseEvent.trigger(:chat_message_interaction, interaction)`
  * return a JSON document
  
  ```json
  {
    "interaction": {
        "user": {
            "id": 1,
            "username": "j.jaffeux"
        },
        "channel": {
            "id": 1,
            "title": "Staff"
        },
        "message": {
            "id": 1,
            "text": "test",
            "user_id": -1
        },
        "action": {
            "text": {
                "text": "How to install themes?",
                "type": "plain_text"
            },
            "type": "button",
            "value": "click_me_123",
            "action_id": "bf4f30b9-de99-4959-b3f5-632a6a1add04"
        }
    }
  }
  ```
  * Fire a `appEvents.trigger("chat:message_interaction", interaction)`
2024-11-19 07:07:58 +01:00
Krzysztof Kotlarek
04bac33ed9
UX: consistent flags page (#29798)
Add/Edit form should not have an admin header
2024-11-19 14:46:08 +11:00
Joffrey JAFFEUX
55a074e4c3
FIX: ensures category row is not focusable (#29803) 2024-11-19 03:50:32 +01:00
Ella E.
79ffbe7cd5
UX: Make cells middle aligned; apply overview class directly to td elements (#29813) 2024-11-18 18:42:29 -07:00
Jordan Vidrine
2a59df79d3
UX: Add title & adjust dnd image (#29812) 2024-11-18 19:25:41 -06:00
Kris
809ce5f5da
DEV: remove !important from btn-transparent background (#29809) 2024-11-19 09:38:10 +11:00
Penar Musaraj
f1849199e9
A11Y: Allow dismissing the discard drafts modal via keyboard (#29802) 2024-11-18 15:43:36 -05:00
Rafael dos Santos Silva
d85bc1eff6
DEV: Increase max reports dashboard limit (#29806) 2024-11-18 15:54:35 -03:00
Joffrey JAFFEUX
388b9dd38d
FIX: removes aria-hidden on category-status (#29800)
Descendants can gain focus (category badge) and that makes aria-hidden incorrect as a result.
2024-11-18 08:23:50 +01:00
Ella E.
9dab8ed29b
DEV: Moved styles for to be nested under to prevent layout issues affecting other admin tables (#29791) 2024-11-17 22:48:47 -07:00
Gary Pendergast
69d9868c7f
FEATURE: Add keyboard shortcuts for jumping to unread channels (#29734) 2024-11-18 11:18:58 +11:00
dependabot[bot]
f700a72c8f
Build(deps-dev): Bump ember-cli from 6.0.0 to 6.0.1 (#29795)
Bumps [ember-cli](https://github.com/ember-cli/ember-cli) from 6.0.0 to 6.0.1.
- [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.0...v6.0.1)

---
updated-dependencies:
- dependency-name: ember-cli
  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-11-17 22:40:04 +01:00
Jarek Radosz
6e68de79d2
DEV: Use test-provided assert object (#29794) 2024-11-17 22:39:01 +01:00
Ella E.
93983286b5
UX: Increase admin section header contrast (#29790) 2024-11-15 19:43:29 -07:00
Jan Cernik
876591fdab
FIX: Signup fields tab order and descriptions (#29772) 2024-11-15 18:17:55 -03:00
Ella E.
4efcc88039
UX: Move flag CTA button from subheader to header (#29781)
* UX: Move flag CTA button from subheader to header

* DEV: Remove unused subpageheader import
2024-11-15 09:12:45 -07:00
David Taylor
d3caa875be
DEV: Fix duplicate port on livereload (#29771)
Followup to fd5ef6896d
2024-11-14 23:05:47 +00:00
dependabot[bot]
4d89abbc14
Build(deps): Bump ace-builds from 1.36.4 to 1.36.5 (#29764)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.36.4 to 1.36.5.
- [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.36.4...v1.36.5)

---
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>
2024-11-14 23:31:44 +01:00
Kris
5f130b2971
A11Y: update clickable search dropdown tips to be buttons (#29762) 2024-11-14 16:23:43 -05:00
Jan Cernik
2ac1894292
FIX: Error with social logins and fullpage signup (#29761) 2024-11-14 16:02:17 -03:00
David Taylor
f70cc6215c
DEV: Improve JSDoc for withPluginApi (#29758)
This allows consumers to get intellisense completions on the `api.` argument of their callback
2024-11-14 17:20:23 +00:00
Penar Musaraj
9b691853e0
FIX: Dismiss unread posts in subcategories (#29671)
When a parent category shows topics from subcategories, dismissing
should dismiss posts in both parent and subcategories.

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2024-11-14 10:06:12 -05:00
Penar Musaraj
f62ed063fb
UX: Fix Android Firefox Mobile reply position (#29751) 2024-11-14 10:01:55 -05:00
David Taylor
fd5ef6896d
DEV: Overhaul devcontainer configuration (#28446)
- Uses a more appropriate image, with immutable tag (so update prompts work correctly)
- Updates port forwarding
- Improves mount setup (inc. persistant PG/Redis when rebuilding)
- Fixes ember-cli live reload
- Automatically configures VSCode & extensions
2024-11-14 12:11:38 +00:00
Joffrey JAFFEUX
9aae4df273
FIX: uses absolute strategy on ipad (#29754)
The absolute strategy was causing issues on modals.
2024-11-14 15:23:06 +09:00
Krzysztof Kotlarek
42b1ca8f78
UX: redesign admin permalinks page (#29634)
Redesign the permalinks page to follow the UX guide. In addition, the ability to edit permalinks was added.

This change includes:
- move to RestModel
- added Validations
- update endpoint and clear old values after the update
- system specs and improvements for unit tests
2024-11-14 10:03:58 +11:00
David Taylor
8d53f8ef1a
DEV: Simplify livereload configuration for better proxy compatibility (#29742)
When running a development environment behind a proxy (e.g. when using a cloud development environment, or a service like ngrok), the ember-cli port & protocol may not match the one in the browser. `livereload.js` knows how to auto-configure itself based on the current browser environment... but Ember CLI overrides that autoconfiguration with some hard-coded values.

The intention there is to allow running the livereload server on a different port to the ember-cli web proxy. We don't need that functionality.

This commit stops loading `ember-cli-live-reload.js`, and instead loads `_lr/livereload.js` directly.
2024-11-13 16:39:23 +00:00
Joffrey JAFFEUX
6779b46f55
FIX: correctly makes @disabled dynamic (#29738)
Disabled was set on field init which was preventing it to be dynamic.
2024-11-13 22:53:42 +09:00
Kris
9a22d7df7b
UX: reduce bottom topic map threshold, with protections (#29665) 2024-11-13 07:58:44 -05:00
Jan Cernik
3df3ad6ed6
FIX: Hide presence toggle icon is backwards (#29737) 2024-11-13 09:54:40 -03:00
Jan Cernik
920fa4c248
FIX: Correctly load the invites model when using full page logins (#29713) 2024-11-13 08:56:16 -03:00
Joffrey JAFFEUX
f1edc20a50
FIX: correctly supports dropping image (#29733)
This commit:
- Adds back the target drop options to enable the feature
- Applies the css to every elements and not just the one for admin emojis, also fixes the style as it was flashing and preventing it to work. For now we just change the color of the image icon.
- Adds a test to ensure we don't regress.
2024-11-13 17:30:14 +09:00
Jan Cernik
234133bd3b
UX: Split hide_profile_and_presence user option (#29632)
It splits the hide_profile_and_presence user option and the default_hide_profile_and_presence site setting for more granular control. It keeps the option to hide the profile under /u/username/preferences/interface and adds the presence toggle in the quick user menu.

Co-authored-by: Régis Hanol <regis@hanol.fr>
2024-11-12 22:22:58 -03:00
dependabot[bot]
7cdf559846
Build(deps): Bump ember-template-imports from 4.1.3 to 4.2.0 (#29729)
Bumps [ember-template-imports](https://github.com/ember-template-imports/ember-template-imports) from 4.1.3 to 4.2.0.
- [Release notes](https://github.com/ember-template-imports/ember-template-imports/releases)
- [Changelog](https://github.com/ember-cli/ember-template-imports/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ember-template-imports/ember-template-imports/commits)

---
updated-dependencies:
- dependency-name: ember-template-imports
  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>
2024-11-13 01:38:14 +01:00
dependabot[bot]
9aedd9909a
Build(deps-dev): Bump ember-cli from 5.12.0 to 6.0.0 (#29728)
Bumps [ember-cli](https://github.com/ember-cli/ember-cli) from 5.12.0 to 6.0.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/v5.12.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-13 01:18:28 +01:00
Penar Musaraj
4c1af2f414
UX: Fix modal header background color in webview (#29717) 2024-11-12 12:47:14 -05:00
David Taylor
fb2a688b29
DEV: Bump eslint, lint-configs, and move to flat config (#29661) 2024-11-12 12:33:17 +00:00
Krzysztof Kotlarek
34ed35e174
FIX: filterable staff logs for flags (#29695)
Flag actions must be added to `staff_actions` method to be filterable.
2024-11-12 11:23:18 +11:00
dependabot[bot]
0a0b490743
Build(deps-dev): Bump @swc/core from 1.9.1 to 1.9.2 (#29710)
Bumps [@swc/core](https://github.com/swc-project/swc) from 1.9.1 to 1.9.2.
- [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.9.1...v1.9.2)

---
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>
2024-11-12 00:30:13 +01:00
Sérgio Saquetim
3019bb577b
DEV: Modernize the post menu from widgets to Glimmer components (#28670)
This commit modernizes the post menu by migrating it from the existing widget-based implementation to Glimmer components. This transition aims to improve the maintainability, performance, and overall developer experience.

It also introduces a new DAG-based transformer API for customizations that aims to be more flexible than the widget base one.

---------

Co-authored-by: David Taylor <david@taylorhq.com>
2024-11-11 15:36:08 -03:00
dependabot[bot]
5c5ac72488
Build(deps-dev): Bump jsuites from 5.7.1 to 5.7.2 (#29692)
Bumps [jsuites](https://github.com/jsuites/jsuites) from 5.7.1 to 5.7.2.
- [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-11-11 17:45:16 +00:00
Bianca Nenciu
f1700ca589
FEATURE: Paginate categories when there are many (#29569)
This commit removes the new optimized category style introduced in
previous commits (d37a0d40, 9a80d718 and 430c42ac), in favour of the
existent `categories_only`.
2024-11-11 17:32:45 +02:00
Jarek Radosz
e68905510d
DEV: Use the new hasHtml/includesHtml from qunit-dom (#29680) 2024-11-11 13:06:12 +01:00
Jarek Radosz
2272b1340b
DEV: Use qunit-dom instead of raw href/title comparisons (#29678) 2024-11-11 11:44:54 +01:00
Jarek Radosz
429b6a4e4e
DEV: Use qunit-dom instead of classList/activeElement (#29676) 2024-11-11 11:44:42 +01:00
Ted Johansson
189d98f3ca
DEV: Convert admin emojis UI to new layout (#29615)
This PR converts the custom emoji UI in the admin pages to follow the new admin UI guidelines.
2024-11-11 15:04:15 +08:00
dependabot[bot]
8c52345b55
Build(deps-dev): Bump qunit-dom from 3.2.1 to 3.3.0 (#29690) 2024-11-11 00:04:38 +01:00
Jarek Radosz
78ed0bb711
DEV: Use selectors instead of query() where possible (#29677) 2024-11-10 13:53:12 +01:00
Jarek Radosz
16a9663557
DEV: Use qunit-dom's isDisabled/isEnabled (#29675) 2024-11-10 02:24:58 +01:00
Jarek Radosz
d67a6002eb
DEV: Replace count with qunit-dom (#29674) 2024-11-10 02:06:03 +01:00
Jarek Radosz
f9e58938ce
DEV: Update visible/invisible uses to qunit-dom (#29672) 2024-11-10 01:41:50 +01:00
Jarek Radosz
de6d575d40
DEV: Convert all uses of exists to qunit-dom (#29667) 2024-11-10 01:30:33 +01:00
Penar Musaraj
20effebd51
DEV: Fix updating header background in webview (#29668)
This regressed in https://github.com/discourse/discourse/pull/28912 for media query changes.
2024-11-08 22:18:09 -05:00
Jarek Radosz
c1916f7984
DEV: Convert assert.true(exists()) to qunit-dom (#29638) 2024-11-08 20:27:32 +01:00
David Taylor
3a23ff98bc
DEV: Fix passing translatedTitle as argument to flat-button (#29663)
Overriding computed properties with arguments is no longer supported by Ember, so we need to rename this computed property and add fallback logic manually.

This fixes the styleguide 'buttons' page. Ref https://meta.discourse.org/t/styleguide-bugs/335211?u=david
2024-11-08 18:46:05 +00:00