Commit Graph

33704 Commits

Author SHA1 Message Date
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
Osama Sayegh
1497b298d2
DEV: Include controller namespace in X-Discourse-Route (#29783)
* DEV: Include controller namespace in X-Discourse-Route

* use same separator
2024-11-29 17:11:17 +11: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
Bianca Nenciu
5b19e2ca0f
FIX: Filter out secured categories first (#29916)
The hierarchical search for categories is composed of several complex
nested queries. This change ensures that the secured categories are
filtered out as soon as possible to ensure that the default limit of 5
categories is reached.

Without this fix, the search can return less than 5 categories if any
of the first 5 categories cannot be displayed due to permissions.
2024-11-28 17:09:16 +02: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
Angus McLeod
6acf673f8d
FIX: topic post counts for webhook post_destroyed event (#29853)
* FIX: topic post counts for webhook post_destroyed event

- Generate webhook data after posts are destroyed
- Don't count user_deleted posts

* Remove unnecessary conditional
2024-11-27 11:36:51 -08:00
Mark VanLandingham
8c311dcbd5
FEATURE: Allow add group member endpoint to skip invite emails (#29962) 2024-11-27 11:33:09 -06:00
Jan Cernik
b4ef3456d9
FEATURE: Allow to customize the signup form descriptions (#29959) 2024-11-27 14:23:14 -03:00
Guhyoun Nam
f186e3e80b
DEV: Add categories_and_hot Route (#29948)
This PR adds a route to categories_and_hot and methods in categories_controller.
2024-11-27 11:11:33 -06:00
Penar Musaraj
43ae59bb9c
FIX: Do not ignore redirects containing "/login" in the path (#29960) 2024-11-27 11:22:45 -05: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
Loïc Guitaut
d6bec460a8 DEV: Upgrade Rails to version 7.2 2024-11-27 10:48:47 +01:00
Ted Johansson
f4d0a77d5f
DEV: Add "delete user" options to illegal flag review (#29956)
We already add the "delete user" and "delete and block user" options to the drop-down for potential spam, but we should do this for potentially illegal posts as well.

This is entirely based on the implementation for the potential spam one, including caching the status on the reviewable record.

Also note that just as for potential spam, the user must be "deletable" for the option to appear.

I also took the liberty to move the options in the drop-down to what I think is a more intuitive place. (Between delete post and suspend/silence user.)
2024-11-27 17:23:57 +08:00
Ella E.
ea2a0f2c8e
DEV: refactor SCSS structure for admin table styling (#29953) 2024-11-26 22:08:52 -07:00
dependabot[bot]
c129d20322
Build(deps-dev): Bump rubocop from 1.68.0 to 1.69.0 (#29947)
* Build(deps-dev): Bump rubocop from 1.68.0 to 1.69.0

Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.68.0 to 1.69.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.68.0...v1.69.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* autofix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2024-11-27 01:51:01 +01: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
Gabriel Grubba
51aa5ac43f
FIX: Solve flaky tests in PostMover (#29943)
* FEATURE: Add `freeze_original` option to `PostMover`

This option will allow the api user to specify if the original topic should be `frozen`(locked and posts not deleted neither moved)

With this option when moving topic posts your posts will be `copied` to the new topic and the original topic will be kept there.

* DEV: update tests to check raw instead of ids

* DEV: Implement `freeze_original` option for `PostMover`

update specs to use `*array` matcher

* DEV: add tests to `MovedPost` model in post mover

* DEV: Update `MovedPost` model rspec

* DEV: add back empty line to `post_mover.rb`

* FIX: Solve flaky tests in `PostMover`
2024-11-26 16:30:25 -03: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
Gabriel Grubba
1c03a9f078
Revert "FEATURE: Add freeze_original option to PostMover (#29880)" (#29940)
This reverts commit b6ec07c3ef.
2024-11-26 14:47:39 -03:00
Gabriel Grubba
b6ec07c3ef
FEATURE: Add freeze_original option to PostMover (#29880)
* FEATURE: Add `freeze_original` option to `PostMover`

This option will allow the api user to specify if the original topic should be `frozen`(locked and posts not deleted neither moved)

With this option when moving topic posts your posts will be `copied` to the new topic and the original topic will be kept there.

* DEV: update tests to check raw instead of ids

* DEV: Implement `freeze_original` option for `PostMover`

update specs to use `*array` matcher

* DEV: add tests to `MovedPost` model in post mover

* DEV: Update `MovedPost` model rspec

* DEV: add back empty line to `post_mover.rb`
2024-11-26 14:25:55 -03: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
Martin Brennan
c7e471d35a
FIX: Empty post reviewable ignore bundle causing client errors (#29932)
We ran into an edge case where it was possible for a
ReviewableFlaggedPost to end up in a state where it was hidden
and the topic was already deleted. This meant that the Ignore
action bundle for the reviewable ended up empty, with no associated
actions.

This commit fixes the server-side issue where this was ending up
empty. A further commit will aim to make the client more resilient
to these issues by gracefully failing if a reviewable action bundle
is detected with no associated actions.
2024-11-26 16:18:32 +10: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
Martin Brennan
e708c99e12
FIX: Hide broken theme about/license URLs (#29930)
At the top of the theme show page we have a link
to the theme About and License, which are supposed
to be URLs. However some themes have left placeholder
text in these metadata fields, which leads to a wonky
experience.

Instead, we can just not serialize these fields if they
are not valid URLs, then they will not show as links
in the UI.
2024-11-26 13:53:10 +10: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
Bianca Nenciu
5e734516db
DEV: Drop DISCOURSE_LIVE_SLOTS_SIDEKIQ_LIMIT (#29920)
This was used to track jobs that may leak memory, but proved to be too
noisy and not very useful.
2024-11-26 07:21:14 +11: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
Penar Musaraj
e6fdfcdcd2
DEV: Remove experimental_topics_filter setting (#29902) 2024-11-25 10:49:40 -05:00