Commit Graph

1449 Commits

Author SHA1 Message Date
Noelia e8c0275137 feat(ActivityCenter): Transfer ownership messages
- It created all possible AC notification types and notification component for transfer ownership flow.
- It adds `storybook` support for the new component.
- It adds call from activity center to finalise ownership popup.

Part of #12175

a
2023-11-08 14:35:51 +01:00
Noelia 1600b5fc11 feat(SQ/Theme): Extended `getColor` allowing random colors
- It extends `getColor` method to be used also to get random colors with alpha param.
2023-11-08 14:35:51 +01:00
Igor Sirotin 52dd0abbce
feature: live status link previews (#12613)
* feat: live received status link previews
* link preview cards: active members count
* update `requestCommunityInfo` to new backend. Add `requiredTimeSinceLastRequest` arg
2023-11-06 19:26:44 +00:00
Michał Cieślak 7fe6e10b81 chore(StatusQ): Tests for SubmodelProxyModel added 2023-11-06 12:26:04 +01:00
Michał Cieślak d4d72038bd feat(StatusQ): Generic proxy model allowing setting proxies like SFPM or LeftJoinModel for submodels
It allows transforming model, including submodels outside of the view
component consuming the model. Thanks to that now there is no need
to create proxies for submodels in view's delegate. It can be done
earlies, on the level of the main view.

Closes: #12630
2023-11-06 12:26:04 +01:00
Sale Djenic ad7774799a feat(@desktop/keycard): joining communities using addresses migrated to a keycard
Closes: #12170
2023-11-03 16:14:18 +01:00
Alex Jbanca 0f07ea09da fix(LinkPreviews): Left align the message link preview tight corner 2023-11-02 14:32:22 +02:00
Noelia b1064644e8 feat(SQ/StatusBaseButton): Added `textHoverColor` property
Added `textHoverColor` property allowing more customization.
2023-11-01 10:58:21 +01:00
Michał Cieślak 04b6fb54c3 feat(LeftJoinModel): Use QAbstractItemModel::match for searching key idx in right model
It creates a possibility to transparently improve performance of id lookup
in right model by implementing fast search on given role in the righ model
itself by reimplementing QAbstractItemModel::match.

Closes: #12574
2023-10-31 09:46:37 +01:00
Michał Cieślak 7847cb3b11 chore(LeftJoinModel): add detection of duplicated roles 2023-10-31 09:46:37 +01:00
Michał Cieślak cc964508f1 chore(LeftJoinModel): QAbstractItemModelTester added to tests 2023-10-31 09:46:37 +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
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 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
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 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
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
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
Ivan Belyakov 338e6f5fa9 Fixed locale issues for balance chart tooltip and x-axis labels 2023-10-06 15:53:30 +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 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 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
Anastasiya Semenkevich 5d17a6ba7c chore(@StatusListItem.qml): object name for mouse area 2023-10-02 12:12:38 +03:00
Khushboo Mehta 29629a3d6d fix(@desktop/wallet): Send Modal Improvements & missing features
fixes #12243
2023-09-26 12:58:28 +02: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
Michał Cieślak ec5bed6261 fix(TokenMasterActionPopup): display elided wallet address when contact name not available 2023-09-22 11:46:51 +02:00
Michał Cieślak 4b6e9fd70b StatusQ(LocaleUitls): Unit test added for currencyAmountToLocaleString 2023-09-20 15:15:29 +02:00
Lukáš Tinkl c97e9c4ffc fix: Gradient mask of replied message doesn't work
- improve the respective storybook page
- some minor cleanups/fixes

Fixes #11385
2023-09-20 10:46:25 +02:00
Lukáš Tinkl 848d3b14f5 feat(community ownership) Move community control node flow UI
Implement the UI part of the new flow for moving community control nodes
w/o involving private keys

Closes #12088
2023-09-18 11:00:46 +02:00
Lukáš Tinkl a75890d7be fix(Communities): fixed channel color picker dialog
Closes #9696
2023-09-15 10:27:56 +02:00
Vladimir Druzhinin c422adc15e
Test(Community) Object names for invite people menu item added (#12151) 2023-09-13 15:22:33 +02:00
Valentina1133 181c785aa9
test(Settings) Object names were added for keycard and wallet settings elements (#12134) 2023-09-13 12:54:44 +07:00
Cuteivist 33a8ed9b9c
bug(@desktop/wallet): Unkown symbol and Gwei decimals (#12083) 2023-09-11 12:08:21 +02:00
Alex Jbanca 624b758c85 fix(Update fees periodically): Implementing periodic fee update for airdrops, minting, self destruct and burning transactions 2023-09-08 23:25:04 +03:00
Lukáš Tinkl 440e61d7a8 fix(StatusButton): user correct text color for primary/dark 2023-09-07 14:52:53 +02:00
Michał Cieślak 8ddf480479 StatusQ: skip failing unit test
The test has been disabled before adding unit tests as a required
step in the CI

Closes: ##12081
2023-09-06 10:00:17 +02:00
Michał Cieślak abcc408b70 fix(StatusRadioButton): enable word wrapping 2023-08-31 00:37:23 +02:00
Khushboo Mehta 330ccb58a6 chore(@desktop/wallet): Move send modal logic over to nim side
fixes #11881
2023-08-30 14:45:40 +02:00
Lukáš Tinkl a210189137 fix(i18n): timestamp stripping year part
Use locale-neutral `getDayMonth()` plus the time part as there's no way
to programatically check for date parts separator.

Fixes #10615
2023-08-29 15:19:24 +02:00
Igor Sirotin 7e34260aef
feat: Unfurl GIFs locally (#11977) 2023-08-22 11:46:26 -04:00
Michał Cieślak 0cba5eccbd feat(StatusQ/Utils): Add StringUtils to expose string-related C++ routines
So far methods like escapeHtml were available via backend, creating
unnecessary dependency on backing in UI components.
2023-08-18 17:07:20 +02:00
Michał Cieślak 81cc2070e9 fix(Communities): Remotely destruct popup for regular collectibles integrated
Closes: #11924
2023-08-17 17:26:30 +02:00
Michał Cieślak 1c50ec17a8 chore(Communities): Refactor amounts handling for displaying, minting, airdropping and burning
Closes: #11491
2023-08-17 11:26:25 +02:00
Cuteivist beaca31664
fix(@desktop/activity): Fix filter layout and added recipient search (#11883) 2023-08-16 16:06:56 +02:00
Lukáš Tinkl 22258cc363 token-permissions: implement the UI "edit" flow for shared addresses
Fixes #11599
2023-08-11 15:38:42 +02:00
Igor Sirotin 34dba08b7a
fix: Only `scrollToMessage` when it's available in the database (#11784)
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
2023-08-07 23:52:04 +03:00
Alexandra Betouni a36f0d8ce8 feat(Communities): changes in import popup for private keys
Closes #11245
2023-08-07 15:26:35 +03:00
Alex Jbanca 9be2a8d799 feat(Community Overview): Trigger chart data updates on specific actions + optimise the backend calls
This commit includes the following changes:
1. Request from backend the messages count in a specific interval as opposed to all messages timestamps in that interval.
2. Update the chart end date before refreshing the data
3. Fix metrics type parsing in community service
4. Fix a bug where the new incoming data was not processed by ChartJs without a hover event on the chart. The fix here is to manually request paint() on model changes.d

Issues found and not handled here:
1. On large communities the backend request can take 3 minutes to complete
2. CPU usage can easily go to 100% when switching chart tabs on large communities. All the requests are processed by the backend.
2023-08-07 11:12:21 +03:00
Sale Djenic 6e5469f5aa chore(@desktop/wallet): sorting out keypair/account menu 2023-08-04 15:43:03 +02:00
Michał Cieślak f85986bfb0 fix(StatusDropdown, StatusDialog): height calculation improved
It improves workaround for QTBUG-87804 in StatusDropdown, to work
nicely whenever content is set via contentItem or not. The same
solution is added to StatusDialog.

Closes: #11768
2023-08-03 14:52:19 +02:00
Lukáš Tinkl cdc5a90940 fix(SendContactRequestModal): Display name / image problems with CR dialog
- fix missing profile image
- fix displaying wrong name when a nickname or ENS name is present
- fix ID verification flow ignoring nickname
- fix empty results when a contact has only an alias name
- fix needlessly requesting contact details several times (and
overwriting it); we get this info already from Popups.qml
- switch the popup to `StatusDialog` and fix hardcoded height

Fixes #11726
2023-08-02 09:52:32 +02:00
Noelia d832a306a4 fix(Minting): After minting completed 1 airdrop button is enabled and the other disabled
- Added `buttonEnabled` property to `StatusInfoBoxPanel` so it can be set from outside.
- Fixed airdrop button enable condition in minting flow. It is enabled when minting state is completed and if the token properties are infinite supply or there are still remaining tokens to be airdropped.
- Updated storybook accordingly.

Fixes #11496
2023-08-01 13:20:31 +02:00
Jonathan Rainville 6e346d2c0d feat(Communities): changes in import popup for public keys
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup

Closes #11242
2023-07-28 18:53:59 +03:00
Lukáš Tinkl bb2bbfb5b6 fix: Review scrolling behavior for holdings dropdown
- remove padding and use margins so that the listview can span the whole
width while having the scrollbar neatly next to it
- make the section header both inline and floatable (which makes it
always visible, even when scrolled away)
- fix the special search results "section" to behave the same way
- sort the results by category and name
- expose the `allTokensMode` for easy testing with storybook

Closes #10201
2023-07-28 17:46:29 +02:00
Igor Sirotin f9685a0a46
StatusScrollView usage docs (#11422) 2023-07-28 13:51:41 +03:00
Michał Cieślak f4d66a244e feat(Communities): Add fee box and updated sign popup to owner/token master tokens minting 2023-07-28 12:49:14 +02:00
Michał Cieślak 720971c9db fix(StatusEmojiAndColorComboBox): proper setting initial selection 2023-07-28 12:49:14 +02:00
Michał Cieślak f1d2646fec feat(ModelUtils): modelToArray: roles param made optional, support for nested models 2023-07-28 12:49:14 +02:00
Alex Jbanca c7aa1cf9e8 fix(StatusQ): Allow two lines text content in StatusToastMessage 2023-07-28 10:03:10 +03:00
Michał Cieślak 3c65d2e69e chore(Communities): Fees box - use danger outline for account selector when error 2023-07-26 17:59:45 +02:00
Igor Sirotin 4a4e3c5663
fix: Propagate `root.linkPreviewModel` (#11673) 2023-07-26 17:09:36 +03:00
Lukáš Tinkl 94c29d1e60 fix: Mint tokens screen uses different border colors for boxes
plus a couple of other dark mode fixes

Fixes #11633
2023-07-26 14:38:27 +02:00
Lukáš Tinkl a2e6227117 feat: disable community settings while in Testnet mode
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page

Closes #11468
2023-07-24 19:29:13 +02:00
Lukáš Tinkl 1332fdc0d9 feat(StatusInfoBox): add support for icons
with predefined Info, Danger, Success and Warning colors
2023-07-24 19:29:13 +02:00
Lukáš Tinkl ed855e5fad fix(StatusBanner): use consistent `warning` color 2023-07-24 19:29:13 +02:00
Lukáš Tinkl d42892eec8 fix(StatusListItem): fix icon color when disabled 2023-07-24 19:29:13 +02:00
Michał Cieślak 715ed2a918 feat(Communities): Redesigned fees box and sign tx popup components added
Closes: #11600
2023-07-24 17:14:00 +02:00
Michał Cieślak 6d7a018aaf fix(general): added check if role passed to ModelUtils.get exists 2023-07-24 17:14:00 +02:00
Cuteivist 9b8340b695
feat(@desktop/wallet): Handle contract deployment (#11570)
closes #9047
2023-07-24 13:18:42 +02:00
Igor Sirotin cc5f057b3a
Replace link previews with new unfurled data from the message (#11603) 2023-07-22 02:08:44 +03:00
Lukáš Tinkl e744c847ad feat(token-permissions): display channel names in SharedAddressesPanel
Modify the PermissionUtils a bit to return an array of `[key, channelName]`
instead of just the keys and use it to display the channel names in the
permissions overview panel

(I could have used `QVariantMap` or `QJSonObject` here but those are
always sorted by `key`, so had to resort to using a plain vector/array)

Fixes #11584
2023-07-21 13:47:07 +02:00
Sale Djenic c47a432bae fix(@desktop/wallet): `Wallet -> Settings -> Account order` - watch-only accounts and keycard accounts should have appropriate icon
Fixes: #11513
2023-07-20 18:01:14 +02:00
Cuteivist db363b3782
feat(@desktop/wallet): Use separate filter for each wallet account (#11528)
closes #11412
2023-07-19 16:16:45 +02:00
Lukáš Tinkl 02e40adfca feat: New design flows to integrate Revealing addresses...
... when joining Community functionality

Closes #11138
2023-07-19 12:44:16 +02:00
Sale Djenic 6d25a888d3 feat(@desktop/wallet): keypair rename (a profile keypair name should follow display name)
Fixes: #10769
2023-07-18 09:20:09 +02:00
Alex Jbanca bed7db5528 feat(communityChart): Add messages over time chart - mocked data
Implementing community messages over time chart
Adding `OverviewSettingsChart.qml` to storybook
2023-07-18 08:43:59 +03:00
Lukáš Tinkl 875e17b061 fix: Channels stay highlighted when they are not selected
disable the highlight also when not exiting the DropArea

Fixes #11459
2023-07-17 10:39:24 +02:00
Noelia c973605831 feat(OwnerToken): Admin view of Tokens home - pre-Owner token minting
- New `Get started` panel for admins in `Tokens` section added.
- Added support in `storybook`.

Part of #11472
2023-07-14 12:57:18 +02:00
Khushboo Mehta a468635ddc feat(@desktop/wallet): Networks - New List UX with link mainnet/testnet + testnet mode enable/disable
fixes #11252
2023-07-14 08:57:36 +02:00
Lukáš Tinkl 5b118f43f8 fix(Chat): Confirmation button UI is broken when deleting 1-1 chat
fixes a `StatusModal` porting error that broke `title` in a couple of
popups/modals

Closes #11503
2023-07-13 16:44:30 +02:00
Mikhail Rogachev 1a7532d92c
fix: Fix behaviour issues with CRs and mutual update messages (#11178)
Close #11121
2023-07-13 01:39:56 +04:00
Michał Cieślak 4a3e8ca1b2 feat: Adds AmountsArithmetic utility exposing basic functionality for handling arbitrary precision decimals
Closes: #11484
2023-07-12 11:59:40 +02:00
Michał Cieślak e1177617b9 feat: Add big.js library for arbitrary precision decimal arithmetic
big.js v6.2.1 (minified using terser)
2023-07-12 11:59:40 +02:00
Noelia c59758b377 feat(SQ/StatusInfoBoxPanel): Created SQ panel
- Created general `StatusInfoBoxPanel` component. It includes a box with a title, text and button.
- Added storybook page support.
2023-07-11 11:07:01 +02:00
Cuteivist 9b293f9c34
feat(@desktop/wallet): Loading animation for input data decoding (#11378)
closes #11333
2023-07-10 15:36:29 +02:00
Alex Jbanca 3b57915155 feat: Implement Community Overview footer with mocked data
1. Adding OverviewSettingsFooter.qml according to design
2. Adding the footer to storybook
3. Add the footer in the overview page
4. Remove the squish tests for the old footer
2023-07-07 21:07:35 +03:00
Stefan 7a9c76966d feat(wallet) reload on new transaction downloaded quick win
Show a reload hint button for user to refresh the filter

Updates #11233
2023-07-05 23:45:34 +02:00
Noelia 0e730b38e7 feat(SQ/StatusTagItem): Extend text properties customization
Binding added for `font`  property to allow more component customization.
2023-07-05 11:14:38 +02:00
Cuteivist d0f3b6d652
feat(@desktop/wallet): Update activity feed sections date markers (#11332)
closes #11306
2023-06-30 14:55:59 +02:00
Lukáš Tinkl 9107f15a77 [Mint Token] Update validation rule for name property
Fixes checking for duplicate token name in a case insensitive manner

Redo the `ModelUtils.contains(model, roleName, value, mode =
Qt.CaseSensitive)` in C++; more speed and add ability to search case in/
sensitive

Some more smaller fixes/speedups

Fixes #11204
2023-06-28 11:55:11 +02:00
Cuteivist 91e0d3f0cd
fix(@desktop/wallet): Hide disabled copy address action (#11269)
fixes #10507
2023-06-28 08:27:18 +02:00