Commit Graph

696 Commits

Author SHA1 Message Date
Sale Djenic c83794470b chore(keycard): sync keycard with the current app state updated
This commit resolves a crash happened due to connection to
`SIGNAL_WALLET_ACCOUNT_TOKENS_REBUILT` when keycard sync
flow was run in the background.

Also updated the keycard synchronization process with the current state of
the application and is the first step of many which leads towards completion
of entire syncing feature.
2023-02-27 17:02:47 +01:00
Michal Iskierko f51dba06df chore(@desktop): Upgrade status-go
Issue #9233
2023-02-27 11:01:35 +01:00
Alex Jbanca 4d8757a128 fix(NimThreadpool): Implement lightweight threadpool
Motivation: reduce memory usage. The previous implementation was using 400+ mb of memory for a threadpool with 16 threads.
2023-02-27 10:16:53 +02:00
Richard Ramos 93ef76c3e4 fix: record bigger than 300 bytes 2023-02-24 08:56:37 -05:00
Richard Ramos e8ed91b3ba chore: update status-go (go-waku 0.5.1) 2023-02-23 09:03:56 -05:00
Khushboo Mehta e4d03a903e fix(@desktop/wallet): Wallet -> Bridge: can't send txn with bridge, code 32000: not available for chainID
fixes #9483
2023-02-22 09:40:32 +01:00
Michał Cieślak 03e1636cff feat(StatusQ): Add cpp model utils to allow handling ListModel and generic QAbstractItemModel uniformly
Closes: #9562
2023-02-20 22:25:56 +01:00
Anthony Laibe 5a8bc256b3 feat(@general): lower case password 2023-02-19 11:43:27 +01:00
Dario Gabriel Lipicar 27b8180fdd feat(@desktop/Wallet): use new status-go currency formatting API
Fixes #9453
2023-02-17 13:06:52 -03:00
MishkaRogachev b70e1f0fb4 feat(ActivityCenter): Add indication for visited/unvisited AC state
Close #347
2023-02-17 16:13:43 +04:00
Stefan 3bb667bb7a feat(Wallet) cache fetched balance history to DB for efficiency
- Bump status-go head that include the required specific changes
  - fetch token balance (native or ERC20) and cache historical token quantity data
  - fetch FIAT currency
- Extend presentation layer (NIM and QML) to account for API changes
- Remove timed request and other optimizations from the time of fetching
  balance history every time instead of querying cache
- Add C++ integration debugging tests and update network chain configuration (outdated)

Closes: #8175
2023-02-15 18:52:37 +04:00
Richard Ramos 7c1b4e37f3 fix: invalid length of multiaddr field (but loaded succesfully anyway) 2023-02-14 12:01:39 +01:00
Michal Iskierko b77033ef1a chore(@desktop): Upgrade status-go
Issue #8921
2023-02-13 13:42:29 +01:00
Richard Ramos 81926de731 fix: panic when enr's multiaddr is empty 2023-02-09 10:25:30 -05:00
Khushboo Mehta 2004adafba fix(@deaktop/wallet): Fix transfer function amount
fixes #8813
2023-02-09 15:40:52 +01:00
Michał Cieślak 1481790183 chore(general): move cpp files of monitoring tool from DOtherSide to ui dir
Additionally bumps DOtherSide cmake min version to 3.19

Closes: #9472
2023-02-09 14:27:53 +01:00
Michał Cieślak 51afe05d3c chore(general): cmake include file defined for StatusQ sources
Closes: #9426
2023-02-09 13:41:15 +01:00
Michał Cieślak 940d8cd2c0 chore(general): Move RXValidator to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak f43c3e2f2b chore(general): Move StatusSyntaxHighlighter to StatusQ, remove mock from Storybook 2023-02-09 12:48:11 +01:00
Michał Cieślak 8f25b93f96 chore(general): Move QClipboardProxy to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak ad34694826 chore(general): Deduplicate and move StatusWindow to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak 3a07651dd8 chore(DOtherSide): Use SortFilterProxyModel from StatusQ
Previously DOtherSide was an external, standalone library with own
submodule for SortFilterProxyModel. After merging DOtherSide directly
to status-desktop it should be treated as a build tool or part of build
configuration. Instead of owning c++ files by itselft, DOtherSide should
refer to all needed c++ sources in order to compile them and build
status-desktop properly.

Removing SortFilterProxyModel submodule from original DOtherSide and
changing config after merge to status-desktop was needed to be done
along with merge itself because otherwise there would be a conflict -
both DOtherSide and status-desktop had the same submodule
(SortFilterProxyModel).

