Commit Graph

230 Commits

Author SHA1 Message Date
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
Sale Djenic 30f11c06d4 onboarding process updated, import account feature handled 2021-11-05 11:02:45 -04:00
Sale Djenic e9bb9b256e Onboarding creating new account process updated. 2021-11-05 11:02:45 -04:00
Alexandra Betouni 426c116bac refactor(desktop) Made shared a QML module
Use it as import shared 1.0, import shared.controls 1.0
etc instead of import "../../../shared"

Closes #3934
2021-10-27 18:05:45 -04:00
Pascal Precht fa3adb30e4 refactor: move `PopupMenu` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht ae31f7e1cb refactor: move `ConfirmationDialog` to ui/shared/popups 2021-10-14 12:51:27 -04:00
¨Anthony 4c55ad26bb fix(@desktop/settings): Fix precision of volume
Also move soundtrack in assets and reuse audio component
2021-10-13 14:26:04 -04:00
Khushboo Mehta ee5fef7dda feat(@desktop/onboarding): refactor/restructure ui/onboarding to new architecture
closes #3799
2021-10-13 14:02:06 -04:00
Michele Balistreri 879550d332 rename Keycard flow 2021-10-06 08:32:32 -04:00
Michele Balistreri 3d46e62345 draft authentication dialogs 2021-10-06 08:32:32 -04:00
Michele Balistreri 21b20fbc38 add feature switch for Keycard 2021-10-06 08:32:32 -04:00
Anthony Laibe 22e8c8a7ff fix(@desktop/profile): Split account and profile settings
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
2021-10-01 10:29:05 -04:00
Alexandra Betouni 4ee21ada05 feat(desktop) Added image function in Style
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
2021-09-28 15:28:00 -04:00
Khushboo Mehta 6e3ac7d5dc fix(@desktop/chat): Remember the last tab (in nav bar) opened when status app is reopened
With this fix after a restart the tab which the user was last one (chat, community, wallet, browser, settings) will be the active one.
If the user was on the timeline tab when the app is closed, the app will be launched with the chat tab.

fixes #3559
2021-09-28 15:17:56 -04:00
Anthony Laibe 2322f501fa fix(@desktop/members): Fix missing app settings 2021-09-22 15:06:45 -04:00
Michael Bradley, Jr 9e742e4b4a feat(@desktop/settings): set "Just @mentions" as the new default in Notifications preferences
Closes #3532.
2021-09-21 14:29:14 -04:00
Sale Djenic c392a473b9 fix(@desktop/general): fix the scenarios for closing the app on Mac (minimise on close On / Off)
Fixes: #3378
2021-09-21 10:46:55 -04:00
Anthony Laibe b2e263bb3a fix(@desktop/settings): reinstate downloadChannelMessagesEnabled config 2021-09-20 10:40:03 -04:00
Sale Djenic 8af104a16e feat(@desktop/onboarding): support (optionally) OS keychain to login password
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
2021-09-17 12:45:34 -04:00
Sale Djenic e0c53b7012 refactor(@desktop/general): managing local settings added on the nim side
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.
2021-09-17 12:45:34 -04:00
Khushboo Mehta d8e669d013 fix(@deaktop/chat): drag & drop to upload a file/picture is not working
Also checked and updated drag and drop feature to work in commmunities

fixes #3495
2021-09-15 16:07:30 -04:00
Andrei Smirnov d159c0e61c feat(@desktop/deep-links): integrated deep links with single-instance IPC 2021-09-15 14:30:34 -04:00
Andrei Smirnov 10de9fc0c1 Rebased 2021-09-15 12:18:09 -04:00
Sale Djenic a591e91a2e fix(@desktop/general): clicking push notification does expand the app but does not open correct channel/chat
Logic for adding os notifications for Windows and  MacOs added.

Fixes: #2996
2021-09-06 16:39:37 -04:00
Pascal Precht 88092e4966 feat(Communities): add support for drag reodering community categories 2021-08-26 15:39:39 -04:00
B.Melnik a362efecf4 feat(Communities): implement drag and drop to reorder category channels
Closes: #2776
2021-08-26 10:53:57 +02:00
Andrei Smirnov 754e49bf0f fix(@desktop/communities): improve member list sorting 2021-08-20 14:56:00 -04:00
Sale Djenic 04ca90a7d0 fix(@desktop/general): Changing System Appearance on the fly is not working
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
2021-08-16 16:27:14 -04:00
Sale Djenic 662d20b7ac fix(@desktop/general): right click the icon on the dock and press quit doesn't quit the app (macos)
This issue is reproducible on the app only if you're not logged in yet.
The issue is fixed mostly on the side of dotherside.

