Commit Graph

147 Commits

Author SHA1 Message Date
mprakhov 52d336b5a6 fix(@desktop/chat): allow to send attached image without text input 2023-01-11 18:27:31 +02:00
Lukáš Tinkl 6f1ecb9c8c fix(StatusChatInput): improve code highlighting in code snippet/blocks
- make the bg/fg color follow our current Style/Theme colors

Fixes: #8649
2023-01-10 15:21:45 +01:00
Lukáš Tinkl db97fbf3eb fix(StatusChatInput): return correct mention suggestions
- follow the order of properties that `ProfileUtils.displayName()` uses
elsewhere in the application
- prefer nickname or ensName over displayName if the user has them

Fixes: #8691
2023-01-09 16:41:51 +01:00
Lukáš Tinkl e947f81cd2 fix: Chat input: can't send html text from the clipboard
We always take the plain text from the clipboard but even the plaintext
can contain HTML tags, so escape those and wrap the result in a `<div
style='white-space: pre-wrap'>foo</div>` container. That way we preserve
not only the linebreaks but also any whitespace or tags.

Fixes #8919
2023-01-05 12:32:53 +01:00
mprakhov e378cb4fd9 fix(@desktop/chat): Do not allow send empty message 2022-12-22 16:23:44 -05:00
Pascal Precht f3eb29bfea feat(chat): allow for editing last user message using arrow-up key 2022-12-22 17:31:32 +01:00
Alex Jbanca 6cba8810e0 Fix Mentions in statusChatInput
1. Don't allow mention invalidation by altering mention with mouse or keyboard
2. Don't allow mention duplication on the same position
3. Clean mentions after text with mentions changes
4. Fix mention selection
5. Make sure mention is separated by text with valid separators (we're using only space)
6. Cursor will consider the mention as an object and will jump over it as it would be a single character (placing cursor inside leaves room for mention invalidation)
2022-12-21 12:23:39 +02:00
Tanguy 473da3790b fix(chat-input): Colon detection for foreign keyboard layout 2022-12-16 10:28:24 +01:00
Boris Melnik f35468963c fix(warnings): Rid off warnings
Fixes: #8293
2022-12-15 19:31:18 +03:00
Jonathan Rainville abd992b3ea fix(chat-input): fix sending images from dialog by using right prop
Fixes #8747
2022-12-12 13:48:44 -05: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
Lukáš Tinkl 6b7eea8db9 fix: unbreak suggestions for emojis containing an underscore
- don't consider `_` as a "punct" or invalid character, some emojis like
flags do contain it in their name

Fixes: #8446
2022-11-28 12:11:23 +01:00
alexjba f8293a12f4 StatusChatInput.qml - Fixing emoij suggestion keyNav
Fixing up/down key handler when emojiSuggestions are visible
2022-11-23 16:21:31 +02: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 bab0fee0ee chore(StatusChatInput): add Esc handler to close reply area
similar to what pressing Esc does when editing a message
2022-11-16 09:58:19 +01:00
Lukáš Tinkl c7efcdd09f fix(StatusChatInput) unbreak upload image shortcut
fixes shortcut Ctrl+U being broken when trying to upload an image
2022-11-16 09:58:19 +01:00
Alexandra Betouni 6fa4553d08 fix(DragnDrop): re-enabled drag and drop
Closes #7484
2022-10-12 10:34:46 -04:00
Michał Cieślak 62b0269fff fix(StatusChatInput): paste mentions without changing msg content
Closes: #7109
2022-10-12 10:24:20 -04:00
PavelS c74d1086c0 fix(@desktop/chat): update paste logic
Fixes #7772
2022-10-06 12:40:00 +02:00
PavelS 8bd194eb48 fix(@desktop/chat): add cut mention handle
Add mentions copy logic with pasting mentions with pubKey information

Fixes #7110
2022-10-06 11:44:30 +02:00
Boris Melnik 81e5aefbca fix(StatusChatInput): Move formatting menu from scroll
Closes: #7751
2022-10-05 13:51:40 -04: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
PavelS c931f716e8 fix(@desktop/chat): adjust chat input logic to allow emojis
Fixes #7622
2022-09-28 15:02:50 -04:00
PavelS 6a96bc93b3 fix(@desktop/chat): handle same name mentions
Fixes #7220
2022-09-22 15:01:55 +03:00
Michał Cieślak f900e7c00e fix(general): buttons font fixed, font loading refactored
Fixes: #7389
2022-09-19 22:10:25 +02:00
PavelS abb2254e59 fix(@desktop/chat): adjust message length check condition
Fixes #7131
2022-09-12 13:02:03 +03:00
PavelS cdfbb4ac87 fix(@desktop/chat): adjust mentions handing logic
Fixes #7099
2022-09-09 18:15:13 +03:00
PavelS ad484d7d01 fix(@desktop/chat): adjust emoji popup behaviour
Fixes #7094
2022-09-02 17:22:00 +03:00
Lukáš Tinkl 2606de5ccb fix(StatusEmojiPopup): fix emoji popup "y" position
it was off by `Style.current.halfPadding`
2022-09-01 19:28:21 +02:00
PavelS a01e0822b7 feat(@desktop/chat): add textformat quote option functionality
Adjust text format popup position

Fixes #6988

Requires https://github.com/status-im/StatusQ/pull/876
2022-09-01 12:45:45 +03:00
PavelS 8de1e42a0f fix(@desktop/chat): add autoscroll to cursor in chat input
Requires https://github.com/status-im/StatusQ/pull/868

Fixes #7093
Fixes #7171
2022-08-31 12:02:44 +03:00
Jonathan Rainville 6bd1cfde72 test(chat): add a test that install a sticker pack and sends a sticker
Fixes #6962
2022-08-29 10:52:00 -04: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
Boris Melnik 10d53454b3 test(chat): Can send a gif
Closes: #6882
2022-08-26 12:18:42 +03:00
Michał Cieślak dfc7a6a951 fix(StatusChatInput): Remove formatting when pasting, pasting on selection fixed
Fixes #7015
Fixes #7097
2022-08-26 10:05:46 +02:00
Jonathan Rainville 6a603413c6 test(community-chat): add test to send images in chat
Fixes #6880
2022-08-25 10:23:43 -04:00
Michał Cieślak 7ef4a2d257 fix(StatusChatInput): infinite loop when pasting mention 2022-08-22 13:37:18 +02:00
Igor Sirotin 42a1cf995c fix(ChatMessagesView): Usage of `StatusMessage` WIP 2022-08-20 03:02:41 +03:00
Michał Cieślak 91bae9c3da fix(@desktop/chat): gif selector UI adjustments 2022-08-19 12:09:44 +02:00
Alexandra Betouni 07dbca905c fix(Chat/CompactMessageView): removed space above image in msg
Closes #6855
2022-08-18 17:44:17 +03:00
Jonathan Rainville 016e3927f2 test(chat): add test that sends a message with an emoji
Fixes #6881
2022-08-17 11:33:36 -04:00
Noelia 1334fbb5f4 test(chat): Can do a mention in a chat
`tst_chatFlow`:
- Commented out bc of `mailserver` issues and then weak.
- Added basic test scenario for sending a mention in a public chat with needed validations.
- Added basic test scenario to check a mention cannot be done if it is a non existing user.

`StatusChatScreen` updates:
- Updated join room method to validate the chat is loaded.
- Added methods for doing and verifying a mention.

`SquishDriver` updates:
- Added support in `SquishDriver` to click into a link in a text or label component.
- Minor function renames.

Closes #6879
2022-08-16 13:42:56 +02:00
Noelia 7b4802db83 test(CreateGroupChat): Create Group Chat
- Created new test case with basic create group chat scenario.
- Added specific data folder for `tst_groupChat`.
- Removed deprecated data folder.
- Added dynamic login (depending on the account).
- Added global account information in `suite_status/data` folder.
- Added new group chat validations, title, history texts, members added and send chat message.
- Replaced some ids by objectNames.
- Some improvements in `names.py`.
- Onboarding objects refactor.

Fixes #6444
2022-07-28 14:21:32 +02:00
MishkaRogachev 9aa1a1073e fix(@desktop): Fix scrolling in chat components, wallet fixes 2022-07-21 18:44:30 +03:00
MishkaRogachev 58e0fce819 feat(@desktop): Fix twitchy scrolling issues
Close #6187
2022-07-21 18:44:30 +03:00
MishkaRogachev 0d3aed0611 fix(@desktop): Fix scrolling twitches using ScrollView amd Flickable items
Close #5781
2022-07-21 18:44:30 +03:00
Michał Cieślak 478b46f6b5 fix(@desktop/chat): Align message field placeholder with design 2022-07-18 12:45:36 +02:00
Noelia ee8477ae9b fix(StatusChatInput): 'Unblock' is not vertically aligned in 1-1 chat
`StatusButton` is now used correctly. There are 3 different button variations with preset heights/widths and paddings. The consumer cannot change the height without altering the expected behaviour and display of the button.

Button height is now consistent with chat input.

Fixes #6298
2022-07-18 08:46:13 +02:00
Sale Djenic a9f179cab3 StatusSyntaxHighlighter added 2022-07-07 23:23:09 +02:00
Sale Djenic 922a38108d feat(@desktop/cpp-app): base structure for new cpp app
- applied new project structure
- new cmake scripts organizations
- conan script for adding gtest and boost::di
- boost::di introduced
- gtest introduced

Fixes #4894 #4834
2022-07-07 23:23:09 +02:00
Patryk Osmaczko e0a5afebee chore(translations): transform `qsTrId` to `qsTr`
issue: #4544
2022-07-06 19:09:50 +02:00
Lukáš Tinkl 94bf0a0f88 fix(gif popup): fix the popup after sending a GIF
Close #6083
2022-07-05 12:37:56 +02:00
Anthony Laibe ce7340b9a5 feat(@wallet): multi network history 2022-07-04 09:58:39 +02:00
Boris Melnik 954acf0df4 fix(StatusChatInput): Fix emoji button click arguments
Closes: #3565
2022-06-14 14:34:34 -04:00
Boris Melnik aa1dae9e20 fix(@desktop/warnings): Fix bunc of qml/nim warnings
Closes: #5162
2022-05-25 14:27:25 -04:00
mishkarogachev 7b45ce60a7 fix(@desktop/chat): Show text for messages with gif image
Close #5434
2022-05-12 12:28:41 -04:00
Anthony Laibe bda2114209 feat(@chat): disable tx in chat when no wallet
fixes #5461
2022-04-21 11:51:52 +02:00
Alexandra Betouni 8ece8e9fd1 fix(StatusChatInput): missbehavior when text exceeds 2000 chars
Closes #5107
2022-04-07 16:24:53 -04:00
Sale Djenic a70d800e6d fix(@desktop/chat): the app is crashed after sending gif to a group chat
The issue was happening because adding gif to the recently used gifs model
was initiated after `gifSelected` action was fired and that action actually removed
the context within `addToRecentsGif` ought to be called and the app crashed.

That's fixed now updating the order of those two calls.

Fixes #5263
2022-04-04 13:29:14 -04:00
Patryk Osmaczko 25c6a5f5ca chore(@desktop): remove identicon related code 2022-04-04 17:50:48 +02:00
Sale Djenic 94e1511644 fix(@desktop/chat): cannot create a group chat by hitting `Confirm`
Fixes #5094
2022-03-23 10:14:56 -04:00
Alexandra Betouni 8cab96fd24 feat(desktop/chat): Updated create new chat/group flow
As per new designs

Closes #4781
2022-03-11 14:31:51 -05:00
Sale Djenic 4ff700681f fix(@dekstop/chat): mentioning oneself display the full key instead of username
Fixes #4897
2022-03-11 13:14:14 +01:00
Richard Ramos 3c7779305b feat: move stickers business logic to status-go 2022-03-09 12:16:42 -04:00
Stefan Dunca 12b6500fbe fix(chat): Show beam mouse cursor over the chat message field
Fixes #4896
2022-03-09 11:51:55 +01:00
Jonathan Rainville be9d2f94e2 feat: enable emojis as channel icons
Fixes #4809
2022-03-08 15:15:25 -05:00
Alexandra Betouni 76123f3b14 fix(chat/textInput): prevent break mentions when ctrl+left is pressed
Closes #4981
2022-03-08 14:41:47 -05:00
Iuri Matias 5937c7d3aa chore: update applayout imports 2022-03-08 14:02:24 -05:00
Alexandra Betouni c2977e468f feat(onboarding): Added SplashScreen
- Added SplashScreen as initial screen before
onboard as per new designs.
- Also moved all onboarding related code from
main to onboarding section and switched to
import this and all other sections as
qml modules, exposing this way only
necessary files.
- Cleaned up unecessary qmldir files and
imports.

Closes #4954
2022-03-08 14:02:24 -05:00
Alexandra Betouni f8aebda0dd fix(statusChatInput): update mentions behavior when text is pasted
Fixed to update mentions positions when text is pasted or
added before those

Closes #4867
2022-03-03 15:00:51 -05:00
Jonathan Rainville 35e50d186b fix(drag-zone): make drag zone only work in correct chats
Fixes #4904

Moves drag zone to the AppMain so that we can check if the current chat accepts the images
Also disables the Input Connection if the channel is not active
2022-03-03 13:01:53 -05:00
Alexandra Betouni 5c30daab07 fix(chat/mentions) fixes in mentions behavior
Changed cursor behavior to jump over text when it
reaches a mention, either on left or right side.
Also made mention to behave as link when hovered
with mouse so that it cannot be clicked and place
cursor inside it.

Also fixed keyboard focus to navigate only in the
suggestions list when this is opened.

Closes #4423
2022-02-24 11:10:33 -05:00
Sale Djenic 52fb195b39 fix(@dekstop/chat): trying to unblock a contact by hitting 'Unblock' via the chat view does not do anything
Fixes #4835
2022-02-24 16:19:51 +01:00
Jonathan Rainville 713e6685ca fix: make mentions work with ensname, alias and nickname
Fixes #3707
2022-02-17 11:59:23 -05:00
Jonathan Rainville 3b43d2f9ea fix: [re-add] The text entry box shouldn't highlight invalid @mentions
Fixes #4678

The text input in chat was highlighting whatever was starting
with @. Fixed to highlight only valid user mentions.
2022-02-14 10:08:09 -05:00
Jonathan Rainville 306471be60 fix(ChatInput): fix clicking on emoji suggestion
Fixes #4768
2022-02-10 09:25:06 -05:00
Patryk Osmaczko ba7a6d5d34 style: remove trailing whitespaces 2022-02-09 11:16:23 +01:00
Sale Djenic aa6036b78b fix(@desktop/chat): mention suggestion list fixed 2022-02-08 12:33:45 -05:00
Khushboo Mehta 6f5fcd8623 fix(@desktop/chat): context menu is gone for pictures
fixes #4609
2022-02-01 11:19:56 -05:00
Noelia d8a7a3d812 fix(desktop/chat): [base_bc] selecting a channel does not auto-focus on the text input field
When new channel/chat is displayed, text input field focus is forced properly.

Fixes #4524
2022-02-01 11:50:50 +01:00
Boris Melnik 35568d1d6b fix(Replies): Fix reply button
Closes: #4396
2022-02-01 11:49:04 +01:00
Sale Djenic f0ca1a4cc3 refactor(@desktop/general): many errors from the log are fixed
- various issues on app start in console
- various issues when logging out in console
- `node_section` module delete method error
- SyntaxError: JSON.parse: Parse error from the MessageStore
2022-02-01 11:49:04 +01:00
Alexandra Betouni 0eb40287fa refactor: removed dynamic scoping from shared module
Properties and functions moved to Global:
- toastMessage
- openProfilePopup()
- getProfileImage()
- popupOpened

Closes #4248
2022-02-01 11:46:39 +01:00
Sale Djenic b3f8af8e06 refactor(@desktop/general): qml code referring to the old code base commented out
Qml code referring to the old code base commented out, but not deleted,
due to easier refactoring the rest of the app.
2022-02-01 11:42:42 +01:00
Sale Djenic e5a414a927 refactor(@desktop/chat-communities): qml part handles messages from refactored backend
- `chatType` added to `Constants` to group chat type related values
- `messageContentType` added to `Constants` to group message content type related
values
- `MessageStore` maintained per message list now
- added new `ChatContentView` component used to display chat/channel content
- components updated to display messages from the new backend
- `StatusChatToolBar` appropriately updated
- mute/unmute feature added to chat/channel list as well as to `StatusChatToolBar`
2022-02-01 11:41:22 +01:00
Sale Djenic c8b429388f refactor(user-profile): `name`, `icon` and `isIdenticon` properties added to global instance `userProfile`
Apart of all properties we have, now we have 3 new added props which will be used
almost always when we need the following details about logged in user:
- `name` - this will return an ens name in a pretty form or an alias if ens name
was not set (verified). Apart of this there are still `username` and `ensName`
properties for fetching them when it's needed.
- `icon` - this will return a thumbnail image if it's set, otherwise it will
return identicon. Apart of this there are still `identicon` and `thumbnailImage`
properties for fetching them when it's needed.
- `isIdenticon` - this will return `false` if a thumbnail image is set, otherwise
it will return `true`
2022-02-01 11:37:29 +01:00
Alexandra Betouni 6eff051504 fix: The text entry box shouldn't highlight invalid @mentions
The text input in chat was highlighting whatever was starting
with @. Fixed to highlight only valid user mentions.

Closes #3542
2022-01-13 17:23:59 +02:00
Pascal Precht b57bb21e13 fix(StatusChatInput): ensure anchors of textfield are set correctly
This broke when we removed timeline support. Most likely because `profileImage`
is undefined, the entire expression fails, leaving `anchors.left` `undefined`,
causing the text area to be slammed to the right.
2021-12-07 10:45:16 +01:00
Alexandra Betouni 5e88a9a91b refactor(desktop): Removed all timeline related code
Removed all timeline associated code from base_bc.
This feature is deprecated and shall be removed

Closes #4064
2021-12-03 19:55:45 +02:00
Alexandra Betouni b4b28d2f98 feat(desktop/contacts) Improvements in contacts
Contacts updates currently in base_bc

Closes #4100
2021-12-01 20:51:06 +02:00
Sale Djenic cc5ccbc951 refactor(@desktop/general): qml updated according to the new `userProfile` instance 2021-11-24 13:15:15 +01:00
Alexandra Betouni b9fcbcf5d3 fix(desktop/chatInput) sticker was not shown in reply area
Closes #4023
2021-11-10 12:25:25 -05:00
Pascal Precht b6a79fd61b refactor: move StatusChatCommandsPopup to ui/shared/popups
This was already done in 9ba07575bd
I assume this got accidentally reintroduced in 426c116bac
2021-11-05 15:09:34 -04:00
Alexandra Betouni 36f1ea8832 fix: make user profile images work again 2021-11-05 15:00:50 -04:00
Pascal Precht d814484c72 fix: make emoijs work again 2021-11-05 11:02:45 -04:00
Sale Djenic f0b2ed6cca refactor(@desktop/general): `appSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Alexandra Betouni 426c116bac refactor(desktop) Made shared a QML module
Use it as import shared 1.0, import shared.controls 1.0
etc instead of import "../../../shared"

Closes #3934
2021-10-27 18:05:45 -04:00