Closes: #9410
2023-02-09 12:48:11 +01:00
Michał Cieślak c0a1cd58ab Removing SortFilterProxyModel submodule to avoid conflict when merging with status-desktop 2023-02-09 12:48:11 +01:00
Lukáš Tinkl 3a52e5e593 fix: correctly parse the destination folder
when saving an image to file

NIM already pre-processes the path for us in `utils.formatImagePath`
2023-02-09 12:48:11 +01:00
Lukáš Tinkl e9bf6cdbde fix: download image is saving to wrong folder
this seems to only happen on some linux platform QPAs where the native
file/folder dialog is returning bogus target directory URL; anyways
manipulating the URL using a QRegExp is fragile, better use builtin QUrl
methods for that

Needed for fixing https://github.com/status-im/status-desktop/issues/9307
2023-02-09 12:48:11 +01:00
Alex Jbanca 4119528eb2 fix(macosCmake): Prepend .mm files in order to override cpp implementation 2023-02-09 12:48:11 +01:00
Michał Cieślak 0525490619 feat: Add additional utilities for real-time app inspection
- context properties names exposed as a model
- checking if object is a model
- exposing human-readable type name
- exposing role names for models

Closes: https://github.com/status-im/status-desktop/issues/8787
2023-02-09 12:48:11 +01:00
Michał Cieślak ce5561d3be feat: add basic tools for app real-time monitoring
Required by: https://github.com/status-im/status-desktop/issues/8786
2023-02-09 12:48:11 +01:00
Lukáš Tinkl 4977b7aa2c chore: fix build with Qt 5.14 2023-02-09 12:48:11 +01:00
Lukáš Tinkl 210552b927 fix(StatusSyntaxHighlighter): code block fixes
- make the code bg/fg color configurable
- simplify the code, no need for an extra helper class
- fix code(block) regexes

Needed for https://github.com/status-im/status-desktop/issues/8649
2023-02-09 12:48:11 +01:00
mprakhov dda5e100f6 chore: add QSettings beginGroup and endGroup 2023-02-09 12:48:11 +01:00
Lukáš Tinkl 68096fe9ab fix(SoundManager): use logarithmic sound volume scale
Needed for status-im/status-desktop#8426
2023-02-09 12:48:11 +01:00
Boris Melnik 555192427e fix(hunspell): Remove hunspell cos we not use it
Fixes: https://github.com/status-im/status-desktop/issues/8424
2023-02-09 12:48:11 +01:00
Michał Cieślak 2307356a54 fix: reuse QNetworkAccessManagers and pass cstr to lambda safely 2023-02-09 12:48:11 +01:00
Lukáš Tinkl a7e82bfec7 fix: stop leaking QNetworkAccessManager and its replies
this was a memleak and fd leak bomb resulting in the app not starting at
all:

```
(nim_status_client:342629): GLib-ERROR **: 11:16:11.873: Creating pipes for GWakeup: Too many open files
/home/jakubgs/bin/StatusIm: line 2: 342627 Trace/breakpoint trap (core dumped) appimage-run
~/Downloads/Status/StatusIm-Desktop-221206-082906-5ee51a.AppImage
```
2023-02-09 12:48:11 +01:00
Michal Iskierko b8fc19d38f chore(@desktop): Expose QTimer functions
Issue #6179
2023-02-09 12:48:11 +01:00
Pascal Precht b1823f12e5 refactor: default clipboard image base64 to JPG instead of PNG
Hardcoding this is already far from ideal. We should at least use the
same type that's later used in desktop before sending images to
status-go, **before** this gets fixed properly.

The next step will be to detect codecs and use them them dynamically.
2023-02-09 12:48:11 +01:00
Lukáš Tinkl f8767e0c5d fix(QClipboardProxy): return imageBase64 as a QString
for better interop with NIM/status-go
2023-02-09 12:48:11 +01:00
Pascal Precht be3baf4bca QClipboardProxy: add support for images, html and urls 2023-02-09 12:48:11 +01:00
Patryk Osmaczko 496cdd0645 fix: use QClipboard properly in QClipboardProxy
- constructor with connection was never called
- `textChanged` was never emitted
- `clipboard` member was uninitialized
2023-02-09 12:48:11 +01:00
Jonathan Rainville 23c13fd738 chore: hook into QT logs with qInstallMessageHandler
Fixes #8296

This makes the QML logs finally show on Windows
2023-02-09 12:48:11 +01:00
Lukáš Tinkl 39cce22001 feat: add RXValidator
a QRegularExpression validator with Unicode support

