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
Since #e0c53b7012354023e367c33093598f7523063aa6 settings where loaded
according to the username while they should be loaded after the public
key
As the public key is only available once the login happened, it needs
to be set when the profile is being initialized
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
- 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
fixes#3659
Wallet2 needs its own event otherwise they wallet1/2 mixes
and as not everything is implemented in wallet2, it crashes
In this particular case, the account is added into wallet1 but trigger
an event intercepted by wallet2, wallet2 doesn't have the new account
and crash
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
There were two issues why mentions didn't work in communities:
1. The function that replaces mentions with pubkey looked in the wrong place
2. The same function always prepented `userName` with `@` which isn't always necessary
This commit fix this by ensuring the replacement function looks in the community memberlist
instead of a messageList and also by checking if a `userName` already starts with a `@`
and only prepends it if not.
Fixes#3492
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
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.
Since `src/status` was Qt dependant part because of the following foundation files:
- /src/status/tasks/marathon/mailserver/controller.nim
- /src/status/signals/core.nim
- /src/status/tasks/marathon/mailserver/events.nim
- /src/status/tasks/qt.nim
and because logic related classes like:
- /src/status/chat.nim
this commit made that part Qt independant.
New layer `src/app_service` is introduced and above mentioned foundation files
are moved there. As well as corresponding logic for requested services.
Communication between logical parts on the high level is as follows:
- `src/app` => `src/app_service` => `src/status` => `src/app`
- `src/app` => `src/status` => `src/app`
Fixes: #3376
As we keep a local list of contact request and contact added
we should not need to query this data each time we switch chat as
we already have this data in memory.
This data should be maintained each time there is a change
fixes#1642
Also: Remove what seems to be duplicated and dead code about
getContactById
Removed all computation of suggestion from qml
Reuse user list in order to populate the suggestion box
As a side effect, the suggestion are not serialized from qml to
nim
Remove InputArea which seems not used anymore
App is responsive to the OS theme change event.
Now we're following system set theme when the app is started.
Corresponding part on the side on nimqml is added.
Corresponding part on the side on dotherside is added.
On the side of dother side we had kind of a memory leak, cause objects added to
the filter were not deleted ever. When the app is closing, it just removes
filters, but doesn't delete them.
I faced a logical issue, that we were sending qmlengine pointer to the
installEventFilter method, instead object which may or may not rely on the
qqmlengine instance, that is fixed also.
Fixes: #1725
Counting mentions for community seems was not developed yet. That's added here in this commit, but
instead of using "mentionsCount" we introduced on the side of nim, I found that we're receiving
"unviewedMentionsCount", but only for new messages. I used it for this fix.
Counting mentions and requests per community added.
Fixes: #2972
A crash leaving chat is fixed.
The issue was very hidden cause everything looks ok, at first glance, but not, the thing is that
"messages" exposed to qml were deleted from ChatsView and signals beginRemoveRows and
endRemoveRows were emitted for CatsView abstract list model instead for MessageView abstract list
model. That results in an app crash in some moments (not always reproducible, but often).
Fixes: #3005
Feature added. Firstly we check if the searched message is already displayed and if yes simply jump
to it, if not then we are loading new 20 messages in the past using cursor and check if the
searched message's id is among those received messages. We do that in a loop till we find the
message we are searching for.
Fixes: #3005
Changes made here were necessary in order to have good base to requested develop feature.
- duplicated methods are removed
- loading messages either on start (initial loading) or loading more messages requested by
scrolling in the chat view is now done in separate thread (asynchronous) instead as it was earlier,
done in the main thread
- new file is added for storing async tasks for chat part only
- ChatModel (from status/chat.nim) is QObject instance now, so it may handle async job in a slot
- a job requested from the view is done in separate thread and view is notified about the changes
using signal/slot mechanism
This is not refactoring, but minimal update to have clear situation for further changes
Fixes: #3005
Searching messages by some term for a specific channel is added on the side of status-go and an
appropriate part on the side of nim is developed accordingly.
Fixes: #2912
Current code adapted to handle future changes on message search (like searching message in multiple
channels).
Memory leak which was happening in qml assigning (copying) MessageItem to qml variable messageItem
(where that qml variable messageItem was never deleted) is fixed.
Fixes: #2912
Searching messages by some term for a specific channel is added on the side of status-go and an
appropriate part on the side of nim is developed accordingly.
Fixes: #2912
Current code adapted to handle future changes on message search (like searching message in multiple
channels).
Memory leak which was happening in qml assigning (copying) MessageItem to qml variable messageItem
(where that qml variable messageItem was never deleted) is fixed.
Fixes: #2912