Commit Graph

1010 Commits

Author SHA1 Message Date
Sale Djenic 0323325231 fix: fixing keycard lib for mac M1 2023-05-03 18:05:39 +02:00
Jonathan Rainville 6997e05586 fix(chats): fix unread counters in many instances
Fixes #10076

Reverts the refactor that makes getChannelGroups (ie getChats) not return chats (now it does return all chats too).
That way, we actually have the right mentions and unread count when receiving new messages

Also fixes an issue where mentions and unread count would get reset to 0 when getting a community update, because the signal doesn't have enough info
2023-05-02 14:33:14 -04:00
Igor Sirotin abf58b008f
fix(Pairing): Added installation info to pairing results (#10418) 2023-04-29 13:33:08 +03:00
Jonathan Rainville 17e5aa20c7 fix(message_model): mentions not being removed when deleted or edited
Fixes #10335
2023-04-27 11:27:04 -04:00
Lukáš Tinkl c548a96a2a fix(Settings/LanguageView): do not change language on the fly
disable retranslation, display a confirmation dialog and apply the
language change after app restart

rationale: the way the retranslation works internally is that it force
reevaluation of _all_ QML bindings which:
- might lead to crashes (immediately or later)
- lots of warnings printed to console, some bindings can get broken as a result
- not all UI is correctly retranslated on the fly (we have lots of places
where we assign the text imperatively via JS code), so these wouldn't
appear translated before app restart anyway

Fixes #7823
2023-04-27 16:12:33 +02:00
Boris Melnik 22ee49c551 feat(edit-message): Edit image messages
Fixes: #10072
2023-04-26 14:47:03 +03:00
MishkaRogachev 0ae1881564 fix(ActivityCenter): Fix contact request notifications
Close #9788
2023-04-25 16:16:32 +04:00
Mikhail Rogachev 579ca265b4
Fix(DOtherSide): Exclude threaded renderer all darwin architectures (#10411) 2023-04-25 15:25:31 +04:00
Jacek Sieka c3d1133dfd re-point status-desktop@nimbus-build-system to common 1.6.12 commit 2023-04-24 12:38:35 -04:00
Jacek Sieka e4f7269587 Nim 1.6
Upgrade Nim compiler to 1.6.

The necessary changes are related to how `for` loops now implicitly
create a `lent` type, which is Nim's way of creating a "temporary"
reference to an item inside a collection - this helps performance by
avoiding a copy of the data, but it also means that the copy that
previously was implicit in the for loop must be made explicit in the
code.
2023-04-24 12:38:35 -04:00
Anthony Laibe c8d0cb36e6 feat(@wallet): sort saved addresses
fixes #9772
2023-04-22 11:06:59 +02:00
Sale Djenic ec17309348 fix: `saveAccounts` status-go endpoint change handling 2023-04-21 17:12:10 +02:00
Dario Gabriel Lipicar fb8ea4a054 feat: add api to get list of owners from a given nft contract
Fixes #10290
2023-04-19 16:34:58 -03:00
Richard Ramos cacca6ff31 chore: set default sync period to 9d via status-go migration 2023-04-18 11:24:18 -04:00
Mikhail Rogachev c1b28d23c5
fix(ActivityCenter): Update status-go ActivityCenterNotificationTypeCommunityKicked and fix accepting community requests from AC (#10283)
* fix(ActivityCenter): Move ActivityCenterNotificationTypeCommunityKicked to the right place

Close #9811

* fix(ActivityCenter): fix accepting community request to join
2023-04-14 15:27:13 +04: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
Jonathan Rainville 713b145653 fix(chat): fix unread count on community by upping status-go
Fixes #10264
2023-04-13 13:47:58 -04:00
Michal Iskierko 4716842a26 chore(@desktop): Upgrade status-go
Issue #10161
2023-04-13 12:06:04 +02:00
Sale Djenic 358869fd6c chore: improvements to `GetWalletToken` function on the `status-go` side 2023-04-06 19:29:16 +02:00
Igor Sirotin 7ebfcd0183
fix(SendContactRequestModal): Implemented contact info request and loading UI (#10177) 2023-04-06 10:56:50 +03:00
Michal Iskierko 617ff8d98d chore(@desktop): Upgrade status-go
Issue #10035
2023-04-05 12:42:02 +02:00
Khushboo Mehta a6df4566dd fix(@desktop/wallet): checkConnected API doesnt return correct values
fixes #9833
2023-03-31 19:59:49 +02:00
Stefan eb39d2814f feat(wallet): implement DerivationPathInput control
The enforcing of the derivation path editing rules is done in a structured
way by handling all the changes on the array of `Element` stored in
d.elements and then recomposing the HTML string to be displayed after
every change.

Main limitation is the workaround in `onTextChanged` that regenerates
the text in order to dismiss foreign characters introduced by pasting
which I couldn't find a way to disable without disabling also the ability
to copy content to clipboard.

Highlights:
- Implement DerivationPathInput control that intercepts the modifiable
keyboard events in order to edit the visible TextEdit.text while
respecting the requirements of the derivation path editing
- Implement a JS Controller that handles the logic of the
  decomposing and recomposing the derivation path string
- Add anew StatusQ with the TextEdit basic look and feel to be used
  in DerivationPathInput control without duplicating the style
- Allow passing modifiable events that are not generating characters in
  order to allow copy to clipboard
- Disable add account when control is in error state
- Limit to maximum 5 elements in the derivation path

Testing:
- Integrate the control with StoryBook for a quick preview of the
  control
- Add unit tests for the Controller basic functionality and regression
  for the main control Item
- Removed forcing x64 architecture on apple arm64 hardware from the
  storybook build configuration

Note: initially the implementation was suppose to be simple parse the
derivation path string edit elements and format it. However, I could not
find a quick way fix the circular dependency issue between editing the
text and reformatting it. The solution was to use a one way from the
structured data to the formatted string which complicates the
implementation logic.

Closes: #9890
2023-03-31 17:08:19 +02:00
Igor Sirotin 14c264e350
feature(Syncing): Embed QR code scanner for syncing devices on onboarding (#9981)
* fix(StatusQrCodeScanner): Improve QR code scanner
- Almost async loading
- Added camera selector
- Added `captureRectangle` property
- Add component info to sandbox qr code scanner page
- Embed QrCodeScanner into desktop app
* Compile and link qzxing as shared library
* Hardcode settingCurrentNetwork. Propagate inputConnectionString errors.
* Added qzxing libdir to e2e tests ld_library_path
2023-03-30 20:57:18 +03:00
Patryk Osmaczko 7fb9b37620 chore: bump status-go 2023-03-30 16:19:13 +02:00
Pascal Precht 57467c65b8 fix(permissions): check ownership of collectibles in permissions view
Marks collectible token criteria items in JoinCommunityView as we owned
if the account owns wallets that match the criteria
2023-03-30 08:26:10 +02:00
Patryk Osmaczko 27285151bb chore: bump status-go 2023-03-28 22:26:48 +02:00
Sale Djenic 44e00b9538 chore(@desktop/wallet): `Accounts` and `WalletAccount` services updated
- new procs to a new `status-go` endpoints added:
  - `AddAccount`
  - `ImportPrivateKey`
  - `ImportMnemonic`
  - `GetRandomMnemonic`
  - `GetDerivedAddresses`
  - `GetDerivedAddressesForMnemonic`
  - `GetAddressDetails`

- unused procs to the old `status-go` endpoints removed:
  - `AddAccountWatch`
  - `AddAccountWithMnemonic`
  - `AddAccountWithMnemonicPasswordVerified`
  - `AddAccountWithMnemonicAndPath`
  - `AddAccountWithMnemonicAndPathPasswordVerified`
  - `AddAccountWithPrivateKeyPasswordVerified`
  - `AddAccountWithPrivateKey`
  - `GenerateAccount`
  - `GenerateAccountPasswordVerified`
  - `GenerateAccountWithDerivedPath`
  - `GetDerivedAddressForPath`
  - `GetDerivedAddressesForPath`
  - `GetDerivedAddressesForMnemonicWithPath`
  - `GetDerivedAddressForPrivateKey`
  - `GetDerivedAddressDetails`
2023-03-28 18:09:39 +02:00
Michal Iskierko b62a204ee7 chore(@desktop): Upgrade status-go
Issue #9783
2023-03-27 19:43:10 +02:00
Jonathan Rainville 5f765e3542 chore(status-go): up status-go version to get mem leak fix 2023-03-27 13:10:49 -04:00
Jonathan Rainville caebc9b93f fix(community-members): fix pending request buttons + updates
Fixes #9973

The buttons didn't work because we weren't using the right model + the section model didn't expose the PendingMemberRequestsModel.
I also fixed the service to update the community correctly and send the event. It should feel snappy-er to approve someone now.
2023-03-27 11:17:34 -04:00
Jonathan Rainville 9d0e14b680 refactor(chats): separate calls to getChats for each section
Fixes #9858
2023-03-24 13:05:19 -04:00
MishkaRogachev 3a09ef8fac feat(Contacts): Remove ability to cancel outgoing CR
Close #9901 and #9898
2023-03-24 12:58:11 +07:00
Igor Sirotin e4f6724fdd
fix(Syncing): Update to newer version of status-go local pairing (#9992) 2023-03-24 11:07:30 +11:00
Khushboo Mehta df121445ca fix(@deaktop/wallet): Implement error states with automatic retries
fixes #9688
2023-03-23 15:26:22 +01:00
Pascal Precht 5e965bcbb7 refactor: make accepting member requests to join async
This is necessary because with community token permissions, when owners
manually accept a request, we a) don't want to block the UI when the
users funds are check on chain and b) in case of insufficient funds,
we'll react with a modal that tells the owner that the user can't be
accepted.

All of that is done in this commit.
2023-03-23 14:11:04 +01:00
Jakub Sokołowski f39dfa87f7 move qzxing and SortFilterProxyModel to vendor folder
Lets avoid creating chaos by having multiple vendor folders.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-23 12:09:19 +01:00
Michal Iskierko 8d97203a85 chore(@desktop): Upgrade status-go
Fix #9866
2023-03-22 15:08:02 +01:00
Alex Jbanca 9c1053c61a Chore: Bump status-go 2023-03-22 15:20:07 +02:00
Alex Jbanca 70143de98a Chore: Bump QR-Code-generator 2023-03-22 15:20:07 +02:00
Alex Jbanca 78052242b6 chore: Bump status-keycard-go 2023-03-22 15:20:07 +02:00
Dario Gabriel Lipicar 842e4565bd feat(@desktop/wallet): add support for collectible "watched contracts". Re-fetch collectibles periodically.
Fixes #9856
2023-03-20 12:42:32 -03:00
Jacek Sieka d8ce6f58dd
Nim library updates, pt 2 (#9734)
This is part 2 of the nim library updates targeting networking and ETH
libraries:

* bearssl: upstream security updates, refactoring
* chronos: significant stability updates across the board - ie better
connection management, async fixes, updates, refactoring etc
* eth: updates across the board, including EIP support, discv5, etc
* http-utils: fixes
* json-rpc: replaced websocket engine with in-house nim-websock (vs news
which is no longer supported)
* libp2p: lots of updates, but not relevant to status-desktop as of yet
* web3: new API and conformance updates based on execution API spec
* semver: crash fix, branch name
* news: removed in favour of nim-websock
2023-03-20 07:34:56 +01:00
Jonathan Rainville edc19d1b0a chore: up status-go version 2023-03-16 16:12:57 -04:00
Boris Melnik 0b6ff5ae2f fix(activity_center): Remove notifications from activity center
Fixes: #9751
2023-03-16 22:26:32 +03:00
Lukáš Tinkl ee56e79090 chore: bump nimqml
to get https://github.com/status-im/nimqml/pull/49
2023-03-16 14:52:22 -04:00
Lukáš Tinkl 1998a6556a feat(Profile): New Social Links workflow
TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type

Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)

Fixes #9777
2023-03-16 16:08:23 +01:00
Igor Sirotin 33d38a4081 fix: Device syncing
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow. 
- Error message view design update 
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
2023-03-16 00:27:21 +13:00
Dario Gabriel Lipicar 30294f97fe feat(@desktop/wallet): add pagination to collectibles view
Fixes #9754
2023-03-10 12:02:59 -03:00
Pascal Precht 25b0641cc2 feat: introduce first JoinCommunityView for token-gated communities
This does a few things:

- It integrates with the latest `CommunityTokensMetadata` to access
  community specific ERC721 token
- It changes `ChatLayout` such that it conditionally loads either
  `ChatView` or `JoinCommunityView`. `JoinCommunityView` has been
  specifically designed for token-gated communities

Here's what works (in terms of token permissions):

1. If a community has token permissions and the the current users is not
   a member of that community, we show `JoinCommunityView` instead of
   `ChatView`
2. Any community token permissions of type "Become member" are listed in
   the `JoinCommunityView`
3. There are different types of token critera a permission can have:
   ERC20 token, ERC721 token, or ENS (which is also ERC721 but we have
   a type for that nonetheless)

   Only ERC20 token balances are checked for the known wallet accounts.
   This happens every time the known token list has been updated (every
   10 min atm).

   We still need to add balance checks for any ERC721 tokens and ENS.
4. If token permissions are created, updated or deleted by the community
   owner, the `JoinCommunityView` will update in real-time.

You'll also notice that the `Reveal my address and request access`
button will be enabled if any of the token permissions are fulfilled
(only ERC20 at the time being). Clicking that button will not yet send
a request.

This will be done in the next step as part of https://github.com/status-im/status-desktop/issues/9761
2023-03-09 16:35:06 +01:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
Dario Gabriel Lipicar eed98809d1 feat(@dekstop/wallet): support collectibles in activity tab
Fixes #8811
2023-03-07 11:07:04 -03:00
Alex Jbanca 3897b42828 chore: bump nimqml 2023-03-07 12:31:36 +02:00
Alex Jbanca 58e9e61702 fix(SplashScreen): Enable threaded renderer 2023-03-07 12:31:36 +02:00
Michal Iskierko c48886ec1e chore(@desktop): Upgrade status-go
Issue #9545
2023-03-07 10:04:12 +01:00
Michal Iskierko 467539446d chore(@desktop): Upgrade status-go
Issue #9725
2023-03-06 11:27:57 +01:00
MishkaRogachev 38a9b4a7f1 feat(ActivityCenter): Support status-go PR with endpoints refactor 2023-03-03 19:52:20 +04:00
Jacek Sieka 71bbb03faa
Nim library upgrades, pt1 (#9703)
This PR upgrades a number of libraries as well as nim itself, to address
security issues and crashes that we've worked to solve over the past few
months on the nimbus-eth2 side leading up to its 1.6 migration - they
include changes that are safe to use in both 1.2 and 1.6 without
requiring 1.6, making the code compatible with both versions.

In particular, 1.6 becomes more strict in several ways including
exception handling, style and certain langauge constructs related to
memory safety - as a result, we've cleaned up said libraries and
improved their stability overall, including fixing several crashes.

* nim 1.2.18 - this is the last release in the 1.2 series we produced
together with upstream based on nimbus' needs - between the version
Desktop is using today and v1.2.18, changes are predominantly backports
from newer Nim versions that we asked for while working on stability in
Nimbus itself.
* chronicles - cleanups
* confutils - cleanups
* faststreams - cleanups & crash fixes
* nim-json-serialization - several important crash fixes for json
parsing edge cases
* metrics - cleanups & threading fixes
* secp256k1 - upstream updates (including security fixes)
* serialization - cleanups
* stew - many convenience fixes and updates to common low-level
utilities, such as Result and hex / base64 / etc parsing
* stint - cleanups
* zlib - cleanups
* nimPNG - cleanups
* nimcrypto - cleanups

This is part 1 of library upgrades and focuses on the low-level
libraries - part 2 will upgrade the network stack (chronos, json-rpc,
web3, etc), keeping the two separate so as to limit the potential impact
of this PR.
2023-03-03 11:14:10 +01:00
Pascal Precht e4b8814bfa feat(Communities): allow for creating community permissions
This commit is the first of implementing community permissions.
**It is not implementing the complete feature**, rather does it
introduce the first pieces, such that we can get code reviewed and
merged before it grows too big.

To review these features, please make sure to

1. Enable wallet (Settings -> Advanced -> Wallet toggle)
2. Enable community permissions (Settings -> Advanced -> Community
   Permissions toggle)

You'll have to restart the app after doing so.

The commit introduces the following:

**UI, API calls and view models to CRUD community permissions**

After creating a community, the user can go to the community
settings and create new token permissions. The user can also update
and delete existing permissions.

**Asset and collectible view models**

To create community token permissions, users have to select
the token criteria. This commit introduces the `assetsModel` for ERC20
tokens and `collectiblesModel` for `ERC721` tokens.

The latter only supports custom minted community tokens at this point.

**This commit requires:** https://github.com/status-im/status-go/pull/3207
2023-03-03 10:22:32 +01:00
Stefan a0170a3fda feat(wallet) propagate multi-transaction ID to Nim
Bump status-go to include the propagation of multi-transaction ID for status-go APIs

Also

- Add leftover fix from SendModal layout

Updates: #7663
2023-03-02 14:25:53 +04:00
Jacek Sieka 1856c9de93 remove task-runner dependency
As of #9596, task-runner is no longer used.

Due to how the build system works, task-runner was providing nim-stew,
nim-bearssl and nim-chronos to the project, even though these are also
top-level dependencies - effectively this means there were multiple
versions of these libraries in the source tree and it is not entirely
intuitive which is actually used - adding to the confusion, the
submodule was pinning different versions.

This PR removes task-runner and resets the other dependencies to the
versions in task-runner thus minimising collateral changes.

A duplicate copy of bearssl is also removed.
2023-03-01 10:20:45 -05:00
Sale Djenic bf9b709cc8 feat(@desktop/keycard): recover an account fetching previously backed up data from waku
Closes: #8920
2023-03-01 13:20:14 +01:00
Alex Jbanca d059fb7e1f chore(nimqml): Bump nimqml 2023-02-28 18:37:34 +02:00
Anthony Laibe 7d9a6f5a71 feat(@wallet): add pokt network + fallbark 2023-02-28 09:12:05 +01:00
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
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
Alex Jbanca 50b5442818 chore: bump vendor/DOtherside 2023-01-18 10:17:45 +02:00
Pascal Precht bf7148efd6 fix: make avatar info in replies of imported messages work again
Because we've switched to `QuotedMessage` as an attached payload to
messages to make message replies data more reliable, we lost some of
the author information in imported messages, that was available prior
to that move.

This commit introduces `quotedMessageAuthorDisplayName` and
`quotedMessageAuthorAvatar` to our model so it can be set in case
we can't retrieve contact details for a given message (which is always
the case for imported messages)
2023-01-17 12:48:56 +01:00
Michał Cieślak 22da265d78 feat(Monitoring): Backend's properties and models visualization
Closes: #8787
Closes: #8790
2023-01-16 14:46:58 +01:00
Sale Djenic cae2a5bea3 feature(@desktop/keycard): sync a Keycard state on every usage
Closes: #8759
2023-01-13 21:02:36 +01:00
Michał Cieślak e3e99c6a48 feat(general): Initial setup for app monitoring tool
Closes: #8786
2023-01-13 13:47:08 +01:00
Michal Iskierko 766496575e chore(@desktop): Upgrade status-go
Issue #6567
2023-01-13 12:33:08 +01:00
Dario Gabriel Lipicar 7c4022e4ac feat(@desktop/wallet): implement unified currency formatting
Fixes #8640
2023-01-12 15:21:27 -03:00
Anthony Laibe e7b746795f feat(@wallet): multi tx approval/nonce 2023-01-12 13:33:29 +01:00
Patryk Osmaczko 110838814d chore: bump status-go 2023-01-12 08:52:41 +01:00
Jonathan Rainville 6d2ea528ac fix: up status-go to have community request fix 2023-01-11 14:26:04 -05:00
Lukáš Tinkl 6f1ecb9c8c fix(StatusChatInput): improve code highlighting in code snippet/blocks
- make the bg/fg color follow our current Style/Theme colors

Fixes: #8649
2023-01-10 15:21:45 +01:00
Jonathan Rainville b10d0a063e chore(status-go): up status-go (logs, group fix, others) 2023-01-05 16:32:29 -05:00
Dario Gabriel Lipicar 2999a7f932 revert: 3d22f4a86d3b0853e6a47c7d085b9311cc45f116
This reverts status-go commit 3d22f4a86d3b0853e6a47c7d085b9311cc45f116
2023-01-05 09:32:11 -03:00
Dario Gabriel Lipicar 63104bb81f fix: cannot expose a float qtproperty 2023-01-04 15:33:40 -03:00
Sale Djenic 8600ef35b3 feature(@desktop/keycard): generating addresses on a Keycard
Generating addresses was done on the status-go side, but now since `ExportPublic`
flow from the keycard library supports deriving addresses for list of derivation paths
we're using it in the desktop app for `SetupNewKeycardNewSeedPhrase` flow.
2023-01-04 14:24:55 +01:00
Sale Djenic 9d382b1c81 fix(storybook): profile fetching updated
Profile fetching page, which is part of onboarding flow, is updated so it matches
the latest figma changes now.
2023-01-04 11:15:58 +01:00
Anthony Laibe 2e65796a06 feat(@wallet): cbridge integration 2023-01-04 08:59:19 +01:00
mprakhov a7a69e1320 fix(@desktop/chats): restore last opened chat during app launch 2023-01-03 18:02:42 +02:00
MishkaRogachev f70ccfc17d fix(ActivityCenter): Add identity verification AC notifications 2022-12-30 12:13:42 +04:00
Khushboo Mehta f84404c956 feat(@desktop/wallet): Custom routing
fixes #8237
2022-12-21 19:25:11 +01:00
Pascal Precht 865ed32deb feat: introduce ability to @everyone
Closes #8479

This needs: status-im/status-go#3026
2022-12-21 10:19:48 +01:00
Jonathan Rainville b4e32ceaea chore(status-go): bump status-go (fixes emoji reactions)
Fixes #8689

This fixes the emoji reaction not showing, BUT also the delete, edits and pins. They were all not showing because the messages were not encrypted, so they didn't fall in the right topic
2022-12-15 11:35:46 -05:00
MishkaRogachev bc446f93b7 feat(Contacts): ContactVerificationRequestPopup reacts on model's update 2022-12-15 15:44:45 +04:00
Pascal Precht 6722531cde chore: update status-go 2022-12-14 15:35:59 +01: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
Jonathan Rainville 59a05243af fix(community): fix messages being gone when we re-join a community
Fixes #7512

The problem was twofold.
1. We didn't try to fetch the messages when we re-joined, since the cursor was not reseted
2. The messages are not longer in the DB since they get deleted on joining.

I fixed 1. by reseting the cursor on leave and calling fetch on spectate
I fixed 2. in the status-go PR so that we no longer delete the messages when leaving.
2022-12-12 10:47:17 -05:00
Lukáš Tinkl 668ea868c4 fix(notifications): The sound of notifications is harsh and annoying
Use logarithmic sound volume scale instead of linear when interpreting
the sound volume value

TLDR; we were literally overblowing the speakers with absolute sound
volume levels; for the whole story I recommend reading:
https://www.dr-lex.be/info-stuff/volumecontrols.html

Also play a sound preview when changing the volume in Settings

Needs https://github.com/status-im/dotherside/pull/83

Fixes #8426
2022-12-12 11:39:32 +01:00
Michał Cieślak a6c3af97cf chore: bump vendor/DOtherside
to fix the creation of many temporary QNAMs
and potential UB

Closes #8683
2022-12-08 12:12:08 +01:00
Anthony Laibe 56bd8c74b8 feat(@wallet): speed up add account
fixes #8571
2022-12-08 11:21:50 +01:00
Lukáš Tinkl 9391cabcba chore: bump vendor/DOtherside
to fix the QNAM memory/fd leaks

Closes #8667
2022-12-07 10:00:22 -05:00
Pascal Precht dd0c4ab03d chore: update status-go 2022-12-07 14:50:53 +01:00
Michal Iskierko e8764e7c06 chore(@desktop): Update status-go
Fix #7414
2022-12-06 11:14:23 +01:00
Sale Djenic 66c465713c chore(@desktop/keycard): point to new kc lib
- introduces `instance-uid` for all flows
- mnemonic length updated so it supports float and int
2022-12-02 17:26:06 +01:00
Anthony Laibe 1e086de456 feat(@wallet): move timer to status-go 2022-12-02 11:28:47 +01:00
Anthony Laibe 1238e91b09 feat: add wallet token integration 2022-12-02 11:28:47 +01:00
Anthony Laibe 0d217c0db0 feat: add wallet token integration 2022-12-02 10:17:47 +01:00
Pascal Precht d5db1e6356 Add banner that indicates history archive downloads are in progress
This needs: https://github.com/status-im/status-go/pull/2995
2022-12-01 18:01:27 +01:00
Khushboo Mehta 9ded9d4ffa feat(@deaktop/wallet): Add bridge view
fixes #8236
2022-12-01 17:15:55 +01:00
Richard Ramos 50b4dacfef feat: use identify protocol instead of separate wakuv2 nodeconfig items 2022-11-30 11:23:41 -04:00
Pascal Precht 213924f6e9 feat(chat): support copy & pasting images into chat input
This adds support for receiving copied images from the clipboard
and pasting it into the chat input.

After pasting, chat input will recognize the image and render a preview
similar to how it would do it when selecting images via the file dialog.

**Also important to note**:

At the time of this PR, it seems that desktop only supports sending
jpegs to status-go. I'm not sure if this was deliberately done this way
because the protocol says it supports jpg, png, webp and gif.

Because of this, pasting for example pngs will work, however
transparency will be lost (which is also most likely the cause of #8820)

This PR operates on that assumption. So while it adds support for
copy/pasting images, it does not address the lack of file type support.

Closes #3395
2022-11-29 12:31:18 +01:00
Richard Ramos c207ee126f feat: show peer multiaddresses with wakuext_peers 2022-11-28 09:27:57 -04:00
Michal Iskierko 9ca058c6ef chore(@desktop): Update DOtherside
Fix #6179
2022-11-28 10:41:27 +01:00
Michal Iskierko 995c77bcaa chore(@desktop): Update nimqml
Issue #6179
2022-11-28 10:41:27 +01:00
Pascal Precht d8bda2490a fix(communities): handle removed community chats properly
We were ignoring the `removedChats` in the messenger response and
therefore never processed deleted community chats in the client.

This commit adds `removedChats` to `handleCommunityUpdates()` and
ensures that the community channel's ID is used when emitting a signal
to the app.

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

Closes #8000
2022-11-25 09:21:50 +01:00
Khushboo Mehta 6c0806c2e1 (@desktop/wallet): Fix for pending tx not shown in history view
fixes #7530
2022-11-22 13:57:50 +01:00
Patryk Osmaczko e2ff6f9029 chore: bump status-go 2022-11-18 17:50:46 +01:00
Jonathan Rainville da6524b840 chore: up DOtherSide version to get Windows logs
Fixes #8296
2022-11-17 16:14:38 -05:00
Igor Sirotin f022e02efe fix(Chat): Added group/channel name to notifications title 2022-11-17 13:04:06 +03:00
Lukáš Tinkl 48f5a9d256 fix(NicknamePopup): add support for Unicode nicknames
- do not restrict NicknamePopup's regexp to ASCII characters
- a similar thing could be done to the user's DisplayName but currently
  that's blocked on status-go side
- uses RXValidator from dotherside

Needs status-im/dotherside/pull/74
Fixes #8115
2022-11-15 11:42:33 +01:00
Patryk Osmaczko 37c53d1864 chore: bump statusgo 2022-11-11 11:00:00 -05:00
Pascal Precht 69677a7c1c fix(communities): add missing community image to import process
This needs https://github.com/status-im/status-go/pull/2947
2022-11-10 14:08:59 +01:00
Sale Djenic 3d163cfa33 fix(@desktop/keycard): keystore file for a keypair is not removed once that keypair is migrated to a Keycard
When we're migrating profile or any other keypair to a Keycard
corresponding locally stored keystore files are removed.

Fixes: #8067
2022-11-10 11:03:44 +03:00
Richard Ramos 6e705eab2a fix: set TEST_PEER_ENR in wakuv2 2022-11-08 21:40:06 +03:00
Michal Iskierko 31feb92120 chore(@desktop): Update nim-status-go
Issue #8001
2022-11-08 15:18:39 +01:00
Michal Iskierko 2de3d69e49 chore(@desktop): Update status-go
Issue #8001
2022-11-08 15:18:39 +01:00
Pascal Precht 8062ff968b chore: update status-go dep
This includes improvements in the discord import tool
2022-11-07 13:46:04 +01:00
Sale Djenic 02d3398fbc fix(@desktop/keycard): change db password for a keycard users
DB password for a Keycard user is now `publicKey` of encryption derivation.
kdf iterations for keycard users are set to 256000 so it's the same as we have
for regular users.

Fixes: #8066
2022-11-03 10:11:15 +01:00
Pascal Precht e8437d3b0c fix(contacts): fix `getVerificationRequestFrom` API
The underlying API was mistakenly removed in status-go, then
reintroduced, but as `getLatestVerficiationRequestFrom`.

This commit fixes the RPC call.

Needs https://github.com/status-im/status-go/pull/2934
2022-10-29 13:52:40 +02:00
Sale Djenic 2c03146309 fix(@desktop/keycard): can't create accounts if the main account was restored in using an existing keycard account
`I already use Status` -> `Login with Keycard` flow is enabled.

Fixes: #7867
2022-10-28 20:43:09 +02:00
Sale Djenic 6d2893b3de fix(@desktop/keycard): keycard lib updated
Now it generates master-key address and public key correctly.
2022-10-28 20:43:09 +02:00
MishkaRogachev 6a72773ab6 feat(ActivityCenter): Refactor AC Store and fix notifications counting
Close #7654
2022-10-28 12:29:40 +03:00
MishkaRogachev d4e4e66fc6 feat(ActivityCenter): Community membership notifications
Close #7277
2022-10-28 00:25:10 +03:00
Khushboo Mehta aec7a30d03 feat(@desktop/wallet): Updated UI for bridge and multi routing support
fixes #7334
2022-10-26 18:48:30 +02:00
Richard Ramos 3b3b737956 feat: encrypt communities 2022-10-25 08:26:10 -04:00
Anthony Laibe 76aedc3615 feat(@wallet): display ens name with saved addressess 2022-10-24 12:39:34 +02:00
Anthony Laibe 6c90034b6b fix(@test): token override 2022-10-24 09:09:08 +02:00
Iuri Matias 80dfe2a4ea fix: use nimbus-build-system-desktop 2022-10-16 11:19:47 -04:00
Pascal Precht fb7f2a2f51 chore: update status-go
This includes a fix in message signals that would otherwise break Desktop's
signal encoding.

See: https://github.com/status-im/status-desktop/pull/7888

Hence, it reverts the now unnecessary fix introduced in:

Revert "fix(signals_manager): ensure `savedAddresses` event has `JNull` check"

This reverts commit 013e226c66.
2022-10-13 17:59:13 +02:00
Lukáš Tinkl 813dbc57c0 feat: notification through notify-send on Linux
plus some minor UI changes in the Notifications settings; notably
toggling the exemptions was broken

Closes #2520
2022-10-13 17:28:46 +02:00
Anthony Laibe cd5eb42c0b feat(@wallet): testnet use goerli only
In future PR optimism/kovan will be updated to goerli to
2022-10-12 10:34:29 +02:00
Stefan b348527edc feat(Wallet): sync saved addresses
Main changes:

- Bump status-go to include the sync saved addresses implementation
- Use saved addresses modifier API from messaging instead of wallet
in order to have incremental sync
- Update saved addresses model on sync changes for saved addresses

Closes #7229
2022-10-12 09:38:19 +02:00
Patryk Osmaczko 79730b0d01 chore: bump status-go 2022-10-07 09:10:21 +02:00
Richard Ramos 90ce349675 fix: bump status-go to fix go-waku queries 2022-10-05 18:45:59 -04:00
Michał Cieślak 79215f1ccc chore(settings): see/show pictures from/to everyone set as new default
Closes: #7310
2022-10-05 13:19:45 +02:00
Richard Ramos 71454e0e3d feat: use a higher kdf number for DB encryption 2022-10-03 11:45:56 -04:00
Sale Djenic 861c585d2b feat(@desktop/keycard): adding wallet account using `Authenticate` flow
Fixes: #7509
2022-09-27 20:15:34 +02:00
Sale Djenic cf7bc0325b chore(@desktop/keycard): `updateKeycardUid` proc added to the wa service 2022-09-27 19:03:18 +02:00
Patryk Osmaczko 6b25ea67a8 chore: bump status-go 2022-09-21 08:57:18 +02:00
Stefan 8b02d8df01 fix(General): restore wrongly renamed migration in status-go
Bump up status-go to include the fix
2022-09-19 13:16:46 +02:00
Stefan fea157e50e fix(chat): remove tenor.com domain from preview
Also use the preview width if available

Fixes #13955
2022-09-16 09:45:51 +02:00
Sale Djenic fb5065da16 feat(@desktop/keycard): `startSignFlow` added to the keycard service 2022-09-14 16:05:52 +02:00
Patryk Osmaczko 1ca7a92600 chore: bump status-go 2022-09-13 12:33:34 +02:00
Jonathan Rainville aba2a42c6f test(@wallet): allow to use ganache with goerli 2022-09-13 11:56:42 +02:00
Anthony Laibe 0225c3e0ae fix(@wallet): allow to update enabled networks 2022-09-13 10:56:09 +02:00
Stefan 7af95eaada feat(wallet): add favorites for saved addresses
Depends on statug-go favourite flag extension and merging of `favourites`
with `saved_address` tables and API

Additional changes:

- Remove duplicate name instead of ESN

Closes: #6546
2022-09-12 15:58:52 +02:00
Khushboo Mehta 928e1999d9 feat(@desktop/wallet): Implement Transaction details as per new design
fixes #7214
2022-09-09 21:36:58 +02:00
Anthony Laibe 98b4aa849e chore: update status go 2022-09-09 09:15:12 +02:00
Richard Ramos 255341e228 chore: always load curated communities from optimism testnet 2022-09-06 16:10:11 -04:00
Sale Djenic ec7710490d feat(@desktop/keycard): accounts and wallet services updated
New procs added:
- accounts service `createAccountFromMnemonic`
- accounts service `convertToKeycardAccount`
- accounts service `verifyPassword`
- wallet service `fetchBalanceForAddress`
2022-09-06 15:06:13 +02:00
Sale Djenic 912cbe3b1d feat(@desktop/keycard): keycard service updated
Keycard library from this commit brings new changes in terms of
signals being sent by the lib in case of reader is not plugged in,
card is not inserted, card is inserted, that means the following
signals are sent only when it's really needed:
`"{\"type\":\"keycard.flow-result\",\"event\":{\"error\":\"connection-error\"}}"`
`"{\"type\":\"keycard.action.insert-card\",\"event\":{\"error\":\"connection-error\"}}"`
`"{\"type\":\"keycard.action.card-inserted\",\"event\":{}}"`
2022-09-06 15:06:13 +02:00
Stefan d81b6ca518 fix(Chat): improve gif confirmation popup and fix preview whitelisting
Enable preview for gifs after enabling the gif functionality
Disable gif functionality if the preview was disabled

Addition fixes
- The gifs weren't checked if all images weren't enabled
- The subdomain wasn't checked for whitelisting if the main domain wasn't enabled
- Image clicking
- Dismiss asking for unfurling was not updating the state

Considerations
- Looked into having the "gif enabled" - "tenor unfurling" relation
embedded in the controller but it would require extensive refactoring
by implementing a data-model for unfurling whitelisted domains

Closes: #6829
2022-09-05 12:41:48 +02:00
Michal Iskierko 51f6b9ba2b chore(@desktop): Bump status-go version
Fixes #7211
2022-09-01 17:57:39 +02:00
Michal Iskierko b267364960 chore(@desktop): Bump status-go version
Issue #6466
2022-09-01 12:25:53 +02:00
Khushboo Mehta ddb9caf4d7 feat(@desktop/wallet): Display price changes
fixes #6482
2022-08-30 10:27:35 +02:00
Jonathan Rainville 80f9c881f2 chore: bump status-go 2022-08-29 10:50:06 -04:00
Michał Cieślak b657d0aede chore(@desktop): Bump status-go version
Fixes #6828
When a contact request is accepted, the 1-1 chat is set to active.
That to this, the chat is added to the model and  appears on the
chat list.
2022-08-26 18:55:04 +02:00
Patryk Osmaczko cbd244b17d chore: bump status-go 2022-08-26 12:11:30 +02:00
Richard Ramos 83079cd147 fix: remove recipient selector from StatusETHTransactionModal 2022-08-23 08:52:01 -04:00
Anastasiya S 9283e68421 fix: calculate estimated time in ens modal
fix: calculate estimated time in ens modal
2022-08-23 08:52:01 -04:00
Khushboo Mehta 289209f7ec fix(@desktop/profile): Can set own online state to online, offline
fixes #6895
2022-08-23 14:26:42 +02:00
Khushboo Mehta 0515152bd7 feat(@desktop/wallet): Add Token Detail View
fixes #6491
2022-08-23 10:52:26 +02:00
Michal Iskierko 4f4456d35b chore(@desktop): Bump status-go version
Issue #6279
2022-08-22 13:54:36 +02:00
Lukáš Tinkl 50b49446f0 fix: abort startup on QML errors
exit() the app immediately after encountering QML errors on startup
(updates status-desktop's DOtherSide submodule to status-im/dotherside#69)

Closes #7013
2022-08-17 16:06:11 +02:00
Patryk Osmaczko 268560934a chore: bump status-go 2022-08-17 13:18:32 +02:00
Sale Djenic b34f0a4736 fix(@desktop/keycard): keycard is not recognized when inserted with wrong side
Fixes: #6960
2022-08-16 16:43:33 +02:00
MishkaRogachev e67d649c46 feat(desktop): New invite to community popup with message 2022-08-12 11:54:51 +04:00
Patryk Osmaczko 4303d674dd feat(Makefile): add QML_DEBUG and QML_DEBUG_PORT options
closes: #6973
2022-08-11 19:53:08 +02:00
Sale Djenic 505b242246 fix(@desktop/keycard): implement new keycard factory reset flow
This partially covers factory reset flow. The part where user is able to select which accounts
wants to remove/keep from/on a keycard will be added later once we add the keycard settings part
for storing those data to a keycard.

Fixes: #6790
2022-08-11 13:57:37 +02:00
Sale Djenic 383bc06325 fix(@desktop/keycard): user is stuck in "Repeat PIN" screen
Fixes: #6838
2022-08-11 13:19:46 +02:00
Richard Ramos 148c677b66 fix: ens details view 2022-08-08 20:42:56 -04:00
Michal Iskierko e9e34b91d4 chore(@desktop): Bump status-go
Issue #6907
2022-08-08 18:04:31 +02:00
Michal Iskierko d3a43cec71 chore(@desktop): Bump status-go version
Issue #5982
2022-08-08 11:10:54 +02:00
Sale Djenic db44bc25d3 feat(@desktop/keycard): initial keycard implementation
Keycard implementation affected onboarding/login flows.
- new user - first run - new keys into keycard
- new user - first run - import seed phrase into keycard
- old user - first run - login importing from keycard
- login the app using keycard

Fixes: #5972
2022-08-04 09:50:04 +02:00
Khushboo Mehta e5358bf29a fix(@desktop/wallet): Implements basic collectible view
fixes #6492
2022-08-03 10:11:09 +02:00
Anthony Laibe 23e3702b47 feat(@wallet): add arbitrum token
fixes #6620
2022-08-02 11:17:33 +02:00
Anthony Laibe 168aae40da feat(@wallet): make goerli default testnet 2022-07-29 11:01:19 +02:00
Anthony Laibe 499b9bd09e feat(@test): Add test for watch only account 2022-07-22 09:20:55 +02:00
Patryk Osmaczko c1872b4e1d bump DOtherSide 2022-07-22 09:03:57 +02:00
Michal Iskierko 4cd9e0c96e chore(@desktop): Bump status-go version
Issue #6395
2022-07-15 16:08:25 +02:00
Anthony Laibe cd5042e389 feat(@wallet): multi transaction 2022-07-15 12:48:23 +02:00
Khushboo Mehta 35a5ab57f0 feat(@desktop/wallet): Implement the advanced/custom view with simple same network transfers
fixes #6268
2022-07-14 16:28:38 +02:00
Anthony Laibe ff12c85f07 fix(@wallet): move estimation time to status-go 2022-07-12 14:44:06 +02:00
Pascal Precht 51b661386a refactor: always request access to join community
We no longer send community invites to users, instead we just share the
community and let users request access.

That request will either be automatically or manually accepted by the owner/admin.

Depends on https://github.com/status-im/status-go/pull/2682

Closes #5115
2022-07-08 13:18:37 +02: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
Anthony Laibe 97a553ff8c chores(@general): bump status-go 2022-07-07 11:47:22 +02:00
Boris Melnik bb2c9e02c2 feat(communities): Add muting category methods
Closes: #5975
2022-07-06 19:48:44 +03:00
Jonathan Rainville 1e7c648300 feat: contact verification request and trust status
feat: contact verification

fix: add remove identity verified btn

fix: add toast message

feat: received verification request model


feat: finish identity verification flow

Fixes #4784
2022-07-06 10:43:33 -04:00
MishkaRogachev 5c6b5f1f47 feat(Communities): support tags in community edit page
Close #6089
2022-07-04 18:53:48 +03:00
Anthony Laibe ce7340b9a5 feat(@wallet): multi network history 2022-07-04 09:58:39 +02:00
Stefan c296fa21bc chore(CPP) install conan dependencies in CI 2022-07-01 16:57:51 +02:00
Stefan 1e8c851283 chore(CPP): Basic project configuration setup using Qt6
Considerations

- Use versioned files. Versioned Qt CMake APIs are disabled to force explicit calls and say that we don't support older `QT`s
- Don't use blobbing. Use `target_sources` and `qt_target_qml_sources`
- Distribute `CMake` definitions closer to the context: main folders with their own `CMakeLists.txt`
- Everything in libraries under `Status` namespace for cleaner code.
- Includes are exposed with Module folder externally and without prefix internally
- File/Folders name matches definitions they contain for uniformity that leads to cleaner code
- All source files (cpp, qml, js ...) have to be added to one of the CMakeLists.txt files to be tracked by CMake build system.
- Use BUILD_DEBUG, BUILD_RELEASE and BUILD_DEVELOPMENT variables from Helpers library
- Avoid Include directories. Not needed anymore CMake `target_*` APIs handles this through `INTERFACE`, `PUBLIC` and `PRIVATE` scope identifiers
- `StatusQ` is meant to be compiled as an external library, therefore StatusQ tests are kept inside its own directory
- Forced CMake version to `3.21` for the latest features and fixes. It is desired to be kept as recent as possible due to its backward compatibility. Following Qt's shipped version might be an option
- Depends on status-go changes to allow forcing of arm for apple silicon

Found limitations to CMake Qt API with Qt 6.3

- Having `0` as major version when using `qt_add_qml_module` doesn't work. Qml engine reports loading the `qmldir` but won't load the plugin library and no error is reported outside that exposed types are not found.
- `qt_target_qml_sources` doesn't work now, it generate a double copy error when deploying qml files in bin-directory. For now we stick with adding files using `qt_add_qml_module` central place
  - Need to add `OUTPUT_DIRECTORY` to `qt_add_qml_module` to use the workaround
- If `MACOSX_BUNDLE` target property is set breaks importing of QML files. Disabled until fixed or workaround found
- For an unknown reason application executable tries to include the `QML_ELEMENT` include files, therefore for now I include all the C++ qml elements in INTERFACE
2022-06-30 12:16:33 +02:00
Richard Ramos 813cddfb1f feat: support compressed pubkey mentions 2022-06-29 08:20:39 -04:00
MishkaRogachev e30ba7e760 feat(@community): Add tags to communities
Close #5680
2022-06-24 19:44:35 +03:00
Boris Melnik 58eff9adf2 fix(communities): Fix broken `Request to join required` property
Closes: #6073
2022-06-21 13:55:57 -04:00
Pascal Precht 858caeca73 fix: handle bookmarks syncing signals properly
Bookmarks were only synced when devices were synced, but not when
bookmarks were added/removed/updated.

To account for this, there's are new messenger APIs in status-go
proposed here: https://github.com/status-im/status-go/pull/2709

Based on those APIs, desktop can now add/remove/update bookmarks and the
changes are automatically synced to other devices in real-time.
This commit also ensures that changes from other devices with regards to
bookmarks are handled and updated on the current device.

Partially addresses #5201
2022-06-20 12:01:23 +02:00
Richard Ramos 1046d6ab4d chore: bump status-go 2022-06-17 12:27:54 -04:00
Khushboo Mehta 8d3fad8342 feat(@desktop/wallet): Multichain QR Code
Implements the new Recieve Modal with multichain functionality

closes #5735, #6057
2022-06-17 01:27:35 +05:30
Iuri Matias c292956f8e chore(@desktop): update dotherside 2022-06-14 16:44:36 -04:00
Alexandra Betouni 50722148c6 fix(StatusChatInput): Updated text mark down rules and formatting
Closes #6030
2022-06-14 16:44:36 -04:00
Richard Ramos ef78bc1ace chore: bump status-go 2022-06-14 16:11:16 -04:00
Anthony Laibe 00ed4f9c44 feat(@wallet): multi transaction simple view 2022-06-09 15:22:24 +02:00
Noelia ed39690071 feat(CommunitiesPortal): Communities Portal first UI approach
Closes #4936
2022-06-02 08:24:02 -04:00
Stefan 9f633f0fcc feat(Communities/Settings): Communities banner editing
Use the generic EditCroppedImagePanel for banner cropping

- Depends on status-go IdentityImage banner extension

fixes #5118
2022-05-31 12:26:33 +03:00
Sale Djenic 64882dffbe feat(@desktop/wallet): add support for Arbitrum L2
Fixes #5714
2022-05-27 14:45:29 +02:00
Michal Iskierko 242d980377 chore(internal): Bump nimqml version
Issue #4922
2022-05-26 14:16:00 +02:00
Michal Iskierko 31a8f1cee8 chore(internal): Bump DOtherside version
Issue #4922
2022-05-26 14:16:00 +02:00
Anthony Laibe 21fedcbb2b feat(@wallet): aggregate token balance 2022-05-26 06:52:32 -04:00
Sale Djenic aeba272ae4 fix(@desktop/notifications): move notifications settings to `status-go`
Fixes #5649
2022-05-26 12:07:19 +02:00
Anthony Laibe db3722cd4f fix(@general): user status go service to migrate account 2022-05-24 13:27:06 +02:00
Richard Ramos 718cc1f45c fix: history not working when using status.test and status.prod fleet
Fixes #5769
2022-05-20 10:21:42 -04:00
Khushboo Mehta b601c88447 feat(@desktop/wallet): Add has activity to the derived addresses in wallet
fix #5655
2022-05-18 14:16:57 +02:00
Khushboo Mehta 0ee0c8ddd4 feat(@desktop/wallet): Add has activity to the derived addresses in wallet
fix #5655
2022-05-18 13:42:00 +02:00