Commit Graph

57049 Commits

Author SHA1 Message Date
dfb74d90c3 DEV: Extensively use qunit-dom's hasText (#30012) 2024-11-30 16:44:51 +01:00
d93967e2fb DEV: bump email_reply_trimmer version to 0.2.0 (#30016) 2024-11-30 16:38:58 +01:00
7d58793759 DEV: deduplicate inline styles in emails (#30015)
In order to limit issues with duplicate inline CSS definitions, this will now deduplicate inline CSS styles with the "last-to-be-defined-wins" strategy.

Also removes unecessary whitespaces in inline styles.

Context - https://meta.discourse.org/t/resolve-final-styles-in-email-notifications/310219

Co-authored-by: Thomas Kalka <thomas.kalka@gmail.com>
2024-11-30 16:38:45 +01:00
20d46c9583 PERF: only diff HTML / Markdown when needed (#30014)
When serializing the `body_changes` in the `PostRevisionSerializer`, we create two diffs: one for the `cooked` and another one for the `raw` version of the post.

Inside `DiscourseDiff`, we generate both `html` and `markdown` diffs when we only need the `html` diffs for the `cooked` version of the post and the `markdown` diff for the `raw` version of the post.

This solves the issue repored in https://meta.discourse.org/t/server-error-accessing-topic-revisions-on-a-specific-topic/339185 where some revisions would return 500 because of a `ArgumentError : Attributes per element limit exceeded` exception when trying to generate the `html` diff on a very large `raw`.
2024-11-30 16:30:30 +01:00
bf3e75ca70 DEV: Reduce async/indirection in site-header (#30011) 2024-11-30 15:33:38 +01:00
fa4a37fd7d DEV: Deprecate componentTest (#30001) 2024-11-30 15:33:27 +01:00
85ead5ac7a Revert "FIX: deduplicate css in mails (#30003)" (#30013)
This reverts commit 6e726d436f51924083829bfe14ffa0a8f7f44985.

The specs were failing in the original PR but the CI didn't run.
2024-11-30 15:32:32 +01:00
6e726d436f FIX: deduplicate css in mails (#30003)
Feature: Resolve final styles in email notifications

Context - https://meta.discourse.org/t/resolve-final-styles-in-email-notifications/310219
2024-11-30 14:51:02 +01:00
35be2a9879 FIX: word break long continuous thread titles (#30007) 2024-11-30 01:07:39 +01:00
c42248670d FIX: increase chat thread title limit (#30006)
This will ensure AI generated titles don't appear as out of range in the UI and also allow users to set longer titles. The limit in DB was already 100 so it's just a simple frontend change.
2024-11-30 00:42:20 +01:00
877b03c7ae FIX: do not show as clickable the thread header (#30005)
When the current user can't modify the thread title we shouldn't show it as a clickable area.
2024-11-30 00:32:58 +01:00
b546c31b7f UI: simplify chat thread title (#29998)
We were using a complex logic to make it change size based on scroll position but this was imperfect and not visually pleasing. Also the title had been made a button which was causing the ellipsis to not work correctly, and I would prefer to not mix page knowledge (thread) with title component so I made this click logic directly in the chat-thread component.

---------

Co-authored-by: Jordan Vidrine <jordan@jordanvidrine.com>
2024-11-29 22:39:18 +01:00
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
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
52b7280ad4 DEV: Remove a use of discourseModule (#29996) 2024-11-29 18:16:21 +01:00
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
3cde55b76f FIX: show urgent badge for mentions in DM threads (#29821)
When thread tracking level is Normal in a DM channel, we should still show notification badges to the mentioned user.
2024-11-29 12:52:55 +04:00
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
fd2a82f41a Build(deps-dev): Bump mocha from 2.6.0 to 2.6.1 (#29991)
Bumps [mocha](https://github.com/freerange/mocha) from 2.6.0 to 2.6.1.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: mocha
  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-28 23:25:05 +01:00
615ec86b63 Build(deps): Bump reline from 0.5.11 to 0.5.12 (#29990)
Bumps [reline](https://github.com/ruby/reline) from 0.5.11 to 0.5.12.
- [Release notes](https://github.com/ruby/reline/releases)
- [Commits](https://github.com/ruby/reline/compare/v0.5.11...v0.5.12)

---
updated-dependencies:
- dependency-name: reline
  dependency-type: indirect
  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-28 23:24:48 +01:00
4cfc350b09 DEV: Fix linting issue and failing post test (#29989) 2024-11-28 18:13:32 -03:00
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
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
607dd2cbd8 DEV: improve the plugin:spec rake task (#29050)
Allow the plugin:spec to receive the test file path, rather than always run all tests of the plugin.
2024-11-29 06:33:14 +11:00
ba85fba1e4 FIX: Bug with edit reason on iOS (#29987) 2024-11-28 13:47:39 -05:00
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
5abee8ac6b DEV: Log number of live slots used by requests (#29884) 2024-11-28 18:25:48 +02:00
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
3c884e693c FIX: Localization for custom signup form descriptions (#29982) 2024-11-28 11:48:58 -03:00
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
88f1b3b195 DEV: Try fixing flaky spec related to Scheduler::Defer
Checking if a connection is available is probably not enough, when the
connection is available, we should still verify it’s not stale.
2024-11-28 15:30:13 +01:00
8f8d88afac PERF: Optimize query for finding users with unread chat messages (#29964)
Using CTEs and DISTINCT ON to:
- Pre-filter active users with correct preferences
- Get only first unread message per channel
- Eliminate redundant joins and message scanning

This reduces the query execution time by limiting message scanning and joins to only relevant users and messages.

Internal ref t/142836 & t/139517
2024-11-28 15:28:37 +01:00
01af75c60b Update customer image in README.md (#29977) 2024-11-28 08:48:08 -05:00
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
2137f2bb74 DEV: Update content-tag to 3.0.0 (#29980) 2024-11-28 14:07:01 +01:00
1e8f43ec0a DEV: Increase pool connections to 2 in test environment
In our CI env, sometimes, we see problems regarding getting a connection
from the pool. As it’s currently set to 1, increasing it a bit should
fix that kind of issues.
2024-11-28 12:23:25 +01:00
5a3afa0505 UI: hides channel with visible panel on narrow screen (#29541)
This commit will hide the channel when the side panel is present and the width of the viewport is less than 1000px. This is especially useful when you want to focus reading a thread on a small screen.

This change only impacts desktops.
2024-11-28 11:58:36 +01:00
f69f0211df DEV: Fix flaky spec related to Scheduler::Defer
In some cases in CI env, it seems the AR connection isn’t available and
the `ensure` block is executed. It’s calling `#verify!` on the
connection, so it can fail sometimes. This is probably why
`#clear_active_connections!` was failing too sometimes.

Here, we just check the connection is present before clearing the
connections.
2024-11-28 11:46:52 +01:00
ef7518d4ad DEV: Fix no-loose-assertions lint (#29965)
and enable some of qunit lints
2024-11-28 11:22:27 +01:00
1f538a81a8 DEV: Consistent AdminConfigAreaEmptyList options (#29975)
Followup ccc8e37dde6dd16de1f1103d60065c1b5afcbc6e

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
Sam
07813ba83c DEV: fix hanging spec (#29974) 2024-11-28 11:06:19 +08:00
2d945e2373 DEV: Enable the normalize_emails site setting by default (#29952) 2024-11-28 10:23:00 +08:00
Sam
72132c35fb DEV: fix flaky spec (#29972)
Spec was flaky cause work could still be in pipeline after the defer
length is 0. Our length denotes the backlog, not the in progress
count.

This adds a mechanism for gracefully stopping the queue and avoids
wait_for callse
2024-11-28 11:21:35 +11:00
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
996f993651 Build(deps): Bump google-protobuf from 4.28.3 to 4.29.0 (#29969)
Bumps [google-protobuf](https://github.com/protocolbuffers/protobuf) from 4.28.3 to 4.29.0.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: google-protobuf
  dependency-type: indirect
  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-27 22:52:58 +01:00
847340c98e Build(deps): Bump excon from 1.2.1 to 1.2.2 (#29968)
Bumps [excon](https://github.com/excon/excon) from 1.2.1 to 1.2.2.
- [Changelog](https://github.com/excon/excon/blob/master/changelog.txt)
- [Commits](https://github.com/excon/excon/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: excon
  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-27 22:46:06 +01:00
515846cffb Build(deps-dev): Bump rubocop-ast from 1.36.1 to 1.36.2 (#29967)
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.36.1 to 1.36.2.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.36.1...v1.36.2)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: indirect
  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-27 22:40:19 +01:00
ccc8e37dde FIX: Missing translations for empty config area (#29966) 2024-11-27 15:49:58 -05:00
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