Commit Graph

112 Commits

Author SHA1 Message Date
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
Boris Melnik df88984b45 feat(image-album): Display album of images in replies
Fixes: #9957
2023-05-02 11:24:48 +03:00
Lukáš Tinkl 28374eb836 fix(ChatColumnView): unbreak 1-1 chats
the StatusChatInput (among other things) was disabled due to wrong
`activeChatType` being passed down to `ChatContentView` which does all
sorts of checks whether we are allowed to chat with that contact

The `root.activeChatType` no longer reflects the chat that we are going
to activate (probably due to the extensive use of `Loader`s)

(plus remove some dead code)

Fixes: #10463
2023-04-27 20:44:41 +02:00
Jonathan Rainville 435b08501b refactor(ChatContentView): only get contact details when 1-1 chat 2023-04-24 09:31:00 -04:00
Patryk Osmaczko c867e8f98c fix(chat): wrap `contextMenu` and `chatInput` into Loader
Please note that this solution serves as a temporary workaround and
comes with variety of limitations, particulary concerning the chat
input state. For instance, the reply area is not retained when switching
between chats.
Ideally the root cause, which is the high memory consumption of both
`StatusChatInput` and `MessageContextMenuView`, should be fixed. Once
this issue is addressed, the current workaround can be reverted.

fixes: #10378
2023-04-21 11:38:36 +02:00
Patryk Osmaczko 7f3a66b68d fix(chat): correct `isAdded` behavior
`isAdded` for specific chat was always reflecting the active chat
property, effectively causing the chat inputs of these chats to be
disabled and, as a consequence, making the input vanish.

fixes: https://github.com/status-im/status-desktop/pull/10343#issuecomment-1512825761
2023-04-19 11:13:01 +02:00
Patryk Osmaczko 36063f33f1 fix(chat): use proper section details data
It prevents `StatusChatInput::enabled` property to be changed when
switching sections, as a consequence the text is persisted.

fixes: #10286
2023-04-19 11:13:01 +02:00
Patryk Osmaczko ec7bd963e9 fix(chat): use loader for `ChatMessagesView` instead `ChatContentView`
fixes: #10285
2023-04-19 11:13:01 +02:00
MishkaRogachev 8eba843a5e fix(Chat): Fix pin popup and actions for communities and group chats 2023-03-28 11:05:07 -04:00
MishkaRogachev 4d4ec22ba6 feat(Chat): Disable unpin action for PinnedMessagesPopup 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
MishkaRogachev ad4838e4f8 feat(Chat): Disable sending messages for non contacts
Close #9899
2023-03-28 11:05:07 -04:00
Alexandra Betouni db7256fd1a fix(StatusChatInput): fixed input loses focus when switching chats
Closes #9542
2023-03-10 20:07:59 +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
mprakhov 3994f8b2fb fix(@desktop/chat): show message which was sent during group chat creation 2023-01-10 23:53:46 +02: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
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
Pascal Precht f3eb29bfea feat(chat): allow for editing last user message using arrow-up key 2022-12-22 17:31:32 +01: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
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
Pascal Precht 213924f6e9 feat(chat): support copy & pasting images into chat input
This adds support for receiving copied images from the clipboard
and pasting it into the chat input.

After pasting, chat input will recognize the image and render a preview
similar to how it would do it when selecting images via the file dialog.

**Also important to note**:

At the time of this PR, it seems that desktop only supports sending
jpegs to status-go. I'm not sure if this was deliberately done this way
because the protocol says it supports jpg, png, webp and gif.

Because of this, pasting for example pngs will work, however
transparency will be lost (which is also most likely the cause of #8820)

This PR operates on that assumption. So while it adds support for
copy/pasting images, it does not address the lack of file type support.

Closes #3395
2022-11-29 12:31:18 +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
Lukáš Tinkl 7a407662e2 feat: New Profile Modal
Fixes: #7360
2022-10-17 12:05:54 +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
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
PavelS 6a96bc93b3 fix(@desktop/chat): handle same name mentions
Fixes #7220
2022-09-22 15:01:55 +03: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
Lukáš Tinkl 2dca7904b8 fix(PinnedMessagesPopup): pinned messages modal design issues
- align the dialog to design
- fix radio button logic (it was possible to uncheck a mutually exclusive
checked button eventhough it's inside the button group, leaving the Unpin
button in an undefined state)
- port to StatusDialog and layouts, dropping a lot of needless code
- remove dead code for passing around the `property Component
pinnedMessagesListPopupComponent`; the popup is being invoked via
`Global.openPopup()`

Fixes #7316
Fixes #7315
2022-09-15 10:55:56 +02:00
Lukáš Tinkl 5e0d5a9f8c fix(pinning): fix warnings 2022-09-13 09:05:15 +02:00
Igor Sirotin b2485603de fix(AppMain): Made all banners global and stacked 2022-09-08 20:47:54 +08:00
Alexandra Betouni b6ff7b9ded feat(desktop): Made activity button be visible everywhere
Closes #6635
2022-09-02 10:29:23 +03:00
Michal Iskierko d6a061a517 feat(@desktop/chat): Add setting image in group chat
Image and cropping information are sent to status-go.

Issue #6466
2022-09-01 12:25:53 +02:00
Jonathan Rainville 7544bd6fb5
fix: change gateway and remove old code to decode the hash
Fixes:
- https://github.com/status-im/status-desktop/issues/6964
Depends on:
- https://github.com/status-im/status-go/pull/2795
- https://github.com/status-im/status-jenkins-lib/pull/44

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-08-26 19:47:02 +02:00
Patryk Osmaczko 037937a04f fix(@chat/groups): resolve undefined chatContentModule
fixes: #7146
2022-08-26 08:40:47 +02:00
Boris Melnik 7b77973b86 test(chat): Can clean chat history
Closes: #6876
2022-08-25 15:17:52 +03:00
Igor Sirotin 42a1cf995c fix(ChatMessagesView): Usage of `StatusMessage` WIP 2022-08-20 03:02:41 +03:00
Michal Iskierko 8b09eec506 feat(@desktop/chat): Handle group chat colors changes
Use new status-go function to update group chat details.
Changes in RenameGroupPopup to handle choosing colors and images.
Changes in EditCroppedImagePanel to handle background component.

Issue #5982
2022-08-08 11:10:54 +02:00
Jonathan Rainville 8e96e6879c test(community): add test that creates a community channel
Fixes #6533
2022-07-25 13:07:46 -04:00
Patryk Osmaczko 13cfe18665 fix(@desktop/chat): remove invalid argument from `showReplyArea`
- call arguments didn't match with prototype

fixes: #6407
2022-07-21 15:21:29 +02:00
Michał Cieślak 478b46f6b5 fix(@desktop/chat): Align message field placeholder with design 2022-07-18 12:45:36 +02:00
Alexandra Betouni 2bd685943f feat(chat): Removing dynamic scoping from chat section
Closes #4244
2022-07-15 17:00:36 +03:00
Jonathan Rainville 95407cc1e0 fix(contacts): remove isMutualContact, use isContact or isAdded indead
Fixes #6220

Fixes the issue with the mutual contact icon showing when just added.
It also does a huge cleanup of the codebase to remove isContact and replace it with either isAdded, when we care only about if we added, or isMutualContact if we want the contact to be mutual
Also fixes an issue with the MessageContextMenu not reflecting the added state correctly.
2022-07-11 09:34:29 -04:00
Patryk Osmaczko e0a5afebee chore(translations): transform `qsTrId` to `qsTr`
issue: #4544
2022-07-06 19:09:50 +02:00