Re[16]: Про обработку ошибок - типовые решения
От: Shmj Ниоткуда  
Дата: 28.04.25 02:35
Оценка: :))
Здравствуйте, Sinclair, Вы писали:

S>Нет, зачем? Это просто сессионный токен, который выдан вам сервисом аутентификации.


И? Вы его сбросили и установили в другой — далее что? Автоматом все запросы отменятся что ли?

S>>Как вы представляете прекращение существования пользовательской сессии? Убить процесс приложения?

S>Самый простой вариант — да, убить процесс

Вот в этом у вас и проблема... В 2025 году так никто не делает. Программа продолжает работать, просто переходит на страницу входа — вот в чем фишка.

Понимаете ли что реальность — она другая. По логике вещей — пользователь вышел — и все должно схлопнуться, исчезнуть, задиспозится. Но нет — так нельзя. Программа по прежнему работает.

S>>Но нет же, при выходе приложение не убивается а продолжает работать — просто переходит на страницу входа. Тогда что же?

S>Тогда закрыть все формы и освободить связанные с ними структуры данных, в которых используется сессионный токен.

Вот именно что:

1. Закрыть все формы.
2. Обнулить все состояния.
3. Оборвать все запросы и длительные операции.

Не просто формы — сейчас в формах никто данные не хранит, еще раз вам говорю — данные изменяются отдельно — и при изменении даных несколько форм может обновиться.

Далее, ок. Обнулили данные. А как быть если уже вызвана асинхронная функция, которая делает несколько запросов к серверу? После каждого запроса вам нужно что? Правильно, проверять актуален ли пользователь и если НЕТ — то что? Херачить запросы далее или?

S>>Вы когда-нибудь реально меняли? У вас есть два аккаунта разных? Или просто верите в это?

S>Конечно менял. Там, если что, есть режим с "демо аккаунтом".

Так дело вот в чем. Чтобы эта ошибка проявилась — нужно не простои изменить пользователя. Нужно чтобы первый пользователь запустил некую длительную операцию, которая выполняется дольше чем вход/выход из аккаунта. Это трудноуловимые ошибки и тестеры их не обнаружат да и пользователи очень редко когда столкнуться.
=сначала спроси у GPT=
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.