Commit Graph

176 Commits

Author SHA1 Message Date
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
Pascal Precht 974803131a uiux: update application and menu icons for macOS
Closes #1278
2021-01-15 10:59:05 -05:00
Jonathan Rainville 7230cdf7c7 feat: only show profile pics for contacts by default
But add a profile switch to show them for everyone
2021-01-15 10:53:45 -05:00
Pascal Precht 085f5901ac uiux: revamp advanced settings panel
Closes #1623
2021-01-14 15:41:14 -05:00
Jonathan Rainville 5a108f9f41 feat: change icon to show indicator when new messages appear 2021-01-12 16:35:59 -05:00
Pascal Precht 0a96b76b9c uiux(Onboarding): some UI improvements to align app with designs 2021-01-11 13:59:08 -05:00
Jonathan Rainville 4aeeee6d9c feat: hide community stuff by default and add a setting to show it 2021-01-11 13:57:35 -05:00
Jonathan Rainville 6ed0d30fc5 feat: add ethereum explorer setting in the profile 2021-01-05 11:24:31 -05:00
Jonathan Rainville 1c83ac98a0 feat: add search engine settings in the profile 2021-01-05 11:24:31 -05:00
Jonathan Rainville 36b6e76a2e feat: add browserHomepage setting that can be changed 2021-01-05 11:24:31 -05:00
Jonathan Rainville 89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Pascal Precht 0767ce2443 feat: introduce timeline
Closes #1489 #1490 #1491
2021-01-04 15:16:37 -05:00
Jonathan Rainville 16f5c2fb1a feat: add showFavoritesBar setting (placeholder for now) 2020-12-30 16:52:44 -05:00
emizzle 6a0a75888b feat: whitelist gifs (no url extension needed)
Fixes #1377.
Fixes #1479.

Two sites have been added to the whitelist: giphy.com and tenor.com.

`imageUrls` in its entirety has been removed and instead all links are being handle through the message `linkUrls`. This prevents double-handling of urls that may or may not be images.

The logic to automatically show links previews works like this:
1. If the setting "display chat images" is enabled, all links that *contain* ".png", ".jpg", ".jpeg", ".svg", ".gif" will be automatically shown. If the URL doesn't contain the extension, we are not downloading it. This was meant to be somewhat of a security compromise as we do not want to download each and every link posted in a message just to find out its true content type.
2. If the above setting is *disabled*, then we follow the whitelist settings for tenor and giphy. This allows us to preview gifs that do not have a file extension in their url.

