Примечание: русская версия была переведена с английского с помощью ИИ. Оригинал на английском языке приведён ниже. Прошу простить возможные неточности в переводе.
Русская версия
Окружение
- Версия Remnawave Panel: 3.3.2
Раздел: Hosts
- Режим отображения: карточки
Описание проблемы
Если выбрать несколько хостов и нажать Move Up или Move Down, хосты корректно перемещаются на одну позицию, но сразу после этого их выделение сбрасывается.
Чтобы переместить выбранные хосты ещё на одну позицию, приходится снова выбирать все хосты и повторно нажимать кнопку.
Речь идёт именно о пошаговых действиях:
- Move Up
- Move Down
Проблема особенно заметна для этих двух действий, поскольку они предназначены для повторного нажатия. Действия Move to Top и Move to Bottom обычно требуют только одного нажатия.
Шаги для воспроизведения
- Открыть раздел Hosts.
- Выбрать два или более хоста.
- Нажать Move Up или Move Down.
- Хосты переместятся на одну позицию.
- Сразу после перемещения выделение всех выбранных хостов сбросится, а панель массовых действий закроется.
- Для повторного перемещения необходимо снова выбрать те же хосты.
Фактическое поведение
После первого успешного перемещения выбранные хосты автоматически снимаются с выделения.
Ожидаемое поведение
Выбранные хосты должны оставаться выделенными после Move Up или Move Down, чтобы пользователь мог нажать кнопку несколько раз подряд.
Выделение должно сбрасываться только вручную или когда выбранный хост больше не существует в текущем списке.
Частота воспроизведения
Воспроизводится каждый раз, когда операция действительно изменяет порядок хостов.
Если выбранные хосты уже находятся на границе списка и перемещение невозможно, порядок не изменяется и проблема может не проявиться.
Подтверждение по коду
Поведение подтверждается текущей логикой frontend.
В компоненте:
src/features/dashboard/hosts/multi-select-hosts/multi-select-hosts.feature.tsx
выделение очищается при каждом изменении hosts:
useEffect(() => {
setSelectedHosts(\[\])
}, [hosts])
При нажатии Move Up или Move Down компонент страницы изменяет порядок хостов и записывает обновлённый список в query cache:
src/pages/dashboard/hosts/ui/components/hosts.page.component.tsx
Изменение hosts запускает указанный useEffect, который очищает selectedHosts.
Поэтому проблема не зависит от конкретного браузера или пользователя и должна воспроизводиться у всех пользователей этой версии frontend, если операция действительно меняет порядок.
Все четыре действия перемещения используют один и тот же механизм, поэтому после Move to Top и Move to Bottom выделение также может сбрасываться. Однако для них это менее заметно, поскольку обычно не требуется повторное нажатие.
English original
Environment
- Remnawave Panel version: 3.3.2
- Section: Hosts
- View mode: Cards
Description
When multiple Hosts are selected and Move Up or Move Down is pressed, the Hosts correctly move by one position, but the selection is immediately cleared.
To move the same Hosts by another position, the user must select all of them again before pressing the button another time.
This report specifically concerns the incremental actions:
- Move Up
- Move Down
The problem is most noticeable with these actions because they are intended to support repeated clicks. Move to Top and Move to Bottom normally require only one click.
Steps to reproduce
- Open the Hosts section.
- Select two or more Hosts.
- Press Move Up or Move Down.
- The Hosts move by one position.
- Immediately after the reorder, all selected Hosts become deselected and the bulk-actions panel closes.
- The same Hosts must be selected again before they can be moved another position.
Actual behavior
The Host selection is cleared after the first successful reorder.
Expected behavior
The selected Hosts should remain selected after Move Up or Move Down, allowing the user to press the action repeatedly.
Selection should be cleared only manually or when a selected Host no longer exists in the current list.
Reproducibility
The issue occurs whenever the action actually changes the Host order.
If the selected Hosts are already at the relevant boundary and cannot move farther, the order does not change and the issue may not appear.
Code-level confirmation
The behavior is confirmed by the current frontend logic.
In:
src/features/dashboard/hosts/multi-select-hosts/multi-select-hosts.feature.tsx
selection is cleared whenever hosts changes:
useEffect(() => {
setSelectedHosts(\[\])
}, [hosts])
Pressing Move Up or Move Down changes the Host order and writes the reordered list to the query cache in:
src/pages/dashboard/hosts/ui/components/hosts.page.component.tsx
That hosts change triggers the effect above, which clears selectedHosts.
Therefore, the issue is not specific to one browser or user. It should affect everyone running this frontend version whenever the reorder operation changes the order.
All four movement actions use the same reorder mechanism, so selection may also be cleared after Move to Top and Move to Bottom. It is simply less noticeable because those actions normally do not need to be repeated.