106 Commits

Author SHA1 Message Date
Ivan Belyakov
a7b78bb6e8 feat: Add scrolling velocity and deceleration settings to advanced
settings.
Fixed RadioButtonSelector using anchor.margins
2023-06-16 15:54:33 +02:00
Igor Sirotin
bc4492b53a
fix: Create only one instance of StatusChatInput (#10928)
* Chat input area preserved properties
* Fix emoji/gif/stickers popups open/close logic
2023-06-07 16:18:29 +03:00
Jonathan Rainville
ceb810e63d fix(contacts): fix inconsistency when banning or unbanning contact
Fixes #10501

The problem was that didn't have access to the updated contact from status-go after banning or unbanning, so we just changed the banned property, but there is more that gets changed in the backend, like `removed` being set to `true` as well.
With this fix, when you unban someone, you go back to a fresh start, as **non** contact, so you need to send a request again. That was the state you got if you restarted the app, so "re-sync" the state with status-go.
Another issue was on the frontend (QML). When banned,  and after restarting to get the right state, the unban button would be disabled and the Add contact request button would show, which is not good. We only want to send requests when unbanned.
2023-06-01 14:25:20 -04:00
Igor Sirotin
5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Alex Jbanca
a674ec57a8 fix(blockChat): Disable chat input when minimal conditions are not met 2023-05-05 19:44:39 +03:00
MishkaRogachev
7b31929f85 feat(Chat): Accept/Reject CR buttons for 1-to-1 chat 2023-05-02 13:56:36 -04:00
MishkaRogachev
0fc84852f3 feat(chat): Update chat ui for the blocked contact
Close #9935
2023-05-02 13:56:36 -04:00
Jonathan Rainville
db6af0554a fix(chat-model): use setData to set the chat model
Fixes #10384

The problem was that doing the sort inside the insertRows messed up the model.
I removed it and it fixed the issues. However, it created an other issue with ordering.

The problem this time is that when populating the model at the start, we do not get the chats in order, so calculating the right position to insert a chat is difficult.

Instead, I use a setData function to just put all the chats in the items list, sort it and call it done, using the resetModel function.

I also did some clean ups.
2023-04-24 11:06:17 -04:00
Patryk Osmaczko
e2697ae5aa feat(chat): implement jump to mention
closes: #9069
2023-04-17 18:53:42 +02:00
Patryk Osmaczko
89efb1cd71 fix(chat): better integrate new messages marker with loading state
- new messages marker is reevaluated only if chat has unviewed messages
- loading state is reevaluated only when chat is made active, this fixes
  case described here:
https://github.com/status-im/status-desktop/pull/10151#discussion_r1158702638

fixes: #10275
2023-04-14 19:38:45 +02:00
Patryk Osmaczko
65415ef34b fix(chat): load as much messages as view requires
fixes: #10221
2023-04-07 16:26:26 +02:00
Patryk Osmaczko
3e3c9e7bdf fix(chat): use scrollTo mechanism for firstUnseenMessage
- it ensures enough messages are loaded when `firstUnseenMessage` is not
  within the range of initially loaded messages

fixes: #10197
2023-04-07 16:26:26 +02:00
Boris Melnik
cbdc3e61b5 fix(images): Display image placeholder when image from album not loaded
Fixes: #9990
2023-04-07 15:42:12 +03:00
Alex Jbanca
5ec4360d8c fix(ChatMessagesView): Fixing scroll to message
Closing: https://github.com/status-im/status-desktop/issues/10131
2023-04-07 06:23:15 +03:00
Patryk Osmaczko
9419c9acaf fix(chat): mark messages as read only if all messages have been viewed
fixes: #10150
2023-04-05 10:40:08 -04:00
mprakhov
b580f0a810 feat:(@desktop/channels): loading state when switching channels/chats 2023-03-28 13:12:58 -04:00
MishkaRogachev
8eba843a5e fix(Chat): Fix pin popup and actions for communities and group chats 2023-03-28 11:05:07 -04:00
MishkaRogachev
1f54d96f5f feat(Chat): Disable chat actions for non-contacts 2023-03-28 11:05:07 -04:00
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
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
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
Alex Jbanca
54e91e0ba7 perf(chatScroll): Reduce loadMoreMessagesIfScrollBelowThreshold to 100. 2023-01-19 19:24:18 +02:00
Alex Jbanca
e44427ceed perf(chatScroll): Prepare more data for scroll 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
Patryk Osmaczko
ae55e78faf feat(chat): ignore not loaded messages
closes: #8838
2023-01-17 18:58:53 +01: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
mprakhov
0cc64774af fix(desktop/chat) show the badge during receiving the mention in inactive section 2023-01-09 20:00:51 +02:00
Boris Melnik
9b8a86a3cb feat(communities): Add ban state for spectated community
Fixes: #8761
2023-01-09 10:30:54 -05:00
Lukáš Tinkl
b086d432d1 fix: Chat Input isn't focused after editing a message
Fixes #8966
2023-01-06 14:35:07 +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
Alexandra Betouni
ba811acc27 fix(improvements): remove console warnings pt1
Closes #7959
2023-01-04 17:28:59 +02:00
Pascal Precht
865ed32deb feat: introduce ability to @everyone
Closes #8479

This needs: status-im/status-go#3026
2022-12-21 10:19:48 +01:00
Patryk Osmaczko
87674064d0 feat(chat/messages): implement new messages marker
closes: #8572
iterates: #7488
2022-12-16 19:12:12 +01:00
Boris Melnik
f35468963c fix(warnings): Rid off warnings
Fixes: #8293
2022-12-15 19:31:18 +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
Patryk Osmaczko
9601ab2668 fix(chat/messages): make initial messages load without scroll
fixes: #8602
2022-12-07 00:23:25 +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
Jonathan Rainville
312dd72955 fix(windows): fix windows chat list empty because of popup overflow
Fixes #7906
2022-11-16 15:41:32 -05:00
Boris Melnik
4cfa4e5451 fix(replies): Fire dataChanged when contact changed in reply
Closes: #7687
2022-10-12 10:54:24 -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
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
Michał
80bcb15bc3 Revert "fix(ChatMessagesView): unbreak closing reply bubble"
This reverts commit d7710ce135cae9baf783b53804310e6433b63e5c.
2022-10-05 13:33:49 +02:00
Michał
a6beeee3e7 Revert "fix(ChatMessageView): delayed binding for proper msg height calculation"
This reverts commit 53a3a769d90110818355ff0c59d7e67b199766be.
2022-10-05 13:33:49 +02:00
Lukáš Tinkl
99272c580c fix(ChatMessagesView): Loading spinner and scroll to bottom button overlap
- remove the extra spinner (ok'ed by John and Benj)
- use the more modern StatusIcon, w/o the unconditional ColorOverlay
- some minor cleanup

Closes: #7645
2022-10-05 02:59:37 +02:00
Igor Sirotin
b65023bf45 fix(PinnedMessagesPopup): Fixed reply messages displaying 2022-10-04 14:09:19 +03:00
Michał Cieślak
53a3a769d9 fix(ChatMessageView): delayed binding for proper msg height calculation
Direct binding was causing problems with height calculation in some
environments (qt 5.15) and lack of binding in other (5.14). This is
a solution which seems to work in both cases.

Closes: #7703
2022-10-04 11:32:34 +02:00