- do not hardcode width of child elements (impossible to propagate
setting the width from the toplevel/parent component)
- made both the community and non-community chat item look the same and
according to the Figma designs (including margins, scrollbar positions,
spacing etc)
- cleaned up some hardcoded values and dead code
Fixes#10469
Also:
test(suite_communities): Fixed community related tests
- A new intermediate popup is now displayed when user clicks on `Create New Community` button from `Community Portal`.
- Reformulated `tst_communityPermissions` since now it is a default option without the need of activating it from experimental feature's section.
Closes#10115
Fixes#10384
The problem was that doing the sort inside the insertRows messed up the model.
I removed it and it fixed the issues. However, it created an other issue with ordering.
The problem this time is that when populating the model at the start, we do not get the chats in order, so calculating the right position to insert a chat is difficult.
Instead, I use a setData function to just put all the chats in the items list, sort it and call it done, using the resetModel function.
I also did some clean ups.
Major changes:
- Don't allow empty network selection. End up using the nim model
directly instead because of individual row changes issues
encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes
Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
checked as user intention until the network is selected in the
source model. Got stuck on nim models not being stable models and
report wrong entry change when reset. Tried sorting and only updating
changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
an inline component after finding out that it fails to load on Linux
with error "Cannot assign to property of unknown type: "*".".
It works on MacOS as expected
Closes: #10119
Part of #3364
To make the drag and drop reorder work correctly on channels, we needed to change the model again so that it was sorted in the model itself.
That is because the drag and drop gives us the value of the position it is dropped to as a single list, so dragging the second item of the second category would mean from position 5 to position to position 4, but what the backend wants is moving the item 2 to position 1.
Sorting the model enables us to get the category that is the parent of that position and call the service with the right positions and id.
It also enables us to reorder the channel in and out of the category.
See the module code to see how the calculation is done with an explanatory comment.
The model needed some changes to support that. Some of the function where changed from dataChange calls to resetModel calls, since we need to re-sort the model.
I tried using beginMove, but it would crash. Maybe there is a bug in NimQML or I used it badly, I'm not sure.
TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type
Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)
Fixes#9777
Fixes#8005Fixes#9287
Fixes creating, editing and deleting a channel because they rely on createChannel, that sometimes fails because the mouse click was off the button.
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux
Updates: #9576
- Bump status-go head that include the required specific changes
- fetch token balance (native or ERC20) and cache historical token quantity data
- fetch FIAT currency
- Extend presentation layer (NIM and QML) to account for API changes
- Remove timed request and other optimizations from the time of fetching
balance history every time instead of querying cache
- Add C++ integration debugging tests and update network chain configuration (outdated)
Closes: #8175
Add Community Tokens testing UI with minting button, enabled by a Advanced Settings toggle.
Add minting module,view and needed models.
Add community_tokens service to call collectibles smart contract functions.
Issue #8921
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
Bumps status-go to include the fix for not fetching balance for
overridden tokens
Add documentation on how to run wallet tests locally using ganache
Closes#9091
Fixes#9210
Adds the `TEST_ENVIRONMENT` that stops banners from showing and touch id to be activated (needs to be tested by someone on Mac).
Also improves the waiting time on verifying screens. Will undo that change if it becomes flaky.
To make sure your local tests still work well and hide the banner as well, make sure to put `TEST_ENVIRONMENT=1` in the suite settings' env vars
Fixed StatusBaseButton to expose a property to load either normal
icon or a round one.
Implemented new wallet navigation according to design in Figma.
Fixed regression: small accounts icons in accounts list view.
Updated wallet test.
Fixes#8598
Updated `walletInitSteps` and `settingsSteps` properly: `settingsSteps.py` was referring to some `wallet_init_steps` methods but it was not imported. Reorganization and cleanup.
Provide the needed data from the nim model directly to the delegate. This way whenever a delegate needs to display the data it doesn't need to reach the backend.
perf(chatScroll): Fix comments on Avoid calling the backend on delegate creation/binding
perf(chatScroll): Avoid calling the backend on delegate creation/binding - add TODO comment on senderColorHash default
perf(chatScroll): merge quotedMessageAuthor details
perf(chatScroll): Fix nim tests
perf(chatScroll): Fix merge error - messages_model.nim
Because we've switched to `QuotedMessage` as an attached payload to
messages to make message replies data more reliable, we lost some of
the author information in imported messages, that was available prior
to that move.
This commit introduces `quotedMessageAuthorDisplayName` and
`quotedMessageAuthorAvatar` to our model so it can be set in case
we can't retrieve contact details for a given message (which is always
the case for imported messages)
New messages marker had a clock value of "0" before. Since all
messages are inserted based on the clock value, new messages marker
would cause other "0"-valued clock items to be inserted after it,
effectively making chat header being displayed in the middle of the
chat.
Setting new messages marker clock value to the clock of the message it
points to solves the issue.
fixes: #8955
- Fixed test scenarios broken due to new user profile design.
- Added new verifications in social links: github, youtube, discord and telegram.
- Scenario statements reorganization.
Fixes#8281
For some reason stickers are not loaded for the first time. User has now
the ability to retry the loading procedure. Retry action loads stickers
successfully in most cases.
fixes: #7995
Renamed `startupSteps.py` to `commonInitSteps.py`.
Cleanup `Processes` folder (not used).
Moved `walletInitSteps.py` inside the own suite steps.
Added files flow diagram.
Closes#8353
- Added specific `bdd_hooks.py` for `tst_passwordStrength`.
- Updated `tst_passwordStrength` screenshots (now taken when input is focused).
- Restored `tst_statusLoginPassword` scenarios.
- `tst_statusSignUp` will only contain positive signup test case.
- Created new test case tst_signUpSeedPhraseNegativeCases`.
- Created new test case `tst_signUpNegativeCases` with specific `bdd_hooks.py`.
Closes#8013
- Created new test case `tst_signUpAndQuit`.
- Renamed `tst_settingsMenu` to `tst_mainSettingsSection`.
- Created specific `bdd_hooks.py` for test case `tst_mainSettingsSection` and `tst_userIdentity`.
Closes#8011
Prior to this commit we were merely checking if the message in question
was the last one.
With this commit we now check whether there's a reply in the first place
and whether the reply-to-message is the correct one.
We also distinguish whether the message we're replying to is the one
from the loggedin user (and not someone else's)
Quick integration of fetching balance in the current chart view.
The proper implementation requires refactoring the QML views to separate
price chart, that depends only on the token and chain, from balance that
depends on token, chain and address.
Closes: #7662
Also
- added debugging test for `checkRecentHistory` from the attempt to
use transactions to restore balance
- small improvements that might clarify better the issues reported about
running under linux issues (didn't test them)
- fix issues found while reviewing the code.
- add support for custom infura token to be used in development
Updates #7662
- Added steps to leave the created groups chats so the reusable accounts will keep clean.
- Replaced reusable accounts to fresh ones since there where lots of groups chats created under the existing ones.
- Added `relyon-mailserver` tag in `adminGroupChat` because it is needed a cleanup of the chat in all users (and the new created chat info is not available always due to `mailServer`).
Closes#6615
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.
- Updated feature files removing sign up steps and given/when/then reorganization.
Closes#8026
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.
- Updated feature files removing sign up steps and given/when/then reorganization.
- Done some cleanups and reorganization in `communitySteps.py` and `searchSteps.py`.
Closes#7955
Disabled test case since it is weak on the CI. It works standalone but when it runs as part of the sequence and mostly in the CI, the action of verification doesn't work.
To make the feature files style consistent for direct string and also use it for examples (params), it has been introduced "" to all plain strings and also into the parameters, that now will be written like this: "<example-param>": Applied on the complete `suite_messaging` and in specific statements of the `onboarding / login`.
- Reviewed `suite_messaging/tst_ChatFlow` feature: Cleanup of duplicated steps and separation of action / validation applied.
- Reviewed `suite_messaging/tst_groupChat` feature.
- Added new tag to `Jenkins` file: `relyon-mailserver`.
- Added new `StartupSteps` class to manage init / startup static methods outside bdd steps. It can be used as a util in `hooks` and `steps`.
Closes#7931
Updated `Create` and `Confirm` password views according to new design decisions taken to give consistency to the onboarding screens (related to font-size).
Updated related squish test cases: Screenshots updated with new font-size and refactored some objectNames and objects that where using `text` property instead of `objectName`.
Updated `Input` components to `StatusPasswordInput` ones.
Fixes#7447
- Created new `suite_wallet` where all related wallet tests will be migrated to.
- `tst_wallet` has been moved to new `suite_wallet`.
- `tst_transaction` has been moved to new `suite_wallet`.
Tests inside `suite_wallet` still contain some broken tests.
Closes#7627
- Created new `suite_settings` where all related settings tests will be migrated to.
- `tst_languageSettings` has been moved to new `suite_settings`.
- `tst_settingsMenu` has been moved to new `suite_settings`.
- `tst_userIdentity` has been moved to new `suite_settings`.
Tests inside `suite_settings` still contain some broken tests.
Closes#7626
- Created new `suite_communities` where all related communities tests will be migrated to.
- `tst_searchFlows` has been moved to new `suite_communities`.
- `tst_communityMessageFlows` has been moved to new `suite_communities`.
- `tst_communityFlows` has been moved to new `suite_suite_communitiesonboarding`.
Tests inside `suite_communities` still contain some broken tests.
Closes#7625
Created new `suite_messaging` where all related chat tests will be migrated to.
- `tst_ChatFlow` has been moved to new `suite_messaging`. It still contains some broken tests.
- `tst_groupChat` has been moved to new `suite_messaging`. It is now working (but it relies on the mailserver so could fail sometimes).
- `tst_statusLoginPassword` has been moved to new `suite_onboarding`.
- It has been needed to move some object definitions from `chat_names.py` to `global_names.py` since they are shared between different suites.
- Some other minor object and steps definitions have been moved to fit with the new structure.
Closes#7624
The create a group chat related objects have been updated according to new qml changes.
Now these tests are working (if they don't work it is bc of mailserver reliability).
"the user lands on the signed in app" step incorporates the following verifications (main screen is ready):
- Splash screen animation is loaded and ended.
- Banners that appear in the main screen are closed before starting other actions (secure seed phrase, connection information and update app information banners).