Commit Graph

822 Commits

Author SHA1 Message Date
Alex Jbanca 5ed2454532 chore: bump nimqml
Include the fixes for different crashes happening after a QObject destruction is triggered by nim GC
2023-07-05 21:44:20 +03:00
Sale Djenic a10e83bcba chore(@desktop/syncing): wallet keypairs/accounts syncing improvements part 1/2
Handling syncing improvements done on the status-go side.

Closes: #11267
2023-07-05 15:29:43 +02:00
Pascal Precht c10809863a feat: add support for cropped asset data when deploying community NFTs
Needs: https://github.com/status-im/status-go/pull/3705

Closes: #10317
2023-07-05 12:56:37 +02:00
Stefan 2487b4b1cb feat(wallet) make filer apis async
Bump status-go to include required changes

Refactor the API usage to use the new async APIs.
Support multiple events in the same block
Report loading state for all the APIs

Also

- fix the loadingData state in the controller.nim
- reset the model to empty when the filter is invalidated due to
address and chain IDs change

Closes #11170
2023-07-03 17:40:19 +02:00
Michal Iskierko 73c0eea487 chore(@desktop): Upgrade status-go
Issue #10987
2023-06-29 17:27:36 +02:00
Khushboo Mehta a2dd87c18b feat(@desktop/wallet): Watch only account toggle + persisted
fixes #11221
2023-06-29 10:18:42 +02:00
Stefan cc388ec134 fix(wallet) fix crash if to_address is NULL in transfers
Bumps status-go to include the required changes

Updates #11170
2023-06-28 10:35:34 +02:00
Pascal Precht 7b9c78b843 fix: don't allow admins to kick or ban admins
This hides the action items to kick or ban users if they happen to be
admins. There's also a change in status-go that prevents admins to kick
or ban other admins that has to land first here:

https://github.com/status-im/status-go/pull/3666

Closes #10936
2023-06-27 12:13:29 +02:00
Alex Jbanca 56b616f38b fix(DOtherSide): Crash when a QSortFilterModel is collected by nim GC
QSortFilterModel can be used as sourceModel in proxy models. Proxy models rely on receiving the `QObject::destroyed` event when the source model is destroyed to clean the internal data.
Calling `QObject::disconnect` will also disconnect any connections to the `QObject::destroyed` event leaving dangling pointers in the proxy models.
2023-06-27 10:25:06 +03:00
Anthony Laibe 31aca3ac35 feat(@wallet): Sort account by position 2023-06-26 22:21:20 +02:00
Boris Melnik cdac45010a feat(communities): Adds mute community intervals
Fixes: #9369
2023-06-22 20:46:33 +03:00
Stefan eb0406b556 feat(wallet) api to retrieve last activity timestamp
Bumps status-go to include the new API endpoint.

Integrate the new API endpoint with the ActivityFilterPanel.

Closes #11169
2023-06-22 15:53:11 +02:00
Dario Gabriel Lipicar d5d4bba374 fix(@wallet): use fixed activity type from backend
Part of #11080
2023-06-22 08:54:45 +02:00
Stefan 2ba9680316 feat(wallet): filter activity by ERC20
Refactor code to use the token identity instead of token code
Removed the debugging activity view as now we have the API integrated
in the history view
Fixed the activity type in the activity entry

Closes: #11025
2023-06-21 11:49:02 +02:00
Pascal Precht b3329d790e feat: channel permissions
Closes: #10996, #10995, #10993, #10997, #9537
2023-06-20 21:57:37 +02:00
Jonathan Rainville fe8a58c5db fix(badges): fix muted chat not being marked as read
Fixes #11041

Fixes the bug where going to a muted channel with a mention doesn't mark it as read. This was because the QML doesn't call mark as read when a channel doesn't have unviewed messages. That was because our Nim code put 0 as unviewedMessageCount when a channel is muted.

I changed it so that channels always have the value from status-go. No more conditions on the Nim side. Now the condition is on the QML side. So we hide the badge in QML instead. That also means that showing the number of unviewed message, even in a muted channel works.

I also fixed a bug where we counted muted messages on app restart for the normal badge. Usually it didn't cause issues, because it's rare that you had messages in a muted channel and nothing else. You'd also have unread messages in an unmuted channel. so you'd go there, read it, and it would then update the parent badge. 
While testing this issue, I discovered that we in fact count muted channels for the parent badge.
So i fixed it in this one too.
So while chats don't have any Nim code for muted chats, sections do, because status-go doesn't really give us that information.
2023-06-16 15:12:12 -04:00
Dario Gabriel Lipicar 9fc8f66fbd feat(@dekstop/wallet): use amounts from activity backend
Part of #11080
2023-06-16 11:06:23 -03:00
Mikhail Rogachev fecf58102c
feat(Communities): Request to join should ask for a wallet password (#10967) 2023-06-16 15:02:03 +04:00
Igor Sirotin 60d78eb0ad
fix: Re-enable light mode for status.prod (#11042) 2023-06-15 21:34:25 +03:00
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