Commit Graph

3368 Commits

Author SHA1 Message Date
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
Jonathan Rainville b6b21c3744
Refactor out channel groups (#14202)
Fixes #12595

Gets rid of the concept of channelGroups.
Instead, we use the communities and chats directly, to keep the same concepts as status-go.
2024-05-13 15:58:55 -04:00
Roman Chornii f965ab4540
fix(Syncing): cancelling syncing flow should not result in error dialog (#14633)
Closes #11908
2024-05-13 14:24:29 +03:00
Cuteivist 5fbc262dec
fix(wallet): Hide loading when selected account is loaded (#14435) 2024-05-13 13:00:02 +02:00
Cuteivist 406f12d239
feat(settings): Fixed changing network urls (#14353) 2024-05-13 12:06:05 +02:00
Stefan 1f60410db8 feat(dapps) implement wallet connect URI input
Other changes

- start Wallet Connect SDK using web engine after wallet is ready
- source WC project ID from the constants in nim
- close list when opening the `ConnectDappModal`
- remove the old POC modal instantiation
- rename ConnectDappPopup to Modal for consistency
- move specific dapps related user settings to their place in the component
- add DAppsStore to be used for dapps abstraction

Updates #14556
2024-05-13 10:33:16 +02:00
Jonathan Rainville 953fff0e68 feat(community): show a message when the member reevaluation is ongoing
Fixes #14378
2024-05-08 16:44:58 -04:00
Jonathan Rainville 685b83d56d chore: update icons to use the new multicoloured Status logo
Fixes #14531
2024-05-08 10:22:34 -04:00
Khushboo Mehta 03495265d5 feat(@desktop/wallet): Add Swap Feature Flag
fixes #14627
2024-05-08 13:41:17 +02:00
Cuteivist 8049eaa014
fix(wallet): Update currency format on startup (#14623) 2024-05-08 11:46:57 +02:00
Andrey Bocharnikov 688238fdd3 Fix(Profile): Fix saving of profile identity changes (#14464)
Problem:
There were no difference between the fact that the avatar is not changed and the avatar is deleted. The same for bio and displayName

On NIM, this state was simply rewritten
Solution
(The problem was discovered due to the fact that if the picture does not change, then Nim receives a base64 encoded source - instead of the path to the new Avatar. Which Status go could not parse as a file.)

On the QML side, if we see that there have been changes, we add changes to changesMap Json, if there are no changes, then do not add. (This is the way to implement Option).

On the NIM Side - convert to saveData

On the Module side - distinguish Nil from an empty string

fixes #14464
2024-05-03 10:43:29 -04:00
Dario Gabriel Lipicar 1884f6e033 fix(@desktop/wallet): prevent collectibles controller crash if network unknown 2024-05-03 08:50:02 -03:00
Dario Gabriel Lipicar 7dea2e248c feat(wallet): add grove support for opt sepolia and arb sepolia
Closes #14501
2024-05-03 08:49:01 -03:00
Jonathan Rainville 1ff424aea1 chore: disable history archive for new user and add advanced setting
Fixes #14534
2024-05-02 10:45:52 -04:00
Jonathan Rainville bfb506540f chore: hide create community button behind advanced setting
Fixes #14530

(includes a revert of the previous hide that wasn't exactly what we wanted)
2024-05-02 10:45:52 -04:00
Stefan 2972531766 chore(global) add the dapps button under a feature flag
Also add basic feature flag support that work with QML and nim

Closes #14553
2024-05-02 12:26:58 +02:00
Stefan 8d6d9c3d7c chore(dapps) update foundation for DApps work
Remove unused and de-scoped elements

Updates #14317
2024-05-02 09:47:30 +02:00
Sale Djenic dd104960ba feat(walletconnect): initial code organization
Closes #14395
2024-05-02 09:47:30 +02:00
Lukáš Tinkl d0658feb26 feat: disable language/translations selection
- make it conditionally available for testing via
Settings/Advanced/Enable translations
- display a tooltip and infobox explaining the current and future
situation
- upon app start, force the language to "en" if the translations are not
enabled; and suggest app restart when they get disabled

Fixes #14527
2024-04-30 13:25:01 +02:00
Alex Jbanca 85066fccc8 fix: Hide members count from community cards when the community is encrypted and the community info is not available 2024-04-30 14:03:38 +03:00
Cuteivist afcf84f705
fix(wallet): Load activity details (#14516) 2024-04-25 12:01:26 +02:00
Cuteivist 72a081ceca
fix(wallet): Update balance loading state on token fetched (#14491) 2024-04-25 11:08:19 +02:00
Igor Sirotin 59cb770ddb
Switch to new login/create/restore status-go endpoints (#14139)
* fix: new login endpoints - iteration 1

* feat: use CreateAccountAndLogin endpoint

* fix keycard import

* better comment

* wip: screens reordering

* cleanup

* force minimum of 30 seconds fetching backup

* keycard flows fixes

* typo fix

* remove ganache argument

* fix: wallet issues

* update status-go
2024-04-24 18:31:22 +02:00
Michal Iskierko ec9bf9fc7b fix(@desktop/communitytokens): Fix too many getOwner calls.
Get owners only for privileged users.
Fix initial call - both communities and tokens should be loaded.

Issue #14282
2024-04-24 15:20:01 +02:00
Michał Cieślak 26b875ea16 fix(CommunitiesModule): Qt props fixed to not crash MonitoringTool
Closes: #14493
2024-04-23 16:18:44 +02:00
Jonathan Rainville bff7936779 fix(edit): fix edits received before the message did not appear
Fixes #14479

The problem is our code assumed that we'd have the original message first, but in the case where messages are sent and edited before we open our app, when we fetch, we can't guarantee the order, so we might get the fully edited message directly from status-go.

The solution is simply to treat those messages as new messages.
2024-04-19 11:01:26 -04:00
Alex Jbanca 5e33540307 fix(CommunityPermissions): Fix token criteria updates in the permissions model
Re-create the token criteria and include all items whenever the model changes.

The previous perf optimisation fix filtered the items where the criteriaMet doesn't change.

(cherry picked from commit a9a83df301)
2024-04-18 23:14:37 +03:00
Jonathan Rainville 4a066a2f48 fix(community): fix saving of communities with no categories
Fixes #14472
2024-04-18 14:00:38 -04:00
Mikhail Rogachev d4b1dac65d
Feat: add check permissions failed signals (#14374)
* Feat: add check permissions failed signals

Close #14313

* Chore: replace check permissions signals with a property
2024-04-18 18:45:01 +02:00
Andrey Bocharnikov b5dbac2e74
fix(Profile flow): ID verification cannot be removed (#14308)
fix(UserListPanel): hide the verification icon for yourself

fixes #13619

* split function for reseting trust status and verification+trust status

* rename function to removeTrustVerificationStatus
2024-04-18 20:09:27 +04:00
Godfrain Jacques eccc9b3bd7
fix(category) Implement collapsed categories (#14135)
This PR implements the nim part for enabling having collapsed categories
that persist into the database
This fixes #13944
2024-04-15 11:34:44 -07:00
Jonathan Rainville 7421d5b425 fix(chat_section): fix parent badge not updating on chat close and open
Fixes #14025
2024-04-15 13:15:20 -04:00
Mykhailo Prakhov 55dd8e3065
feat(@desktop/activityCenter): show notification about invite to group chat from non our mutual contact (#14415) 2024-04-12 18:28:28 +02:00
Ivan Belyakov 3843b53cc0 feat(wallet): toggling `include/exclude from total balance` menu action
filters out assets/collectibles/activities entries.
Fixed direction of transfers for `All accounts` selection on activity
tab.

Closes #14162 #14216
2024-04-12 15:18:19 +02:00
Ivan Belyakov 6ba0cdfafa feat(wallet): removed allAddresses flag as redundant 2024-04-12 15:18:19 +02:00
Ivan Belyakov b9268d8f1e fix(wallet): fixed precision loss for balance amount in nimqml
fixed currency amount property type to be handled by QMetatype properly
2024-04-12 13:20:50 +02:00
Sale Djenic 42a60642e8 fix(wallet): user is unable to authenticate using biometrics
Fixes #14404
2024-04-12 07:46:00 +02:00
Mykhailo Prakhov f743d2f059
chore: do not show permissions change notifications if permission is private or we are not a community member (#14386) 2024-04-11 11:29:00 +02:00
Sale Djenic ced5a9bb4b feat(keycard): noticeable delay in starting flows
This is not an issue actually, instead a request was if the Keycard is present to display an
appropriate state based on the Keycard content, which requires the following steps when a user
clicks any flow to run:
- run appropriate keycard flow
- wait for a response from the keycard
- resolving state that needs to be displayed based on the response
- display appropriate state

This commit changes that to the following:
- display keycard reading state immediately after the user clicks any flow to run and then the rest as it was
- run appropriate keycard flow
- wait for a response from the keycard
- resolving state that needs to be displayed based on the response
- display appropriate state

With this change on OS' where communication between the app and keycard is slow it wouldn't look
like a delay in running flow, but instead, a user will be aware immediately that something is ongoing.

Closes #13242
2024-04-11 10:00:15 +02:00
Igor Sirotin 795b999ad8
chore: extract move gifs module (#14315) 2024-04-09 19:01:24 +01:00
Igor Sirotin e2eddc525c
fix: proper content for bridged messages in OS notifications (#14377) 2024-04-09 18:21:47 +01:00
Cuteivist 277dda7533
feat(wallet): Disable send for soulbound collectibles (#14327) 2024-04-09 16:16:03 +02:00
Stefan 473e2e273f feat(wallet) connect assets ordering with saving to DB backend
Also refactor the existing code based on the latest understanding.

Closes #13312
2024-04-09 09:34:52 +02:00
Sale Djenic 5bf8f5c456 feat: swap via paraswap backend implementation
Closes #14241
2024-04-08 11:00:19 +02:00
Michal Iskierko 62c48a0072 chore(desktop): upgrade status-go
Issue #14044
2024-04-08 11:22:51 +03:00
Michal Iskierko d41625932e fix(@desktop/chat): Fix displaying edits of bridge messages
Fix #14044
2024-04-08 08:01:37 +02:00
Michal Iskierko 5f2193b2c5 fix(@desktop/communitytokens): fix converting json to dto
Fix #14307
2024-04-07 21:46:02 +02:00
Alexandra Betouni 53db09412a feat(ProfileShowcasePopup): Adding interactions in delegates
Closes #13702
2024-04-05 12:31:11 +03:00
Jonathan Rainville 8f5efc6cb0 fix(permissions): fix view and post permission overwritten by view perm
Fixes #14209
2024-04-04 16:32:04 -04:00
Jonathan Rainville 5c75c265af fix(permissions): fix hang when all channel perm check return (#14259)
* fix(permissions): fix hang when all channel perm check return

Fixes #14234

The problem was that we updated **all** the models from **all** the channels of a community each time the channel requirement checks returned.

The fix is to first of all, make sure we don't call that check too often. It sometimes got called twice in a row by accident.

The other better fix is to check if anything actually changed before updating. This solves the issue almost entirely.  Since the permissions almost never change, the updates now take only a second.

* fix(permisisons): never run permission checks for privileged users

Also fixes #14234 but for admins, TMs and Owners.

Admins+ were still getting the hang, because the permission checks always returned something different than the models, because the models knew that admins have access to everything, but the permission check was running as if it were a normal user (I think, un-tested).

Anyway, the solution is more simple, we never need  to run the permission checks on admins+, because they always have access to everything!

* fix(Communities): prevent channels model from emitting unnecessary signals

Closes: #14274

* chore(Communities): improve channels metadata lookup performance

ChannelsSelectionModel is removed, replaced with plain LeftJoinModel.
Transformations of left-side model are done in a single place, not in
every delegate making the join.

* only call update functions when there is something to update + move permission model creation when needed

---------

Co-authored-by: Michał Cieślak <michalcieslak@status.im>
2024-04-04 12:14:39 -04:00
Mykhailo Prakhov 1e155046e7
fix(@desktop/communities): request to join fixes (#14287) 2024-04-04 18:03:10 +02:00
Mikhail Rogachev 6883db3b58
Fix: fix compilation warning (#14273) 2024-04-04 16:42:37 +02:00
Andrey Bocharnikov de74a6ce03
fix(Profile Flow): Marking as ID verified is not reflected in community member (#14269)
fixes #13772
2024-04-04 00:43:24 +04:00
Igor Sirotin 3750b9933e
chore: supress UnreachableCode check in keycard_popup/controller.nim (#14254) 2024-04-03 14:47:52 +01:00
Igor Sirotin 89408adc00
chore: fill holes in ChatType enum (#14257)
* chore: fill holes in ChatType enum
* chore: fix Spacing warning
2024-04-03 14:47:41 +01:00
Mikhail Rogachev d86be3a970
fix(Profile): Fix crashing when showcase collectible having disabled chainIds (#14252)
Close #14243
2024-04-03 11:51:15 +02:00
Stefan 65791a8e87 fix(wallet) sending community tokens doesn't work
The contract address is not resolved for the community tokens because
of symbol usage to identify assets. The symbol is not resolved by
`getTokenBySymbolByTokensKey`.
This fix changes from using symbol to always using assetKey to identify
the token for all non-native and non-collectibles transfers.

Closes #14074
2024-04-03 10:08:20 +02:00
Stefan fd964337a8 Remove relative imports and unused variable from transaction/service.nim 2024-04-03 10:08:20 +02:00
Stefan a2e8b6ebd7 fix(wallet) start a session in case of tmp activity models
Closes: #14250
2024-04-03 07:55:22 +02:00
Dario Gabriel Lipicar cd3a1180b0 fix(@desktop/wallet): properly handle collectible groups in send modal
Fixes #14080
2024-04-02 12:55:08 -03:00
Andrey Bocharnikov accd4da214
fix(Permissions): tokenOwner is present in the list of collectibles when adding a permission (#14236)
fixes #13561
2024-04-02 14:38:08 +04:00
Lukáš Tinkl b191caaec6 feat: Add missing eligible to join tag in CommunityMembershipSetupDialog
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models

Fixes #14100
2024-03-29 16:11:59 +01:00
Lukáš Tinkl 255f318627 fix: consider TM when evaluating permissions to join
seems like this check had gone missing
2024-03-29 16:11:59 +01:00
Mikhail Rogachev 839f2c6b21
Feat: New showcase models for a contact (#13998)
* Feat: New showcase models for a contact

* feat(ProfileShowcase): Integrate the new profile showcase backend

* fix(Storybook): Fix ProfileShowcaseModelsPage

* fix: fetch only requested profile showcase data

Support PR for https://github.com/status-im/status-go/pull/4982

* feat: Load and validate profile showcase for a contact in two steps

* fix: fetching criteria for profile showcase collectibles

* fix: review fixes

---------

Co-authored-by: Alex Jbanca <alexjb@status.im>
2024-03-29 12:43:49 +01:00
Khushboo Mehta c710f0e809 fix(@desktop/wallet): Remove profile section's networks submodule and udpate logic for combined networks 2024-03-28 17:08:49 +01:00
Mykhailo Prakhov 7804d4ca39 fix: set correct permision UI 2024-03-28 10:59:40 -04:00
Dario Gabriel Lipicar b5f2a11bc8 fix(@wallet): prevent collectibles error due to irrelevant chain state 2024-03-28 10:10:44 -03:00
Sale Djenic 7047ecf2b6 chore: move logic for resolving suggested derivation path to status-go
Closes #14188
2024-03-28 12:48:26 +01:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Sale Djenic d9945b39dc fix(wallet): displaying L1 gas cost in UI
Fixes #13892
2024-03-28 10:36:09 +01:00
Sale Djenic 9b8401b641 fix(communities): keycard authentication marked automatically as authenticated
Closes #14174
2024-03-28 07:38:42 +01:00
Sale Djenic cbf0fd3d71 fix(general): when biometric is setup the authentication flow is not correct showing the password one instead
Closes #14173
2024-03-28 07:38:15 +01:00
Stefan b1f8c8efa2 fix(wallet) serializing type for collectibles settings to backend
It seems `%*` operator we use in the `rpc` generics doesn't use the
`serializedFieldName` marker and `type` was serialized as `itemType`
and value the enum name instead of `type` and integer value

Updates: #13971
2024-03-27 20:26:15 +01:00
Stefan 26542970ee feat(wallet) save/load collectibles user handled state in DB
Add a separation layer for save/load/clear to ManageTokensModel
so that we can save/load from external sources.
The separate layer is composed of JSON as protocol, a set of signals
and slots for interface. The implementation forwards data to current
QSettings for storybook and nim controllers for the app.

Updates #13313, #13312
2024-03-27 20:26:15 +01:00
Khushboo Mehta f45a39bfcf feat(@desktop/wallet): Link out from collectible details view to opensea
fixes #13918
2024-03-27 17:47:06 +01:00
Cuteivist fae7e82e0a
fix(@wallet): Copy viewed account details (#14161) 2024-03-26 16:49:12 +01:00
Jonathan Rainville e937dfb56c fix(main): set personnal chat as active if last active was profile
Fixes #14111
2024-03-26 11:03:27 -04:00
Andrey Bocharnikov c53e4aeb92
(Chat): Display system messages about adding/removing members immediately after an update is performed (#14146)
* (Chat): Display system add/remove messages immediately after update

fixes #9876

* (Chat): Display system "pinned" message immediately after update

fixes #10702

* fix issues from the PR
2024-03-26 18:13:22 +04:00
Stefan a066cbeecb chore(wallet) remove unused code 2024-03-26 11:24:08 +01:00
Stefan fb530a099a fix(wallet) counterparty loading forever in activity history
Closes: #14067
2024-03-26 11:24:08 +01:00
Cuteivist 1deb5e86e5
fix(wallet): Add token data when new token is added (#14061) 2024-03-25 18:31:01 +01:00
Sale Djenic 10a8469b9e fix(communities): deltas between designs and build for join token gated community flow
This commit:
- improves selection of addresses to reveal
- keeps the selection state for the popup lifetime
- brings higher granularity in terms of signed requests by keypairs
- meets new requirements from the latest related Figma
- merges edit shared addresses feature and request to join community features
into a single component, cause the flow is logically the same, with the only
difference that when editing revealed addresses we don't show the community
intro screen

Fixes at least points 3 and 4 from #13988
2024-03-25 14:16:32 +01:00
Lukáš Tinkl 9ef513b419 fix(TokenManagement): Asset balance threshold value not reflected in main wallet view
- take the balance threshold value into account when presenting the
assets in the main wallet view
- additional fix from Emil for storing the threshold value
- storybook fixes to display the correct `currentCurrencyBalance` values
based on the address/wallet filters and mocking the threshold values
using TransactionStore

Fixes: #14017
2024-03-23 11:37:37 +01:00
Jonathan Rainville e71d749ef2
fix(category): fix missing category when empty (#14086)
Fixes https://github.com/status-im/status-desktop/issues/14059
2024-03-22 12:55:40 -04:00
Godfrain Jacques af6dd257cc
(fix/desktop) fix sporadic empty community token hodler list (#14057)
This PR fixes #13650

- Reduces the timer for fetching the token hodlers to refresh cashe
- Check for temporary contract address before making requests
2024-03-21 16:49:34 -07:00
Mykhailo Prakhov 201a5bfdfc
fix: draw community select bubble after community create (#14108) 2024-03-21 22:02:46 +01:00
Jonathan Rainville 2b219627a5
fix(category): fix muted category and received messages (#14082) (#14087)
Fixes #14079
2024-03-21 13:51:01 -04:00
Mykhailo Prakhov 398a92b12e
fix: open activity center mentions messages (#14075) 2024-03-21 15:52:45 +01:00
Igor Sirotin a2af01bcda
chore: force some warnings as errors (#14068) 2024-03-20 20:08:43 +00:00
Jonathan Rainville 19c283be8b
fix: fix warning and inconsistencies with spectating (#14041)
Kinda fixes #13957
2024-03-20 13:58:46 -04:00
Mykhailo Prakhov a586c6d352
feat(desktop/communities): View community member messages functionality (#14002)
* feat(desktop/communities): View member messages functionality
2024-03-20 11:50:10 +01:00
Igor Sirotin 5ba0ad8ef4
fix: allow scrolling to ContactRequest message (#14045) 2024-03-19 22:17:00 +00:00
Igor Sirotin de4c20ea4f
upgrade Nim-build-system (#13979)
* chore: upgrade nimbus-build-system

* test UnusedImport warningAsError
2024-03-19 13:58:02 -04:00
Mykhailo Prakhov f3d2d0a809
feat(@desktop/community): add new CommunityMemberState - CommunityMemberBanWithAllMessagesDelete (#14028) 2024-03-19 16:17:02 +01:00
Andrey Bocharnikov 8e0f5f9487
fix(chat_section): fix changing active chat on leaving another group chat (#14020)
* fix(chat_section): fix changing active chat on leaving another group chat

Fixes #9147
2024-03-19 12:58:14 +04:00
Michał Iskierko 9ed38bddb7
13291 hide channels (#13876)
* feat(@desktop/communities): Hide channels if the user is not permitted to view and hideIfPermissionsNotMet is set

Extend chats model with channel permissions info and hideIfPermissionsNotMet.
Visibility of chat item is based on: member roles, channel permissions, hideIfPermissionsNotMet.
If all channels from category are hidden, category item is also hidden.
If all chats in community are hidden, infomration label is displayed.

Issue #13291

* chore(@desktop): Upgrade status-go

Issue #13291
2024-03-18 13:33:07 -04:00
Michal Iskierko 958274259f fix(@desktop/permissions): Fix multiple tokens on tokens list
Fix #13993
2024-03-18 16:08:07 +01:00
Michal Iskierko ce4996075c fix(@desktop/communities): Fix joining community
Unexpected exception broke handleCommunityUpdates

Fix #13958
2024-03-18 14:13:57 +01:00
MishkaRogachev b37f0f0fd8 feat: emit signals on saving profile identity 2024-03-15 10:22:55 +01:00
MishkaRogachev 8a5164db68 feat: emit signals on saving profile showcase preferences
Close #13968
2024-03-15 10:22:55 +01:00
Igor Sirotin 2f7572a3f4
chore: remove unused imports (#13961) 2024-03-13 21:55:15 +00:00
Jonathan Rainville 634591b69f
feat: hook reactions in read only channel and fix issues (#13913)
* feat: hook reactions in read only channel and fix issues

Fixes #13523

* fix crash and missing emoji popup on group chats

* code review fixes
2024-03-13 15:13:41 -04:00
Jacek Sieka fc16b81caf
chore(nim): use compile-time string formatting (#13945)
Nim 2.2 comes with compile-time string formatting that doesn't raise
exceptions if the format string is invalid - instead a compile-time
error is given.

This PR introduces a backport of that feature which improves performance
and reduces the risk that formatting causes the app to crash and will
help migrating the codebase to newer nim versions that track exceptions
more carefully.

There should be no change in runtime behavior (except formatting being a
bit faster)
2024-03-13 18:38:54 +01:00
Noelia 66c51ed777 feat(ProfileShowcase): Add network prefixes and filter watch only accounts
- Added network prefixes in profile showcase accounts delegate and included them in the searcher.
- Added filter to just display own accounts in profile showcase accounts tab.

Closes #13899
2024-03-13 14:37:03 +01:00
Cuteivist 8f2d023702
chore(wallet): Fix crash on changing networks (#13952) 2024-03-13 14:19:03 +01:00
Michal Iskierko 86907b170c feat(@desktop/communities): handling bridge message replies
Issue #13258
2024-03-13 13:39:28 +01:00
Michal Iskierko 211801afd3 fix(@desktop/tokens): Compute deployment fees dynamically
Issue #13646
2024-03-13 12:36:12 +01:00
Khushboo Mehta 2f0343f0e9 feat(@desktop/wallet): Main Collectible Detail View enhancements
fixes #13804
2024-03-13 11:46:49 +01:00
Mikhail Rogachev 611d70a3b2
feat: Save profile identity in one json (#13937) 2024-03-13 10:46:40 +01:00
Jacek Sieka 427297068d
chore: clean up exception specifiers (#13735)
Annotating functions explicitly with `{.raises: [Exception].}` prevents
Nim from performing compile-time exception checking and is almost never
desired - it does have a tendency to spread through the codebase
however, similar to sub-par const correctness in C++.

The reason these annotations might have seemed necessary can be traced
to missing exception specifiers in the go imports bumped in this PR.

See
https://status-im.github.io/nim-style-guide/interop.c.html#functions-and-types
for background on Nim-go interop and
https://status-im.github.io/nim-style-guide/errors.exceptions.html for
more information on how exception tracking can be leveraged to find
missing error handling at compile-time.

This change has no runtime effect - it merely makes compile-time error
messages more informative or avoids them entirely.
2024-03-12 16:20:02 +01:00
Igor Sirotin a6f5f0bc94
fix: prevent forever chat loading animation (#13929)
* prevent animation if loading not started

* prevent scrolling to verification/contact request messages

* fix ac click behaviour

* remove CURSOR_VALUE_IGNORE. cleanup logs
2024-03-12 14:24:55 +00:00
Alex Jbanca e7a1f5e831 feat(ProfileShowcase): Sync dirty state with the source model
Whenever the source model becomes identical to the showcase dirty model, the dirty flag is removed
2024-03-11 20:58:55 +02:00
Igor Sirotin 67b81e1953
chore: clean up build log (#13928)
* chore: clean up build log

* more cleanup

* typo fix
2024-03-11 17:08:09 +00:00
Michal Iskierko 5bfa1724c8 fix(@desktop/permissions): Fix displaying tokens in permissions
Fix #13773
2024-03-11 15:03:24 +01:00
Andrey Bocharnikov 832ed03ea3
fix(chat_section_module): Fix propagation of "muted" status in chat header (when handling chat_content details update) (#13904)
#13559
2024-03-11 17:02:00 +04:00
Dario Gabriel Lipicar af84d788ff feat(@desktop/wallet): display balance in collectibles view
Closes #12940
2024-03-11 09:10:01 -03:00
Anthony Laibe b37b46414d fix(@wallet): buy ens from sepolia 2024-03-11 12:03:43 +01:00
Stefan 9202cce3f5 feat(activity): add incremental updates to current activity filter
Switch the activity filter to use the new session-based API that
deliver incremental updates to the current filter.

Drop the old quick win listening for individual change events and
use the unified API instead.

The new transactions (on-top) trigger the old "new transactions" buttons
that trigger reset of the current filter and the top new transacitons
highlighted.

Highlight mixed changes (not new on top) as they come in

Highlight new changes on filter reset

Closes #12120
2024-03-11 11:39:59 +01:00
Mikhail Rogachev 74dfd181c3
feat: Add new simplified model for profile showcase preferences (#13708)
* feat: Add new simplified model for profile showcase preferences

Close #13688

* feat: Add new api for saving profile showcase preferences

* feat(ProfileShowase): Save action with the new backend

- Created JSON file according to new backend structure when saving.
- Updated `dirty state` to sync writable and movable models when position is changed to have a better internal models sync.
- Reenabled identity fields save.

Closes #13799

* feat(ProfileShowcase): Showcase limit values integration with backend

Updated showcase limits with values coming from backend.

---------

Co-authored-by: Noelia <noelia@status.im>
2024-03-08 21:11:48 +01:00
Lukáš Tinkl 29c61d8135 fix: Hide fleet selection from settings
- introduce `ENABLE_FLEET_SELECTION` desktop config entry to control the
Fleet selection UI availability
- UI can be enabled with envvar `STATUS_RUNTIME_ENABLE_FLEET_SELECTION=1`

Fixes #13848
2024-03-08 13:29:28 +01:00
Mykhailo Prakhov 49f7accbc2 chore: send emphemeral notification from QML side 2024-03-07 11:56:21 -05:00
Mykhailo Prakhov 9b8c6aa673 feat: ban/unban/kick system and ephemeral notifications 2024-03-07 11:56:21 -05:00
Michal Iskierko 33c3fcf582 fix(@desktop/chat): Fix referencing message nil pointer
Fix #13812
2024-03-07 09:50:17 -05:00
Cuteivist 3188250b1d
feat(wallet): Add asset sorting by 1 day fiat change (#13826) 2024-03-07 14:47:17 +01:00
Sale Djenic ccd5a416ce fix(wallet): erc20 transfer with multiple path
Fixes: #13759
2024-03-06 14:06:51 +01:00