Commit Graph

300 Commits

Author SHA1 Message Date
Boris Melnik 30b4d9eb5c fix(chat): Sent images with text correctly
Fixes: #9564 #6374
2023-03-24 14:33:17 +03:00
mprakhov 494ab84fe1 fix(@desktop/chats): Always show message header in the private group chats after sestem message 2023-03-16 14:46:18 +01:00
Boris Melnik 3a737f97a7 fix(messaging): Sync with status-go content type enum
Fixes: #9655
2023-03-16 16:42:02 +03:00
Igor Sirotin 33d38a4081 fix: Device syncing
- 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.
2023-03-16 00:27:21 +13:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- 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
2023-03-08 18:45:27 +01:00
Alex Jbanca 2accc52b15 fix(UnfurlingUrls): Fix community invitation when community cannot be fetched 2023-02-28 10:06:02 +02:00
Lukáš Tinkl 277de1b544 fix: contact ID verification and community intro sizing issues
- port to StatusDialog
- fix binding loops
- fix `timestamp` to be a double rather than a `string`

Fixes #9563
2023-02-17 17:43:51 +01:00
Lukáš Tinkl 31be818e0e fix: Pinning messages - tweaks to UI and interactions
... 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
2023-02-17 11:22:21 +01:00
Alex Jbanca ed9e782262 fix(MessageView): Show message when there is one img preview and extra text 2023-02-16 09:14:34 +02:00
Alex Jbanca f9f860a215 fix(LinksMessageView): Refactor LinksMessageView to remove business logic from qml
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.
2023-02-14 08:55:24 +02:00
Lukáš Tinkl f5d6c538c2 chore: consolidate & refactor popup handling
- 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)
2023-02-09 15:01:57 +01:00
Alexandra Betouni b037d724ed fix(StatusMessage): updated GIFs behavior
Closes #7518
2023-02-03 16:31:56 +02:00
Alexandra Betouni 1793844cdb fix(StatusMessage): stickers were not aligned correctly 2023-02-02 19:29:59 +02:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
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.
2023-01-31 20:39:19 +02:00
Lukáš Tinkl 7ed5b0d0d6 fix(chat): Download image is saving to wrong folder
- fetch latest dotherside for the fix
- minor cleanup

Fixes #9307
2023-01-28 17:44:23 +01:00
Alexandra Betouni 8bb9da6fcc Revert "fix(StatusMessage): stickers were not aligned correctly"
This reverts commit 0fb954b640.
2023-01-27 09:50:16 -05:00
Lukáš Tinkl 878a7ba657 fix(MessageContextMenuView): "Copy message" action visible in emoji reactions and profile clicks
Fixes #9295
2023-01-26 10:57:06 +01:00
Lukáš Tinkl 8569ea5b41 chore: Optimize StatusMessageReply using more Loaders
also fix the sender display name to respect ensName/nickname

Fixes: #9016
2023-01-25 19:58:19 +01:00
Lukáš Tinkl a55a207bb2 fix: user display name discrepancies
restore taking local nickname into account in various places
2023-01-25 19:58:19 +01:00
Alexandra Betouni 0fb954b640 fix(StatusMessage): stickers were not aligned correctly
Closes #8944
2023-01-25 11:42:19 -05:00
Jonathan Rainville fdc0dce782 chore: remove public chat functionnalities
Fixes #8504

Removes the ability to create public chats, see public chats and even leaves previously active public chats
2023-01-25 10:05:55 -05:00
Alex Jbanca 27bb6bf665 perf(chatScroll): Optimize StatusTextMessage size and hover binding for the delegate 2023-01-19 19:24:18 +02:00
Alex Jbanca 6c76026d53 perf(chatScroll): Use Qt.callLater to release the main thread when parsing and loading links data
perf(chatScroll): Undo Use Qt.callLater to release the main thread

