Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check dependency initialization on app start and account switch #770

Closed
kvbykov opened this issue Dec 28, 2023 · 2 comments · Fixed by #957
Closed

Check dependency initialization on app start and account switch #770

kvbykov opened this issue Dec 28, 2023 · 2 comments · Fixed by #957
Assignees
Labels
bug Bugs and incorrectness problems k::UI/UX UI (user interface) and UX (user experience) changes

Comments

@kvbykov
Copy link
Contributor

kvbykov commented Dec 28, 2023

Summary

Нужно проверить, правильно ли происходит инициализация зависимостей при входе в новый аккаунт и старте приложения

Steps to reproduce

(!) Для удобства лучше поменять в виджете RecentChatTile услвоие с if (!chat.id.isLocal) на if (chat.id.isLocalWith(me):

if (!chat.id.isLocal)
      Text(
        chat.updatedAt.val.toLocal().short,
        style: inverted
            ? style.fonts.normal.regular.onPrimary
            : style.fonts.normal.regular.secondary,
      ),

Создавать новые (лучше одноразовые) аккаунты до тех пор, пока не станет видна дата изменения у локального монолога.

What is the current bug behavior?

Иногда при входе в новый аккаунт можно наблюдать, что у новосозданного локального монолога указана дата последнего изменения (1/1/1970, т.к. он всегда создаётся ровно "в начало эпохи").

На момент создания issue в вёрстке мы решаем, стоит ли отображать дату последнего изменения в ChatTile, через условие if (!chat.id.isLocalWith(me)). Ясно, что по какой-то причине монолог (а значит, и сам ChatRepository) создаётся не с тем значением me, которое передаётся в RecentChatTile из ChatsTabController, что приводит к некорректной работе проверки и отображению даты.

По итогу наблюдается картина на скриншотах, причём важно, что нерелевантным оказывается именно UserId, переданный в конструктор виджета в свойство me. Это можно проверить, поискав значение me из поля виджета RecentChatTile в логах - ничего не находится. Также этот UserId, по-видимому, не имеет отношения к предыдущим сессиям, т.е. не совпадает с UserId кого-то из прошлых пользователей. Пока неясно, откуда берётся это значение.

What is the expected correct behavior?

Дата не отображается.

Relevant logs and/or screenshots

logs + debugger

Possible fixes

Стоит отследить, как происходит инициализация виджета, ChatsTabView, его контроллера. Есть ощущение, что где-то создаётся id-пустышка, пока MyUser не проинициализировался.

@kvbykov kvbykov added bug Bugs and incorrectness problems k::UI/UX UI (user interface) and UX (user experience) changes labels Dec 28, 2023
@kvbykov kvbykov added this to the 0.1.0-alpha.12 milestone Dec 28, 2023
@krida2000 krida2000 assigned krida2000 and unassigned SleepySquash Mar 18, 2024
@krida2000
Copy link
Contributor

@SleepySquash @kvbykov Не удалось повторить проблему, ни на мобильльном устройстве ни на Windows. Возможно проблема была исправлена в одном из пулл реквестов либо как-то связана с hot restart или hot reload.

Стоит отследить, как происходит инициализация виджета, ChatsTabView, его контроллера. Есть ощущение, что где-то создаётся id-пустышка, пока MyUser не проинициализировался.

id-пустышка нигде не создается, в RecentChatTile сразу передается id из AuthService.

@krida2000
Copy link
Contributor

@SleepySquash Предлагаю передать задачу @kvbykov, так как у меня проблема не воспроизводится.

Если у @kvbykov тоже не получится воспроизвести проблему, думаю issue можно закрывать, но перед этим нужно отменить изменения которые упоминаются в комментарии #745 (comment).

@SleepySquash SleepySquash assigned kvbykov and unassigned krida2000 Mar 28, 2024
SleepySquash added a commit that referenced this issue Apr 26, 2024
, #770)

- fix possible spam of `register`, `confirmSignUpEmail` and `signIn` methods
- fix possible `AuthorizationException` race in `updateUserPassword`

Co-authored-by: SleepySquash <nordnikita@icloud.com>
github-actions bot added a commit that referenced this issue Apr 26, 2024
, #770)

- fix possible spam of `register`, `confirmSignUpEmail` and `signIn` methods
- fix possible `AuthorizationException` race in `updateUserPassword`

Co-authored-by: SleepySquash <nordnikita@icloud.com> fdd7d83
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bugs and incorrectness problems k::UI/UX UI (user interface) and UX (user experience) changes
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants