Commit Graph

3292 Commits

Author SHA1 Message Date
Godfrain Jacques 5db513980f
fix launching multiple instances of status desktop including on windows systems (#15533)
fixes #15493
2024-07-12 08:15:03 -07:00
Jonathan Rainville 8216ea37f7
feat(icon): show a red dot when we have unread notifications and windows icon with white border (#15496)
* feat(icon): show a red dot when we have unread notifications
* feat(windows-icon): update windows icon to have a white border

Fixes #14788
Fixes #14855

Adds a red dot on the tray icon if there is an unread message in an unmuted channel or in the activity center
2024-07-12 09:41:27 -04:00
Stefan fae3d14d50 feat(dapps): fetch max fees per gas from blockchain if not provided
Updates: #15192
2024-07-12 15:39:41 +02:00
Stefan 4deea3461f feat(dapps): show estimated time for dApps requests
Implemented using the fees from the transaction data sent
by the dApp.

Also fixed the nim status go wrapper to send proper formatted
string as expected on the other side.

Updates: #15192
2024-07-12 15:39:41 +02:00
Ivan Belyakov baa65de1ae chore(test): use STATUS_RUNTIME_USE_MOCKED_KEYCARD env var for
displaying mocked keycard controller window
2024-07-12 10:27:50 +02:00
Igor Sirotin c7a4419a76
fix: events subscription indentation (#15546) 2024-07-12 08:57:06 +01:00
richΛrd 2a41622298
chore: rename shards.staging to status.staging (#15510) 2024-07-11 16:09:20 -04:00
Godfrain Jacques 40fe6d5de2
feat(@desktop/wallet): Add connector Feature Flag (#15551)
fixes #15550
2024-07-11 10:56:48 -07:00
Jonathan Rainville 69e793277f
fix(devices): fix device response parsing to get the list of devices (#15528)
Fixes #15053
2024-07-11 09:58:08 -04:00
Noelia bc74724672 refactor(Wallet/SendModal): Created `WalletAccountsAdaptor` to be used in `SendModal`
- Created data transformation file called `WalletAccountsAdaptor` for `SendModal`. Now it contains the owned wallet accounts model data transformations.
- Added common formatting method for short chain ids to some utils and partially removed backend dependency.
2024-07-11 14:05:55 +02:00
Ivan Belyakov 498d4c969c fix(wallet): no routes for saved addresses 2024-07-09 16:57:04 +02:00
Stefan 3049c6016b feat(dapps) extend and improve sign
Extend support for legacy `eth_sign` and `eth_signTypedData`
methods.
Keep the `eth_sign` using the legacy method for compatibility

Use the newly added status-go apis for a safer implementation
of signing typed data by providing chain validation.

Closes: #15361
2024-07-09 15:01:27 +02:00
Sale Djenic f1860da709 fix: can't proceed further when clicking back button on any of keycards screens
Fixes: #15113
2024-07-09 08:39:39 +02:00
Igor Sirotin 8b80cfb9e3
feat: display message outgoing state (#15450)
* chore: storybook page

* feat: propagate outgoing status to StatusMessageHeader

* feat: improve message outgoing status UI

* fix: lock message `delivered` state
2024-07-08 13:26:04 +01:00
Michal Iskierko d2bd0109ec fix(@desktop/community tokens) fix showing burn icon after restart
Fix #4947
2024-07-08 12:06:24 +02:00
Alex Jbanca 55b2a83c6f fix: Fixing windows crash after onboarding
The app is crashing when the QVariant set as module context property gets collected. Not sure why it happens more often in the onboarding flow and on windows.
2024-07-08 11:45:25 +03:00
Stefan dbd96133a5 feat(dapps) update persistance from the SDK on sessions refresh
Updates: #15189
2024-07-05 17:48:30 +02:00
Stefan 94dc7b04a5 feat(dapp) disconnect wallet connect dapps
Closes: #15189
2024-07-05 17:48:30 +02:00
Igor Sirotin fecbd4005e
Redirect qt logs to nim-chronicles (#15234)
* fix: initialize nim gc
2024-07-05 16:10:59 +01:00
Michal Iskierko 1bc979290f feat(@desktop/permissions): use non community NFTs in permissions
Issue #15077
2024-07-05 10:27:17 +02:00
Patryk Osmaczko b08eb128ad feat(communities): inform about missing encryption key
closes: #15064
2024-07-04 19:36:30 +02:00
belalshehab 3452fbadc6 feat(wallet)_: add manual reload button to WalletHeader.qml
- Added a manual reload button to the WalletHeader to allow users to refresh wallet data on demand.
- Implemented a throttle timer to prevent excessive reloads.
- Show the last reload time.
- Updated UI elements to reflect the reloading state for user feedback.
- Connected the reload button to the backend to trigger the wallet reload functionality.

resolves: #13652
2024-07-04 00:19:42 +03:00
belalshehab 8a3d24bc3a feat(wallet)_: add backend support for wallet reload functionality
- Added `reloadAccountTokens` method to `Controller`, `AccessInterface`, and `Module` in `wallet_section` to trigger wallet reload.
- Updated `view` in `wallet_section` to handle new properties `isAccountTokensReloading` and `lastReloadTimestamp`.
- Emitted `SIGNAL_WALLET_ACCOUNT_TOKENS_REBUILT` with a timestamp in `service_token`.
- Implemented `restartWalletReloadTimer` RPC in `backend`.

resolves: #13652
2024-07-04 00:19:42 +03:00
Jonathan Rainville 35b64f0483
fix(muted): reevaluate section badge when unmuting (#15360)
Fixes #11093

When unmuting a channel, reevaluate the section badge so that it appears if there were unread messages in that channel

Also fixes an issue where the chat muted property was not set correctly in the cache after muting or unmuting
2024-07-03 14:55:07 -04:00
Cuteivist c934ba74ef
feat(wallet): Networks model improvements (#15305)
* refactor getters for chainIds and enabledChainIds
* simplify community chainIds getter
* simplify usage of network dto objects
* remove duplicated roles from send area
* rename network model in send module to network route model
2024-07-03 10:51:15 +02:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Mikhail Rogachev 8754b0193d
feat: Enable WS and HTTP RPC servers for status desktop through config (#15168)
* feat: Enable http and websocket rpc client on desktop

* chore: static-typed structure for apiConfig

* fix_: prevent multiple http or websocket lauches

fixes [5436](https://github.com/status-im/status-go/issues/5436)

---------

Co-authored-by: Godfrain Jacques <gkounkou@gmail.com>
2024-07-02 18:01:19 +02:00
Cuteivist c1cc74750f
fix(wallet): Consider ERC1155 as NFT (#15365) 2024-07-02 14:22:05 +02:00
Stefan 97413d99d1 feat(dapps) implement eth_sendTransaction support for wallet
Add `Fees` section to request modal

Closes: #15126
2024-07-02 09:24:09 +02:00
Khushboo Mehta e2949ad6e7 feat(@desktop/wallet): Implements Approve spending cap
fixes #14833
2024-07-02 00:14:19 +02:00
Dario Gabriel Lipicar 9cf4c59ba0 fix(@desktop/wallet): avoid duplicate Approve when performing a Swap
Closes #15330
2024-07-01 15:53:21 -03:00
Dario Gabriel Lipicar 25127bfd63 chore(@desktop/wallet): intergrate uuid to Swap
Part of #15330
2024-07-01 15:53:21 -03:00
Dario Gabriel Lipicar c6fd0f41db fix(@desktop/wallet): fix swap in routerV2 integration 2024-07-01 16:19:15 +02:00
Sale Djenic 7e9f680e0b chore: router v2 integration
Closes: #15204
2024-07-01 16:19:15 +02:00
Andrey Bocharnikov 5c349d1938 chore: Use optimized endpoint to get communities with images
fixes #15340
2024-06-28 23:13:09 +07:00
Jonathan Rainville 7a7dbb631c
perf: use community members for unpermissioned channels (#15156)
Fixes #15149
2024-06-27 10:56:49 -04:00
Jonathan Rainville 775df8097c
fix(links): fix sending links plus images (#15352)
Fixes #15290
2024-06-27 09:42:45 -04:00
Andrey Bocharnikov 174114538e fix(community): community tokens disappear when minting of a new token is finished
fixes #15076
2024-06-26 19:20:27 +07:00
Andrey Bocharnikov ad7053f809 fix(communityUI): Channel name is not changed in the top nav bar when editing a channel
fixes #15146
2024-06-26 19:20:12 +07:00
Igor Sirotin c8bc68b96c
refactor: use create/restore/login status-go endpoitns for keycard (#15090)
* chore: remove unused storeDefaultKeyPair

* chore: added CreateAccount keycard parameters

* chore: remove unused newKeycard argument

* chore: create keycard account with ImportAccountAndLogin endpoint

* fix: remove keycardWhisperPrivateKey CreateAccount parameter

* feat: use LoginAccount endpoint for keycard

* fix: use CreateAccount RootDataDir instead of BackupDisabledDataDir

* fix: use loginAccountKeycard instead of loginAccountKeycardUsingSeedPhrase

* fix_: use `login` instead of `loginLocalPairingAccount` an `loginAccountKeycard`

* chore: refactor scheduling reencrpytion

* fix: FirstRunOldUserKeycardImport

* chore: improve code readability

* feat: use RestoreAccountAndLogin endpoint for keycard

* update status-go
2024-06-26 14:12:39 +02:00
Stefan cb368ea5fb feat(dapps) fix missing list of dapps in wallet connect
Updates: #15126
2024-06-26 12:00:54 +02:00
Stefan 92d0420449 feat(dApps) implement sign transaction for wallet connect
Uses status-go's endpoints:
- `wallet_buildTransactions` to format the transaction
- `wallet_signMessage` to sign the transaction
- `wallet_buildRawTransaction` to format the final signed transaction

Updates #15126
2024-06-26 12:00:54 +02:00
Alex Jbanca 901362dfc1 feat(networkSelector): Refatoring of NetworkSelector to remove backend dependency 2024-06-21 16:18:51 +03:00
Jonathan Rainville 8ca51c34cc
refactor(messages): make message sending async (#15237)
Fixes #12411

Makes message sending async and adds a placeholder "Sending.." message
2024-06-20 18:46:12 -04:00
Alex Jbanca 8b4cbc59a8 refactor: Refactoring of AccountSelector dropdown
The new account selector expects a generic account model. It will display all the account data if provided, including preferred chains, balance or asset balance. Otherwise it will display only the available data.
The account selector can receive an initial selection based on account address and will provide the current selected address and the current selected model item.

- Unify the account selector between communities and wallet
- Update the account selector to work with addresses instead of model indexes
- Adapt all components using the account selector or the account selection
- Move/reuse qml components involved in the account selector UI
- Remove nim logic used to handle index based account selection.
- Adding storybook page
2024-06-20 11:24:35 +03:00
Dario Gabriel Lipicar 15452aa79c feat(wallet): integrate swap slippage percentage parameter
Closes #15096
2024-06-19 09:58:36 -03:00
Andrey Bocharnikov f118af8403 fix(community): update hidden channels visibility when joining the community
fixes #14719
2024-06-19 19:57:54 +07:00
Igor Sirotin 430f2501d4
fix: bandwidth usage (#15231)
* feat: added bandwidthStatsEnabled login flag

* update status-go
2024-06-18 15:19:10 +01:00
Igor Sirotin eb9c629bbf
fix: removeTrustStatus response processing (#15206) 2024-06-18 11:08:30 +01:00
Igor Sirotin 067f406572
feat: limit message link previews count (#15214) 2024-06-18 11:08:14 +01:00
Jacek Sieka b51eec7099
chore(nim): task simplification (#13956)
This PR slightly simplifies the way tasks are passed between threads,
removing some unnecessary boilerplate while improving type safety by
removing casts.

This approach works because `nimcall` turns a `proc` into a simple
pointer which just like `cstring` is safe to pass between threads.

Further simplification is possible, but left for a future PR.
2024-06-18 10:10:01 +02:00
Stefan 758dbc55e5 feat(dapps) implement signing of messages
Implement infrastructure and integration with status-go to support
general session requests

Supported methods:
- personal_sign
- eth_signTypedData_v4

depends on status-go change that exposes the signing methods

Also

- support hex or utf8 encoding for personal_sign
- format the typed data for display in the modal

Tests are disabled for now, as they are crashing on CI

Close: #14927
2024-06-17 15:06:26 +02:00
Alex Jbanca ccc2dfc547 refactor: Adding a users_model holding all contacts
Adding a new users_model instance holding all contacts. The users_model is adapted to contain all the user details.
This model is temporary until the full refactoring is done.
2024-06-14 17:17:18 +03:00
Stefan 4d080e12aa feat(dapps) authenticate user for session request
Trigger authentication with identity of the request
Track the authentication using the identity and allow only once
Add tests for the new functionality
Minor improvements around the code

Closes #15018
2024-06-12 16:52:12 +02:00
Patryk Osmaczko 3b2a7b8f08 fix(communities): fetching owners of erc20
fixes: #14908
2024-06-12 16:04:53 +02:00
Dario Gabriel Lipicar 75d755ea0f feat(@desktop/wallet): initial integration for swap proposal, approve tx and swap tx
Closes #14824
2024-06-11 14:15:26 +02:00
Anthony 51770b063d fix(wallet): display collectibles even if account is not in total
balance

fixes #15128
2024-06-11 11:31:09 +02:00
Dario Gabriel Lipicar 10fbdbfc2c fix(wallet): properly marshall multiTxCommand type
Part of #15098
2024-06-10 12:35:04 -03:00
Andrey Bocharnikov 4145be8f76 fix(settings): fix saving settings
* fix saveNewWakuNode in the settings
* fix setNimbusProxyConfigEnabled in the settings
* fix setLightMode in the settings
2024-06-10 22:26:06 +07:00
Andrey Bocharnikov 7e166ca9f2 fix(message/service): unify error parsing 2024-06-10 22:25:24 +07:00
Sale Djenic eaf5f0263f fix: onboarding keycard issues fixed
- no emojihash and identicon ring displayed in for keycard onboarding flow
- can't restore account (windows and linux), issue #15101
- can't create new account with keycard (linux, windows), issue #15055
- illegal storage access issue when hitting Start using status button (which actually was a crash after pressing the button), issue #15035
2024-06-10 12:30:30 +02:00
Godfrain Jacques ca1ec5281c
fix(@desktop/permission): fix permissions lock icon visibility (#15049)
Fix permissions lock icon visibility on channel permissions,
fixes #14746
2024-06-07 08:04:23 -07:00
Michal Iskierko a7b9a62745 fix(@desktop/communities): Lazy loading token holders
Token holders are not fetched when application starts.
They are fetched only when token details screen is opened.

Fix #14974
2024-06-06 10:18:16 +02:00
Jonathan Rainville 146a6e8501 fix(search): fix searching for hidden chats
Fixes #14961
2024-06-05 13:36:42 -04:00
Godfrain Jacques 9d5c5c64cc
fix(@desktop/group chat): fix empty member list in group chat (#15052)
fixes #14907
2024-06-05 09:39:14 -07:00
Andrey Bocharnikov 3345a9cc48 fix(HistoryNodes): Fix mailserver management UI controllers
Fixes #14982
2024-06-04 15:37:06 -04:00
Jonathan Rainville c4928cfe40 fix: set joined to all members of the comm since they are in the list (#15016)
Fixes #14994

If you are part of the community member list, it means you are joined. It made no sense to add conditions to it.
2024-06-04 14:43:58 -04:00
Andrey Bocharnikov a93455c2d0 fix(chat): Display mention tag even if there is no mention
fixes #14928
2024-06-04 22:51:52 +07:00
Khushboo Mehta aa03edf17c feat(@desktop/wallet): Integrate recurring onramp providers in Recurrent tab
fixes #14820
2024-06-04 11:09:59 +02:00
Jonathan Rainville b2fb287beb
refactor: rely on canPost and canView instead of checking permissions (#14993)
* refactor: rely on canPost and canView instead of checking permissions

Fixes #14983

* chore: remove all Light permission checks that are no longer needed
2024-06-03 15:06:34 -04:00
Michal Iskierko d0b82bc8dc fix(@desktop/communities): Update UI when receiving information about token actions made by other owner/tokenmaster
Fix #13371
2024-06-03 16:10:35 +02:00
Mikhail Rogachev 6c053dd251
hotfix: use canPost and canView from chat in case of a new channel (#15003) 2024-05-31 18:44:21 +02:00
Mikhail Rogachev f62b6eb348
fix(communities): Correct handling 'hide channel from certain members' (#14977)
Close #14915
2024-05-31 12:28:09 +02:00
Jonathan Rainville 2830f01932 Fix missing reaction and edit buttons on permissioned channels (#14933)
* fix poster actions (edit, delete)

* use canPost instead

* fix chat getting updated without community
2024-05-30 10:04:36 -04:00
Stefan 35b81eadf6 feat(dapps): show dapps list in wallet connect popup
Things done here:

Integrate basic functionality for wallet connect in status-go
Update the list of dapps from the SDK
Retrieve the persistence dapps list from the backend as a fallback
if there is no connection and SDK can't be initialized
Provide a basic simple view of dapps in the wallet connect popup

Closes: #14557
2024-05-30 10:57:42 +02:00
Stefan 07bc6c49df feat(dapps) attempt to fix the wallet connect abstraction
Spent too much time figuring out the puzzle of
service->module->view->QML just to call a
status-go function.

Keeping this attempt for later while moving to a
simplified Controller/Provider approach. I will
come back to the abstraction when we add tests
to use it.

Updates: #14615
2024-05-30 10:57:42 +02:00
Michal Iskierko 6d310c33cd fix(@desktop/communities): add hidden button to refresh (retrack transaction) community tokens
Issue #14699
2024-05-28 13:52:42 +02:00
Anton Iakimov d0865e2f44
chore: switch wakuv2 fleet to waku (#14033)
* chore: switch wakuv2 fleet to waku

See status-im/infra-nim-waku#91 for details

Mostly done automatically. Some parts manually.

* chode: drop eth.staging fleet

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2024-05-28 08:48:04 +02:00
Jonathan Rainville 9523e6b764 fix(categories): fix category unread status
Part of #14886

The problem was that the ChatDto doesn't have a categoryID, so we need to use the CommunityChat.

I think before, the channel groups had the full chat info, but not we can't rely on that.

The CommunityChat/Chat alignment refactor will simplify all of that https://github.com/status-im/status-desktop/issues/14219
2024-05-27 14:27:14 -04:00
Jonathan Rainville 6a820c9e72 fix(categories): fixes categories being always closed on start
Part of https://github.com/status-im/status-desktop/issues/14886

The problem was that we converted `collapsed` to `opened` way too early and with a logic error.

By using collapsed until the module, it's way easier to understand and also fixes the logic mistakes.

I also renamed a couple of functions and variables so that the mistake doesn't happen again.
2024-05-27 14:27:14 -04:00
Mykhailo Prakhov 3c418ab2d0
chore: try/catch blocks for async tasks (#14894) 2024-05-24 17:01:24 +02:00
Mikhail Rogachev bc580a1ff8
chore(Profile): remove old social links code (#14899)
Close #13938
2024-05-24 12:21:42 +02:00
Mikhail Rogachev df3f9984a8
fix: correct member list for new community channels (#14873) 2024-05-22 23:19:07 +02:00
Jonathan Rainville e01d8fe422
fix(links): open status links in the browser when not shared urls (#14845)
Fixes #14844

The problem was that links to status.app that are not shared links were still considered shared urls, because our util function can only check if it contains `status.app`.

The solution is two fold:
1. If there are Link Previews, I ask the link preview for the type of Link. If it's a normal link, I just open it.
2. If there are no Link Preview for that link, we call `parseSharedUrl` as before, but now we handle the failure by opening in the browser because we can assume that it's a normal link.
2024-05-21 14:14:38 -04:00
Lukáš Tinkl a6c897929a chore: Remove custom rowData method from NIM's models
- Some NIM's models define additional (not part of the
QAbstractModelItem API) method rowData to allow access to model's data
on UI side
- The same job can be done relying fully on public QAbstractModelItem
API using ModelUtils utility. It gives full transparency if we need
nim's model or other like ListModel replacement in tests/storybook
- propagate `tokensStore` to unbreak the Browser's wallet menu

Fixes #14805
2024-05-20 18:02:20 +02:00
Richard Ramos 35e4e63b48 feat: shards.staging fleet 2024-05-20 09:33:17 -04:00
Michal Iskierko 458fdd4938 feat(@desktop/permissions): Use permission-check light functions
Light functions are used first in order to reduce the number of calls to blockchain.
If the permission is not met (user is not a member of community/channel member list),
then normal permissions-check function is used.

Issue #14220
2024-05-20 15:00:22 +02:00
Alex Jbanca 7a3b0e0653 feat: Update app icons
Adding app icons with all the necessary sizes bundled in ico/icns
2024-05-20 13:38:04 +03:00
Jonathan Rainville 4c61c115d4
fix(mute): fix muted community still sending notifs and having a badge (#14822)
Fixes #14816

The muted property on the community was never checked anywhere. I don't know how it ever worked, but oh well.

I also made it so that when the mute property on the community changes, the badge gets re-evaluated.
2024-05-17 14:25:30 -04:00
Lukáš Tinkl 93d808d020 fix(CommunityMembershipSetupDialog): wait for the Join Permission response only
- introduce a new boolean property `checkingPermissionToJoinInProgress`
and use it to enable/disable the Join (share addresses) button when
joining a community
- we don't have to wait for both join and channels permissions check to
finish, as the former is much faster
- renamed `joinPermissionsCheckSuccessful` to
`joinPermissionsCheckCompletedWithoutErrors` to avoid confusion

Fixes #14680
2024-05-17 14:26:55 +02:00
Michal Iskierko 93f62a1672 feat(@desktop/communitytokens): Add l1 fees to community token estimations
There is only one status-go call for all fees: suggested fees, gas and l1 fee.

Issue #14166
2024-05-17 10:26:47 +02:00
Patryk Osmaczko 76eda30fc1 fix: `LinkPreview` to json conversion
fixes: #14731
2024-05-17 09:59:46 +02:00
Jonathan Rainville bbd1adcabb
Remove importCommunity from QML and Nim code (#14814)
* Remove importCommunity from QML and Nim code

Handling issue 14310. Removed functions associated with the API.

* Updated pr for suggested changes.

* Updated module.nim

---------

Co-authored-by: Eliza <elsorber@gmail.com>
2024-05-16 17:30:32 -04:00
Andrey Bocharnikov cd7de2a2e5 Fix(ProfileShowcase): send contact update when bio changes
fixes #12617
2024-05-17 01:39:14 +07:00
Cuteivist b771ac6aed
feat: Change optimism network short name (#14766) 2024-05-16 18:37:54 +02:00
Andrey Bocharnikov 9d7d3b245e Fix(settings): crash when enabling history archive and disabling logs
fixes #14643
(see more details in the ticket)
2024-05-16 23:29:18 +07:00
Michal Iskierko 5b5c164a16 feat(@desktop/communitytokens): Move community tokens logic to status-go.
Nim part is only responsible for catching the signal about handled transaction and update UI.
Added CommunityTokenTransactionStatusChangedSignal.

Issue #4351
2024-05-16 17:37:05 +02:00
Sale Djenic 6e1fe678bd fix(keycard): unable to import account from keycard
Handling for recovering Status profile for Linux updated since we don't use biometrics for Linux
and that requires slightly different flow.

Closes: #14673
2024-05-16 07:56:32 +02:00
Cuteivist 2565c8a135
fix(wallet): Show community name in tag (#14622) 2024-05-15 11:14:46 +02:00
Khushboo Mehta 30ff5f3a2b fix(@desktop/wallet): New Collectible Details tabs
fixes #13806

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-14 09:32:45 +02:00