Commit Graph

6831 Commits

Author SHA1 Message Date
Jacek Sieka 71bbb03faa
Nim library upgrades, pt1 (#9703)
This PR upgrades a number of libraries as well as nim itself, to address
security issues and crashes that we've worked to solve over the past few
months on the nimbus-eth2 side leading up to its 1.6 migration - they
include changes that are safe to use in both 1.2 and 1.6 without
requiring 1.6, making the code compatible with both versions.

In particular, 1.6 becomes more strict in several ways including
exception handling, style and certain langauge constructs related to
memory safety - as a result, we've cleaned up said libraries and
improved their stability overall, including fixing several crashes.

* nim 1.2.18 - this is the last release in the 1.2 series we produced
together with upstream based on nimbus' needs - between the version
Desktop is using today and v1.2.18, changes are predominantly backports
from newer Nim versions that we asked for while working on stability in
Nimbus itself.
* chronicles - cleanups
* confutils - cleanups
* faststreams - cleanups & crash fixes
* nim-json-serialization - several important crash fixes for json
parsing edge cases
* metrics - cleanups & threading fixes
* secp256k1 - upstream updates (including security fixes)
* serialization - cleanups
* stew - many convenience fixes and updates to common low-level
utilities, such as Result and hex / base64 / etc parsing
* stint - cleanups
* zlib - cleanups
* nimPNG - cleanups
* nimcrypto - cleanups

This is part 1 of library upgrades and focuses on the low-level
libraries - part 2 will upgrade the network stack (chronos, json-rpc,
web3, etc), keeping the two separate so as to limit the potential impact
of this PR.
2023-03-03 11:14:10 +01:00
Pascal Precht e4b8814bfa feat(Communities): allow for creating community permissions
This commit is the first of implementing community permissions.
**It is not implementing the complete feature**, rather does it
introduce the first pieces, such that we can get code reviewed and
merged before it grows too big.

To review these features, please make sure to

1. Enable wallet (Settings -> Advanced -> Wallet toggle)
2. Enable community permissions (Settings -> Advanced -> Community
   Permissions toggle)

You'll have to restart the app after doing so.

The commit introduces the following:

**UI, API calls and view models to CRUD community permissions**

After creating a community, the user can go to the community
settings and create new token permissions. The user can also update
and delete existing permissions.

**Asset and collectible view models**

To create community token permissions, users have to select
the token criteria. This commit introduces the `assetsModel` for ERC20
tokens and `collectiblesModel` for `ERC721` tokens.

The latter only supports custom minted community tokens at this point.

**This commit requires:** https://github.com/status-im/status-go/pull/3207
2023-03-03 10:22:32 +01:00
Patryk Osmaczko 489d5d501d chore(node_config): move constants to NODE_CONFIG 2023-03-03 08:46:11 +01:00
Michał Cieślak 4d5d557dfd feat(Storybook): Add button for copying component name to clipboard
Closes: #9673
2023-03-03 00:16:40 +01:00
Boris Melnik 18e5fc915c fix(chat): Display text from image message
Fixes: #9564
2023-03-02 22:08:46 +03:00
Ivan Belyakov e6226ab564 fix(@desktop/statusq): Fix icons background square, but must be circle
regression.

Fixes: #9714
2023-03-02 19:17:51 +01:00
Anthony Laibe c55fb96652 fix(@wallet): send modal with recipient ens
fixes #9328
2023-03-02 18:24:29 +01:00
Jonathan Rainville 7db4a5ca52 fix(community-service): fix community image parsing for windows
Fixes #9678
2023-03-02 10:07:27 -05:00
Lukáš Tinkl ef99e3d017 fix: Primary nav bar vertical alignment on Windows/Linux
- reduce top margin for non-macOS builds

Fixes #9684
2023-03-02 15:49:28 +01:00
Pascal Precht a97d32346a fix(Communities): ensure community chats exist in memory upon spectating
When a community link is shared with a user and that user visits that community, it turns out that the chat objects for that community have not been created yet.

This results in chat data being malformed/non-existent until another message signal is processed that updates the chats in memory. This update can someimes occur earlier, sometimes later, which is why the issue isn't always reproducible.

This commit ensures we're loading chats from status-go again upon spectating, to ensure they exist in memory when we try to access the data in the UI.

Closes #8361
2023-03-02 09:45:07 -05:00
MishkaRogachev 723bc4f387 fix(ActivityCenter): fix missing membership notifications
Close #9656
2023-03-02 16:31:25 +04:00
Michał Cieślak 95d29c76f9 fix(Storybook): Register StatusQ types for Storybook/qmlTests
Closes: #9690
2023-03-02 11:33:37 +01:00
Stefan a0170a3fda feat(wallet) propagate multi-transaction ID to Nim
Bump status-go to include the propagation of multi-transaction ID for status-go APIs

Also

- Add leftover fix from SendModal layout

Updates: #7663
2023-03-02 14:25:53 +04:00
Anthony Laibe 806f6a8b33 fix(@wallet): send zero tx
fixes #9623
2023-03-02 09:21:14 +01:00
Richard Ramos a7ecb4be92 fix: delete `appController` before `statusFoundation`
AppController executes status-go Logout function when it's being deleted, and that will stop all status-go services and kill pending mailserver requests. If StatusFoundation is deleted before the AppController, it's possible for some tasks to freeze the app on logout
2023-03-01 19:13:40 -05:00
Jonathan Rainville 72d40346f6 refactor(browser): only get bookmarks when opening the browser
Fixes #9440
2023-03-01 10:47:05 -05:00
Jonathan Rainville f10299ba6f fix(curated_communities): fix error handling in curated communities call 2023-03-01 10:47:05 -05:00
Jacek Sieka 1856c9de93 remove task-runner dependency
As of #9596, task-runner is no longer used.

Due to how the build system works, task-runner was providing nim-stew,
nim-bearssl and nim-chronos to the project, even though these are also
top-level dependencies - effectively this means there were multiple
versions of these libraries in the source tree and it is not entirely
intuitive which is actually used - adding to the confusion, the
submodule was pinning different versions.

This PR removes task-runner and resets the other dependencies to the
versions in task-runner thus minimising collateral changes.

A duplicate copy of bearssl is also removed.
2023-03-01 10:20:45 -05:00
Alexandra Betouni c560e9b960 fix(StatusChatInput): fixed invisible text when pasting text with emoji
Closes #3291
2023-03-01 15:25:19 +02:00
Michał Cieślak 9772145ce5 chore(Storybook): Update Readme to point CMakeLists.txt as the main way to build instead of WebAssembly
So far README.md had only description for WASM builds what was
misleading, suggesting that's the only proper way of building Storybook.

Closes: #9679
2023-03-01 13:48:31 +01:00
Sale Djenic bf9b709cc8 feat(@desktop/keycard): recover an account fetching previously backed up data from waku
Closes: #8920
2023-03-01 13:20:14 +01:00
Jakub Sokołowski 8a1e1947ae ci: remove submodule vendor folders to save space
Currently the `nimbus-build-system` exists twice in each checked out
`status-desktop` reposity, and each contains the `Nim-csources-v1`
submodule, which weights close to 900MB each:
https://github.com/nim-lang/csources_v1

Because of this each `status-destop` clone takes up 4 GB of disk space
after the cleanup has run, which is not okay.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-01 13:07:05 +01:00
Stefan 16ed8739e8 fix(wallet) fix Add Account Modal and wallet tests
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux

Updates: #9576
2023-03-01 15:36:06 +04:00
Ivan Belyakov 1c7c0d7d81 fix(@desktop/statusq): Change id for StatusListItem to root.
Fix some equal signs to be === and !==.
Removed iconHoverEnabled property for StatusListItem.

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov 19436c0e58 fix(@desktop/statusq): Reverted StatusSmartIdenticon to use icon
with mouse area instead of button.
Added a missing bgRadius assignment.

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov b901f32dd8 fix(@desktop/statusq): Fix StatusBaseInput marked dirty in case of
rich text if visual input is empty

Fixes #8599
2023-03-01 13:59:49 +03:00
Ivan Belyakov bfdd9092e1 fix(@desktop/statusq): Fix StatusQ and shared components as part of
new saved addresses UI implementation
  - Fixed StatusInput and StatusBaseInput to respect rich text.
  - Fixed AddressInput's height that breaks the layout when inside
of QtQuick Layout.
  - Added support for icon clicks in StatusListItem.
  - Fixed broken right alignment in ContactsListAndSearch.

Fixes #8599
2023-03-01 13:59:49 +03:00
Lukáš Tinkl 2a1ea3b0ae fix(StatusChatList): Missing space between channels in StatusChatList
- add an extra space for the item height to fix spacing; can't do this
using regular `spacing` due to height of collapsed categories
- remove dead code

Fixes #9657
2023-03-01 11:42:39 +02:00
Ivan Belyakov 5281cae198 fix(@desktop/wallet): Fix send modal to display all balances in
advanced mode, independent of network selection.
Fix missing break in for loop in token model

Fixes #8858
2023-03-01 11:55:17 +03:00
Jonathan Rainville e9f4426e61 refactor(devices): make loading devices lazy load and async
Fixes #9439
2023-02-28 17:06:16 -05:00
Jonathan Rainville 9b840bfbd0 refactor: make sure we only set active the active chat of active section
Fixes #9236 and #9438
2023-02-28 17:05:00 -05:00
Jonathan Rainville 5352ba8c6f refactor(chat-model): simplify chat model and put category as an Item
Fixes #9494
2023-02-28 11:58:40 -05:00
Alex Jbanca d059fb7e1f chore(nimqml): Bump nimqml 2023-02-28 18:37:34 +02:00
Alex Jbanca 79b4d7638a fix(QAbstractItemModel): Fixing memory leaks and crash when using startupModule after the object is deleted 2023-02-28 18:37:34 +02:00
Noelia 8a2bb3e40f feat(MintTokens/storybook): Created network model and store
Created network model and mocked store.
2023-02-28 14:17:47 +01:00
Noelia db3be56d42 feat(MintTokens): Create new collectible screen
Created new form screen for minting collectibles.

Closes #8733
2023-02-28 14:17:47 +01:00
Noelia 83bdc7f104 feat(Wallet/NetworkFilter): Extended component API
Extends API to allow single UI selection network into `NetworkFilter` and `NetworkSelectPopup` updated.
2023-02-28 14:17:47 +01:00
Noelia 2398b8bd46 fix(SQ/StatusIntValidator): Validation function fixed
Validation function fixed
2023-02-28 14:17:47 +01:00
Noelia aecb4816e0 feat(SQ/StatusImageSelector): Created new statusq component `StatusImageSelector`
Created new `StatusQ` component `StatusImageSelector`.

Closes #9629
2023-02-28 14:17:47 +01:00
Sale Djenic 3441c2e182 feat(keycard): remove balance from factory reset flow if user is not logged in
Closes: #9633
2023-02-28 11:43:58 +01:00
Noelia d6467923e4 fix(Chats): Drag/drop image files is only available for community channels
- Drag/drop images are available from all chat types (1:1 , group chats and community channels).
- In case of community settings views, it is disabled.

Fixes #9630
2023-02-28 11:20:23 +01:00
MishkaRogachev 7b250b20b8 feat(ActivityCenter): Move group logic to nim service layer 2023-02-28 14:08:49 +04:00
MishkaRogachev a70bbd448c feat(ActivityCenter): move activity category counters on the backend 2023-02-28 14:08:49 +04:00
MishkaRogachev bb9d6b3121 feat(ActivityCenter): Review fixes 2023-02-28 14:08:49 +04:00
MishkaRogachev c5a32ff8cb feat(ActivityCenter): Switch on backend filtering for the AC notifications 2023-02-28 14:08:49 +04:00
MishkaRogachev 0529ea4be5 feat(ActivityCenter): Storing activity center group in the service level 2023-02-28 14:08:49 +04:00
MishkaRogachev a0647d241e feat(ActivityCenter): Remove UI-side AC notifications filtering & sorting
Close #8510
2023-02-28 14:08:49 +04:00
Anthony Laibe 7d9a6f5a71 feat(@wallet): add pokt network + fallbark 2023-02-28 09:12:05 +01:00
Alex Jbanca 2accc52b15 fix(UnfurlingUrls): Fix community invitation when community cannot be fetched 2023-02-28 10:06:02 +02:00
Noelia 606d30abc6 test(suite_messaging): Disabled some code that is causing CI failures
Open issue to solve it: #9335
2023-02-28 09:04:56 +01:00