perf(chatScroll): Undo Use Qt.callLater to release the main thread
2023-01-19 19:24:18 +02:00
Alex Jbanca 4e3e245675 perf(chatScroll): Fix connection warnings 2023-01-19 19:24:18 +02:00
Alex Jbanca 719e0a34f6 perf(chatScroll): Optimise timestamps
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
2023-01-19 19:24:18 +02:00
Alex Jbanca bf1d59c0ad perf(chatScroll): Avoid calling the backend on delegate creation/binding
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
2023-01-19 19:24:18 +02:00
MishkaRogachev 2890fe5845 hotfix(ActivityCenter): Fix warnings and text align with messageBadge 2023-01-18 18:01:56 +04:00
Lukáš Tinkl b2328d6643 chore: Consolidate date/time formatting
- simplify locale settings
- extract/fix datetime related functions into LocaleUtils
- port code to the new LocaleUtils

Closes #7230
2023-01-17 16:42:34 +01:00
Pascal Precht bf7148efd6 fix: make avatar info in replies of imported messages work again
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)
2023-01-17 12:48:56 +01:00
MishkaRogachev 2359dfe6a3 feat(Profile): Add SimplifiedMessageView for AC and verifiaction popups 2023-01-17 12:21:25 +04:00
Alex Jbanca b591254782 fix(MessageView): Fixing Add reaction popup regressions
The popup parent was being destroyed after popup creation.
2023-01-17 09:13:41 +02:00
Alex Jbanca d07136481c perf(chatScroll): Adding signals for chat settings in MessageStore
perf(chatScroll): Fix comment
2023-01-16 10:26:53 -05:00
Igor Sirotin 93c90b8436 Terminal fix(MessageView): Fix calculating `isExpired` value 2023-01-13 19:57:26 +03:00
Alex Jbanca 8cb4420d49 perf(chatScroll): Create message quick context items only when message row is hovered 2023-01-13 11:13:42 +02:00
Jonathan Rainville af0c9767d1 feat(context-menu): add Copy message action in message context menu
Adds the action to copy the right-clicked message's text.

It copies the unparsed text (no html).
For that, I had to add it in the MessageItem and expose it in the model.

I also fixed the copy MessageId action that didn't show + didn't work even if it would have shown.

Plus some small cleanups.
2023-01-12 16:15:17 -05:00
Jonathan Rainville c3945f33c0 feat(replies): add deleted to QuotedMessage to change msg displayed
Adds `deleted` to the QuotedMessage object so that on the frontend, we can show "Delete message" only when we know the message was deleted.
Otherwise, when we don't know the quoted message, we show "Unknown message [...]"
2023-01-12 15:18:03 -05:00
Jonathan Rainville 91c2e6d257 feat: use QuotedMessage object for replies to better show the replies
Fixes #7754
ok
2023-01-12 15:18:03 -05:00
Lukáš Tinkl 9e396f7344 chore: refactor/improve/optimize StatusMessage & friends
- drop dead code
- reduce number of direct bindings
- use Loaders whenever possible

Fixes #8744
2023-01-10 10:55:53 +01:00
Jonathan Rainville 29450d34a7 feat(admin): enable admins to delete messages from other users
Fixes #8869
2023-01-04 11:12:47 -05:00
Alex Jbanca 94b911a986 fix(messagesView): Increase spacing between chat messages
Added padding between messages as specified in Figma:
topPadding - 8 if the current message has header, 2 otherwise
bottomPadding - 8 if both current and next message have header, 2 otherwise
2022-12-23 16:46:33 +02:00
Igor Sirotin 784b9acd4f fix(MessageView): Ignore message editing with no actual changes 2022-12-22 15:00:48 +03:00
Jonathan Rainville f29210d4a2 fix(image): fix image download on Windows
Fixes #8755
2022-12-21 10:33:34 -05:00
Patryk Osmaczko 87674064d0 feat(chat/messages): implement new messages marker
closes: #8572
iterates: #7488
2022-12-16 19:12:12 +01:00
MishkaRogachev ddf27d3038 feat(Contacts): Handle cancel identity verification on the reciever side
Close #8437
2022-12-15 15:44:45 +04:00
Igor Sirotin 50427390dd ens: Fix ens name inconsistency across app 2022-12-14 23:46:50 +03:00
Boris Melnik 5d19667f2d fix(warnings): Fix warnings raised from settings
Fixes: #8293
2022-12-14 14:33:13 +03:00
Jonathan Rainville 194e3048bc fix(messages): fix Resend btn not working and add Sending visual state
Fixes #7643

