853 Commits

Author SHA1 Message Date
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
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