Commit Graph

423 Commits

Author SHA1 Message Date
Noelia e0179bb2b5 feat(WalletSettings): Display token list as well as popup to see each token in it
- It creates new component `SupportedTokensListsPanel`.
- It updates tokens list tab content with the expected one.
- It creates new component `TokenListPopup`.
- It adds support to new created components in `storybook`.

Closes #12374
2023-11-01 10:58:21 +01:00
Stefan ccd8c5b65f feat(wallet) Wallet Connect integration prototype
Implement a prototype of integrating [WalletConnect Web SDK]()

- integrate WalletConnect Web SDK using Node.js and packing it using
  [webpack](https://webpack.js.org/guides/getting-started/)
  - this way, we achieve the same versioning strategy for the SDK
- add WalletConnectSDK view
  - it is used to load the web SDK via a WebView (validated working on
  Mac and Windows)
- add new app dependency of WebView QT
  - also update vendor packages `Dotherside` and `nimqml` to add
    required WebView::initialize API used to initialize the WebView
    integration at the app start
- add WalletConnectPage to Storybook for quick prototyping
  - Also add dependency for WebView Qt lib
- index.js is the wrapper used to provide a simple stateful interface
  with the WC SDK
- Entry in ui/generate-rcc.go ensures the node_modules cache is excluded
  from the resource file

Notes:

- Added `com.apple.security.cs.allow-jit` entitlement when signing the
app package. This allows Execution of JIT-compiled Code Entitlement
required by the fast-path of the JavaScriptCore framework on MacOS
platforms.
- Keep some debugging entries expected to help debugging Linux package
- Removed outdated `DerivationPathInputRegressionTests` qml test

Closes #12301
2023-10-30 09:29:33 +01:00
Michał Cieślak 2fae6d808d Storybook: Add example combining RolesRenamingModel, LeftJoinModel and SFPM 2023-10-27 13:27:30 +02:00
Michał Cieślak ffadd7522c StatusQ: Add generic LeftJoinModel model mimicking SQL Left Join
Closes: #12502
2023-10-27 13:27:30 +02:00
Michał Cieślak 628d9cdd31 StatusQ: Add generic proxy model for roles renaming 2023-10-27 13:27:30 +02:00
Igor Sirotin a3239d9e2b
fix `ImportCommunityPopup` issues, remove private key importing (#12554)
* feat(Storybook): added "Always on top" setting
* fix(ImportCommunityPopup): show result, remove private key support
2023-10-27 11:25:27 +01:00
Alex Jbanca 4a30d13bdc
feat(LinkPreviews): Integrate Link previews with the backend (#12523)
* feat(StatusQ): Adding numberToLocaleStringInCompactForm function to LocaleUtils

This function will format the number in a compact form
E.g: 1000 -> 1K; 1000000 -> 1M; 1100000 -> 1.1M

+ adding tests

fix(statusQ): Update numberToLocaleStringInCompactForm to return the locale number when greter than 999T

fix(StatusQ): extend the test_numberToLocaleStringInCompactForm with new data

* feat(LinkPreviews): Update the link preview area in StatusChatInput to use the new model

Changes:
1. Create a new component `LinkPreviewMiniCardDelegate.qml` that filters the model data to properly fill the link preview card with the needed data based on the preview type
2. Update storybook pages
3. Small updates to LinkPreviewMiniCard

* feat(LinkPreviews): Update the link previews in message history to use the new backend

Changes:
1. Create delegate items for LinkPreviewCard and gif link preview to clean the LinksMessageView component and filter the model data based on the preview type
2. Remove UserProfileCard and reuse the LinkPreviewCard to display contacts link previews
3. Update LinkPreviewCard so that it can accommodate status link previews (communities, channels, contacts). The generic properties (title, description, footer) have been dropped and replaced with specialised properties for each preview type.
4. Fix LinkPreviewCard layout to better accommodate different content variants (missing properties, long/short title, missing description, missing icon)
5. Fixing the link preview context menu and click actions

fix: Move inline components to separate files

Fixing the linux builds using Qt 5.15.2 affected by this bug:
https://bugreports.qt.io/browse/QTBUG-89180

* fix: Align LinkPreviewMiniCard implementation with LinkPreviewCard and remove state based model filtering
2023-10-25 18:20:02 +03:00
Alex Jbanca 8ac6eb8916 fix(LinkPreviews): Fixing gif hyperlink detection in StatusChatInput
The link preview model can be filtered, but the hyperlink detection needs an unfiltered model to properly highlight all URLs. This brought in the need to separate the urls model and the link previews model.
2023-10-25 09:58:38 +03:00
Alex Jbanca 0a857cbf9c fix: Preserve the previous cursor position on `undo/redo` in StatusChatInput 2023-10-24 17:04:14 +03:00
Anthony Laibe 0ba9ce9c8e fix(@wallet): token not always visible
fixes #12508
2023-10-23 16:05:19 +02:00
Igor Sirotin e5b68e8823
fix: messaging settings and url unfurling fixes (#12457)
* remove browser selection setting
* remove main whitelist settings. replace tenorGif setting with gifUnfurlingEnabled
* remove old unfurling
* move history nodes section
* disable outdated e2e tests step
* remove isGifWidgetEnabled setting
* fix: StatusMessage height when gif unfurling disabled

---------

Co-authored-by: Anastasiya Semenkevich <anastasija.ig@gmail.com>
2023-10-18 10:03:32 +01:00
Michał Cieślak d33e8f23a0 feat(Storybook): Add storybook targets to Makefile
Adds target to run a storybook itself (run-storybook) and also
target to run all tests from storybook directory (run-storybook-tests):
- unit tests for storybook itself
- unit tests for the app using the same stubs mechanism (in offscreen
  mode)
- PagesValidator

Tests are run via ctest.

Closes: #12448
2023-10-17 09:19:51 +02:00
Michał Cieślak ba7d775dac feat(Storybook): Re-run tests automatically for opened page
Closes: #12331
2023-10-16 13:37:08 +02:00
Michał Cieślak 8e5cf758fd chore(Storybook): Exclude TestRunnerController component for handling test runs 2023-10-16 13:37:08 +02:00
Michał Cieślak 5784f4cd87 feat(Storybook): Open tests dir from the app 2023-10-16 13:37:08 +02:00
Michał Cieślak 8a996a9175 feat(Storybook): Add tests runner available from the app 2023-10-16 13:37:08 +02:00
Michał Cieślak cd870a2e56 chore(Storybook): Rename qml-tests dir 2023-10-16 13:37:08 +02:00
Michał Cieślak 5556c2a52f chore(Storybook): Exclude DirectoryFilesWatcher from PagesModel, add tests 2023-10-16 13:37:08 +02:00
Michał Cieślak a567910f3b chore(Storybook): Add label to Figma preview window when empty 2023-10-16 13:37:08 +02:00
Alex Jbanca 424da13346 chore: fix StatusChatInput tests
Updating the `Undo` test that compares the `Undo` done in StatusChatInput with a standard TextEdit component.
Undo/Redo feature was changed by https://github.com/status-im/status-desktop/pull/12262. Now we're using a custom undo/redo logic and the undo is more granular as opposed to TextEdit.
2023-10-14 00:09:48 +02:00
Igor Sirotin 520d34240a
feature: support unfurled Status links (contact/community/channel) (#12303)
* chore: move `LinkPreviewThumbnail` to a separate file
2023-10-13 14:36:07 +01:00
Khushboo Mehta bc85bc8cd3 feat(@desktop/wallet): Include watch only per account
fixes #12305
2023-10-13 12:11:36 +02:00
Alex Jbanca fcd9567677 feat: Add settings card to control link previews settings in chat input
This commit adds the link preview settings card in the chat input area and connects the settings to the controller.

Not included in this commit: Backend for the preserving the settings, syncing the settings and enforcing the settings on the backend side.

Whenever an url is detected in the chat input area, the link preview settings card is presented. This card enables the user to choose one of the following options:

1. `Show for this message` - All the link previews in the current message will be loaded without asking again. The current message can be defined as the message currently typed/pasted in the chat input. Deleting or sending the current content is resetting this setting and the link preview settings card will be presented again when a new url is detected.
2. `Always show previews` - All the link previews will be loaded automatically. The link preview settings card will not be presented again (in the current state, this settings is enabled for the lifetime of the controller. This will change once the settings are preserved and synced)
3. `Never show previews` - No link preview will be loaded. Same as the `Always show previews` option, this will be preserved for the lifetime of the controller for now.
4. Dismiss (x button) - The link preview settings card will be dismissed. It will be loaded again when a new link preview is detected

The same options can be loaded as a context menu on the link preview card.

Changes:
1. Adding `LinkPreviewSettingsCard`
2. Adding the settings context menu to `LinkPreviewSettingsCard` and `LinkPreviewMiniCard`
3. Connect settings events to the nim controller
4. Adding the controller logic for settings change
5. Adding the link preview dismiss settings flag to the preserverd properties and use it as a condition to load the settings.
6. Adding/Updating corresponding storybook pages
2023-10-12 15:40:01 +03:00
Alex Jbanca 422bb2c064 feat: Generate link previews in StatusChatInput - Small updates + Add basic zoom to Storybook InspectionWindow 2023-10-12 14:08:28 +03:00
Alex Jbanca 3ce9d66d25 feat: Generate link previews in StatusChatInput - introduce ChatInputLinksPreviewArea
This component is a wrapper for LinkPreviewMiniCard and StatusChatInputImageArea. The purpose of this component is to arrange the cards in a row layout and provide scrolling behaviour. This component also has an opacity mask that will provide a fade out appearance when the items are scrolled out of view.

+ adding storybook page
+ integrate ChatInputLinksPreviewArea in StatusChatInput
2023-10-12 14:08:28 +03:00
Alex Jbanca 2c8ad61947 feat: Generate link previews in StatusChatInput - introduce LinkPreviewMiniCard
Adding LinkPreviewMiniCard component based on Figma designs. This component is similar to LinkPreviewCard, but has less info and a different format.

There is also some additional functionality attached to this card: close button, reload button and hovered state. The LinkPreviewMiniCard can have multiple states, based on content type and loading state.

+ Adding storybook page

Figma design: https://www.figma.com/file/Mr3rqxxgKJ2zMQ06UAKiWL/💬-Chat⎜Desktop?type=design&node-id=22341-184809&mode=design&t=151TjdzkzI7flR4P-0
2023-10-12 14:08:28 +03:00
Alex Jbanca 2c5039f7d3 chore: Fix or skip Storybook qml tests 2023-10-11 16:42:00 +03:00
Lukáš Tinkl 7171094f01 fix(storybook): fix broken pages
It was mostly some missing or non-existing properties or the component
got moved somewhere else

Fixes #12285
2023-10-06 14:59:02 +02:00
Khushboo Mehta 8252baf846 fix(@desktop/wallet): Selecting other than the mainnet doesn't display all tokens in the send popup
fixes #12255
2023-10-05 17:19:00 +02:00
Lukáš Tinkl 88df8e4554 storybook: remove figma.json for good
the figma links can now be added directly inside a SB page
2023-10-05 10:12:48 +02:00
Lukáš Tinkl bcb89c8818 fix(SyncingEnterCode): tweak to local pairing messaging
... to clarify both devices should be on the same network

- add the view to storybook
- fix some layout/margin issues

Fixes #12261
2023-10-05 10:12:48 +02:00
Lukáš Tinkl f2f954c24b chore(storybook): unbreak (Device)SyncingViewPage
and make it configurable a bit
2023-10-05 10:12:48 +02:00
Mikhail Rogachev cd4d92aef0
Feat/issue 11795 introduce KickedPending and BannedPending states (#12068)
* feat(Communities): Introduce pending states for kick, ban and unban actions

Close #11795

* feat(Communities): Show bannedMembers pending states on the UI

* feat(Communities:) make kick, ban and unban methods async

* feat(Communities): add signal about community membership status change

* fix(Communities): move membership managment to to the appropriate model

* chore: review fixes
2023-10-05 00:41:51 +03:00
Michal Iskierko 5981e946fd feat(@desktop/communities): Adjust owner and master tokens deployment flow to new API
Issue #11954
2023-10-04 12:08:50 +02:00
Michał Cieślak 15fcdc9314 feat(Storybook): Drag and drop pages to QtCreator 2023-10-03 21:32:41 +02:00
Michał Cieślak 75dd3f7cb6 chore(Storybook): Figma links moved from figma.json to pages
Closes: #12229
2023-10-03 21:32:41 +02:00
Michał Cieślak 853641fb89 feat(Storybook): read Figma links directly from pages 2023-10-03 21:32:41 +02:00
Lukáš Tinkl c155c9c9d0 feat: add objectName to Inspect window (if present)
Closes #12314
2023-10-03 14:07:18 +02:00
Noelia 15927b0705 feat(Community/FinaliseOwnership): Added finalise flow in the app
- Button from community column.
- Button from community overview.
- Updated storybook pages (settings overview related) according to new components requirements.

Part of #12174
2023-10-03 13:53:42 +02:00
Noelia 862d4f3add feat(Community/FinaliseOwnership): Created needed finalise popups
- Created finalise popup and added it into storybook.
- Decline popup created and added support in storybook.

Part of #12174
2023-10-03 13:53:42 +02:00
Lukáš Tinkl cee0351ca0 feat: add ManageShardingPopup
which can disable or launch editting of the shard index for a given
community

- integrate it into community settings
- add a dedicated storybook page and make it also available from
EditSettingsPanelPage

Needed for https://github.com/status-im/status-desktop/issues/12197
2023-10-02 15:04:17 +02:00
Lukáš Tinkl f70609119c feat: add EnableShardingPopup
which can configure and enable the shard index for a given community

- integrate it into community settings
- add a dedicated storybook page and make it also available from
EditSettingsPanelPage

Needed for https://github.com/status-im/status-desktop/issues/12197
2023-10-02 15:04:17 +02:00
Lukáš Tinkl f3a5a61771 feat: add "sharding" section to Community Settings
Needed for https://github.com/status-im/status-desktop/issues/12197
2023-10-02 15:04:17 +02:00
Khushboo Mehta d19e95cb5b chore(@desktop/wallet): SendModal: complete storybook flow
closes #12244
2023-10-02 12:27:15 +02:00
Michał Cieślak d5317a91ba feat(Storybook): Button for opening pages directory
Closes: #12271
2023-10-02 11:17:56 +02:00
Michał Cieślak e94554b209 feat(Storybook): reflect pages model changes in sections decorator model
Closes: #12216
2023-10-02 11:17:56 +02:00
Michał Cieślak f48493a5e4 feat(Storybook): Track pages dir in PagesModel 2023-10-02 11:17:56 +02:00
Michał Cieślak 0107203a46 feat(Storybook): Validator app to check if all pages can be compiled
Closes: #12282
2023-09-29 14:59:34 +02:00
Khushboo Mehta 29629a3d6d fix(@desktop/wallet): Send Modal Improvements & missing features
fixes #12243
2023-09-26 12:58:28 +02:00
Noelia 57cfc425fc feat(TransferOwnershipAlertPopup): Add information popups when owner token is not created yet
It opens information popups when community owner token is still not created:

- From Overview / Transfer ownership button
- From Overview / How to move control node button
- Added support into storybook

Closes #12173
2023-09-22 13:50:41 +02:00