This fixes the issues where the accounts model gets reset on every minor model change triggering full UI refresh.
This is not fixing the root cause, but the symptoms in the upper-most level I could find in order to keep the regression risk to a low level.
- add various error/warning messages according to Figma (where it makes
sense)
- letters or more than 2 decimals are caught by the internal validator
so those combinations are impossible to enter
- fix marking the custom value as (in)valid
- fix selecting "Use default" after typing a custom value
- fix resetting to predefined value after typing a custom value that
matches one of the predefined ones
- reject typing thousands separator
- add regression QML tests for the above fixes
Fixes#15017
- the new C++ EmojiModel provides a simple wrapper around the existing
JSON to facilitate a faster access and to be able to search/filter in
QML using SFPM
- no more nested GridViews inside Repeaters
- get rid of emoji manipulation and search/filter using JavaScript
- included the C++ script to generate the emojiList.js
- re-evaluate the validators to be able to hide the warning after 3
seconds (the validators won't let the user select/paste an invalid
image; it's just the warning bubble that persisted)
- some small cleanups
Fixes#16210
Additionally there is hook on ClipboardUtils added
to detect if copied string is a wallet address and call addressWasShown.
Earlier that call was done internally on nim side.
Closes: #16196
Fixes#16181
This commit improves the time taken by onChatsLoaded that is called on login.
The culprit is `buildChatSectionUI` in the chat_section module.
There is no silver bullet here. It's slow because the community is big and has a lot of channels to load and generate.
This commit helps by removing some old code that was inefficient (calculating if a channel has a permission instead of just using the `tokenGated` property for example).
It also adds all the section items in one go instead of one another.
There are some other small improvements, but again, no way to make it way faster. Thankfully, that time is spent with the loading spinner at the same time.