Commit Graph

187 Commits

Author SHA1 Message Date
Lukáš Tinkl 025a45d1a4 chore(AppMain): improve startup time
- 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
2022-10-19 10:48:20 +02:00
Noelia d0fc2db9bd test(chore): Added splash screen animation recognition and general banners management
"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).
2022-10-04 11:17:47 +02:00
PavelS 6fc340d2cd fix(@desktop/onboarding): use system theme while onboarding
Fixes #6630
2022-09-02 16:17:43 +03:00
Noelia 10f34d0610 test(onboarding): Screenshot based testing POC, validating password strength
- 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
2022-08-23 12:07:36 +02:00
Sale Djenic 55cb3c3757 fix(@desktop/onboarding): startup stuck when entering wrong password
Fixes: #6812
2022-08-05 10:57:50 -04:00
Sale Djenic 70a1381e86 chore(@desktop/onboarding): splash screen used as app loading animation
Fixes #5753
2022-08-04 09:50:04 +02:00
Jonathan Rainville 0419f8077d feat(windows): hook protocol uris to the urlManager
Fixes #5973
2022-07-28 10:00:43 -04:00
Sale Djenic f9244e2c9f fix(@desktop/onboarding): Onboarding/Login flow improvements
- 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
2022-07-22 08:13:27 +02:00
Khushboo Mehta 5181ed4a87 fix(@desktop): Set minimum window size to 680px.
Solves 'Receive' pop-up doesn't look good in the minimized window

fixes #6320
2022-07-20 11:20:14 +02:00
Lukáš Tinkl a130681dd5 chore(@main): unbreak minimize/fullscreen shortcuts
those need proper context
(plus some warnings fixed)
2022-07-19 15:57:37 +02:00
Lukáš Tinkl 8c2b4ed89f chore(@main): fix settings saving
do not overwrite `Qt.application.name` with the translated version;
use the appropriate `Qt.application.displayName` for the purpose
2022-07-19 15:57:37 +02:00
Jonathan Rainville e9051e27ad fix(main): fix missing icons for the tray icon 2022-07-15 10:04:16 -04:00
Stefan a710558c6b chore(CPP): foundation for user onboarding
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: #5909
Closes: #6028
2022-07-07 23:23:09 +02:00
Sale Djenic e3b0610b65 single instance handled 2022-07-07 23:23:09 +02:00
Patryk Osmaczko e0a5afebee chore(translations): transform `qsTrId` to `qsTr`
issue: #4544
2022-07-06 19:09:50 +02:00
mishkarogachev 0417105a03 fix(@desktop): Persist application window state & geometry
Close #3073
2022-05-23 16:36:57 +03:00
Alexandra Betouni dcab50fe09 feat(onboarding): ading create new keys screens
Closes #4956
2022-03-29 00:47:24 +03:00
Boris Melnik af1e7c7174 fix(main): Close app on onboarding step
Closes: #5170
2022-03-28 14:23:17 -04:00
Alexandra Betouni cbfb60c4f7 feat(onboarding): adding initial screens
Closes #4974
2022-03-11 14:32:55 -05:00
Iuri Matias 5937c7d3aa chore: update applayout imports 2022-03-08 14:02:24 -05:00
Alexandra Betouni c2977e468f feat(onboarding): Added SplashScreen
- 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
2022-03-08 14:02:24 -05:00
Jonathan Rainville 35e50d186b fix(drag-zone): make drag zone only work in correct chats
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
2022-03-03 13:01:53 -05:00
Sale Djenic 6186bf9c8c fix(@desktop/general): app/os notifications
Fixes #4409
2022-02-21 22:01:19 +01:00
Jonathan Rainville 2207e047bb fix: [re-add] add upper limit to initialised app window size
Fixes #4698

