Each `ChatSection` module contains as many `ChatContent` submodules as many chats
the section contains (a chat maybe either from the Chat section or Community section or
from the category of the Community section).
`ChatContent` consists of 3 submodules `InputArea`, `Messages`, `Users`, so far.
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
This adds the functionality that the application window size is saved in the
app settings, so that it restores the same size the next time the application
is started.
Closes#4120
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.
Setting's properties were moved to nim which doesn't
have support for arrays, thus properties recentEmojis,
hiddenCommunityWelcomeBanner, hiddenCommunityBackUpBanners
and whitelistedUnfurlingSites were not handled. Added
support for recentEmojis as well as the rest properties.
Closes#4102
When an owner of a community leaves its own community, we optimistically update the
members list in Status Desktop. The `LeaveCommunity` API that is called via status-lib
has been updated to correctly remove that member as well.
This depends on https://github.com/status-im/status-go/pull/2429Fixes#4074