Needed for status-im/status-desktop#8115
2023-02-09 12:48:11 +01:00
Lukáš Tinkl c96e2601d0 feat: implement OS notifications on Linux
using "notify-send" wrapper

Related: status-im/status-desktop#2520
2023-02-09 12:48:11 +01:00
Lukáš Tinkl ec90b2107d fix: abort startup on QML errors
exit() the app immediately after encountering QML errors on startup

task: status-im/status-desktop#7013
2023-02-09 12:48:11 +01:00
Patryk Osmaczko eac67137c0 feat: add qml debugging
task: status-im/status-desktop#6973
2023-02-09 12:48:11 +01:00
Patryk Osmaczko 109e45966b feat: register SortFilterProxyModel types
- it allows to `import SortFilterProxyModel 0.2`

relates: status-im/status-desktop#6510
2023-02-09 12:48:11 +01:00
Patryk Osmaczko e5f0387ef6 chore(git): add vendor/SortFilterProxyModel
relates: status-im/status-desktop#6510
2023-02-09 12:48:11 +01:00
Alexandra Betouni 63b6e8c885 fix(StatusSyntaxHighlighter): Updated regex and text formatting
Closes https://github.com/status-im/status-desktop/issues/6030
2023-02-09 12:48:11 +01:00
Michal Iskierko e666ccf1ad feature(desktop/general): Showing number of all notifications on tray icon badge
Functionality added to OSNotification.
MacOS version.

Issue #4922
2023-02-09 12:48:11 +01:00
Sale Djenic 3487862d27 feat: url scheme event added 2023-02-09 12:48:11 +01:00
Sale Djenic fd4971b91d feat: get text from the clipboard 2023-02-09 12:48:11 +01:00
Khushboo Mehta b84216490c feat: add support for download and copy image by url 2023-02-09 12:48:11 +01:00
Alexandra Betouni 1008ea78b0 fix(chatinput/mentions) added clipboard proxy to prevent paste text missbehavior 2023-02-09 12:48:11 +01:00
Richard Ramos 18b87996eb fix: add system certificates 2023-02-09 12:48:11 +01:00
Richard Ramos 3c0761196d feat: dos_add_self_signed_certificate 2023-02-09 12:48:11 +01:00
Sale Djenic 84de33af4b feat: function to check if the app is active and make the app active are added 2023-02-09 12:48:11 +01:00
Sale Djenic 3d08d2536e feat: sound manager added 2023-02-09 12:48:11 +01:00
Sale Djenic 36167739e9 chore: registering types is done after `QGuiApplication` instantiation 2023-02-09 12:48:11 +01:00
Iuri Matias e2eaca42f8 fix rebase slipup 2023-02-09 12:48:11 +01:00
Andrei Smirnov a22f60222f QGuiApplication to not mess with QCoreApplication and QApplication 2023-02-09 12:48:11 +01:00
Sale Djenic 5dc926f665 feat(@desktop/general): (macos) Keychain manager added
LocalAuthentication class - used to authenticate OS' logged user (using Touch Id)
Keychain class - able to store/read/remove item from the Keychain
KeychainManager class - manages the flow of storing/reading/removing an item from
the Keychain using own sync/async methods

This change is required as part of the feature issue-2675
2023-02-09 12:48:11 +01:00
Sale Djenic 4d10692572 feat(@desktop/general): QSettings class exposed to nim 2023-02-09 12:48:11 +01:00
Sale Djenic ca536cf714 refactor(@desktop/general): status custom events and os notification moved to the status namespace
- DockShowAppEvent
- OSThemeEvent
- OSNotification
are now part of our `Status` namespace

Corresponding files are renamed and moved to appropriate Status folder.
2023-02-09 12:48:11 +01:00
Andrei Smirnov 15b44e7b8f fix(@desktop/systemtrayicon): using proper QApplication class 2023-02-09 12:48:11 +01:00
Michael Bradley, Jr e7ba842662 feat: expose from local file
And revise some naming re: "to local file".
2023-02-09 12:48:11 +01:00
Anthony Laibe 79681fccdb feat: expose to local file 2023-02-09 12:48:11 +01:00
B.Melnik cd82993bed feat(Spellchecking): Update Spellchecker
Closes: #3443
2023-02-09 12:48:11 +01:00
B.Melnik ec0b962bad feat(Spellchecker): Add spellchecker class 2023-02-09 12:48:11 +01:00
Andrei Smirnov 64c960fdb3 Passing custom events over single instance IPC 2023-02-09 12:48:11 +01:00
Andrei Smirnov ee4f152349 Fixing SingleInstance for *nix 2023-02-09 12:48:11 +01:00
Andrei Smirnov 31eb8d939d fix(@desktop/chat): proper font style for code blocks 2023-02-09 12:48:11 +01:00
Sale Djenic 80e2534df4 fix(@desktop/general): (windows) clicking push notification does expand the app but does not open correct channel/chat
Windows notifications added in a native way.
This change is required as part of the fix for ticket 2996.

