* feat: live received status link previews
* link preview cards: active members count
* update `requestCommunityInfo` to new backend. Add `requiredTimeSinceLastRequest` arg
* 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
- 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/4132Closes#12388
Implementing the new design for the following preview types:
- Community and channel
- General link previews (Youtube, github etc)
- Image link preview
The storybook implementation has all these links available for testing.
Missing features in the app:
- Logo (favicon)
- Community card
- Image preview details (title, domain name)
* Adjust cancel button for chat delete/leave dialog
Show the Cancel button for both 1-to-1 chats
and channels. Also use the "normal" cancel
button type instead, otherwise both confirm and
cancel dialog actions are buttons in red color.
* Ask for confirmation before clearing chat history
Also move the context menu action to the
bottom section along with delete/leave chat,
since both are irreversible operations.
* Adjustments to chat context menu
- To show the vertical section separator if either
"clear history" or "delete/leave" destructive actions are
enabled.
- Show either the "clear history" or the "delete/leave"
actions in red, but not both at the same time.
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
Bump Status GO to support session based activity requests
Transaction module was replaced by activity module,
this change removes the old code.
Details:
- Remove transaction.Item and use the DTO directly
- Replace the still using missing functionality
- Remove old way of fetching transactions in response to the history event
- Use activity filter to provide history for "recents" in Send.
Closes#11339
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.
Part of #6204
Detect the MIME type using `QMimeDatabase` from the actual content and
save it in that same format using `QSaveFile`, as `QImage` does NOT
support saving a GIF
Fixes#10747
* feat(Chat): Display MutualStateUpdate system messages in 1-to-1 chats
* feat(ActivityCenter): Add AC notification when a user get removed by another contact
* fix: crutch fixing segfault on contact removal
for everything that's not a user interface element, esp. for static/big
images or chat/message elements which get served from locally anyway from
status-go
Iterates #10339
- expose "isEnsVerified" as model role
- fix returning "ensName" when the user is not ensVerified
- react to nickname updates correctly
- fix sorting in the user/member list view
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow.
- Error message view design update
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)
Fixes#9664
... to help align with original design intent
- dropped date breaks before msg groups
- show full date/timestamp in the msg header
- floating "Unpin" button on mouse hover
- no padding/spacing between messages
- some smaller code cleanups and dead code removals
Fixes#9396
LinksMessageView component will receive the urls from nim as string and it will only forward the string to getLinkPreviewData slot implemented in nim together with some settings (supported img extensions and unfurling preferences)
On nim side the urls will be parsed and validated using the settings received from qml.
Images are now validated before sending them to the UI using the HEAD request.
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
The date parsing is time consuming and it needs to be used with care in the delegate
perf(chatScroll): Fix StatusDateGroupLabel comment - standaloneMonthName
perf(chatScroll): fix comments on Optimise timestamps
perf(chatScroll): Optimise timestamps - bring back comment
perf(chatScroll): fix activity notification
Provide the needed data from the nim model directly to the delegate. This way whenever a delegate needs to display the data it doesn't need to reach the backend.
perf(chatScroll): Fix comments on Avoid calling the backend on delegate creation/binding
perf(chatScroll): Avoid calling the backend on delegate creation/binding - add TODO comment on senderColorHash default
perf(chatScroll): merge quotedMessageAuthor details
perf(chatScroll): Fix nim tests
perf(chatScroll): Fix merge error - messages_model.nim
Because we've switched to `QuotedMessage` as an attached payload to
messages to make message replies data more reliable, we lost some of
the author information in imported messages, that was available prior
to that move.
This commit introduces `quotedMessageAuthorDisplayName` and
`quotedMessageAuthorAvatar` to our model so it can be set in case
we can't retrieve contact details for a given message (which is always
the case for imported messages)