Commit Graph

8608 Commits

Author SHA1 Message Date
Michał Cieślak bfcf891e49 General: Add Storybook tests to CI
Runs all tests from Storybook directory via ctest:
- tests for Storybook itself
- UI unit tests using the same stubs mechanism as Storybook pages
- PagesValidator checking if SB pages are compilable

Closes: #12213
Closes: #12437
2023-10-18 13:50:35 +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
Sale Djenic e1149c9227 feat(@desktop/wallet): support keycard authentication for transactions
Closes: #8566
2023-10-18 08:55:48 +02:00
Jonathan Rainville 48d2f72876 feat(sync): sync and pair 1-1 chats and groups
Fixes #10324 and https://github.com/status-im/status-go/issues/3547
2023-10-17 15:04:47 -04:00
Dario Gabriel Lipicar febc2d061f feat(@desktop/wallet): support received community collectibles event
Fixes #12425
2023-10-17 13:47:43 -03:00
Sale Djenic ae915b6036 feat(@desktop/wallet): align emoji with mobile
Closes: #12421
2023-10-17 13:21:26 +02:00
Anthony Laibe e31d8ebd3e feat(@wallet): arbitrum sepolia 2023-10-17 10:05:51 +02:00
Khushboo Mehta 246f58ef94 fix(@desktop/wallet): (tokens) unknown RPC method wallet_updateVisibleTokens
fixes #12405
2023-10-17 09:59:29 +02:00
Stefan 7b24a398b0 fix(wallet) deconflict import of Utils in wallet.RootStore
Closes: #12427
2023-10-17 09:57:35 +02: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
Igor Sirotin 22ce35cf9c
feature: support url unfurling settings (#12441) 2023-10-16 17:05:55 +01:00
Jakub Sokołowski cefafbccc6
chode(ci): drop outdated fix for client builds
This hack was necessar before the proper fix was applied in:
https://github.com/status-im/status-desktop/pull/11955

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-16 17:08:39 +02:00
Lukáš Tinkl 6891c36cb6 fix: disable importing channel from discord
when another import is already in progress

Fixes #12239
2023-10-16 15:40:24 +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 0caec2ab1c fix(QClipboardProxy): check if mimedata is not null
Pointer returned by QClipboard::mimeData may be null, e.g. during
tests in headless mode, causing segfault.
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
Sale Djenic fd5e8127c7 fix(@desktop/general): env vars evaluation fixed
Env vars were read correctly and evaluated during the runtime, but then
assigned to a const evaluated during the compile time and that const was
used in the code, leading to ignoring a real env value.
2023-10-16 13:18:35 +02:00
Lukáš Tinkl 607a7acbd1 fix: CTRL+K navigation doesn't work for 1-1 chats (only for communities)
make a few "fixups" for OneToOne and Group chats so that we set the
correct `sectionId` and `sectionName`

Fixes #12264
2023-10-16 11:37:21 +02:00
Michal Iskierko 4bd3d672c6 fix(@desktop/communities): Fix enabling/disabling mint button
Fix #12370
2023-10-15 21:33:24 +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
Michał Cieślak ce18a52171 chore(StatusChatInput): Move inline LinkPreviewSettingsCard's menu to separate file
Because of https://bugreports.qt.io/browse/QTBUG-90740 inline context menu causes tests for StatusChatInput crashing (stack overflow) on 5.15.2 (this version is used on CI). The easiest option to solve that problem is moving inline component to a separate file.

Closes: #12435
2023-10-13 16:20:09 +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
Lukáš Tinkl 9581e6deb6 fix(ImportCommunityPopup): no UI information when requesting info failed
- track the import progress manually as
`root.store.getCommunityDetails(key)` can optionally return `null`
immediately if the community is not known and launch an async task
- as an additional measure, since the above async call sometimes never
finishes, add a `Timer` that unsets the internal `loading` state

Fixes #12358
2023-10-13 14:02:34 +02:00
Khushboo Mehta bc85bc8cd3 feat(@desktop/wallet): Include watch only per account
fixes #12305
2023-10-13 12:11:36 +02:00
Jakub Sokołowski 2c5eeea503
feat(ci): add USE_MOCKED_KEYCARD_LIB parameter
It will default to `true` for Linux builds except release ones.
This setting can always be overriden manually for any build.

Resolves:
https://github.com/status-im/status-desktop/issues/12412

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-13 09:02:45 +02:00
Jakub Sokołowski ac935b00d7
chore(e2e): rename TEST_ENVIRONMENT to STATUS_RUNTIME_TEST_MODE
Because the environment variable name is far too generic and barely
means anything. It needs to clearly indicate that it's supposed to be
used at runtime and it changes how the Status app behaves.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-13 09:02:44 +02:00
Jakub Sokołowski 55833dad2d
chore(keycard): add USE_MOCKED_KEYCARD_LIB
Use of TEST_ENVIRONMENT variable is just adding confusion, since that
variable is supposed to be used at runtime and not build time.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-13 09:02:33 +02:00
Lukáš Tinkl 629d8b62b1 fix: Update the Beta dialog design to better fit the content
- no logo
- tighter content, smaller vertical spacing

Fixes #12400
2023-10-12 16:27:30 +02:00
Lukáš Tinkl d6648c4a5d chore: add a deprecation warning and some forward compatibility
... for `title` and `subtitle`
2023-10-12 16:27:30 +02:00
Alex Jbanca 331f27b52a feat: highlight the hovered hyperlink and link preview 2023-10-12 15:46:20 +03: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
Khushboo Mehta dd8c3173f6 fix(@desktop/wallet): Wallet -> Setting -> Edit network: toast message is not displayed when reverting to default
fixes #12419
2023-10-12 15:36:36 +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 d32af78bc0 feat: Generate link previews in StatusChatInput - Adding hyperlink formatting to StatusChatInput
Introducing TextEditHyperlinksFormatter.qml. This component is attached to a text edit and will provide the hyperlinks formatting based on the urls detected in the text. The URL detection is implemented in the backend and this component will receive the urls as a model. The formatting is done using regular expressions and the hyperlinks are inserted automatically in the TextEdit component. The purpose of this component is to insert the hyperlinks, remove the hyperlinks and update the hyperlinks style when a specific hyperlink needs to be highlighted.

+ integrate in StatusChatInput
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 ebe102ac8a feat: Generate link previews in StatusChatInput - introduce remove/reload link to link preview model
1. Updating the link preview model to allow remove URL data. This will discard the link preview data and mark the item as immutable. When an item is immutable it won't accept further updates.

2. Remove reset model when the model urls is changing. Use insert/update/remove rows to avoid any unnecessary UI updates and visual artefacts.

2. Add reload link API. It will request again the link preview
2023-10-12 14:08:28 +03:00
Lukáš Tinkl 2abe0358fc feat: Add URL trust options when the user clicks on a link
- add a popup asking the user before clicking on an unfurled link
preview
- add a checkbox for the above popup to remember the trust for such
domain
- use local Settings to persist the "trust domain" locally; for
global persistence across devices, see
https://github.com/status-im/status-go/issues/4132

Closes #12388
2023-10-12 10:57:15 +02:00
Alex Jbanca 56547c0ae1 feat: Arrange link previews in messages view in a flow layout
Changes:
1. Replace ColumnLayout with Flow
2. Move the image previews up to be presented before the link previews
2023-10-12 11:08:51 +03:00
Dario Gabriel Lipicar 328d4f75e5 feat: trigger collectibles refresh on transfer
Fixes #9823
2023-10-11 16:51:43 -03:00
Alex Jbanca 2c5039f7d3 chore: Fix or skip Storybook qml tests 2023-10-11 16:42:00 +03:00
Igor Sirotin ac8fb8ffdb
fix: attach link previews in `SendImages` (#12402) 2023-10-11 13:28:52 +01:00
Anton Iakimov 834753351c
update status/wakuv2 fleets DNS discovery enrtree
https://github.com/status-im/infra-misc/issues/171
2023-10-10 17:12:31 +02:00
Noelia fd1e6ac657 fix(JoinCommunity): Unable to join community
Fixes #12351
2023-10-10 15:22:57 +02:00
Noelia f5b767ec15 feat(Advanced): Add toggle to enable managing community on testnet
Fixes #12276
2023-10-10 15:22:03 +02:00