add profile module
add boilerplate for profile section
add profile module
add profile module
fix variant
use accounts service
get identityimage to work
cleanup
add other contacts services
add contacts service
make contact section compile with refactor
fix controller and service interfaces
add about section
An error `ReferenceError: mainModule is not defined` is fixed.
That started to happen when we moved registered context properties
from constructors to `load` proc, because of lazy context property
inatialization (after we ensure that a user is logged in), but main.qml is
loaded when the app start, when we don't have `mainModule` registered yet.
cause it logically doesn't belong there as it is not a service. It is a global
instance, exposed to the UI (qml) part. Since it represents QSettings it should
be maintained from the single point.
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.
This does a couple of things:
- It remove StatusRadioButton row from ui/shared/status
- Introduces RadioButtonSelector in ui/shared/controls instead
- That component is then built with StatusQ
Once refactoring with module this should probably be attached to main
or to something common to all module since it is accessed in low level part
of the app accross multiple section
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`.
This bug was introduced with the profile refactor to use stores. Due to
copy and paste, the wrong expression is used in the settings to display chat
images. This commit corrects that.
There is a bug in the store property accessed for the profile image.
This commit corrects it. It also ensures that the image source used in the
`ImageLoader` component is correct.
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 refactors the timeline module to follow the stores/views/panel/popups
architecture. It extracts all usages of *Model context variables with
store instance equivalents and replaces API calls on such model instances
with store proxy APIs.
Closes#3713
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.
Avoid to reveal which alias own which settings. The only settings
pre-login available is the storeToKeychain
Ideally we should also encrypt the profile settings
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
With this fix after a restart the tab which the user was last one (chat, community, wallet, browser, settings) will be the active one.
If the user was on the timeline tab when the app is closed, the app will be launched with the chat tab.
fixes#3559
- Display loading indicator on login when mailserver messages are requested
- Fix bug where the mailserver that's selected as soon as you login is disconnected while being still in the process of connecting instead of waiting until 10s have passed to try connecting to a different mailserver
- Use status-go version that fixes an issue fetching mailserver messages when more than 999 messages are being verified if they're in the cache
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
Fixes: #3564.
Several UI bug fixes have been made for the gif widget:
1. Star now only appears once the gif is hovered
2. Default hover star colour is “grey”
3. Once the star is hovered, the star turns yellow
4. If the gif is favourited, the star fills in yellow
5. Removed square border around the gif
6. Added invisible padding around the star to increase the mouse surface area for hover/click
7. Added tooltip to the star for adding/removing from favourites
NOTE:
1. An initial attempt at changing star state based on gif thumb hover and star hover proved unsuccessful. Changing visibility of the star had to depend on both the hover state of the thumb AND the star — relying on only the thumb hover caused a flicker.
2. Relying on the local hover state of the star and the thumb hover state caused inconsistencies where the hover state of the star would become true after not being hovered. I’m still unsure as to why this was happening. A workaround was to create a signal to a HOC as to the last hovered gif id. From there, we could rely on matching `model.id` to the last hovered gif id in the HOC.
Moved the statusChatInput to the repeater in stackview so that each conversation has its own separate textInput area which maintains its own state
fixes#1351
formattedPlainTextFilter was not reset when suggestion
box was closed causing the insertMention function to be
called again even thought there was no mention in the
chat input
Closes#3535
Fixes#3606.
The “retry” link for failed messages was not aligned correctly in the light theme. This was due to setting the `verticalCenter` as well as `anchors.top` in some situations. `verticalCenter` has been removed in favour of setting the top and bottom anchors.
Fixes: #3473.
Sometimes when blocking users and changes channels, blocked user messages would still appear.
This PR fixes the issue by toggling a `hide` property on messages from a contact when that contact is blocked or unblocked. Previously, the messages were only removed from the view when the contact was blocked, but when the view was reloaded, that state was not tracked correctly.
In case clicked channel:
- exists in a community -> the app will switch you to it
- doesn't exist in a community, but exists in the public chat list -> the app
will switch to `Chat` section and also to the appropriate channel there
- doesn't exist in a community and doesn't exist in the public chat list -> the app
will switch to `Chat` section and join new channel
Fixes: #3489
When StatusQ switched to using `DelegateModel` in `StatusChatList` to enable drag and drop,
we lost the API `itemAt` which was previously exposed via the `Repeater` that was aliased as
`chatListItems`.
StatusQ now exposes `statusChatListItems` additionally so we can still access `model.itemAt`
which is used in this commit.
The only reason this is done here though, is because we need to update the profile picture of
contacts when we get a contact changed signal. Ideally, we handle contact changes including the
profile picture entirely in the backend and have it then just rerender the screen (instead of
using a `Connection`).
Fixes#3328
Closes#3410.
Re-enables open membership communities, with necessary changes in the Inivitation Bubble for one-on-one chats.
fix: add/edit communities components not appearing
On add/edit community popup load, some components below the thumbnail image picker were not appearing until the app window was resized. Removing the height of the ScrollView fixed the issue (on mac).
NOTE: this may require windows and linux users to test.
Closes#3307.
WalletV2 view can be toggled between normal wallet view and the SavedAddresses view.
Users can load, add, edit, and delete saved addresses.
Favouriting a saved address is out of scope, as is sending to a saved addresses, drilling down in to a saved address, and supporting multiple networks.
Updates components that utilised the StatusMinLengthValidator component to support the changes made to StatusQ.
### Notes
1. Depends on status-go PR https://github.com/status-im/status-go/pull/2356
2. Depends on StatusQ PR https://github.com/status-im/StatusQ/pull/394.
# Conflicts:
# src/app/wallet/v2/view.nim
# ui/app/AppLayouts/WalletV2/WalletV2Layout.qml
Network ID is not being displayed when adding a custom network
* Also replaced ModalPopup with StatusModal and other design
related updates (eg top margins etc) in NewCustomNetworkModal.qml
Closes#3456
This feature works for MacOs only, for now.
On login, whether new or already created user may select between options:
"Store" - store password to the Keychain
"Not now" - don't store it now, but ask next time again
"Never" - don't store them ever and don't ask again
Selected preference may be changed later in:
`ProfileSettings > Privacy and security > Store pass to Keychain`
On the next app run, if `Store` was selected, a user will be asked to confirm
his identity using Touch Id in order to log in the app. If any error happens
he will be able to login using password.
Fixes: #2675
From now on we are able to access local settings (settings and global settings)
on the nim side, not only through the qml.
This change is required as part of the feature issue-2675.