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

Restore deleted/hidden notes chat (#582) #745

Merged
merged 55 commits into from
Jan 2, 2024

Conversation

kvbykov
Copy link
Contributor

@kvbykov kvbykov commented Dec 4, 2023

Resolves #582

Synopsis

При удалении монолога (чата-заметок) плохо работает возможность восстановить его с помощью поиска (на данный момент можно только найти своего Userа и написать ему).

Solution

  • В SearchController будет добавлен метод для проверки соответствия текущего query либо названию чата заметок, либо имени / логину / ID MyUserа. Этот метод будет вызываться при обновлении отображаемых результатов поиска.
  • При скрытии/удалении чата (вызов hideChat(...) и обработка евента EventChatHidden будет происходить не удаление чата из локального хранилища, а изменение значения флага isHidden

Checklist

  • Created PR:
    • In draft mode
    • Name contains issue reference
    • Has type and k:: labels applied
  • Before review:
    • Documentation is updated (if required)
    • Tests are updated (if required)
    • Changes conform code style
    • CHANGELOG entry is added (if required)
    • FCM (final commit message) is posted or updated
    • Draft mode is removed
  • Review is completed and changes are approved
    • FCM (final commit message) is approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • All temporary labels are removed

Fix hidden Notes chat restoration via search
@kvbykov kvbykov added enhancement Improvement of existing features or bugfix k::UI/UX UI (user interface) and UX (user experience) changes k::refactor Refactor changes of existing code labels Dec 4, 2023
@kvbykov kvbykov added this to the 0.1.0-alpha.12 milestone Dec 4, 2023
@kvbykov kvbykov self-assigned this Dec 4, 2023
@kvbykov kvbykov marked this pull request as draft December 4, 2023 17:00
lib/store/chat.dart Outdated Show resolved Hide resolved
@kvbykov
Copy link
Contributor Author

kvbykov commented Dec 11, 2023

FCM

Implement `Chat`-monolog searching in `SearchController` (#745, #582)

- refactor `ChatRepository` to keep `Chat`s with `isHidden` set

Additionally:
- fix local `Chat`-monolog possibly duplicating on separate devices

@kvbykov kvbykov changed the title Draft: Restore deleted/hidden notes chat (#582) Restore deleted/hidden notes chat (#582) Dec 11, 2023
@kvbykov kvbykov marked this pull request as ready for review December 11, 2023 22:13
lib/ui/page/call/search/controller.dart Outdated Show resolved Hide resolved
lib/ui/page/call/search/controller.dart Outdated Show resolved Hide resolved
lib/store/chat.dart Outdated Show resolved Hide resolved
lib/store/chat.dart Outdated Show resolved Hide resolved
lib/store/chat.dart Outdated Show resolved Hide resolved
lib/store/chat.dart Outdated Show resolved Hide resolved
Corrections

- fix `EventChatHidden` handling
- refactor `hideChat` and `_initMonolog`
lib/store/chat.dart Outdated Show resolved Hide resolved
- Optimize `_populateMonolog`, fix its search with `UserNum`
- Refactor steps and add `fillFieldWithMyCredential`
- Fix unnecessary iterations
@kvbykov kvbykov requested review from SleepySquash and removed request for SleepySquash December 22, 2023 13:12
lib/store/chat.dart Outdated Show resolved Hide resolved
SleepySquash and others added 3 commits December 26, 2023 12:30
- remove redundant `_createLocalDialog` calls
lib/store/chat.dart Show resolved Hide resolved
SleepySquash and others added 2 commits December 28, 2023 11:32
- fix local monolog behavior when deleted on another device
- fix (visual only!) local monolog 'edited at' date appearing
@kvbykov
Copy link
Contributor Author

kvbykov commented Dec 28, 2023

@SleepySquash
Последним коммитом чисто визуально пофиксил проблему #770. Думаю, истинное решение выходит за рамки этого PR.

По поводу последнего бага - исправил, но немного сомневаюсь, может, стоит всё же логику сохранения ChatId монолога в _monologLocal внести в какой-нибудь из методов, ответственных за сохранение чатов, например, ChatRepository.put. Я ещё над этим подумаю, но если у Вас есть мысли - буду рад услышать

@SleepySquash SleepySquash enabled auto-merge (squash) January 2, 2024 09:51
@SleepySquash SleepySquash merged commit 06fd07a into main Jan 2, 2024
22 checks passed
@SleepySquash SleepySquash deleted the 582-restore-hidden-notes-chat branch January 2, 2024 10:13
github-actions bot added a commit that referenced this pull request Jan 2, 2024
- refactor `ChatRepository` to keep `Chat`s with `isHidden` set

Additionally:
- fix local `Chat`-monolog possibly duplicating on separate devices 06fd07a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing features or bugfix k::refactor Refactor changes of existing code k::UI/UX UI (user interface) and UX (user experience) changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Restore deleted/hidden notes chat
2 participants