Fixes: #3112
2021-08-16 13:35:58 -04:00
Andrei Smirnov 5a7aac0baf fix(@desktop): crash when transitioning from login|onboarding to the app state 2021-08-11 18:51:59 +03:00
Anthony Laibe 02f2789a23 fix(@desktop/communities): fix sharing community link
fixes #3165
2021-08-06 12:46:47 -04:00
Anthony Laibe 6b6ed734f6 fix(@desktop/onboarding): erase mnemonic when register with existing key
fixes #3089
2021-07-29 09:05:02 -04:00
Sale Djenic c8e3fd8735 Added code to apply default language before qml is loaded. 2021-07-28 12:32:30 -04:00
Iuri Matias 4a5fff42cf fix(@core): issue #3006 fix for cpu usage issue 2021-07-27 17:03:20 -04:00
Andrei Smirnov 2df8e938ae fix(@desktop/login): crash on login and login ux improvements 2021-07-23 15:13:45 -04:00
B.Melnik 5e8e897acc fix: Update window position to center
Closes: #2930
2021-07-23 13:26:08 -04:00
Andrei Smirnov 201a87d052 Updated submodules and fixed SystemTrayIcon menu. 2021-07-23 13:22:04 -04:00
Andrei Smirnov b3528bd717 fix(@desktop): missing context menu on SystemTrayIcon 2021-07-23 13:22:04 -04:00
Sale Djenic abf89fa399 chore(@desktop/general): use different icons for Windows/Linux and MacOS
Icons are updated, mac uses rounded rect log, win and linux circle logo.

Fixes: #2833
2021-07-19 13:37:56 -04:00
Sale Djenic 1acbc76cc9 chore(@desktop/general): run translation script
All untranslated properties are translated now using translation scripts.
2021-07-19 12:27:45 -04:00
Jonathan Rainville b99300bf10 fix(onboarding): fix black screen when closing re-encrypt modal
Fixes #2657
2021-07-12 17:11:28 -04:00
Andrei Smirnov d67bb1f999 Fixed #2151 - updated status icons. 2021-07-06 12:48:38 -04:00
Richard Ramos ba2b553d7c refactor: Profile 2021-07-02 08:51:30 -04:00
Sale Djenic d3290bde02 fix(onboarding): Mobile onboarding slider is shown on desktop
Mobile onboarding screen is removed. Instead of it "Before you get started..." modal popup is added to the "Get your keys" screen.

Fixes: #2558
2021-06-29 07:57:17 -04:00
Iuri Matias 599bf731fb refactor: extract 'channels' to its own file 2021-06-18 12:12:01 -04:00
B.Melnik b9c2431ad5 fix: close window instead of app 2021-06-07 10:07:17 -04:00
B.Melnik f433020d1d feat: commit dotherside 2021-06-02 11:05:28 -04:00
B.Melnik 7b62dbbc33 feat: use custom window without titlebar 2021-06-02 11:05:28 -04:00
Eric Mastro 3deb75b2fe fix: support closing login window using native buttons 2021-05-14 10:28:14 -04:00
Jonathan Rainville 9e474a3def fix(Onboarding): show warning screen at the start of no account 2021-05-11 14:44:47 -04:00
Richard Ramos fbbfa30b1b Allow image drag/drop in communities 2021-05-05 17:13:02 -04:00
B.Melnik 853c23030c fix: check if loader item exists 2021-04-22 10:00:06 -04:00
B.Melnik 9dc51b82fd feat: add processing CTRL + W to Browser 2021-04-20 12:59:59 -04:00
Pascal Precht c804bb243a feat: store appearance settings globally across accounts
As discussed in https://github.com/status-im/status-desktop/issues/2144#issuecomment-817791172 and https://github.com/status-im/status-desktop/discussions/2145, it's no longer desired
to have different appearance settings across multiple accounts.
Instead, the appearance setting should apply globally to all accounts,
essentially bypassing the individual setting stored in status-go.

This commit introduces a new global setting called `theme` which,
at the time of introducing this commit, can be either:

0 => Light
1 => Dark
2 => System

Because those enum values matches the `AppearanceContainer.Theme` enum,
this commit removes it completely and simply relies on QML's built-in
`Universal.[Light|Dark|System] variants respectively.

Closes #2144
2021-04-19 13:53:14 +02:00
Jonathan Rainville bf67c941ff fix: improve profile sections min width and scaling 2021-04-13 15:05:51 -04:00
Jonathan Rainville 460a6dc649 fix: right click on app icon now always shows menu
Fixes #2152
2021-04-13 14:57:11 -04:00
Jonathan Rainville a9cae5b96e fix: fix compact message hover when a popup is opened
Fixes #2187
2021-04-13 14:43:48 -04:00
Iuri Matias 7c4bae5240 Revert "fix: increase min width to alleviate overlaps"
This reverts commit 9a1b1320c0.
2021-03-24 16:46:57 -04:00