Commit Graph

217 Commits

Author SHA1 Message Date
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
rinzlxr 9a1b1320c0 fix: increase min width to alleviate overlaps 2021-03-24 14:32:52 -04:00
Jonathan Rainville d0f141c1b8 fix: fix appSetting not defined by removing sounds from login 2021-03-17 13:35:15 -04:00
Eric Mastro f1e83f74bc feat: drag and drop images
Allow up to 5 images to be dragged and dropped in to one-on-one chats and in the timeline. Can be combined with the existing upload button. The upload file dialog has been changed to allow multiple selections. Drag and dropped images adhere to the following rules, with corresponding validations messages:
- Max 5 image
- Image size must be 0.5 MB or less
- File extension must be one of [".png", ".jpg", ".jpeg", ".heif", "tif", ".tiff"]

Drag and drop and uploaded images are now also deduplicated.
2021-03-16 13:51:37 -04:00
Jonathan Rainville 744a16a0f4 fix: fix errorSound not defined 2021-02-23 11:57:33 -05:00
Richard Ramos fd8a84eb9d fix: minimize on close 2021-02-23 08:53:37 -05:00
RichΛrd 44e9ebdd60 Update main.qml 2021-02-22 12:47:58 -05:00
Richard Ramos bb1f233bad fix: Don't quit the app when clicking on "x" and Enable closing the app with CMD + W
Fixes #1694
2021-02-22 12:47:58 -05:00
Richard Ramos 6f11ee972a fix: remove defaultAppSettings completely 2021-02-18 16:40:21 -05:00
Richard Ramos 6207c8af53 fix: appSettings were being overwritten due to defaultAppSettings periodically executing sync() 2021-02-18 16:40:21 -05:00
Jonathan Rainville 82ede94700 fix: remove notifications from OS tray when app is opened back 2021-02-15 16:22:26 -05:00
Iuri Matias 7b5a1660f8 make compact mode the default 2021-02-10 15:48:57 -05:00
Pascal Precht 040b2020dd fix: ensure application uses correct system tray icon when bootstrapping
This commit checks on bootstrap what the currently configured theme
of the user is and loads the system tray icon in its corresponding
variation.

Unfortunately, MacOS doesn't seem to automatically swap out the icons
based on the system's theme, so we have to do it manually with two
different SVG files.

Another gotcha here is that, it doesn't seem to be possible to change
the system tray icon at runtime. When trying to reassign the `icon.source`
based on a newly selected theme, the icon disappears altogether.
The application also doesn't get notified when a user switches the theme
inside the operating system, requiring her to switch to the same theme
manually unless restarted.

Last but not least, using SVG files instead of PNG doesn't seem to solve
the problem that the icon is rendered blurry. I've looked in the docs
but there doesn't seem to be an option to have any influence on that...
2021-02-10 13:40:41 -05:00
Pascal Precht 840a6189eb fix: don't show backup message when mnemonic was imported
As reported in #1584 the message that asks users to backup their seed phrase
is shown even when the seed phrase was imported in the first place, implying that
the mnemonic is already backed (it has to come from somewhere, right?).

This commit introduces a new `appSettings` property that is temporarily set to
determine whether or not the backup message should be shown.

It's set only temporarily because we actualy determine whether we want to show the
backup message, by checking if the account's mnemonic is still stored in the settings.
When a backup is done, Status removes the mnemonic from the profile settings.

So in order to get the right behaviour we need to make sure to remove the mnemonic
from the profile settings after the account has logged-in and originated from
an imported seed phrase. This is done by setting the mentioned property.

Closes #1584
2021-01-15 13:51:20 -05:00