Commit Graph

803 Commits

Author SHA1 Message Date
Michal Iskierko ff8fc9a9a8 chore(@desktop): Upgrade status-go
Issue #10816
2023-06-15 17:11:15 +02:00
Boris Melnik aa8eb07f56 feat(universal-links): Adds universal links support for macOS
Fixes: #7957
2023-06-15 14:29:06 +03:00
Mykhailo Prakhov 82a1ed2f7a
feat(@desktop/community): Community admin permissions (#10909)
* chore:
- replaced admin bool to memberRole
- activate admin permissions
- configured admin restrictions
2023-06-14 18:00:41 +02:00
Dario Gabriel Lipicar 093fed8688 chore: bump status-go 2023-06-14 08:44:03 -03:00
Dario Gabriel Lipicar 39a5a67937 chore(wallet): split multitransaction command from full struct
Part of #10791
2023-06-13 09:19:03 -03:00
Stefan 43c7258328 feat(wallet): make filter API async
Bump status-go to include the async API changes
Handle the wallet-activity-filtering-done event
Propagate the has more flag
Extend the debugging UX

Update #10994
2023-06-12 18:36:24 +02:00
Lukáš Tinkl 6bfe79a7f3 fix(Chat): Context menu for gif downloads/copies a png file
Detect the MIME type using `QMimeDatabase` from the actual content and
save it in that same format using `QSaveFile`, as `QImage` does NOT
support saving a GIF

Fixes #10747
2023-06-12 16:51:33 +02:00
Pascal Precht fe491aba6e feat: introduce and handle `checkPermissionsToJoinCommunity()`
This is an improved version to check wether a user has permission to
join a community and updating the join community view accordingly.

We now asynchronously do all the checks in status-go and process
a single result upon token permission updates, additions and deletions.

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

Closes #10481 #4939
2023-06-12 12:41:47 +02:00
Stefan 16304ab26b feat(wallet) filter activity by status
Parse the status information from the API response
Added debugging status as to the debug view

Closes: #10746
2023-06-12 10:38:31 +02:00
Richard Ramos a8c8f5b36c chore: bump go-waku 2023-06-09 14:16:33 -04:00
Sale Djenic a0d72f9532 fix(@desktop/onboarding): recovering an account from waku
Fixes: #10969
2023-06-09 19:10:44 +02:00
Lukáš Tinkl 9aeba367df fix: download remote image URLs in DOS/C++
this should resolve the CI issues in `e2e` target by moving away the
httpclient NIM impl to DOS (C++)
2023-06-08 20:46:06 +02:00
Lukáš Tinkl a01bb75b3f fix(DOS): fix the "image_resizer" to accept both paths and blobs
- accept both the blob (`data:image/jpeg;base64` payload) or a path/URL
to a local file
- remove the usage of QPixmap, QImage is enough and more suitable for
save/load and resizing as well
- remove usage of an extra file when saving
2023-06-08 15:33:46 +02:00
Mikhail Rogachev 010640acd0
feat(Chat): display MutualStateUpdate system messages in 1-to-1 chats (#10847)
* feat(Chat): Display MutualStateUpdate system messages in 1-to-1 chats

* feat(ActivityCenter): Add AC notification when a user get removed by another contact

* fix: crutch fixing segfault on contact removal
2023-06-08 16:52:03 +04:00
Patryk Osmaczko 216a5511f2 chore: bump status-go 2023-06-08 13:09:59 +02:00
Boris Melnik 73eb12c914 feat(communities): Adds mute category interval
Part of: #9369
2023-06-08 00:16:54 +03:00
Alex Jbanca dc20651a97 chore: Bump status-go version to include sqlcipher upgrade 2023-06-07 15:50:22 +03:00
Sale Djenic ae492fe631 fix(@desktop/profile): profile social links
- added to sync mechanism
- added to backup mechanism
- UI updated according to the newest changes

Closes: #10390
2023-06-07 13:22:59 +02:00
Stefan 197f5f74d5 fix(wallet): speed up loading of wallet by indexing data
Bump the status-go HEAD to include the index changes
2023-06-06 16:10:00 +02:00
Patryk Osmaczko 4b2d328a07 chore: bump status-go 2023-06-06 09:39:54 +02:00
Khushboo Mehta 28654e0187 \chore(@desktop/wallet): Change customisation colours on desktop to match those used on mobile
fixes #10637
2023-06-02 19:48:19 +02:00
Jonathan Rainville ceb810e63d fix(contacts): fix inconsistency when banning or unbanning contact
Fixes #10501

The problem was that didn't have access to the updated contact from status-go after banning or unbanning, so we just changed the banned property, but there is more that gets changed in the backend, like `removed` being set to `true` as well.
With this fix, when you unban someone, you go back to a fresh start, as **non** contact, so you need to send a request again. That was the state you got if you restarted the app, so "re-sync" the state with status-go.
Another issue was on the frontend (QML). When banned,  and after restarting to get the right state, the unban button would be disabled and the Add contact request button would show, which is not good. We only want to send requests when unbanned.
2023-06-01 14:25:20 -04:00
Cuteivist 088dd76257
desktop(DOtherSide): Set env var before creating gui app (#10891) 2023-06-01 20:24:31 +02:00
Igor Sirotin e82f6ebf53
fix: Manual login after local pairing (#10858) 2023-06-01 11:15:51 +03:00
Patryk Osmaczko 557fbdc0a2 chore: bump status-go 2023-05-31 10:54:48 +02:00
Jonathan Rainville 44ffc05077 chore(status-go): up status-go to get fix for group chats disappearing 2023-05-30 14:30:24 -04:00
Anthony Laibe 1f582451aa feat(@wallet): returns only enabled networks 2023-05-29 09:44:06 +02:00
Sale Djenic ea068e4dab fix(@desktop/wallet): let user add a new account even address' activity details are not fully fetched
Fixes: #10800
2023-05-26 10:53:14 +02:00
Sale Djenic 38ce51e4bb chore(@desktop/wallet): changes caused by accounts improvements on the `status-go` side
Closes: #10592
2023-05-26 06:54:50 +02:00
Lukáš Tinkl 6233eedf58 [chore] up status-go to get the AES encryption improvements
Fixes #10726
2023-05-25 13:07:39 +02:00
Patryk Osmaczko 6b8632206a chore: bump status-go 2023-05-23 16:39:19 +02:00
Mikhail Rogachev cba67b3b23
fix(Contacts): fix accepting contact request for synced contacts (#10739)
Close #10032
2023-05-22 19:34:35 +04:00
Anthony Laibe be8c5d7534 fix(@wallet): Address details per chain
fixes #10068
2023-05-22 10:24:32 +02:00
Lukáš Tinkl 684d17d968 perf: update status-go to include the SHA1 improvements
Needs: https://github.com/status-im/status-go/pull/3490
Fixes: https://github.com/status-im/status-desktop/issues/10559
2023-05-17 12:28:38 +02:00
Mikhail Rogachev 3a030102fe
Fix(Contacts): fix weird behaviour in some contacts flows edge cases (#10613)
* fix(Chat): Fix displaying CR messages in the chat

* fix(Contacts): Relay on actual status-go state during contact state manipulation

Close #10500
2023-05-15 15:22:04 +04:00
Alex Jbanca ac6307c77c chore(status-go): bump status go 2023-05-15 12:14:27 +03:00
Jonathan Rainville 8e1d7cac05 fix(logs): fix issue where all logs were kept archived
Part of #3610
2023-05-11 15:15:57 -04:00
Sale Djenic 534e172397 chore(@desktop/wallet): `KeyPairDto` which actually refers to keycard is renamed to `KeycardDto`
This change is needed for further changes which are part of issue #10592
2023-05-10 10:11:26 +02:00
Sale Djenic 5122815df8 feat(@desktop/wallet): removing wallet account without an authentication
Closes: #10569
2023-05-09 12:05:49 +02:00
Stefan 528bb53b77 fix(Wallet) move deletion of pending transactions in nim
Bump status-go HEAD that removes deletion of pending multi-transactions
in status-go

Previous implementation was relying on the fact that all pending
transactions are also multi-transactions, which it seems not to be
the case (e.g. ens, airdrop collectible)

Also tried to extend the deletion of multi-transactions to status go
but it was causing crashes for minted/dropped tokens.

Updates #10474
2023-05-08 11:58:50 +02:00
Jonathan Rainville 162662a09a chore(status-go): up status-go to have permissions crash fix 2023-05-05 14:56:31 -04:00
Patryk Osmaczko 935ab046e6 chore: bump status-go 2023-05-05 19:57:39 +02:00
mprakhov 60bd0d2a6c feat(@desktop/communities): Automaticaly encrypt closed communitites 2023-05-05 19:04:29 +02:00
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