Fixes: #2996
2023-02-09 12:48:11 +01:00
Sale Djenic db826f58cf fix(@desktop/general): (macos) clicking push notification does expand the app but does not open correct channel/chat
MacOS notifications handled in a native way.
This change is required as part of the fix for ticket 2996.

Fixes: #2996
2023-02-09 12:48:11 +01:00
Sale Djenic 8599442510 chore(@desktop/general): CMake include files optimization 2023-02-09 12:48:11 +01:00
Andrei Smirnov c38a360e74 Added UI scale factor logic. 2023-02-09 12:48:11 +01:00
Khushboo Mehta 2bf1bfb30d feat: Adding API's for copying/downloading an image 2023-02-09 12:48:11 +01:00
Alexandra Betouni 08a8c0cc98 fix(desktop/chatinput) Adding custom syntax highligher for text formatting in chat input
Closes #39
2023-02-09 12:48:11 +01:00
Sale Djenic f0e3f04994 fix(@desktop/general): Changing System Appearance on the fly is not working
This is corresponding dotherside part of the issue 1725.

So far 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
2023-02-09 12:48:11 +01:00
Andrei Smirnov cba2e276b2 Introduced SingleInstance class 2023-02-09 12:48:11 +01:00
Andrei Smirnov 8c095ec628 feat: single instance check for StatusWindow 2023-02-09 12:48:11 +01:00
Richard Ramos 1c3bbe1b8e feat: add parameter to make the translation dynamic or not 2023-02-09 12:48:11 +01:00
B.Melnik 0d4916d033 fix: show status window in center 2023-02-09 12:48:11 +01:00
Andrei Smirnov d62b8ee921 Removed cmdline args passing to Qt 2023-02-09 12:48:11 +01:00
Andrei Smirnov fd1ed3eba8 Passing argc, argv to QGuiApplication 2023-02-09 12:48:11 +01:00
Andrei Smirnov 387f002c63 feat: QGuiApplication supporting icon() and installEventFilter() methods 2023-02-09 12:48:11 +01:00
B.Melnik 4be2340d3e feat: Add cutsom window without titlebar for osx 2023-02-09 12:48:11 +01:00
RichΛrd a1b7e70404 Removing unneeded file 2023-02-09 12:48:11 +01:00
RichΛrd 1b71929353 Removing unneeded file 2023-02-09 12:48:11 +01:00
RichΛrd be6a6167fe Removing unneeded file 2023-02-09 12:48:11 +01:00
Michael Bradley, Jr df8838703d fix: ..types.h -> ..Types.h
Some OS filesystems are case-sensitive.
2023-02-09 12:48:11 +01:00
B.Melnik fd4fc7c46d fix: move dock clicker too other files 2023-02-09 12:48:11 +01:00
Boris Melnik bd668c0dfe Update README.md 2023-02-09 12:48:11 +01:00
Eric Mastro 1471e1c1a4 feat: add DockClicker event filter
Add an event filter to `qApp` that can detect a dock icon click (in macos) when the main window is hidden or closed.

Co-authored-by: Boris Melnik <82511785+borismelnik@users.noreply.github.com>
2023-02-09 12:48:11 +01:00
Michael Bradley, Jr 37ebdf58b9 fix: improve defensive cstring copying
Intended to prevent Nim from inopportunely garbage collecting cstrings passed
through signal_handler/dos_signal as they make their way back to the main
thread
2023-02-09 12:48:11 +01:00
Jacek Sieka 7793f6b6ec long long support
to correctly handle `int` vs `cint` in nim
2023-02-09 12:48:11 +01:00
emizzle a01981ed87 feat: Add QNetworkAccessManager and clearConnectionCache 2023-02-09 12:48:11 +01:00
Richard Ramos acf240f2a6 Creating a cache for network requests 2023-02-09 12:48:11 +01:00
Richard Ramos edb4b79e1b Make the scheme and path prefix optional 2023-02-09 12:48:11 +01:00
Richard Ramos c6081720e7 feat: get host, and update url 2023-02-09 12:48:11 +01:00
Richard Ramos 956f51d38a feat: obtain url from user input 2023-02-09 12:48:11 +01:00