- wrap everything we can in AppMain with a (async) Loader
- do not access globals w/o a proper store
- drop some dead code
Although I wasn't able to completely fix the bug, the ~50% improvement in
startup time is still worth trying imho. On my machine, the startup time
went down from ~7s to under 4s.
Related: #7292
"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).
- Added new test case `tst_passwordStrength` in `suite_onboarding` that uses squish screenshot validation.
- Added verification points (mac OS) for some password strength validations, using pixel comparison and some minor percentage of failure / color precision allowed.
Closes#7003
- startup, login and onboarding modules merged into the single one
- `State` class introduced which is the base class for all states, every state
determines what is the next state in each of 3 possible actions, and what
is the previous state, if it has previous state
- `StateWrapper` class is introduced as a convenient way to expose
`State`'s props and deal with them on the qml side
- startup module maintains states as a linked list and there are few convenient
methods to move through the list `onBackActionClicked`, `onNextPrimaryActionClicked`
`onNextSecondaryActionClicked`, `onNextTertiaryActionClicked`
- redundant code removed
Fixes: #6473
Contains minimal account creation and login
Considerations:
- migrated status-go wrapper and login code from the fix/cpp-structure (241eec)
- Minimal refactoring and changes at the moment. Expect further refactoring
follow up to reach the desired state.
- Fix missing keychain initialization
- Fix accounts DB initialization call done by startup -> Controller.openedAccounts -> status-go.OpenAccounts calls
- Small refactoring and todos for other steps
- fix SignalsManager
- fix async access to dereferenced status-go memory from SignalsManager
- fix SignalsManager not starting when registering
- finish dev end to end test for create account and login
- small improvements and added TODOs for future work
- add onboarding test helpers and start messaging test
- Refactoring towards Login UI integration
Closes: #5909Closes: #6028
- Added SplashScreen as initial screen before
onboard as per new designs.
- Also moved all onboarding related code from
main to onboarding section and switched to
import this and all other sections as
qml modules, exposing this way only
necessary files.
- Cleaned up unecessary qmldir files and
imports.
Closes#4954
Fixes#4904
Moves drag zone to the AppMain so that we can check if the current chat accepts the images
Also disables the Input Connection if the channel is not active
- various issues on app start in console
- various issues when logging out in console
- `node_section` module delete method error
- SyntaxError: JSON.parse: Parse error from the MessageStore
We've recently removed timeline related code from the application.
It seems that either a) new changes have been introduced related to timeline
despite it being removed from the application, or b) a few more changes
where left out as part of the new architecture.
This causes the app to misbehave when selecting sections in the application
nav bar.
This commit fixes this by removing leftover timeline related code.
- `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`
- 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.
Since the timeline was removed, this introduced a little hiccup in
the application section selection.
This commit ensures navigation tab buttons match the correct section.
This adds the functionality that the application window size is saved in the
app settings, so that it restores the same size the next time the application
is started.
Closes#4120
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.