This adds the backend to resend. It then hooks the button to it.
This also adds a visual state for when we are sending. This gives a good indication that a message was sent.
2022-12-12 11:56:21 -05:00
Boris Melnik ea432f26f5 fix(reactions): Fix reactions popup
Fixes: #8425
2022-12-07 20:39:39 +03:00
Igor Sirotin 4da18c8de7 fix(EnsListView): Fixed preferred name message preview 2022-12-07 15:59:40 +03:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Lukáš Tinkl 9559789030 chore: reduce the number of (verification) RPC calls
- when calling `Utils.getColorHashAsJson()` we don't actually need to
issue ID verification requests at all and there might be situations when
we know beforehand that we don't need the ENS verification either
- change these helper functions' syntax and do early returns in that case
- in MessageContextMenuView, the "contact details" were duplicated, so
remove one
- remove dead code, fix some warnings
2022-12-01 16:50:23 +01:00
Lukáš Tinkl 6ceb4bde26 fix(InvitationBubbleView): Community invite box cta bleeds out of box
a simple refactor to use a QML Control with separate `background` and
`contentItem`

Fixes: #8360
2022-12-01 16:47:40 +01:00
Boris Melnik bff6b22fc4 fix(replies): Get original message from status-go for replies
Fixes: #7248
2022-11-30 14:07:49 +01:00
Lukáš Tinkl 3d4cb12d0c fix: some notification UI fixes
This aims at bringing the notifcation display closer to what regular
messages look like, namely:

