Commit Graph

662 Commits

Author SHA1 Message Date
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
Richard Ramos f2590b103f Add function to escape html 2023-02-09 12:48:11 +01:00
Richard Ramos 895e94d5e1 Add function to strip html tags 2023-02-09 12:48:11 +01:00
Richard Ramos 7a286e548e fix: creating a copy of signalstring 2023-02-09 12:48:11 +01:00
Richard Ramos 0b41a9b86d feat: specify tmp dir for images 2023-02-09 12:48:11 +01:00
Richard Ramos d613014606 feat: resize images 2023-02-09 12:48:11 +01:00
Jonathan Rainville 2dfb92a160 feat: add translation function on the engine 2023-02-09 12:48:11 +01:00
Richard Ramos 3cb8c466a4 Enable OpenGL 2023-02-09 12:48:11 +01:00
Richard Ramos 1d009fa376 print connection types 2023-02-09 12:48:11 +01:00
Richard Ramos 2d556fbc42 feat: create networkconfigurationamanager 2023-02-09 12:48:11 +01:00
Pascal Precht f2ce61142b feat: add clipboard support 2023-02-09 12:48:11 +01:00
Richard Ramos 0229edc410 feat: appname 2023-02-09 12:48:11 +01:00
Richard Ramos cac8fe48b2 feat: allow setting app icon 2023-02-09 12:48:11 +01:00
Richard Ramos 18cc92e028 feat: Enable HDPI 2023-02-09 12:48:11 +01:00
Ștefan Talpalaru e4d3e5f2bf .gitignore: add *.dylib 2023-02-09 12:48:11 +01:00
Ștefan Talpalaru 202f5cb7d6 more CMake options
- generic .gitignore entries for CMake projects
- generate a pkg-config file
2023-02-09 12:48:11 +01:00
Richard Ramos 18c55c5dcf feat: add signal handler for status-go 2023-02-09 12:48:11 +01:00
Michał Cieślak 561c60a0d0 Original dotherside repository up to 4d0d6a353c33ff2227b83562a127b3514a7e2169 2023-02-09 12:48:11 +01:00
Michał Cieślak 121c62bd9a Remove submodule vendor/DOtherSide 2023-02-09 12:48:11 +01:00
Stefan a57eb06240 test(wallet): fix user can manage and observe a watch only account
Bumps status-go to include the fix for not fetching balance for
overridden tokens

Add documentation on how to run wallet tests locally using ganache

Closes #9091
2023-02-08 19:52:37 +01:00
Sale Djenic 1818347da3 fix(@desktop/wallet): migrate non profile keypair and delete account fix
Due to changes done in https://github.com/status-im/status-go/pull/3133
we had to update procedure for adding migration keypair (which includes
local keystor files deletion for the accounts being migrated) and procedure
for account deletion, cause in order to delete local keystore file for the
acount which is being deleted, we have to provide a password now (states
only for non keycard accounts, keycard accounts use empty password).
2023-02-02 17:00:54 +01:00
Jonathan Rainville 18f9c29ef0 chore: up status-go (fix to contact migration) 2023-02-01 14:01:32 -05:00
Richard Ramos d6b595c062 chore: update status-go 2023-02-01 09:10:24 -05:00
Richard Ramos a8315dab42 fix: app freeze on logout 2023-02-01 09:34:53 -04:00
Anthony Laibe 45adf0f411 fix: update status-go 2023-01-30 14:11:42 +01:00
Sale Djenic 841a37e930 feat(@desktop/onboarding): `Lost Keycard` - start using account without keycard
This commit introduces:
- `Start using account without keycard` flow

Closes: #7642
2023-01-30 13:43:10 +01:00
Pascal Precht b00f0a80b5 Adjust import tool front-end to latest refactor
This adjust the front-end for the import tool by handling new
properties that have been added to the discord import progress signals.

Namely, the import is now done in chunks, so the progress signal
contains information about how many chunks have been processed.

This needs: https://github.com/status-im/status-go/pull/3134

Closes #9262 #9261
2023-01-30 13:28:06 +01:00
MishkaRogachev 128ac8dbd8 feat(ActivityCenter): Move AC notifications counting to status-go
Close #8074
2023-01-30 11:24:50 +04:00
Lukáš Tinkl 7ed5b0d0d6 fix(chat): Download image is saving to wrong folder
- fetch latest dotherside for the fix
- minor cleanup

Fixes #9307
2023-01-28 17:44:23 +01:00
Richard Ramos 8d75e7dced fix: cancel mailserver requests on shutdown 2023-01-25 09:08:32 -05:00
Richard Ramos 05c86e25aa chore: bump status-go to fix mailserver timeout 2023-01-23 15:48:13 -05:00
Pascal Precht 6293c8f21f chore: update status-go 2023-01-23 12:48:11 +01:00
Dario Gabriel Lipicar be26dc049b feat(@desktop/wallet) implement price cache 2023-01-20 08:55:10 -03:00
Dario Gabriel Lipicar 53ee992c25 feat(@desktop/wallet): implement unified currency formatting for transaction details
Fixes #9019
2023-01-20 08:55:10 -03:00
Richard Ramos 7adcbebb53 chore: bump status-go to restart discv5 on connection status change 2023-01-19 10:29:12 -05:00