This is needed because on screens that are too big, the app becomes huge.
2022-02-04 13:21:20 -05:00
Sale Djenic 4169854feb fix: multiple issues running the app
- `setAppWidth` issue - fixed
- `signal connection` issue - fixed
- `app-run-test.sh` script added
2022-02-01 11:52:37 +01:00
Sale Djenic f0ca1a4cc3 refactor(@desktop/general): many errors from the log are fixed
- 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
2022-02-01 11:49:04 +01:00
Sale Djenic 9b1e794e8f refactor(@desktop/settings-pivacy-security): privacy and security section updated 2022-02-01 11:47:43 +01:00
Alexandra Betouni 0eb40287fa refactor: removed dynamic scoping from shared module
Properties and functions moved to Global:
- toastMessage
- openProfilePopup()
- getProfileImage()
- popupOpened

Closes #4248
2022-02-01 11:46:39 +01:00
Khushboo Mehta 1977420db2 refactor: remove dynamic scoping from profile module
closes #4247
2022-02-01 11:43:27 +01:00
Pascal Precht 27f8c33dbd fix: ensure app sections work correctly
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.
2022-02-01 11:42:46 +01:00
Sale Djenic b3f8af8e06 refactor(@desktop/general): qml code referring to the old code base commented out
Qml code referring to the old code base commented out, but not deleted,
due to easier refactoring the rest of the app.
2022-02-01 11:42:42 +01:00
Sale Djenic e5a414a927 refactor(@desktop/chat-communities): qml part handles messages from refactored backend
- `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`
2022-02-01 11:41:22 +01:00
Sale Djenic 3f50ab26b8 refactor(general): qml cleaning
- 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.
2022-02-01 11:33:06 +01:00
Pascal Precht 35233a01e7 fix: add upper limit to initialized app window size
This is needed because on screens that are too big, the app becomes
huge.
2021-12-14 12:10:34 +01:00
Pascal Precht 23cd46e831 fix: ensure app tab buuttons match correct app section
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.
2021-12-06 13:21:31 +01:00
Alexandra Betouni 5e88a9a91b refactor(desktop): Removed all timeline related code
Removed all timeline associated code from base_bc.
This feature is deprecated and shall be removed

Closes #4064
2021-12-03 19:55:45 +02:00
Pascal Precht 7aa777f2e3 feat: preserve app window size after resize
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
2021-12-02 15:45:24 +01:00
Jonathan Rainville 8be841e0ac fix(notifications): fix missing task bar icon making notif not work
Fixes #4183 and #4205
2021-11-30 15:54:18 -05:00
Pascal Precht bc7823fa0d fix(@desktop/chat): ensure emoji selection works
This broke in https://github.com/status-im/status-desktop/pull/4135 due to incorrect
initialization of `recentEmojis` property in `localAccountSensitiveSettings`.

Closes #4102
2021-11-25 08:59:21 +01:00
Jonathan Rainville 1b08e21691 fix(app): fix minimising the app on close for Windows and Linux
Fixes #4128
2021-11-18 09:44:19 -05:00
Khushboo Mehta 0c1dc30e5a fix(@desktop/onboarding): backup seed phrase flow is shown for recovered account
fixes #3954
2021-11-11 09:33:02 -05:00
Sale Djenic 3f6bb66536 refactor(@desktop/general): `globalSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Sale Djenic f0b2ed6cca refactor(@desktop/general): `appSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Sale Djenic 80bf896265 refactor(@desktop/general): constants formatted in a better way 2021-11-05 11:02:45 -04:00
Sale Djenic 7a37c50958 refactor(@desktop/general): connection to undefined prop fixed
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.
2021-11-05 11:02:45 -04:00
Sale Djenic 37e9150021 Cleaning up the code, and removing leftovers 2021-11-05 11:02:45 -04:00
Sale Djenic 11cdd608f3 Log out the app on NodeStopped signal 2021-11-05 11:02:45 -04:00
Sale Djenic 48a39e4569 keychain feature refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 08e7fef491 keychain feature partly refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 4f3ca4eb78 login process refactored 2021-11-05 11:02:45 -04:00