Bug 40098 - При нажатии кнопки "Удалить" сбрасываются настройки рабочих мест
Summary: При нажатии кнопки "Удалить" сбрасываются настройки рабочих мест
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-multiseat (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Олег Соловьев
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-26 11:26 MSK by Elena Mishina
Modified: 2021-06-15 16:54 MSK (History)
6 users (show)

See Also:


Attachments
Добавление/удаление рабочего места (132.24 KB, image/png)
2021-05-26 11:26 MSK, Elena Mishina
no flags Details
scr-1 (144.72 KB, image/jpeg)
2021-06-11 11:21 MSK, Vera Blagoveschenskaya
no flags Details
scr-2 (155.41 KB, image/jpeg)
2021-06-11 11:22 MSK, Vera Blagoveschenskaya
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elena Mishina 2021-05-26 11:26:35 MSK
Created attachment 9382 [details]
Добавление/удаление рабочего места

Настроить и активировать двухместную конфигурацию. Работают 2 места.

Запустить alterator-multiseat. Добавить новое рабочее место (кнопка "Добавить") и сразу удалить его (кнопка "Удалить"). Результат: удаляется только что добавленное место и заодно сбрасывается? настроенное рабочее место, второй монитор сразу выключается (в alterator-multiseat данное место продолжает отображаться).
Comment 1 underwit 2021-05-26 12:10:13 MSK
Уберу сброс при удалении.
Comment 2 underwit 2021-05-26 16:37:18 MSK
Хочу уточнить один момент. Когда мы удаляем все рабочие места (кнопка "Очистить всё") производить сброс?
Comment 3 Elena Mishina 2021-05-26 17:04:16 MSK
(In reply to underwit from comment #2)
> Хочу уточнить один момент. Когда мы удаляем все рабочие места (кнопка
> "Очистить всё") производить сброс?

Кнопка "Очистить всё" это же аналог команды "loginctl flush-devices"? При выполнении этой команды сброс производится. 
Может тут нужно просто окно подтверждения, как при активации, а то из названия кнопки не понятно, что сейчас второй монитор погаснет. При нажатии кнопки "Деактивировать" это ожидаемое действие.
Comment 4 underwit 2021-05-26 17:16:51 MSK
(Ответ для Elena Mishina на комментарий #3)
> Кнопка "Очистить всё" это же аналог команды "loginctl flush-devices"? При
> выполнении этой команды сброс производится. 
> Может тут нужно просто окно подтверждения, как при активации, а то из
> названия кнопки не понятно, что сейчас второй монитор погаснет. При нажатии
> кнопки "Деактивировать" это ожидаемое действие.

Кнопка "Очистить всё" очищает список дополнительных рабочих мест, а потом вызывает loginctl flush-devices сбрасывая привязанные устройства.

Я просто вызов flush-devices оттуда уберу. Кнопка просто будет очищать список.
Comment 5 Elena Mishina 2021-05-26 17:27:08 MSK
(In reply to underwit from comment #4)

> Кнопка "Очистить всё" очищает список дополнительных рабочих мест, а потом
> вызывает loginctl flush-devices сбрасывая привязанные устройства.
> 
С точки зрения пользователя и  "Очистить всё" и "loginctl flush-devices" это удаление всех настроек.

> Я просто вызов flush-devices оттуда уберу. Кнопка просто будет очищать
> список.

Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже доп. рабочих мест не будет?
А что будет происходить если потом нажать кнопку Активировать, а если Деактивировать?
Comment 6 underwit 2021-05-26 17:50:28 MSK
(Ответ для Elena Mishina на комментарий #5)

> С точки зрения пользователя и  "Очистить всё" и "loginctl flush-devices" это
> удаление всех настроек.
С точки зрения пользователя может быть, на деле это не так.
1. Есть файлы конфигурации, вот мы их в интерфейсе заполняем, удаляем, добавляем.
2. А есть модуль loginctl. (который мы активируем или деактивируем)
Изменения в 1 никак не влияют на текущее состояние во 2, пока не нажата кнопка "Активировать".
И если что-то поменяется во время работы во 2, то в 1 ничего об этом не будет известно.


> Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже
> доп. рабочих мест не будет?

Да

> А что будет происходить если потом нажать кнопку Активировать, а если
> Деактивировать?

Если список доп. рабочих мест пуст, то при активации ничего не произойдет. При деактивации всё как обычно.

Могу убрать кнопку "очистить всё". Пусть по одному доп. места удаляются.
Comment 7 Elena Mishina 2021-05-26 18:17:06 MSK
(In reply to underwit from comment #6)

> 
> > Т.е. настроенные рабочие места останутся в рабочем состоянии, а в модуле уже
> > доп. рабочих мест не будет?
> 
> Да
> 
> > А что будет происходить если потом нажать кнопку Активировать, а если
> > Деактивировать?
> 
> Если список доп. рабочих мест пуст, то при активации ничего не произойдет.
> При деактивации всё как обычно.
> 
Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но при этом ранее настроенные рабочие места как работали, так и работают. Что делать пользователю чтобы вернуться к исходному состоянию - нужно обязательно нажать кнопку Деактивировать (т.е.так мы возвращаемся к текущему поведению, с разницей в два нажатия вместо одного + надо догадаться про кнопку Деактивировать).
А если не нажимать Деактивировать, после  "очистить всё" и закрыть ЦУС? перезагрузиться?  Что будет при следующей загрузке (загрузится одно место или все что работали до кнопки "очистить всё", в модуле все устройства будут у seat0)? 

> Могу убрать кнопку "очистить всё". Пусть по одному доп. места удаляются.

В этой баге вообще не было никаких претензий к кнопке "очистить всё".
Comment 8 underwit 2021-05-27 10:27:30 MSK
(Ответ для Elena Mishina на комментарий #7)
 
> Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но
> при этом ранее настроенные рабочие места как работали, так и работают. Что
> делать пользователю чтобы вернуться к исходному состоянию - нужно
> обязательно нажать кнопку Деактивировать

Да

> А если не нажимать Деактивировать, после  "очистить всё" и закрыть ЦУС?
> перезагрузиться?  Что будет при следующей загрузке (загрузится одно место
> или все что работали до кнопки "очистить всё", в модуле все устройства будут
> у seat0)? 

Все настроенные места будут работать, но не будут отображены в интерфейсе. А устройства будут висеть у seat0.
 
> В этой баге вообще не было никаких претензий к кнопке "очистить всё".

Но с ней тоже нужно решить, что делать.

Выберите пожалуйста один вариант и я его реализую.
1) удалить (+ деактивировать) / очистить всё (+ деактивировать)
1) удалить / очистить всё (+ деактивировать)
1) удалить / очистить всё
Comment 9 Elena Mishina 2021-05-27 10:43:25 MSK
(In reply to underwit from comment #8)
> (Ответ для Elena Mishina на комментарий #7)
>  
> > Всё равно не понятно. Список пустой, все устройства в вернулись к seat0, но
> > при этом ранее настроенные рабочие места как работали, так и работают. Что
> > делать пользователю чтобы вернуться к исходному состоянию - нужно
> > обязательно нажать кнопку Деактивировать
> 
> Да
> 
> > А если не нажимать Деактивировать, после  "очистить всё" и закрыть ЦУС?
> > перезагрузиться?  Что будет при следующей загрузке (загрузится одно место
> > или все что работали до кнопки "очистить всё", в модуле все устройства будут
> > у seat0)? 
> 
> Все настроенные места будут работать, но не будут отображены в интерфейсе. А
> устройства будут висеть у seat0.
>  

Но ведь это совсем не User-friendly: у пользователя что то работает, но почему это работает не видно.

> > В этой баге вообще не было никаких претензий к кнопке "очистить всё".
> 
> Но с ней тоже нужно решить, что делать.
> 
> Выберите пожалуйста один вариант и я его реализую.
> 1) удалить (+ деактивировать) / очистить всё (+ деактивировать)
> 1) удалить / очистить всё (+ деактивировать)
> 1) удалить / очистить всё

Я совсем не тот человек, который должен решать какому варианту быть.

Моё мнение: при нажатии кнопки удалить, должно удаляться только то место, которое выделено (суть этой ошибки), при нажатии кнопки "очистить всё" - удаляются все места. Про деактивацию, тут нужно понимание, можно ли деактивировать только одно рабочее место из трёх? А активировать третье если сейчас настроены и активированы два? Если да, то кнопка Удалить - удаляет и деактивирует данное раб.место, "очистить всё" - удаляются/деактивирутся все места. Если нет, то если многоместный режим активирован, то все кнопки кроме "Декативировать" должны быть не активны: т.е. сначала нужно деактивировать многоместный режим, а уже потом добавлять/удалять места.
Comment 10 underwit 2021-05-27 11:13:43 MSK
(Ответ для Elena Mishina на комментарий #9)
> Но ведь это совсем не User-friendly: у пользователя что то работает, но
> почему это работает не видно.

Я в этом не виноват. Это loginctl. Суть в том, что когда я передаю устройство с seat0 на seat1, устройство пропадает с seat0, но место seat1 ещё не создано и появится только после перезагрузки.


> Я совсем не тот человек, который должен решать какому варианту быть.
Давайте найдем того, кто будет решать.


> Моё мнение: при нажатии кнопки удалить, должно удаляться только то место,
> которое выделено (суть этой ошибки), при нажатии кнопки "очистить всё" -
> удаляются все места. Про деактивацию, тут нужно понимание, можно ли
> деактивировать только одно рабочее место из трёх? 

Деактивировать одно место нельзя.

> А активировать третье если сейчас настроены и активированы два?

Можно. Просто активированные будут активированы повторно, это нормально.

> Если да, то кнопка Удалить - удаляет и
> деактивирует данное раб.место, "очистить всё" - удаляются/деактивирутся все
> места. Если нет, то если многоместный режим активирован, то все кнопки кроме
> "Декативировать" должны быть не активны: т.е. сначала нужно деактивировать
> многоместный режим, а уже потом добавлять/удалять места.

С определением состояния активирован или нет, тоже могут быть проблемы.
Comment 11 Sergey V Turchin 2021-05-27 12:09:36 MSK
Кнопки "Активировать" и "Деактивировать" переименовываются в "Применить" и "Отменить" и только они влияют на систему и её настройки.
Кнопки изменения конфигурации не оказывают влияния на систему и её настройки.
К кнопкам изменения конфигурации добавляется кнопка "Сброс", которая возвращает к предыдущему состоянию.
Нужно добавить отображение статуса "Активно" для каждого рабочего места.
Comment 12 Repository Robot 2021-06-03 18:07:29 MSK
alterator-multiseat-0.0.5-alt1 -> sisyphus:

 Mon May 31 2021 Ivan Razzhivin <underwit@altlinux> 0.0.5-alt1
 - refactoring get_device_name function (closes: #40097)
 - add the ability to save and restore the config
 - remove device_flush call from cache_seat_rm_all and cache_seat_remove (closes: #40098)
 - mark a seat when it is active
Comment 13 Vera Blagoveschenskaya 2021-06-11 11:20:05 MSK
Проверка с заданием
http://git.altlinux.org/tasks/273363/
alterator-multiseat-0.0.5-alt1

1) Настроить мультисит с 2 рабочими местами seat0 и seat1 на версии alterator-multiseat-0.0.4-alt1. Успешный вход под разными пользователями, отдельная работа (см. scr-1).
2) Добавить задание, обновиться и перезагрузиться.
# apt-repo add 273363
# apt-get update
# apt-get dist-upgrade -y
# reboot
3) Зайти в модуль альтератора "Настройка нескольких рабочих мест"

Результат: seat1 исчез - см. scr-2, все устройства "доступны" на seat0, хотя по факту сохранились оба рабочих места. seat1 можно предлагается обавить заново

Ожидаемый результат: настройки второго рабочего места после обновления должны сохраняться и отображаться в альтераторе.

Прошу доработать, т.к. данное поведение некорректно.
Comment 14 Vera Blagoveschenskaya 2021-06-11 11:21:08 MSK
Created attachment 9415 [details]
scr-1

Настроены два рабочих места seat0 и seat1
Comment 15 Vera Blagoveschenskaya 2021-06-11 11:22:27 MSK
Created attachment 9416 [details]
scr-2

Вид в альтераторе после обновления до таска и перезагрузки.
Comment 16 Repository Robot 2021-06-15 16:54:43 MSK
alterator-multiseat-0.0.5-alt1 -> p9:

 Mon May 31 2021 Ivan Razzhivin <underwit@altlinux> 0.0.5-alt1
 - refactoring get_device_name function (closes: #40097)
 - add the ability to save and restore the config
 - remove device_flush call from cache_seat_rm_all and cache_seat_remove (closes: #40098)
 - mark a seat when it is active