Commit Graph

27 Commits

Author SHA1 Message Date
Jonathan Rainville 50132c5a0e
Refactor contacts models to have a single model, remove useless properties and improve updating (#16667)
* refactor(contacts): refactor 5 contact models into one and filter in QML

Fixes #16549

Refactors the 5 types of contact models (all, mutuals, banned, received and sent) into only the `allContacts` and use an Adaptor on the QML side to filter into the needed models.
This cleans the Nim side a lot and makes applying updates to the contacts' model way simpler.

* chore(contacts): remove useless and duplicated contact properties

OptionalName and isSyncing were never used.
DefaultDisplayName was not really used and is actually a duplication of preferredDisplayName, so I replaced the limited usages of DefaultDisplayName by preferredDisplayName

* refactor(contacts): improve updates by not removing and re-adding

We used to update contact items by removing them from the models and re-adding them. This is highly inefficient.
Instead, the proper way is to update only the values that changed.

* user_model: onItemChanged signal removed

* user_model: sorting by online status no longer needed on nim side

* Chat/RootStore: contactsModel property removed

* ContactsStore encapsulation improved

* ContactsStore: contacts model adaptor moved outside store

---------

Co-authored-by: Michał Cieślak <michalcieslak@status.im>
2024-11-28 09:15:34 -05:00
Michał Cieślak f3021ec757 Global signal related to contact popups simplified
Global.openContactRequestPopup
Global.openReviewContactRequestPopup
Global.openNicknamePopupRequested
Global.blockContactRequested/unblockContactRequested
Global.openMarkAsUntrustedPopup
Global.removeContactRequested
Global.openMarkAsIDVerifiedPopup/openRemoveIDVerificationDialog
2024-11-13 09:49:07 +01:00
Michał Cieślak 14226af5a0 UtilsStore creaed, isChatKey method moved 2024-10-28 23:16:31 +01:00
Lukáš Tinkl 158154bcca fix(RenameGroupPopup): fix name validation and scrolling
- increase the length limit to 30 and allow `&`, as per the spec
- wrap the popup in a scroll view
- pls some minor cleanups

Fixes #16523
2024-10-23 16:18:26 +02:00
Lukáš Tinkl 2fa65968c0 fix(Profile flow): Send a contact request (CR)
- make `SendContactRequestModal.qml` use the common dialog, use the
contact details if we already have it
- make some minimal changes to the "Send ID verification" flow since it
shares the same dialog
- simplify the `CommonContactDialog.qml` footer/buttons handling
- adjust the menu item texts
- emit toasts when the action is performed
- display a tooltip over the compressed elided key

Fixes #13518
2024-02-16 16:47:45 +01:00
Igor Sirotin 9881c15f3c
Fix/issue 12356 no shared url data (#12557)
* refactor service `parseSharedUrl` functino
* drop unused RootStore functions
* refactor Utils shared urls functions
* fix(MembersSeectprView): ignore shared url data
* drop `openContactRequestPopupWithContactData`
* fix loading of data to popup
2023-10-26 14:58:05 +01:00
Igor Sirotin 34dba08b7a
fix: Only `scrollToMessage` when it's available in the database (#11784)
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
2023-08-07 23:52:04 +03:00
Igor Sirotin 129f81a01a
fix(MembersdSelectorView): fix the logic of opening CR popup (#11780) 2023-08-04 11:27:37 +03:00
Boris Melnik 43a5d7eeeb feat(new-links): Parse url data and display
Fixes: #10852
2023-07-27 15:08:21 +03:00
Jonathan Rainville fa656c9535 feat(NewChat): open contact popup when pasting key of user in request
Fixes #9736

When pasting the chat key of a user to whom you already sent a request to, but for which they haven't answered yet, we open the popup instead of doing nothing.
If you paste the chat key of a user you are not a contact at all and sent no request, it opens the contact request popup as before.
Also, same as before, if you paste the key of a mutual contact, their name will show in the suggestion list.
2023-06-01 10:51:39 -04:00
Boris Melnik e34d28f881 fix(member-selector): Adds filter suggestions by chat key pasted in input
Fixes: #9881
2023-05-16 16:41:18 +03:00
Igor Sirotin bb6e87deec
fix(ImportCommunityPopup): Support community link (#10557) 2023-05-04 18:37:44 +03:00
Igor Sirotin 6fe82ef133
fix: Fix and rework "start chat" text field input (#10450) 2023-04-27 17:03:49 +03:00
Alexandra Betouni 840b9986dc fix(MembersListSelectro): tag item should be removed only when x is clicked
Closes #8259
2023-04-05 15:30:04 +03:00
Boris Melnik c8ef6bcd9c fix(MembersSelectorView): Change paste event to parsing text for lookup contacts
Fixes: #9881
2023-03-23 19:16:22 +03:00
Boris Melnik c7e99365a1 fix(contacts): Block unlimited counts of request contacts from create chat view
Fixes: #9485
2023-03-16 16:12:06 +03:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
mprakhov d60a4b0c97 fix(@desktop/chat): open 121 chat by pasting chat key of existing mutual contact 2022-12-06 15:01:09 +02:00
mprakhov 32d1d927ef fix(@desktop/chat): Hide 'no results found' when entering the chat key in start chat 2022-12-06 12:39:02 +02:00
Lukáš Tinkl 9559789030 chore: reduce the number of (verification) RPC calls
- when calling `Utils.getColorHashAsJson()` we don't actually need to
issue ID verification requests at all and there might be situations when
we know beforehand that we don't need the ENS verification either
- change these helper functions' syntax and do early returns in that case
- in MessageContextMenuView, the "contact details" were duplicated, so
remove one
- remove dead code, fix some warnings
2022-12-01 16:50:23 +01:00
Patryk Osmaczko bd7f890cce feat(storybook): add MembersSelector to storybook
closes: #8178
fixes: #8210
2022-11-18 13:13:38 +01:00
Alexandra Betouni 019a65a786 fix(CreateChatView): fixed tagselector various issues
Closes #7340
2022-11-14 09:46:22 -05:00
Michał Cieślak 57e80255bf fix(Global): Popup components moved from Global.qml to dedicated non-singleton component
Closes: #7992
2022-10-25 15:35:18 +02:00
Igor Sirotin 010bdc9956 feat(CreateChatView): Support pasting chat key 2022-09-28 09:55:25 -04:00
Alexandra Betouni 311cf5332c fix(Createchat/EditGroupChat view): fixed spacing all over
Closes #7369
2022-09-21 17:39:51 +03:00
Patryk Osmaczko 52a34b21d0 fix(@desktop/chat): ensure proper limit when creating chat 2022-09-13 12:33:34 +02:00
Patryk Osmaczko 6760870dc9 fix(@desktop/chat): rework members selector
fixes: #5941
fixes: #7234
fixes: #7235
fixes: #7236
fixes: #7237
fixes: #7238
fixes: #7239
fixes: #7240
2022-09-13 12:33:34 +02:00