feat: bump status-go to the commit that supports the new whitelist (https://github.com/status-im/status-go/pull/2094), and also lets us get link preview data from urls in the whitelist. NOTE: this commit was branched off status-go `develop`, so once it is merged, and we update this PR to the new commit, we will effectively be getting status-go develop changes. We *could* base that status-go PR off of master if it makes things easier.

fix: height on settings update issue

feat: move date/time of message below links

fix: layout issues when changing setting `neverAskAboutUnfurlingAgain`

feat: Add MessageBorder component to aid in showing rounded corners with different radius
2020-12-21 14:14:32 -05:00
Jonathan Rainville 08a7baed8f feat: add OS notification and setting to switch back 2020-12-09 14:19:16 -05:00
Jonathan Rainville 724b73072f refactor: get the bookmark image from status-go instead 2020-12-01 14:07:31 -05:00
Jonathan Rainville ea436e79c6 feat: put favicon urls in the settings when we fetch them 2020-12-01 14:07:31 -05:00
Richard Ramos 91f5aae9e7 feat: show sign phrase modal in wallet 2020-12-01 13:30:07 -05:00
RichΛrd 70c44e37dd Apply suggestions from code review
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-11-26 11:45:17 -05:00
Richard Ramos c4f2ea0f14 fix: hide channel suggestions permanently 2020-11-26 11:45:17 -05:00
emizzle 417194e7b4 feat: Keyboard shortcuts
Add keyboard shortcuts according to https://notes.status.im/02cfVf1KQLeQU2SqrIi9tw

fix: update chat message bubbles
- Align emojis to middle of text
- Add line-height as per design
- Properly support RTL languages (right-aligned) and LTR languages (left-aligned)
- Remove unneeded non-breaking space at the beginning of current user messages
- Properly support markdown for bold, strikethrough, and italic
- Fix text being removed when in between strikethrough markdown (~~)

fix: emoji resolution update for high resolution monitors
- Emojis now use the 72x72 original set, but are down-scaled to 20x20 (in chat bubbles) or 22x22 in other places, effectively tripling their pixel density

feat: handle new lines in blockquote

Handle new lines in blockquote so that messages display correctly.

Also, add functionality when a new line is entered in to the chat input, if it's inside a blockquote, a new ">" will be added automatically. This is also handled when backspace is entered.

feat: update xss to support full qt html4 table and table-cell attributes
2020-11-26 11:33:32 -05:00
Pascal Precht 8b74141b99 feat: allow users to change font size for chat messages
Closes #737
2020-11-25 14:41:29 +01:00
Pascal Precht ede6afff26
feat: allow users to restore notification settings
Fixes #1280
2020-11-24 11:19:04 +01:00
Pascal Precht db0b765d74 feat(Notifications): allow users to turn of notifications for non-contacts
Partially fixes #1280
2020-11-24 11:16:02 +01:00
Pascal Precht f8c5002ff8 feat: enable notification message preview settings 2020-11-24 11:16:02 +01:00
Richard Ramos efddea2bc8 fix: allow chat window to snap-resize 2020-11-19 16:56:32 -05:00
Jonathan Rainville 4e98bc5258 feat: add component to enable unfurling and fix comppnent reload 2020-11-05 11:25:22 -05:00
Jonathan Rainville a679758230 feat: show whitelistable sites in the settings and set in qt settings 2020-11-05 11:25:22 -05:00
Richard Ramos 94274ff495 fix: stop any loading webpage before changing the user agent 2020-10-21 13:04:36 -04:00
Jonathan Rainville c04f89d8fa feat: show browser settings in the profile section 2020-10-21 12:06:50 -04:00
Michael Bradley, Jr e985e99f36 feat: reintroduce the dapp browser 2020-10-20 14:42:36 -04:00
Pascal Precht 7577b3a2e6 feat: allow users to turn of notification sounds 2020-10-20 13:50:49 -04:00
Pascal Precht 3d0f50a5b3 feat: allow users to configure notification settings
Can choose between all, just mentions, or nothing
2020-10-20 13:50:49 -04:00
Pascal Precht 9b7ee3a2ee uiux: set minimum window height and width
Closes #1075
2020-10-09 12:07:36 -04:00
emizzle c236e01fc8 feat: Support system dark mode theme
Supports system dark mode. Changes the user appearance setting to a 3-way setting of System, Light, Dark.

New accounts will have their appearance setting set to "System", which uses the system setting to determine if dark mode should be applied.

Breaking change: Users who had their settings on Light Theme, will now get the system theme (light or dark). Users who had their theme set to Dark, will now get the Light theme.

At startup, the onboarding screens will have the system-level setting of dark mode applied or not. Once, logged in, the user settings will be applied.

## Note
An appearance setting of "System" is not dynamic to the system-level setting. This means that if a user has "System" set for their appearance (and ie, the user has light mode set), and then user then changes their system setting from light to dark, the app will not respond until it is restarted. This is due to a limitation of Qt not having a reliable way to propagate these changes to QML.
2020-09-29 13:30:13 -04:00
Pascal Precht 1aba28b1cf uiux(Settings): add slider to control audio volume
Closes #843
2020-09-17 15:16:32 -04:00
Jonathan Rainville bcbcd13611 refactor: use profileSettingsFile QtProperty instead of profile directly 2020-09-16 16:58:55 -04:00
Jonathan Rainville db9472bc0b refactor: change settings to use a filename instead 2020-09-16 16:58:55 -04:00
Jonathan Rainville 23ca5f9930 feat: make settings user dependant and clean settings uses 2020-09-16 16:58:55 -04:00
Jonathan Rainville 64c2ff099e feat: remember wallet enabled in QT setting 2020-09-11 16:55:36 -04:00
hydr063n 3ea3b618a0 change title from Nim Status Client to Status Desktop 2020-09-07 09:30:02 -04:00
Iuri Matias 69b3ea57d6 fix volume of notification sounds 2020-08-20 13:39:57 -04:00