- Signal's arguments updated
- Sent payload optimized
- Local nickname added to profile section contacts model
- Rest updated accordingly to above changes
Fixes#4061
Most of the contact request code was already moved, but it wasn't hooked to the QML yet and also there were missing events and some code to improve.
Signals which were part of the `status-lib` are now part of the desktop app.
New class `SignalsManager` is introduced which is a main point for receiving
signals from `status-go`.
- os notification doesn't belong to core features so it's moved from there
- os notification service updated and read to be used as other service
- leftovers moved from `status-lib` that's its version is updated
- using os notification service is commented out in the old code
Within this commit local name for a contact is added to `ContactsDto` which will
be used across the app.
- backend part for changing contact's username is added
- new signal under `SIGNAL_CONTACT_UPDATED` is introduced for the contacts service
- `saveContact` method of the contacts service updated so it saves contact
for a real now
- in order to be consistent across the app `userNameOrAlias` method is updated
so it includes locally set username for a contact
Model used for list of chats in case of Chat section and used for
channels/categories/category channels is initially added. With an option for
setting active chat/channel/category (which are an Item type) and setting active
channel within a category (which is a SubItem type).
This fixes#4173 again. The problem is that changing the local nickname
of a contact now uses new APIs in Status Desktop which emit new events that
older code isn't aware off. Namely, the event handling in the chat section
doesn't get informed anymore that the contact has changed, so it won't update
the view accordingly.
This commit fixes it by subscribing to that newly introduced event
and then updating the view with the payload data.
Notice that this is a quick fix and will most likely be obsolete, once
the chat section has moved to the new architecture as well.
Fixes#4173
Changes in contact data caused via calls to any contact related APIs wouldn't be
reflected in the UI because it doesn't re-fetch the updated state from status-go.
This commit makes the contactsService `fetchContacts` API public so it can be
used on the profile section control to re-fetch contact data when changes to
contacts have been emitted.