Commit Graph

224 Commits

Author SHA1 Message Date
Jonathan Rainville 0470723a5d
feat(@desktop/metrics): send basic metrics (#15803) (#16040)
Issue #15737

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
2024-08-08 16:53:49 -04:00
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Michal Iskierko 52fe774975 feat(@desktop/metrics): Show metrics popup when starting application
Adding local setting: metrics_popup_seen
Small refactoring: showing popup from main.qml
Showing popup: 1. on welcome screen, 2. in Settings/Privacy page and 3. after login when the popup has not been shown yet

Issue #15628
2024-07-23 10:59:03 +02:00
Jonathan Rainville 8216ea37f7
feat(icon): show a red dot when we have unread notifications and windows icon with white border (#15496)
* feat(icon): show a red dot when we have unread notifications
* feat(windows-icon): update windows icon to have a white border

Fixes #14788
Fixes #14855

Adds a red dot on the tray icon if there is an unread message in an unmuted channel or in the activity center
2024-07-12 09:41:27 -04:00
Ivan Belyakov baa65de1ae chore(test): use STATUS_RUNTIME_USE_MOCKED_KEYCARD env var for
displaying mocked keycard controller window
2024-07-12 10:27:50 +02:00
Cuteivist c934ba74ef
feat(wallet): Networks model improvements (#15305)
* refactor getters for chainIds and enabledChainIds
* simplify community chainIds getter
* simplify usage of network dto objects
* remove duplicated roles from send area
* rename network model in send module to network route model
2024-07-03 10:51:15 +02:00
Alex Jbanca 292c74b189 feat: Add monochrome tray icons 2024-05-20 13:38:04 +03:00
Lukáš Tinkl 8b8af40979 feat(Settings): remove UI scaling option panel
- as discussed with Design, do not allow the user to select the UI scale
option from Settings as it causes many problems; instead rely on the
OS/Qt HighDPI support to handle the scaling for us
- note however, for advanced users, it's still possible to specify the
UI scale manually by exporting the standard `QT_SCALE_FACTOR` prior to
starting the app
- in the longterm, we will come with our own scaling solution at the QML
level, independent from the OS

Fixes #14137
2024-05-14 17:47:10 +02:00
Lukáš Tinkl 523e0490fe fix(StatusWindow): fix changing the window state(s)
- since the window can be a combination of several states (e.g.
maximized + fullscreen + minimized), use the newer `windowStates()` to
track and toggle them
- call `makeStatusAppActive()` in all the identical codepaths (clicking
tray icon, activating a mac or win instance, running a second instance,
etc)
- fixes restoring the window to its previous state(s) when activating
from the tray or dock icon
- use some more standard keyboard shortcuts

Fixes #14132
2024-05-10 16:11:37 +02:00
Jonathan Rainville 685b83d56d chore: update icons to use the new multicoloured Status logo
Fixes #14531
2024-05-08 10:22:34 -04:00
Lukáš Tinkl 630da7caaa fix: 150% and 200% zoom levels prevent the user from logging in
- TLDR: we were scaling twice, resulting in ginourmous pixel values

The long story:
- since Qt treats the various scale factors in a multiplicative way (see
https://www.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6 for
explanation) and there's no way to get the screen's baseline scale
factor programatically, we also have to export `QT_SCREEN_SCALE_FACTORS`
to something that's not equal to `0` or `1` to force the monitor scale
factor to `100%` and then compensate for it when exporting our own scale
value using `QT_SCALE_FACTOR`
- make the UI slider values go in `25%` steps, allowing for more fine
grained control; with `100%` we fallback to the Qt's native handling of
highdpi
- raised the maximum to `300%` since on highres displays, one wouldn't
be able to go over the implicit maximum of `200%` (due to the internal
scaling being 2x)
- scale our main window's minimum width/height so that we don't overflow
the monitor's available space
- modernize the `ConfirmAppRestartModal` to use `StatusDialog`
- use the new `Utils.restartApplication()` when changing the UI language
as well
- remove some dead code

In the (very) long term, we should take a different approach of scaling
our app independently of Qt, just taking the monitor
`Screen.devicePixelRatio` into account, similar to what other apps like
Telegram do

Fixes #13484
2024-02-27 10:39:05 +01:00
Jonathan Rainville 4e296d5acf fix(notifs): only process notifs once the loading screen is done
Fixes #10912
2023-11-22 15:07:55 -05:00
Anastasiya Semenkevich b50dfc99c3 chore(@SplashScreen): add object name 2023-11-14 13:24:32 +03:00
Igor Sirotin e5b68e8823
fix: messaging settings and url unfurling fixes (#12457)
* remove browser selection setting
* remove main whitelist settings. replace tenorGif setting with gifUnfurlingEnabled
* remove old unfurling
* move history nodes section
* disable outdated e2e tests step
* remove isGifWidgetEnabled setting
* fix: StatusMessage height when gif unfurling disabled

---------

Co-authored-by: Anastasiya Semenkevich <anastasija.ig@gmail.com>
2023-10-18 10:03:32 +01:00
Sale Djenic 1699189cec feat(@desktop/keycards): managing mocked keycards from the separate window 2023-09-27 18:20:43 +02:00
Igor Sirotin d8c9802d77
fix: Restore window after closing on MacOS (#11748) 2023-08-02 16:49:28 +03:00
Alex Jbanca c4e9f8dba0 fix: Adding Beta user agreement 2023-06-19 10:58:03 +03:00
Alex Jbanca 9d14fd60af chore: Integrate DB re-encryption process due to page size changes
Changes:
1. Bump status go to include DB migration
2. Integrate the new DB re-encryption signals to show the re-encryption loading screen
2023-06-14 21:12:22 +03:00
Lukáš Tinkl 0b94c2b541 fix: revert to not destroy popups on close by default
- causing too many regressions along the way
- most of our popups are already destroyed properly inside Popups.qml
- in general, a Popup (Dialog, Menu, etc.) can be manually destroyed iff
it had been created using `Component.createObject()`, otherwise it's gone
for good until restart
- manually enabled the destroy-on-close in verified cases

Fixes #10948 (maybe some other dupes)
2023-06-09 00:44:27 +02:00
Vladimir Druzhinin 219eb04da9
test(suite_onboarding): fix tests (#10260)
#9285
2023-05-04 18:18:19 +02:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Lukáš Tinkl de5f0cb960 hotfix: unbreak showing encryption splash screen
those evil typos :)

Fixes #10039
2023-04-03 16:48:33 +02:00
Boris Melnik efc9ba41d3 feat(SplashScreen): Display recommendation do not close the app on re-encryption process
Fixes: #10039
2023-03-30 09:59:42 -04:00
Alex Jbanca 338ad61093 fix: Set app minimum width to 1200 2023-03-15 09:59:10 +02:00
Lukáš Tinkl ef99e3d017 fix: Primary nav bar vertical alignment on Windows/Linux
- reduce top margin for non-macOS builds

Fixes #9684
2023-03-02 15:49:28 +01:00
Sale Djenic 8cc80694e2 fix(@desktop/general): qml warnings caused by undefined context props handled 2023-02-17 12:25:44 +01:00
Alex Jbanca 009861c7b4 fix(SplashScreen): Add Did You Know Splash screen
Closing #9470
Adding Did You Know Splash Screen that will be shown when AppMain is completed.
The SplashScreen runs for 30 seconds and will randomly iterate through `fun messages` every 5 seconds.
2023-02-16 16:06:50 +02:00
Michał Cieślak ad34694826 chore(general): Deduplicate and move StatusWindow to StatusQ 2023-02-09 12:48:11 +01:00
Jonathan Rainville d59cffd623 fix(windows): fix app not showing when monitor setup changed
Fixes #8726
2022-12-26 09:55:14 -05:00
Jonathan Rainville 821b7f2571 fix: random crash when joining a channel for the first time
Fixes #8848

I'm not 100% sure why the issue is fixed by this, but I was able to pin point the source with a bisect and by running the Squish test for public chats over and over.
2022-12-20 09:40:37 -05:00
Alexandra Betouni 99c7b33e1e fix(Global): Cleaned up Global from backend dependencies
Closes #7933
2022-12-19 16:28:41 +02:00
Boris Melnik 0ff0047167 fix(warnings): Fix warnings from AppMain and main on start
Fixes: #8293
2022-12-15 18:03:11 +03:00
Boris Melnik a584a31818 fix(warnings): Remove warnings on login screen
Fixes: #8293
2022-12-15 14:17:53 +03:00
Sale Djenic 4b972acdd9 feature(@desktop/keycard): display keycards for the same keypair as a list in the keypair details view
Fixes: #8136
2022-12-14 08:22:12 +01:00
mprakhov 3ddd470a4a fix(@desktop/chat): use configured font size after restart 2022-12-13 11:17:08 +02:00
Jonathan Rainville 2f338ecb09 fix(windows): use QML's OS notification for Windows
Fixes #4943

The custom OS notifications we have in place make it possible to click
the notification and go to the right place in the app, but it causes a
big issue in Windows; it breaks the tray icon, it becomes no longer
clickable.
The easy fix I did here is the go back to using the QML sendMessage
function. It works fine to send the notif and the tray icon keeps
working. The only downside is we lose context when clicking on the
notification, so it doesn't navigate to the chat.
IMO, this is a good tradeoff.
2022-12-06 10:04:56 -05:00
Lukáš Tinkl eb4a7d71c5 chore: bump VERSION to 0.7.90 in master
so that we always have a higher version than the latest stable release
(0.7.x at the moment), giving us a buffer to further bump it to 0.8.9x as
we approach the 0.9.x series
2022-10-27 23:39:33 +02:00
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