Commit Graph

874 Commits

Author SHA1 Message Date
Kris 63e92b6ea3
UX: smaller avatar size in button to prevent height change (#576) 2024-05-30 16:10:17 -04:00
Loïc Guitaut 4d93bad73a
DEV: Update rubocop-discourse to version 3.8.0 (#575) 2024-05-28 11:11:50 +02:00
dependabot[bot] e22999e8e8
Build(deps-dev): Bump rexml from 3.2.6 to 3.2.8 (#574)
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.6...v3.2.8)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 23:54:01 +02:00
Discourse Translator Bot a32af36a98
Update translations (#573) 2024-05-14 16:19:29 +02:00
Mark VanLandingham 6978c752db
FIX: Respect pending_assign_reminder_threshold in enqueue_reminders (#572) 2024-05-10 14:49:35 -05:00
Gabriel Grubba e3c24ba2f2
FEATURE: Add pending assign reminder threshold setting (#571)
* FEATURE: Add pending assign reminder threshold setting

User can define a threshold for the pending assign reminder.

* DEV: rename REMINDER_THRESHOLD with SiteSetting
2024-05-08 15:17:36 -03:00
Joffrey JAFFEUX 6c229284a9
FIX: adaptes acceptance tests for new dropdown-menu (#570) 2024-05-08 11:01:49 +02:00
Joffrey JAFFEUX 5e75baa5f6
FIX: uses the new <DropdownMenu /> component (#569) 2024-05-08 09:08:30 +02:00
Krzysztof Kotlarek b796ae3fcc
DEV: remove assign_path and assign_icon from seralizers (#568)
Both fields are unnecessary and should not be included in the serializer to reduce payload.
2024-05-06 12:12:45 +10:00
Gabriel Grubba c8f669d76b
DEV: add modifier to reminder assigned topics query (#565)
* FEATURE: Prevents assign notification

Relates to this [topic](https://meta.discourse.org/t/assign-plugin-for-informatica/256974/94)

* DEV: Add tests to assigns_reminder_assigned_topics_query modifier

* DEV: lint pending_assigns_reminder_spec.rb

* DEV: Address review feedback

Remove puts from test.
2024-04-26 13:16:36 -03:00
Joffrey JAFFEUX 62563bfcea
DEV: linting arguments in templates (#567) 2024-04-24 16:45:12 +02:00
Joffrey JAFFEUX cbf3f3a908
FIX: ensures ctrl+enter from textarea saves (#566) 2024-04-24 15:54:38 +02:00
Discourse Translator Bot 5a67a3ec35
Update translations (#564) 2024-04-23 16:22:18 +02:00
Discourse Translator Bot 6665dd09b3
Update translations (#563) 2024-04-16 17:37:45 +02:00
Andrei Prigorshnev c1d4633ba4
FEATURE: Make it possible to reassign posts on the topic level assign modal (#562)
This adds a new dropdown to the topic level assign modal. A topic may contain several assignments, the topic itself may be assigned and also some of the replies may be assigned. With this new dropdown, it's possible to edit all the assignments from this modal.

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2024-04-16 14:08:39 +02:00
Andrei Prigorshnev 6070678a1c
FIX: Unassign label sometimes touches avatar (#561)
The label touches the avatar when a topic has several assignments, 
and those contain assignments to users _and_ to groups. We don't show 
avatars for groups, but the code sees there are several assignees and 
applies overlapping styling.

This commit corrects the logic and fixes the issue.

Here is how avatars on the button behave:
1. If there are from one to many assignments on the topic, but all 
the assignees are groups, we don't show avatars, only label.
2. If there are from one to many assignments to the same user, we show 
the avatar of that user.
3. And if there are from two to many assignments to different users, we 
show avatars of first two users.
2024-04-10 17:36:38 +04:00
Joffrey JAFFEUX 3507a7dd98
FIX: correctly refresh UI when changing group preference (#560)
Prior to this fix the state change was not reflected in the UI when changing the "who can assign" preference of a group.

This was actually saved in the backend but would require a full page refresh to see the updated state on the group preferences page.
2024-04-05 18:46:08 +02:00
David Taylor 6d78e3956e
DEV: Update test selectors for glimmer header (#558)
In preparation for https://github.com/discourse/discourse/pull/26467
2024-04-04 17:11:59 +01:00
Andrei Prigorshnev 0bcd0a1fee
FIX: Unassign buttons on the activity/assigned page don't work (#559)
We've noticed that when unassigning a topic on the `activity/assigned` one of 
two incorrect things happens when pressing this button:
1. The first topic on the page gets unassigned instead of the selected one
2. No topics get unassigned (that happens when the first topic on the list is 
not assigned and only has assigned _posts_)

That happens because this handler for all buttons somehow always use the 
same state - the state of the first topic on the page:

f2906e0885/assets/javascripts/discourse/components/assign-actions-dropdown.js (L55-L68)

There seem to be some nuances in select-kit and I'm not sure whether 
this should be qualified as a bug in select-kit. However, I've noticed that in other cases when we use `DropdownSelectBoxComponent` we use the `onChange` handler rather 
than `onSelect`.

So I switched this code to using `onChange` and that resolved the issue, 
the `onChange` handler has access to correct state.

Tests will be in a follow-up.
2024-04-04 20:03:03 +04:00
Discourse Translator Bot f2906e0885
Update translations (#557) 2024-04-02 18:19:42 +02:00
Andrei Prigorshnev 2676522abc
FEATURE: Add buttons for unassigning from posts to the topic level assign menu (#554)
Before, we only had buttons for assigning and unassigning topic on 
the topic level assign menu. This commit adds dynamic buttons for 
unassigning posts to the menu.
2024-03-29 18:10:04 +04:00
Andrei Prigorshnev 51920a99c0
FIX: Assignments limit shouldn't prevent from reassigning a post (#556)
At the moment, it's possible to have maximum 5 assignments per topic 
(that includes topic and post assignments). When trying to assign more, 
a message "Limit of 5 assignments per topic has been reached" appears.

One possible edge case here is _reassigning_ a topic or a post. Reassignment 
doesn't lead to exceeding the limit, and therefore it should be possible. But 
at the moment we handle correctly only _topic_  reassignments, while when 
reassigning a _post_, we show the error message "the limit has been reached".

This commit makes post reassignments work correctly too.
2024-03-29 15:50:02 +04:00
Joffrey JAFFEUX 08c2a4e0f3
UX: autofocus assignee input (#555)
With the new mobile modal we can now do this with no issue.
2024-03-25 22:58:14 +01:00
Blake Erickson ed059d3dfe
DEV: Changes for new bulk action dropdown modal (#553)
When the new bulk actions dropdown is enabled use a new component for bulk assigning.

Co-authored-by: Martin Brennan <martin@discourse.org>
2024-03-25 15:13:36 -06:00
Loïc Guitaut c696e44714 FIX: Recreate notifications on topic reopening
Currently, when reopening a topic that has assignments, the
notifications in the user menu aren’t recreated.

This patch fixes that issue. It also addresses the same type of issue
with posts being destroyed and recovered.
2024-03-18 10:56:08 +01:00
Andrei Prigorshnev b09a6618fa
FEATURE: Add menu to assigned text on posts (#550)
This adds a popup menu to assigned posts that makes it easier to unassign or 
reassign them.
2024-03-15 18:30:11 +04:00
Andrei Prigorshnev a1686e1ca9
DEV: Stop using FoundUserWithStatusSerializer (#546)
Starting from b3a1199493 we stop using deprecated "WithStatus" serializers. Instead we'll be passing an 'include_status' option to serilaizers, for example:

```ruby
# before
BasicUserWithStatusSerializer.new(user)
ArraySerializer.new(users, each_serializer: BasicUserWithStatusSerializer)

# now
BasicUserSerializer.new(user, include_status: true)
ArraySerializer.new(users, each_serializer: BasicUserSerializer, include_status: true)
```
2024-03-14 17:44:48 +04:00
Discourse Translator Bot 33c43ca51a
Update translations (#551) 2024-03-05 16:47:42 +01:00
Selase Krakani 885bd95966
DEV: Pin plugin for Discourse < 3.3.0.beta1-dev (#549) 2024-02-29 13:49:21 -07:00
Loïc Guitaut c33297316a
DEV: Fix new Rubocop offenses (#548) 2024-02-29 18:23:48 +01:00
Alan Guo Xiang Tan 56b0de3896
DEV: Remove `capture_logs: true` metadata (#547)
Why this change?

We believe we have figured out the problem and not longer need the debugging information.
2024-02-22 20:09:22 +08:00
Discourse Translator Bot ae26c05db5
Update translations (#545) 2024-01-30 17:02:58 +01:00
Discourse Translator Bot d3f9af3eb6
Update translations (#544) 2024-01-23 18:29:09 +01:00
Jarek Radosz c42ae3eb7a
DEV: Update linting (#538) 2024-01-15 11:24:20 +00:00
Daniel Waterworth 2113f1732c
Backport custom field security commit (#543) 2024-01-08 16:19:27 -06:00
Daniel Waterworth ad82893352
Merge pull request from GHSA-82hq-222g-j4vj
10 digits should be plenty.
2024-01-08 16:41:56 -05:00
Alan Guo Xiang Tan 87e74f7948
DEV: Capture logs for all tests in `spec/system/assign_topic_spec.rb` (#542)
Why this change?

We have been getting flaky test failures from these specs and the
failure screenshot shows that the user is not logged in when it is
supposed to be. Futher investigation shows that when the test flakes, it
is because the request to view the topic is using an auth token that is
different from the one which was created when the user was signed in.

What does this change do?

1. Add the `capture_log` metadata to all the tests in this file.

2. Enables the `verbose_auth_token_logging` site setting to give us more
   debugging information in the logs.
2024-01-04 11:18:53 +08:00
Alan Guo Xiang Tan 4ac3f02b39
DEV: Unskip flaky tests and capture logs (#541)
Why this change?

The tests are supposedly flaky but we are unskipping them and capturing
logs to figure out why.
2024-01-03 13:11:03 +08:00
Alan Guo Xiang Tan 1f24dca1cc
DEV: Fix flaky system tests (#540)
Why this change?

The spec is flaky and it seems to be DB transaction related where after
signing in as a user, the failure screenshot shows that the user has not
been signed in.

What does this change do?

Set `capture_log: true` which will log all ActiveRecord DB statements
execute while running the spec.
2024-01-02 07:37:44 +08:00
Mark VanLandingham a5b7911cb9
DEV: Fix tests for user notification changes (#537) 2023-12-11 10:56:19 -06:00
Jarek Radosz 5888025dec
FIX: Various assignment status issues (#536) 2023-12-08 11:48:34 +01:00
David Taylor 9556df664c
DEV: Resolve transitionTo deprecation (#535) 2023-12-01 16:06:09 +00:00
Jarek Radosz e1aabe0517
DEV: Update linting (#534) 2023-11-29 23:02:00 +01:00
Loïc Guitaut cac9a763dd FEATURE: Allow to reassign to same user
Currently, when only one user is available for the random auto-assign
and if that user was already assigned, then the assign will fail.

This patch addresses this issue by allowing to reassign a user who’s
already assigned. A new parameter (`allow_self_reassign`) has been added
to `Assigner#assign` with a default value of `false`.
2023-11-27 16:17:25 +01:00
Loïc Guitaut eb073febb0 DEV: Fix a flaky spec
Sometimes, the topic id actually exists for that spec (id being 1) and
it will raise about not finding the group id instead of not finding the
provided topic because the assignees group wasn’t provided in the
`fields` parameter.
2023-11-27 14:46:35 +01:00
Loïc Guitaut fbd1fa3794 FEATURE: Add a fallback to auto-assign
Currently, when the auto-assign logic can’t find a user to assign, it
will fail saying there was no one to assign. The current logic is this
one:
- Don’t pick anyone who’s been picked in the last 180 days
- If no one has been found, then try the same thing but only for the
  last 14 days.
While this is working relatively well for large enough groups, it
doesn’t work at all with very small groups (like 2 people) and it
creates unnecessary noise.

This patch addresses this issue by adding a fallback to the current
logic. Now, if the two first rules fail, instead of saying that no one
was assigned, we assign the least recently assigned person. This way,
the logic will continue to work with large groups but will also work
nicely with small groups.
2023-11-22 10:11:15 +01:00
Discourse Translator Bot 4ce9ae97f4
Update translations (#531) 2023-11-21 14:36:06 +01:00
Jarek Radosz 190017f241
DEV: Update linting setup (#530) 2023-11-19 22:43:52 +01:00
Penar Musaraj 2c6ca25c9f
Update LICENSE (#529) 2023-11-15 20:11:33 +01:00
David Taylor da20a2bf53
DEV: Update tests for core change (#525)
https://github.com/discourse/discourse/pull/23967
2023-11-15 09:23:36 +00:00