Commit Graph

6065 Commits

Author SHA1 Message Date
Igor Sirotin 9881c15f3c
Fix/issue 12356 no shared url data (#12557)
* refactor service `parseSharedUrl` functino
* drop unused RootStore functions
* refactor Utils shared urls functions
* fix(MembersSeectprView): ignore shared url data
* drop `openContactRequestPopupWithContactData`
* fix loading of data to popup
2023-10-26 14:58:05 +01:00
Cuteivist b1a8fd6260
fix(@desktop/wallet): Prevent nil conversion to qvariant (#12546) 2023-10-26 10:01:52 +02: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
Anthony Laibe 466b57a536 fix(@wallet): sending big number
fixes #12497
2023-10-25 11:29:47 +02:00
Anastasiya Semenkevich 6046e781f1 chore(@AppMain.qml): add object name for toast message 2023-10-25 12:03:48 +03:00
Anastasiya Semenkevich 5a157c5f4e chore(@AppMain.qml): fix misspelling 2023-10-25 10:18:56 +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
Igor Sirotin b9867c2463
feature: copy channel link menu action (#12482) 2023-10-24 16:13:25 +01:00
Alex Jbanca 3050e97c9c feat: Link preview settings to Status chat input unfurling mode
Changes:
1. Update privacy controller to react to external unfurling settings change
2. Add handler to input controller and react to external unfurling settings change
3. Small other fixes
2023-10-24 17:35:07 +03:00
Alex Jbanca 0a857cbf9c fix: Preserve the previous cursor position on `undo/redo` in StatusChatInput 2023-10-24 17:04:14 +03:00
Alex Jbanca 337a81fc49 fix: Update link preview border to match the new design
+ fix link preview highlighting
2023-10-23 18:53:34 +03:00
Anthony Laibe 0ba9ce9c8e fix(@wallet): token not always visible
fixes #12508
2023-10-23 16:05:19 +02:00
Alex Jbanca d7707a14a8 feat: Show toast notifications when the link preview setting changes from chat input 2023-10-23 16:33:17 +03:00
Alex Jbanca 1cd00b77a0 fix(StatusQ): Extend StatusToastNotification to support RichText and allow larger content
Changes:
1. StatusToastMessage now supports dynamic content height
2. Add new StatusToastMessage type: Danger
3. Update StatusToastMessage to support RichText content
4. Fix StatusQ sanboxapp compilation
5. Add the new StatusToastMessage content to sandbox
2023-10-23 16:33:17 +03:00
Anastasiya Semenkevich 74cede573d chore(@AccountView.qml): adding object names for testing purposes 2023-10-20 13:57:20 +03:00
Anastasiya Semenkevich 1f8b44fbfb chore(@WalletKeyPairDelegate.qml): add object name for keypair delegate item 2023-10-18 16:14:21 +03: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 ae915b6036 feat(@desktop/wallet): align emoji with mobile
Closes: #12421
2023-10-17 13:21:26 +02:00
Stefan 7b24a398b0 fix(wallet) deconflict import of Utils in wallet.RootStore
Closes: #12427
2023-10-17 09:57:35 +02:00
Igor Sirotin 22ce35cf9c
feature: support url unfurling settings (#12441) 2023-10-16 17:05:55 +01: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 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
Michal Iskierko 4bd3d672c6 fix(@desktop/communities): Fix enabling/disabling mint button
Fix #12370
2023-10-15 21:33:24 +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
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
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
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
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
Noelia e36ace38b2 fix(Onboarding): Recover from seed - Fetching data screen layout
Fixes #10939
2023-10-10 12:47:16 +02:00
Lukáš Tinkl 78b4fee587 fix: Add Copy/Open Link as context menu actions on GIF message previews
also fix the issue of not having the respective image context menu for
the new unfurled links component

Fixes #12183
2023-10-10 12:27:46 +02:00
Khushboo Mehta b5723db3c9 fix(@desktop/wallet): Wallet settings - various small enhancements identified via mobile wallet settings work
fixes #11675
2023-10-09 18:46:57 +02:00
Khushboo Mehta 601be63774 feat(@desktop/wallet): Wallet Setting: New designs for edit network settings
fixes #11751
2023-10-09 18:01:01 +02:00
Anthony Laibe 18c37fbdac feat(@wallet): Enable sepolia network 2023-10-09 15:06:52 +02:00
Igor Sirotin 3321708629
fix: process community info requests fails (#12357) 2023-10-07 09:47:48 +01:00
Ivan Belyakov 338e6f5fa9 Fixed locale issues for balance chart tooltip and x-axis labels 2023-10-06 15:53:30 +02:00
Ivan Belyakov 955169112d feat(wallet): Fixed balance history chart to use new balance history data based on transfers 2023-10-06 15:53:30 +02: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 7bdec15353 fix(@desktop/wallet): Replaced watched-only with watched address/adresses text 2023-10-06 13:08:08 +02:00
Khushboo Mehta e5166c11d3 fix(@desktop/wallet): SendModal broken when token symbol is very long
fixes #12336
2023-10-05 17:19:13 +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
Valentina1133 a9ebf7729f
chore(@SyncCodeView.qml): object name for syncing enter code object added (#12346) 2023-10-05 16:04:54 +07: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 621090174a fix(GetSyncCodeInstructionsPopup): mention same network
- integrate it into Settings/Syncing
- simplify the GetSyncCodeInstruction structure
2023-10-05 10:12:48 +02:00
Lukáš Tinkl 541c880378 fix(StatusDialogHeader): fix icon size
should be 24, not 20 according to Figma
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
Jonathan Rainville 9dc5527627 fix(chat): fix chat highlighted because it was never marked as read
Fixes #11365
2023-10-04 09:24:29 -04:00
Anastasiya Semenkevich a227db592d chore(@EditNetworkForm.qml): add object names to main input objects 2023-10-04 18:27:01 +06: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
Cuteivist 158bb87b4a
@bug(wallet/activity): Implemented collectibles model (#12294) 2023-10-03 14:15:11 +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
Cuteivist 7d852c3565
feat(@desktop/wallet): Refresh recipients model (#12298) 2023-10-03 12:48:47 +02:00
Shinnok 7cb1746c84
fix(messenger_contacts): Fix target name in confirm dialog for contact remove 2023-10-03 13:40:36 +03:00
Anastasiya Semenkevich 6b0e541bf1 chore(@EditNetworkView.qml): adding object name for loader 2023-10-03 16:21:03 +06:00
Anastasiya Semenkevich 4d3d13a3f5 Update EditNetworkView.qml 2023-10-03 13:18:31 +06:00
Anastasiya Semenkevich bf223ce83c chore(@EditNetwork): added object names 2023-10-02 16:27:48 +03:00
Lukáš Tinkl ac1adcea32 fix(sharding): use StatusTextArea for multiline readonly text 2023-10-02 15:04:17 +02:00
Lukáš Tinkl 6162c3f63a fix(StatusTextArea): readOnly mode fixes
- use the correct background and outline colors when we are in read-only
mode
- detect active focus using `cursorVisible`; we can have focus even when
being readOnly
- do not hardcode impicit size, TextArea/TextEdit already has its own;
this way we can also properly display a one line text
2023-10-02 15:04:17 +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 e1941fdedb fix(StatusCheckBox): set the correct font size
since we are taking over the `font` properties from the toplevel control
for the text, need to setup the correct `pixelSize` as well
2023-10-02 15:04:17 +02:00
Lukáš Tinkl b80c742b33 fix(StatusBaseInput): fix outline border color
set the "active" outline color only when the cursor is visible;
rationale: we can have focus even if we are read only!
2023-10-02 15:04:17 +02:00
Lukáš Tinkl b8eccc67a2 feat: expose `animating` property
to find out whether the pages in the stack are currently being animated
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
Lukáš Tinkl 892c4eaa2f feat: add a setting to enable creation of sharded communities
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
Anastasiya Semenkevich 5d17a6ba7c chore(@StatusListItem.qml): object name for mouse area 2023-10-02 12:12:38 +03:00
Lukáš Tinkl b400a71304 fix: update Privacy and Terms of Use documents
to the latest official versions, as of 2023-09-22

Fixes #12279
2023-10-02 10:41:37 +02:00
Jonathan Rainville 9c1bd17bd5 fix(RootStore): add missing copyToClipboard function 2023-09-29 11:10:12 -04:00
Khushboo Mehta bcfabd3998 fix(@deaktop/wallet): fixes below issues in sendModal:
1. A dropdown arrow should not be visible in the context of selecting token
2. Unnecessary padding added when expanding balances in the send modal popup

fixes #12254,#12256
2023-09-29 15:49:33 +02:00
Khushboo Mehta 91de960e08 fix(@desktop/wallet): Wallet: Send a multi tx, the notification for the 2nd transfer is not visible
fixes #12242
2023-09-29 14:43:45 +02:00
Stefan e805a9bf26 feat(wallet) user can repeat a Send transaction from activity view
Enable user action to repeat a Send transaction from the activity view
(HistoryView) and details view (TransactionDetailView).

Extend AppMain send modal entry and SendModal API to allow for selecting
all the required parameters for repeating a transaction.

Optimize update of start timestamp for activity filter only when user
attempts to open the filter panel.

Closes #12122
2023-09-29 14:34:16 +02:00
Anastasiya Semenkevich 9af84a25d6 chore(@WalletNetworkDelegate.qml): add objectname for text label 2023-09-29 10:46:35 +03:00
Noelia 23966ec2cb fix(Wallet/Collectibles): Applied special collectible format only to community special collectibles
- Updated default value for `communityPrivilegesLevel` to `2 = Community`.
- Added `communityId` checker in `CollectiblesView`, `CollectibleDetailView` and `WalletLayout`.

Closes #12283
2023-09-28 13:40:00 +02:00
Dario Gabriel Lipicar b7d4cb9605 feat(@desktop/wallet): implement collectibles error states and retry
Fixes #11636
2023-09-27 17:21:19 -03:00
Sale Djenic 1699189cec feat(@desktop/keycards): managing mocked keycards from the separate window 2023-09-27 18:20:43 +02:00
Sale Djenic d107a9f90b feat(@desktop/keycards): managing mocked keycards when running keycard flows 2023-09-27 18:20:43 +02:00
Anastasiya Semenkevich 38c4295242 chore(@NetworksView.qml): added object name property for network items 2023-09-27 11:28:44 +03:00
Anthony Laibe 4767c705df fix(@wallet): toggle network
fixes #12247
2023-09-26 15:48:13 +02:00
Khushboo Mehta 29629a3d6d fix(@desktop/wallet): Send Modal Improvements & missing features
fixes #12243
2023-09-26 12:58:28 +02:00
Noelia 89a559745b feat(Wallet/Collectibles): Added special format for owner and tmaster community tokens
- Updated `CollectibleDetailsView` to show owner and tMaster token collectible types with the correct design.

- Updated `CollectiblesView` to show owner and tMaster token collectible types with the correct design.

- Modified send footer option if collectible selected is an owner token.

- Added logic to wallet rootstore to handle selected collectible data.

- Reverted changes on property selectAccount in sendModal

Closes #12172
2023-09-26 12:44:15 +02:00
Anastasiya Semenkevich 6cdc631f04 chore(@sync_code_qml): added object names for testing purposes 2023-09-26 09:00:33 +03:00
Lukáš Tinkl e6408724c9 feat(settings): add Privacy Statement and Terms of Use
- bundle those 2 documents as Markdown
- some UI fixes according to latest Figma

Fixes #12192
2023-09-25 14:09:45 +02:00
Lukáš Tinkl 9e13e5f1cf feat: implement a C++ helper to read contents of a text file
uses `QQmlFileSelector` to choose the correct variant and `QFile` for
the actual reading
2023-09-25 14:09:45 +02:00
Lukáš Tinkl b4958689bd fix: fixup left margin in settings to be 64px
as intended in Figma; also fix the icon size to be 24px
2023-09-25 14:09:45 +02:00
Teodor M. Ionita 8969b410f4 fix(StatusChatInput): allow image drop only if currently visible
Fixes #10885
2023-09-25 14:08:18 +03:00
Michał Cieślak c61fd6057b chore(Tracer): Simplify by using Timer instead of Animation 2023-09-22 18:17:31 +02:00
Shinnok e532abb448
fix(StatusChatInput): New handler method for large messages
Instead of silently cutting off user text beyond the 2000
char limit, handle it more gracefully within certain limits.

Closes #11767
2023-09-22 17:25:38 +03:00