- show compressed chat keys
- don't show identicon rings for ENS names
- fix timestamps and their tooltips (`notification` isn't part of StatusMessage!)
- unbreak clicking outside of the whole popup overlay (`activityCenter`
is undefined)
- fix blurry checkmark icon for marking notification as read
2022-11-30 11:05:58 +01:00
mprakhov e8e2c022ca fix(@desktop/chat): Hide quick actions panel in non-joined chats 2022-11-29 19:56:04 +02:00
MishkaRogachev 726ae26128 hotfix(ActivityCenter): Fix AC timestamps and binding loop for previousMessageIndex
Close #8434
2022-11-29 16:49:36 +04:00
Lukáš Tinkl 2bf2861631 fix: reactions distance to message content is inconsistent
- harmonize the margins/spacings in other message components
- fix warnings
- cleanup/remove some dead code

Fixes #8295
2022-11-23 17:42:11 +01:00
Lukáš Tinkl 8e4d9be779 fix: disable quick actions when editting a message
also move the top/bottom margins one level up so that the message editor
gets the same margins as well

Fixes: #8185
2022-11-21 20:55:08 +01:00
Jonathan Rainville 312dd72955 fix(windows): fix windows chat list empty because of popup overflow
Fixes #7906
2022-11-16 15:41:32 -05:00
Alexandra Betouni 7c88f462ec fix(StatusMessage): Updated component to QQC2 Control and as per desing
Fixes #7318
2022-11-14 18:13:40 +02:00
Igor Sirotin a69b3b5928 fix(StatusMessageReply): Fixed reply text styling and behavior 2022-11-11 13:31:06 +01:00
Boris Melnik b10b6617cf fix(edit-message): Add content-type to edit message request
Closes: #7879
2022-11-11 14:01:16 +03:00
Richard Ramos ae7a16f27e fix: display "Resend" for expired messages 2022-11-10 11:49:42 -04:00
Lukáš Tinkl 80d211f521 fix(MessageView): fix opening URL links
Fixes: #8123
2022-11-07 11:03:39 +01:00
Lukáš Tinkl f122607ada fix: consecutive discord messages should be grouped like status messages
- fill the senderId just like other messages
- add some checks in Utils since the "publicKey" (ID) coming Discord
isn't in the format we'd normally expect

Closes #6678
2022-10-27 22:44:00 +02:00
Lukáš Tinkl 16a51f2f72 fix(MessageView): unbreak showing identity ring in replies
use the correct way to get the original message's content type and
compare it with the correct Constant type
2022-10-27 10:01:59 +02:00
Lukáš Tinkl 2c2337a45d fix(MessageView): unbreak message reply update and found animation
due to the refactor, StatusMessage is no longer the toplevel item inside
the delegate, so adjust the functions

some minor cleanups and dead code removals; striving for keeping the
number of properties and bindings inside a ListView delegate at a minimum
2022-10-26 12:50:39 +02:00
Jonathan Rainville afaf7717e8 fix: fix signals not passing the callback
Fixes #8038

We added a callback arg to the signals, but signals do not support default args. You need to pass the exact number of args.
2022-10-26 10:29:33 +02:00
Michal Iskierko 6d2a2e6e03 fix(@desktop/general): Fix clicking deep links in chat
Clicking any deep-link in chat: /u, /c, /cc does not open browser but executes instantly

Fix: #6302
2022-10-25 08:26:16 -04:00
Igor Sirotin 5ff2976e80 fix(MessageView): Changed visual borders of message 2022-10-21 00:44:19 +02:00
Lukáš Tinkl 38b6bdbfd3 chore: split English TS files
- qml_base.ts is created as a reference point for translators
- qml_en.ts is a minimal overlay translation, providing just the needed
  plural forms
- adjust the script to generate the above TS files
- fixup some leftover qsTrId() calls and the qmake file
2022-10-19 10:48:08 +02:00
Michał Cieślak de4ef7daf0 fix(Storybook): mock for DotherSide types added
Additionally `ui/imports/shared/views/chat/qmldir` fixed.

Closes: #7932
2022-10-17 10:50:12 -04:00
Lukáš Tinkl 7a407662e2 feat: New Profile Modal
Fixes: #7360
2022-10-17 12:05:54 +02:00
Michał Cieślak f0e238dce6 chore(general): Remove profile pictures visibility options
From now on, if the image is available it should be displayed
uncoditionally.

Closes: #7609
2022-10-13 07:51:55 -04:00
Lukáš Tinkl 6bf57d3bdd fix: don't display unpin/jump items for a user
Fixes: #7853
2022-10-12 11:16:10 -04:00
Boris Melnik 4cfa4e5451 fix(replies): Fire dataChanged when contact changed in reply
Closes: #7687
2022-10-12 10:54:24 -04:00
Igor Sirotin 6d15f8c16f fix(InvitationBubbleView): Fixed layout and button radius 2022-10-12 10:33:00 -04:00
Boris Melnik 6a11a89ff3 fix(Reply): Add check if responsed message was deleted and add `<deleted>` to reply message
Closes: #7372
2022-10-12 15:43:48 +03:00
Michał Cieślak a893d100ab fix(LinksMessageView): Reload images when back online
Closes: #7665
2022-10-11 17:01:30 +02:00
Michal Iskierko 95c0721578 fix(@desktop/chat): Fix channel link in chat
Clicking on a #link will open link channel in community

Fix #7636
2022-10-10 11:27:16 +02:00
Patryk Osmaczko acbf6fce51 feat(@desktop/communities): add new join community workflow
- user is able to see community without being a member
- invitation bubble always display "Go to Community"
- join community buttons are displayed in community view

main part of: #7072
2022-10-07 09:10:21 +02:00
Pascal Precht 5c3517ee6f fix(Chat): ensure profile image with base64 sources are working
This broke with the introduction of discord messages because we were
setting the `assetSettings.isImage = true` when `isDiscordMessage`.

This has overriden the default config for all non discord messages which
check for whether the asset source includes `("data")`.
2022-10-06 22:18:36 +02:00
Alexandra Betouni ae7d49c9b1 fix(Invitation+LinksBubble): fixed button radius corners
Closes #7308
2022-10-06 15:47:04 +03:00
Pascal Precht d9acab566f perf(chat): only perform verification requests on scroll if necessary
There was an issue where imported messages from third-party services
would cause super laggy scroll behaviour in the chat view.

The reason for that is that on scroll, the app keeps calling
`getVerificationRequestFrom()` on the chatkey of the community.
Typically the results of these requests are cached so that it should
perform the call only once, but because there's no actual verification
request/contact for the community chat key (all third-party messages are
signed by the community), the call keeps on happening over and over.

This commit adds a flag to `getContactDetailsAsJson` and `isEnsVerified`
to control whether or not the call to `getVerificationRequestFrom`
should in fact be made (which should not be the case for imported
messages).

The result of this is a smoother scrolling experience.

Fixes #7767
2022-10-06 11:39:24 +02:00
Pascal Precht bf14b06d55 feat(CreateCommunityPopup): add discord import progress panel and discord message handling
This adds the UI plus all necessary models and signal handling to render
discord import progress in the desktop application.

It also introduces message handling for discord chat message types.

Requires status-im/status-go#2826 to function

Co-authored with @caybro
2022-10-06 09:13:57 +02:00
Igor Sirotin b65023bf45 fix(PinnedMessagesPopup): Fixed reply messages displaying 2022-10-04 14:09:19 +03:00
Michal Iskierko d14fc486b5 fix(@desktop/contacts): Do not show pending identity request when user is verified.
Fix #7376
2022-09-28 10:56:14 -04:00
Lukáš Tinkl a209d39881 fix: ENS name issues
- don't display identicon rings for contacts with an ENS name
- prefer the at-form (@foo-user) whenever possible, and don't display their
  username or pubkey unless they are locally given a nickname
- show compressed keys everywhere instead of the regular ones

Fixes: #7319
Fixes: #7515
2022-09-26 22:38:02 +02:00
Lukáš Tinkl 54c73b0be7 chore: cleanup, fix warning, remove dead code 2022-09-26 22:38:02 +02:00
MishkaRogachev b9ca8654a8 feat(ActivityCenter): Fix messages and AC notifications height
Close #7497
2022-09-26 15:49:46 +03:00
PavelS 36a56a8af3 fix(@desktop/chat): adjust chat name placement
Fixes #7353
2022-09-26 12:54:41 +03:00
Lukáš Tinkl 58b56d831b feat(PinnedMessagesPopup): enable Unpin context menu entry
and remove the context actions we do not actually use

Fixes: #7439
2022-09-21 10:48:20 +02:00
Michał Cieślak be5de27513 feat(MessageView): hide image url in the message when image is unfurled
The url is hidden when there is only one url in the message with no
additional text and the image is shown (unfurled).

Closes: #7321
2022-09-21 10:33:15 +02:00
Patryk Osmaczko 1d1bb2cfcf chore(@desktop/chat): fix plural `%1 members` translation 2022-09-21 08:57:18 +02:00
Patryk Osmaczko e3363e269a fix(@desktop/chat): make `join` invite transition to `pending`
User should see `pending` state after he `join`s the community, even if
that community does not require explicit admin approval. That's because
currently, each member has to be accepted by admin, either automatically
or manually. That means, if admin is gone, no one will be ever joined to
community, even if this community states it does not require request to
join.
2022-09-21 08:57:18 +02:00
Patryk Osmaczko d1b3e7af9e fix(@desktop/chat): rework invitation bubbles
InvitationBubbleView.qml:
- rework view to use layouts properly
- add missing community identicon

Backend:
- remove local community requests on community join
- propagate SIGNAL_COMMUNITY_MY_REQUEST_ADDED to UI

fixes: #7139
2022-09-21 08:57:18 +02:00
Lukáš Tinkl 9addf1221b fix(PinnedMessagesPopup): “Jump to” button doesn’t work pinned messages popup
This was never implemented, eventhough a similar approach is used with
the global AppSearch. Expose the method `scrollToMessage(messageId)` so
that it can be called from QML directly.

Fixes #7375
2022-09-19 16:34:07 +02:00
Michal Iskierko 62c2b56fc8 fix(@desktop/chat): Improving displaying user names in chat
1. Rename contactDetails.displayName -> defaultDisplayName
2. Add contactDetails.optionalName (filled in contact service)
3. Set in message_model defaultDisplayName and optionalName values
4. Adjust UI

Issue #7241
2022-09-19 11:24:35 +02:00
Stefan 0f1ade6967 tests(chat): adapt gif test and add image unfurling test
The gif test was manually activating the unfurling, which is no longer
necessary. Now check that enabling gifs will enable tenor unfurling

Also add a test for image unfurling and validate the unfurling image
links components and preview settings.
2022-09-19 11:19:17 +02:00
Stefan fea157e50e fix(chat): remove tenor.com domain from preview
Also use the preview width if available

Fixes #13955
2022-09-16 09:45:51 +02:00