Commit Graph

1415 Commits

Author SHA1 Message Date
Lukáš Tinkl 88d0c2493e fix: supported image formats are case sensitive
check for the (supported) extension in case insensitive manner

Fixes #12835
2023-11-25 15:51:06 +01:00
Lukáš Tinkl db8cb6c74c fix: Misaligned profile image in chat header
align the left padding with the chat contents; reapply the needed extra
margin for the back button

Fixes #12859
2023-11-25 14:52:54 +01:00
Michał Cieślak 4d1806a656 fix(StatusQ): run all unittests via make and on CI
Closes: #12841
2023-11-24 23:32:08 +01:00
Jonathan Rainville d66540d74f feat(messages): add deleted system message that tells who deleted
Fixes #11712
2023-11-23 16:14:54 -05:00
Lukáš Tinkl fdc36b72e6 fix(Windows): unbreak Windows build
a feeble attempt to make M$ compiler grok otherwise valid C++17 code
2023-11-23 14:32:27 +01:00
Lukáš Tinkl 8791d028e6 feat: Integrate the new manage assets/collectibles panels into Settings
- display a customized floating bubble to save/apply the settings
- display a toast message on Apply with an action to jump to Wallet main
page
- add home/end/pgup/pgdown keyboard shortcuts to StatusScrollView to be
able to navigate more easily in long list views
- some smaller fixes and cleanups in wallet and settings related views

Fixes https://github.com/status-im/status-desktop/issues/12762
2023-11-22 18:29:31 +01:00
Alexandra Betouni 77197040a4 fix(StatusImage): Improved sourcesize width/height
Closes #10139
2023-11-22 17:33:13 +02:00
Stefan a87a11f92f fix(tests) fix UI tests when run from scratch
The STATUSQ_SHADOW_BUILD will allow loading the qml files from sources

The StatusQ dependency helps building StatusQ which is used for C++
helpers

Updates #12639

ghstack-source-id: cbe0a994e7
Pull Request resolved: https://github.com/status-im/status-desktop/pull/12787
2023-11-20 20:38:19 +01:00
Lukáš Tinkl ba30afd202 feat: Manage Collectibles panel UI component & model
- implements a QML panel to organize collectibles
- factors out the delegates to separate files to be reusable with the
Assets tab
- adds QML tests to assess the UI functionality (move, show/hide, save/load)
- does not cover the problematic "Arrange by collection" switch (TBD
later)

Fixes: https://github.com/status-im/status-desktop/issues/12379
2023-11-17 14:12:48 +01:00
Anthony Laibe 98207381da fix(@wallet): toast ui url add extra space 2023-11-17 12:18:57 +01:00
Jonathan Rainville d66c1f7b0d feat(sharding): add shard info args to requestCommunityInfo calls
Fixes #12015
2023-11-16 13:32:48 -05:00
Lukáš Tinkl 81d99c44e9 fix: workaround to crash on startup with Qt 5.15.11
the most recent Qt upstream version introduced a regression that causes
our app to crash right on startup when a grouped property is assigned to
inside a `PropertyChanges` handler

upstream issue: https://bugreports.qt.io/browse/QTBUG-107795

Upstream fix will be released with Qt 5.15.12, code being at
https://codereview.qt-project.org/c/qt/qtdeclarative/+/424702
2023-11-14 18:11:42 +01:00
Godfrain Jacques a42fa6d8dc
Fix incorrect suggestion input when entering seed phrase (#12662)
Co-authored-by: kounkou <jacques@status.im>
2023-11-14 02:00:54 -08: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
Lukáš Tinkl 7183621369 feat: Manage tokens panel UI component & model
- implements the UI component to manage regular & community tokens
(drag'n'drop or context menu to reorder, show/hide, group by community)
- implements a custom C++ QAIM model which acts as a fake proxy model
for the above QML panel (internally it does all the
sorting/grouping/hiding and preserves the custom sort order)
- adds and corrects support for cascading submenus in StatusAction, and
StatusMenu[Item]
- adds support for mirrored (horizontally flipped) StatusSwitch
- adds a new SortOrderComboBox.qml (this was being used in the first
Figma version, can be ignored now, will be used by the main wallet view
later)
- some minor fixes and cleanups in the used components

Iterates #12377
Closes #12587
2023-11-09 11:45:32 +01:00
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