Commit Graph

707 Commits

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