- `chatType` added to `Constants` to group chat type related values
- `messageContentType` added to `Constants` to group message content type related
values
- `MessageStore` maintained per message list now
- added new `ChatContentView` component used to display chat/channel content
- components updated to display messages from the new backend
- `StatusChatToolBar` appropriately updated
- mute/unmute feature added to chat/channel list as well as to `StatusChatToolBar`
The openPopup function was declared in AppMain
and used via dynamic scoping in many places in the
application. Moved function to Global component
and updated all places to call it via Global instead.
Closes#4267
Removed all dynamic scoping parts in wallet section plus
- Renamed Config to Global and added more functions there
- Moved changeAppSectionBySectionType function to Global
and updated all places where is used to call it from
Global instead
- Moved openLink function to Global and updated all places
where is used to call it from Global instead
- Moved errorSound to Global, introduced playErrorSound
function and updated all places where is used to call
this function from Global instead
Closes#4245
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.
Parts of the code which are not refactored yet are commented out.
Displayed chats/categories/channels since now are using refactored backend.
Apart of all properties we have, now we have 3 new added props which will be used
almost always when we need the following details about logged in user:
- `name` - this will return an ens name in a pretty form or an alias if ens name
was not set (verified). Apart of this there are still `username` and `ensName`
properties for fetching them when it's needed.
- `icon` - this will return a thumbnail image if it's set, otherwise it will
return identicon. Apart of this there are still `identicon` and `thumbnailImage`
properties for fetching them when it's needed.
- `isIdenticon` - this will return `false` if a thumbnail image is set, otherwise
it will return `true`
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.
Parts of the code which are not refactored yet are commented out.
Displayed chats/categories/channels since now are using refactored backend.
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.
- Selecting `currentIndex` based on the children placed in the `StackLayout`
component with id `appView` is sorted out since we were referring to the wrong
indexes there in case of walletv2, node and community sections.
- Places which call `Utils.getAppSectionIndex` are updated since we don't have
that method any more.
- Some parts which are not refactored yet are commented.
Enable ListView clip and modified ColumnLayout heigh to bound its painting to the needed content.
Adjust ListView spacing to allow the visualization of 5 members.
Closes#4386
There's a bug where the last active community will be set in local settings
and not removed when a user leaves a community.
This causes the app to start on an invalid screen/state as it still tries to
render the community view for a community that the user has just left.
This commit ensure we're resetting the last active community in the local settings
when a users leaves the community.
Fixes: #4094
This replaces the self-built components for the user list with StatusQ's
list item component and also addresses some of the quirks that existed in the UI
related to that original component.
The user list is now responsive and properly aligned.
**This depends on StatusQ v0.18.0**
Moved Message component & dependencies to shared
for usage import shared.views.chat 1.0 and accordingly
import shared.controls/panels.chat 1.0
Closes#3927
There was a bug in our store where an API wouldn't return a value.
This commit fixes this and also replaces the legacy `Input` component
with StatusInput
Fixes: #4082
Initial structure for MainModule containing ChatSectionModule and
CommunitySectionModule is added, as well as initial structure for
StartupModule containing OnboardingModule and LoginModule.
Order of execution is updated and adapted to the current app state.
Main module gets loaded once a user is successfully logged in.
Probably slipped through in the refactor: `getLinkStyle` was defined
in to places, was probably meant to live only in `Utils`.
In addition, it expected a `wrapper` expression which wasn't defined.
This commit fixes it by removing the second declaration of that function
and passing a third parameter to the one defined in `Utils`.
Turns out we've been accidentally resetting the channel's `position`
property to `0` by not sending it over to status-lib's underlying
`editCommunityChat` API.
This fixes it by using a newer version of status-lib which supports
the `position` paramter in `editCommunityChat` and then sending that
value along from the edit channel popup.
Fixes#3672
This was originally reported in https://github.com/status-im/StatusQ/issues/427, however it turns out
that the underlying component already handles this case correctly.
The reason the channel name is not vertically centered inside Status Desktop,
is because the returned value of `XSS.filterXss()` for the `subTitle` is never an empty string.
Trimming the return value fixes this.
This was a reference error as there's no `errors` object on `StatusValidator`.
When accessing errors exposed by `StatusInput` we need to dot into the component
reference.
Position view at chosen message when coming
from either search or notifications was not
working properly, especially when coming from
another channel (eg from desktop to test).
Added timer to delay positioning action until
the messages model is almost fully loaded so
that the view knows all indexes
Depends on #3562Closes#3592, #3683
Introduced Style.svg() Style.png() Style.emoji() and
Style.icon() in Style.qml. Those should be used to
set the source in Images instead of using relative
paths. Usage:
Image {
source: Style.svg("check)
....
Also moved all Singletons inside a new "utils"
folder and made it a QML module, to use
import utils 1.0 instead of relative paths
Closes#3678
Added animation to highlight selected message
from search popup. Currenly when a message is clicked
from the search results, the user is navigated to
that message but it's not clear where is the
message in the screen
Closes#3562