Commit Graph

523 Commits

Author SHA1 Message Date
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
Belal Shehab f0bcea0044
fix(wallet): Renamed KeyPair to key pair throughout the entire app (#15051)
* fix(wallet): Renamed KeyPair to key pair throughout the entire app

replaced the keypair occurances with key pair in the entire qml ui files
fixes: #13612 
---------

Co-authored-by: belalshehab <belal@status.im>
Co-authored-by: Valentina Novgorodtceva <valentina@status.im>
2024-06-07 16:29:09 +03:00
Khushboo Mehta c9641bb0b9 feat(@desktop/wallet): Implementation of One Time & Recurrent tab in Buy Popup
fixes #14819
2024-05-31 12:47:37 +02:00
Khushboo Mehta 81d7ca32b0 feat(@desktop/wallet): Swap modal launch flows
fixes #14628
2024-05-28 10:11:24 +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
Roman Chornii 55edd94401
fix(ProfileDescriptionPanel): Profile settings -> Identity : Addition of validation to bio field (#14772)
- Added validator to the bio component to allow only ascii and emoji characters
This PR fixes #13623
2024-05-21 00:13:55 +03: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
Stefan ee72ec7aee feat(dapps) add DAppsService component and ConnectDAppModal
Implement the initial Pairing user workflow and disconnect option for
the first session.

Also

- rename pairing modal accordingly (`PairWCModal.qml`) to make room for the proper
`ConnectDAppModal.qml`
- basic tests for service helpers
- update storybook to reflect the new user workflows

Closes #14607
2024-05-20 15:09:57 +02:00
Cuteivist b771ac6aed
feat: Change optimism network short name (#14766) 2024-05-16 18:37:54 +02:00
Cuteivist d70f2dcf23
feat(@wallet): Show lightbox when clicking collectible (#14168) 2024-05-15 11:36:56 +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
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
Sale Djenic 42a60642e8 fix(wallet): user is unable to authenticate using biometrics
Fixes #14404
2024-04-12 07:46:00 +02:00
Alexandra Betouni 53db09412a feat(ProfileShowcasePopup): Adding interactions in delegates
Closes #13702
2024-04-05 12:31:11 +03:00
Mykhailo Prakhov 1e155046e7
fix(@desktop/communities): request to join fixes (#14287) 2024-04-04 18:03:10 +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
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
Khushboo Mehta f45a39bfcf feat(@desktop/wallet): Link out from collectible details view to opensea
fixes #13918
2024-03-27 17:47:06 +01:00
Lukáš Tinkl 56b9b9db11 fix: Display name is not validated properly (UI part)
- do not use the `alphanumericalExpanded:
/^$|^[a-zA-Z0-9\-_\.\u0020]+$/` regex which contains the dot (`.`)
character too; be explicit here and do what the error message says
- the space character at start/end is validated above with the
`startsWithSpaceValidator`

CHERRY-PICK-TO: 2.28

Fixes #14127
2024-03-25 19:06:54 +01: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
Dario Gabriel Lipicar 74440c81e5 feat(@desktop/wallet): add support for EUROC 2024-03-19 16:03:31 -03:00
Mykhailo Prakhov f3d2d0a809
feat(@desktop/community): add new CommunityMemberState - CommunityMemberBanWithAllMessagesDelete (#14028) 2024-03-19 16:17:02 +01:00
Stefan 0958860bc9 fix(qml): fix etherscan links for all networks
Also refactor code for reusability and readability.

Closes: #13986
2024-03-19 15:14:40 +01:00
Alex Jbanca 4ca7e9b32d fix(DisplayNameValidation): Integrate duplicate display name in joined communities 2024-03-14 09:18:39 +02:00
Alex Jbanca 4ef30a91a3 feat(ProfileShowcase): Create dirty state component for the web tab and integrate the UI 2024-03-13 10:02:30 +02:00
Lukáš Tinkl 5b1f2e8de2 fix(Profile flow) Validate nickname on edit
- align the nickname validation and min/max limits with displayName

Fixes #13591
2024-03-12 15:55:31 +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
Noelia a9b5d8fcf7 feat(ProfileShowcase): Add search input in all tabs
- Added searcher input in header.
- Added 2 filter proxies for hidden and inshowcase models depending on search text.
- Added filter expression per showcase tab (accounts, collectibles and communities).
- Added specific placeholder when search empty.
- Added specific logic when search active.
- Added search validation.

Closes #13508
2024-03-08 10:43:07 +01:00
Mykhailo Prakhov 9b8c6aa673 feat: ban/unban/kick system and ephemeral notifications 2024-03-07 11:56:21 -05:00
Noelia b92974ffff feat(ProfileShowcase): Display counter in `In showcase` section header and elements limit
- Added counter in showcase header.
- Added placeholder when limit reached and section expanded.
- Added placeholder when limit reached and section collapsed.
- Added green animation when section collapsed and element added.
- Disabled showcase delegate context menu when limit reached.
- Dynamic tooltip offset center added.
- Added model changes tracker to track the in showcase count.

Closes #13507
2024-03-07 16:10:46 +01:00
Lukáš Tinkl 1e13d8f122 fix: [Profile flow] Nickname not updated after it was added, edited or removed
- trigger a reload of contact details when the secondary popup has been closed

Fixes #13870
2024-03-07 13:48:23 +01:00
Khushboo Mehta 3118931ab8 fest(@desktop/wallet): Update Desktop UI to correctly call the router and send
fixes #13797
2024-03-06 12:31:16 +01:00
Lukáš Tinkl d12490ab18 feat(Profile flow): Respond to/review an incoming CR
- implement the new "Reviewing contact request" popup & flow
- adjust storybook

Fixes #13519
2024-03-04 10:56:10 +01:00
Noelia babedf4272 feat(ProfileShowcase) Web tab visual updates according to new design
- Updated `AddSocialLinkModal` according to new design.
- Modified main social links items according to new design.
- Updated edit modal according to new design.
- Some text validation updates.

Closes #13511
2024-03-04 10:54:12 +01:00
Lukáš Tinkl fda1d37c5b feat(Profile flow): ID verification flows (incoming/outgoing)
- Send/request ID verification
- Reply to incoming ID request
- Review ID verification reply
- adjust SB and add shortcuts to trigger the various states of the ID
verification flows

Fixes #13709
Fixes #13745
Fixes #13747
2024-03-04 09:56:30 +01:00
Lukáš Tinkl 4d3745d4b2 feat(Profile flow) Mark as ID verified / remove verification
- implement two new actions and popups to directly mark a contact as "ID
verified" and remove the verification thereof respectively
- do not hardcode the secondary button inside ProfileDialogView and make
it a Loader
- make the CommonContactDialog contents scrollable

Fixes #13711
2024-02-26 16:11:56 +01:00
Noelia 1dc03624d6 feat(ProfileShowcase): Drop area behaviour / design when sections expanded
- It updates `ProfileShowcasePanel` with new drop area design adding shadows, changing drop areas design and sizes.

- It adjusts `ShowcaseDelegate` according to design, ie: heigh and background colour on dragActive.

Closes #13509
2024-02-23 10:13:13 +01:00
Sale Djenic 34f801231c feat(savedaddresses): saved address details popup implementation
Within this commit a new popup is introduced with the requested UI effect.

Closes #13096
2024-02-22 11:03:10 +01:00
Lukáš Tinkl 343cfa0982 feat(Profile flow): Block/unblock user
- implement block and unblock user popups with optional "Remove contact" and "Remove ID verification" check boxes
- emit (combined) toasts

Fixes #13522
2024-02-21 19:39:05 +01:00
Lukáš Tinkl e46f6c311c feat(Profile flow): Remove a contact
- implement the new remove contact confirmation popup

Fixes #13521
2024-02-20 20:11:56 +01:00
Lukáš Tinkl 4a3eb4ce18 feat(Profile flow) Mark as untrusted
- add new popup for marking a person as untrusted
- optionally display checkboxes to remove ID verification or the contact
- emit toasts

Fixes #13520
2024-02-19 14:25:35 +01:00
Lukáš Tinkl 2fa65968c0 fix(Profile flow): Send a contact request (CR)
- make `SendContactRequestModal.qml` use the common dialog, use the
contact details if we already have it
- make some minimal changes to the "Send ID verification" flow since it
shares the same dialog
- simplify the `CommonContactDialog.qml` footer/buttons handling
- adjust the menu item texts
- emit toasts when the action is performed
- display a tooltip over the compressed elided key

Fixes #13518
2024-02-16 16:47:45 +01:00
Alex Jbanca 610a9dc115 feat(ProfileShowcase): Update display name validator error messages 2024-02-16 14:10:14 +02:00
Lukáš Tinkl 275d4fb349 fix(Profile flow): Adding/changing/removing a nickname
- introduce a shared `CommonContactDialog.qml` component, to be used in
all profile/contact related flows
- make `NicknamePopup.qml` use the common dialog
- adjust the menu item text and add a new "Remove nickname" item
- remove unused `DisplayNamePopup.qml`
- emit toasts when the nickname changes

Fixes #13513
2024-02-16 10:52:58 +01:00
Alex Jbanca 8a69f3bc63
fix(SeedPhrase): Fixing seed phrase validation (#13496)
* fix(SeedPhrase): Fixing seed phrase validation

1. Validate each word after the editing is finished
2. Fixing the seed phrase suggestions where the suggestions box was hidden behind other ui elements
3. Propagate editingFinished signal in StatusBaseInput, StatusInput, StatusSeedPhraseInput
4. Fixing undefined `mnemonicIndex` errors

* fix: Refactoring of SeedPhraseInputView

Remove duplicated code and use EnterSeedPhrase component

+ Added storybook page

* fix(Onboarding): Fixing seed phrase validation on windows

The seed phrase validation fails on windows due to the dictionary line endings

* chore(squish): Update e2e tests to the new enter seed phrase panel construction

* fix: Load english dictionary from local file using StringUtils
2024-02-14 15:50:14 +02:00
Michal Iskierko 46c69cf0a8 fix(@desktop/permissions): Hide permissions list in sharing addresses dialog if only base permissions are set
Fix #12884
2024-02-13 12:09:26 +01:00
Lukáš Tinkl 4b24497899 fix(profile): add online status badge to profile picture
- adds the green/gray dot (aka online indicator) to Profile dialog and
context menu (via ProfileHeader and UserImage components)
- add the respective combobox to storybook too

Fixes #13480
2024-02-12 12:36:20 +01:00
Alexandra Betouni 480985ca4e
[Settings]: Added change password view (#13284)
* [Settings]: Added change password view

Closes #10037

Adding configuration options to PasswordView

* feat(ChangePassword): Integrate ConfirmChangePasswordModal

1. Integrate with backend
2. Clean unused components

* feat: Add support to restart application

1. Adding restart app support in DOtherSide
2. Integrating nimqml
3. Expose in qml in Utils

* chore: Move changeDatabasePassword call to threadpool

* chore(squish): Fix failing tests due to settings index changes

---------

Co-authored-by: Alex Jbanca <alexjb@status.im>
2024-02-09 13:31:37 +02:00
Lukáš Tinkl 319b5dd23e feat(profile dialog): General UI updates
- create new `ShareProfileDialog` with QR code + links
- align the context menu items with latest Figma designs
- add `isBlocked` to contact icons
- adjust SB to show more options and showcase models

Fixes #13416
Fixes #13417
2024-02-09 11:41:55 +01:00
Alexandra Betouni 588ad6d70b [Profile] Aligned display name max length with mobile
Closes #13456
2024-02-08 16:52:00 +02:00
Anthony Laibe 0916d1db2c feat(@wallet): 5 chars min account keypair name
fixes #13384
2024-02-06 14:14:42 +01:00
Lukáš Tinkl 9db48a986a fix(token mgmt): finish the controller refactoring
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
2024-02-02 23:48:10 +01:00
Noelia 3cbfe1cf54 feat(TokensManagement): Hide asset / collectible popup
Moved `ConfirmationDialog` popups related to hide individual assets or collectibles to `Popups`.

Part of #13293
2024-02-02 23:48:10 +01:00
Michal Iskierko 0a18dda176 feat(@desktop/chat): Displaying new type of chat message - bridge message
Show discord user as a message sender.
Show discord avatar next to user name.
Show "Bridged from Discord" label.
Open adjusted profile context menu.

Issue #13098
2024-01-30 13:06:17 +01:00
Sale Djenic bbaafa8954 feat(savedaddresses): display various cards if an address user is trying to save is known
Closes: #13280
2024-01-29 14:56:24 +01:00
Noelia aaa9937124 feat(FirstTokenReceivedPopup): Created new popup `FirstTokenReceived`
- Created new popup component.
- Created related `storybook` page.
- Integration of the popup into the app.

Closes #12366
2024-01-29 12:15:48 +01:00
Godfrain Jacques ab61784816
(fix/desktop) removing custom picture is not reflected on contact's side (#13197)
* chore: bump status-go

* (fix/desktop) removing custom picture is not reflected on contact's side

This PR fixes [9947](#9947) and contains :

- Commit to fix the changing of custom picture and having the change
  reflected on contact's side
- Commit to fix the deleting of picture and having the change reflected
  on contact's side
2024-01-26 07:54:30 -08:00
Lukáš Tinkl 3b99bcb29a fix: apply Custom order to main wallet view
also fix navigating into section/subsection

Fixes #13275
2024-01-26 11:45:24 +01:00
Sale Djenic 18303ef49c feat(savedaddresses): implement search saved address logic
Closes: #13091
2024-01-24 14:40:02 +01:00
Noelia 21a33cabd9 feat(Wallet/Toasts): Updated / added toasts related to community tokens received
- Added new role into ephemeral_notification_model: image.
- Added new view API to display ephemeral notifications with image and action.
- Added support to display asset or collectible image in a toast with different shape (circle or square).
- Default values assigned to the new parameters added in `CommunityTokensStore` meanwhile backend is not ready.
- Created page for `StatusToastMessage` in `storybook`.

Closes #13039
2024-01-23 18:40:28 +01:00
Richard Ramos 50e6011bcf chore: remove wakuV1 and status.prod/test fleets 2024-01-19 22:10:46 +03:00
Sale Djenic 1dd5f3d007 feat(savedaddresses): context menu - view activity
Part 4 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic 6eda2a4956 feat(savedaddresses): context menu - view on [network] (all available networks)
Part 3 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic e115d5e7ce refactor(wallet): show qr popup updated to meet new ui requirements
Show Qr popup is partially refactored because of the two things:
- to meet new UI requirements (introduced in the new saved addresses design)
- to make usage of that popup more generic, that it can be easily used from different places
2024-01-16 18:36:30 +01:00
Sale Djenic ff9062a1b0 feat(savedaddresses): update adding saved address popup to match new design
Implemented:
- adding selection color section
- all input field validations
- interactions within the popup
- an ephemeral notification when adding an address

Closes #13089
2024-01-04 17:45:57 +01:00
Sale Djenic 3ac13a7678 chore(savedaddresses): preparing saved address for reuse in wallet settings section
Part 1 of #13088
2024-01-04 17:45:57 +01:00
Boris Melnik c89032d0ea fix(images-formats): Remove .heif and .tif(f) from supported formats
Fixes: #13077
2023-12-22 14:04:47 +03:00
Lukáš Tinkl fe3b442155 (wallet) implement sorting for assets/collectibles views
- add the sort combobox to assets/collectibles main wallet view pages
- preserve the current view settings
- add the possibility to navigate/drill down into wallet settings
(sub)subsection
- some other minor changes/fixes

Note: currently assets can't be sorted by "1W change" and collectibles
by "Date added" due to missing backend for these

Fixes #12517
Fixes #12518
2023-12-18 10:52:48 +01:00
Michal Iskierko d2b2aae000 fix(@desktop/communities): Add toasts to send owner token process
Fix transfer ownership button.
Set correct data in SendModal.

Issue #12656
2023-12-12 16:06:04 +01:00
Mykhailo Prakhov 02589421bb
feat(desktop/communities): show community users which will be automatically joined after the ownership change in the All Members tab (#12928) 2023-12-04 20:14:13 +01:00
Boris Melnik 34097f9dea fix(new-links): Fix processing links to profile without encoded data
Fixes: #12848
2023-11-29 21:01:36 +03:00
Mykhailo Prakhov 3af73a44a5
feat: show activity center notification if user must reveal addressed to join/rejoin the community (#12856) 2023-11-28 14:41:11 +01:00
Stefan 5b9e4faa8a feat(wallet) run WebEngineView as a service in background
This is required to control the resource consumption in case of no
usage of wallet connect
Hence we load the WebEngineView only if we have active pairings and
such that SDK events are expected from the paired dapps.

Also:

- Moved the generic WebEngineView communication bridge to StatusQ
- Added basic tests for WebEngineLoader
- Add a way to know when wallet is loaded (`walletReady`)
- Add storybook support for mock of nim sections as context properties

Updates: #12639
2023-11-27 22:54:11 +01:00
Khushboo Mehta 26f29a4fe6 chore(@desktop/wallet): Unifying the various "TokensTypes" across the app
fixes #12501
2023-11-21 13:02:26 +01:00
Khushboo Mehta b315d8b9b8 chore(@desktop/wallet): Wallet: explore streamlining "all tokens model" spread across different sections
closes #12424
2023-11-15 10:40:36 +01:00
Richard Ramos de68d250a6 feat: shards.test fleet 2023-11-13 09:09:47 -04:00
Noelia 8bede5e569 feat(TransferOwnershipToasts): Created new `ToastsManager.qml` class and new nim backend for special toasts visualization
This is a first step to globalize how toasts are treated in the qml layer:
- Created `ToastsManager.qml` class to deal with all app toasts generation.
- Started moving community transfer ownership related toasts to the new manager class.
- Some small cleanup in `AppMain.qml`

Nim backend:
- Created new api method to deal with extended / action toasts.
- Updated needed model / item with new needed roles.

Closes of #12175
2023-11-10 23:38:27 +01:00
Alex Jbanca 97da863d70 fix: Use StatusSynthaxHighlighter to format the hyperlinks in the chat input
1. Move the hyperlinks formatting from qml to c++ (StatusSynthaxHighlighter)
2. Update StatusChatInputPage
3. Update tests
2023-11-10 15:55:48 +02:00
Noelia 88c09b3941 feat(@desktop/communtiies): Set signer flow
Setting signer logic and computing fees.
AC messages for different transfer ownership states.
Declining ownership logic.
Added `CommunityTokensStore.qml` stub.
Removed deprecated property.

Issue #11964
2023-11-08 14:35:51 +01:00
Noelia f1d4462f69 feat(FinaliseOwnershipPopup): Moved to Popups
- Moved finalise ownership and decline ownership popups from `ChatLayout` to `Popups`.
- Removed instance from `ChatLayout`.

Part of #12175
2023-11-08 14:35:51 +01:00
Boris Melnik 3030a689d8 feat(discord): Process import cancelled event
Fixes: #12504
2023-11-07 16:43:30 +03:00
Sale Djenic 94953bb925 fix(@desktop/wallet): send modal not working with bridge hop (mainnet to optimism)
Fixes #12615
2023-11-06 21:39:04 +01:00
Sale Djenic 9c9bcef6d2 feat(@desktop/keycard): sign flow added to the shared keycard module 2023-11-03 16:14:18 +01:00
Mikhail Rogachev c7c5ec340d
feat(Profile): Profile showcase backend (#12510)
* feat(Profile): simplified approach to reuse existing models with profile

* feat(Profile): adapt nim models for view actions (move and change visibility)

* feat(Profile): save profile showcasse model changes to the db

* feat(Profile): update profile showcase models on changes from status-go

* feat(Profile): Various bug fixes for profile showcase

* fix(Profile): Fixes storing profile order and review fixes

* chore(Profile): Rename and minimise signals for updating base model filters
2023-11-01 20:54:22 +04:00
Noelia 35ed0e5987 feat(WalletStore): Created new `TokensStore`
It creates new `TokensStore` that will provide all needed token models for all app sections:
- sourcesOfTokensModel
- flatTokensModel
- tokensBySymbolModel
2023-11-01 10:58:21 +01:00
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
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
Igor Sirotin b9867c2463
feature: copy channel link menu action (#12482) 2023-10-24 16:13:25 +01: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 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
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
Igor Sirotin 22ce35cf9c
feature: support url unfurling settings (#12441) 2023-10-16 17:05:55 +01: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
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
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