479 Commits

Author SHA1 Message Date
emizzle
5953031bfc fix: YouTube unfurling
YouTube link unfurling was not working for a couple reasons.

There were two main parts fixed:
1. QML context for messages pertaining to linkUrls and imageUrls was changed from implicit to explicit. By this, I mean that any time we referenced linkUrls/imageUrls, we were relying on the knowledge that those values would be populated by some parent context several levels up. Now, we are referring to properties that have been explicitly defined on the components. This offers the ability to reuse components, and makes reading the code and debugging much easier.
2. Error handling has been added to getting link preview data. An unhandled "error" was thrown each time a link that wasn't whitelisted was passed in, causing the app to crash. For example, when a link to a tenor gif was posted in the chat, that URL was not whitelisted, causing the app to crash.
2020-12-10 14:45:48 -05:00
Pascal Precht
c9f7928956 fix(Usernamelabel): ensure message time is positioned correctly 2020-12-10 12:30:31 +01:00
Pascal Precht
e11139df12 feat: make UserNameLabel render local nick names and ENS names
In timeline status update messages we want to render the ENS name next to a
local nickname in case it exists. This commit extends the `UsernameLabel` to do
just that.

Closes #1488
2020-12-10 12:30:31 +01:00
Pascal Precht
066fd9f7e5 feat: allow message context menu to render emojis only
Closes #1492
2020-12-10 12:30:31 +01:00
Pascal Precht
2baf56f505 refactor(Chat): move suggestions ListModel into StatusChatInput
StatusChatInput was relying on the suggestions ListModel, even though there was
no guarantee that it would exist. This is more apparent when using the component
in different context (e.g. Timeline/Status Updates). QML will throw a reference
error in this case.
2020-12-10 12:30:31 +01:00
Pascal Precht
9745205302 refactor(Chat): move send message logic out of status chat input
`StatusChatInput` ideally shouldn't rely on chatsModel and other global
objects at all. Also, when using the component in different places, it can cause
accidental sending of message when testing the component (because all the logic is already
wired up)
2020-12-10 12:30:31 +01:00
Richard Ramos
b0829a4615 fix: account selector in browser 2020-12-09 14:19:26 -05:00
Jonathan Rainville
08a7baed8f feat: add OS notification and setting to switch back 2020-12-09 14:19:16 -05:00
Richard Ramos
ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
Richard Ramos
426fe504b4 refactor: move generateIdenticon to utils 2020-12-08 17:01:14 -05:00
Richard Ramos
ae83818eed refactor: chats view
Extract private groups, reactions, stickers and transactions procs to individual view files
2020-12-08 17:01:14 -05:00
hydrogen
3951d0fff5 fix: ensure cursor is changed when hovering a link 2020-12-08 17:00:06 -05:00
hydrogen
12bdec6b39 fix: remove patch 2020-12-07 10:48:55 -05:00
Pascal Precht
7210bb1370 fix: use ConfirmationDialog when unblocking users
We've introduced a bug in https://github.com/status-im/nim-status-client/commit/8fd28dfa where a
non-existing `UnblockContactConfirmationDialog` usage was added.
This commit changes it to be a standard `ConfirmationDialog` to make the application compile
again.
2020-12-07 13:44:30 +01:00
Pascal Precht
5e422691e3
chore: remove unnecessary enabled prop binding in ChatText connection 2020-12-07 13:15:46 +01:00
Pascal Precht
b778fa9c30 refactor(ChatText): move Connection out of component
This is done because there's gonna be a case where this connection causes errors
because the component expects `NormalMessage` to be a parent of this component.

When used in future StatusUpdates, there's no `NormalMessage`. Unfortunately,
disabling the connection based on a condition doesn't remove the error, so we have
to move this code out entirely
2020-12-07 13:06:21 +01:00
hydrogen
94b0343d04 fix: add padding to the empty chat view 2020-12-04 16:21:31 -05:00
hydrogen
2f0aab055a fix: use ModalPopup instead 2020-12-04 16:21:03 -05:00
hydrogen
323ba10a0e fix: qrcode popup should be its own modal
fixes #1457
2020-12-04 16:21:03 -05:00
hydrogen
d797880e6e fix: forgotten log 2020-12-04 15:52:04 -05:00
hydrogen
f69da599ae fix: update chat view after user is blocked 2020-12-04 15:52:04 -05:00
hydrogen
8fd28dfad6 fix: check if user is blocked on profile popup
This PR is a response to @emizzle's suggested change in PR #1431 . It checks if a user is blocked before exposing certain functionality to the user in a Profile popup. The new unblock button also has a fail-safe unblock confirmation popup

disable the chat input if 1-on-1 chat recipient has been blocked.
2020-12-04 15:52:04 -05:00
hydrogen
4e1f712376 fix: i18n placement caused incorrect reaction authors rendering
I've made a fix to better handle rendering of reaction authors in conjuction with i18n
2020-12-02 14:36:56 -05:00
Iuri Matias
3662a938c9 change message limit count to 99+ 2020-12-02 14:29:39 -05:00
Richard Ramos
77cf450d20 fix: +99 2020-12-02 14:29:39 -05:00
Richard Ramos
6494427de0 fix: notifications
- If notification is clicked and app minimized, restore app
- If app is minimized, show notifications for active chat
2020-12-01 16:17:19 -04:00
Richard Ramos
3a6248319c fix: QR button acts as a toggle, and changed the font of HeaderButtons 2020-12-01 13:46:47 -05:00
hydrogen
ff5b972139 fix: stop crash by showing error message
fix #898

The segmentation fault occured because the RPC response returned json with an error message as oppossed to the usual data required to update the chat. Since the section of the code didn't handle this error message it caused the app to crash. I've handled this error to show an error alert box by emitting a  event
2020-12-01 13:40:49 -05:00
Richard Ramos
b9d59f44cc feat: show loading indicator on login when requesting mailserver messages 2020-12-01 13:32:39 -05:00
Richard Ramos
3f12320764 feat: checkbox style 2020-12-01 13:30:58 -05:00
Jonathan Rainville
dae7f9cd44 fix: fix ChatImage not opening in the popup 2020-11-27 15:19:20 -05:00
Jonathan Rainville
b536707646 fix: fix notification banner showing the pubkey of group chats 2020-11-27 15:15:26 -05:00
Richard Ramos
7c69f8fe52 fix: code review 2020-11-26 13:25:14 -05:00
Richard Ramos
95616e2d10 fix: colors for chat links 2020-11-26 13:25:14 -05:00
Richard Ramos
37aabf57b3 fix: code review 2020-11-26 13:24:53 -05:00
Richard Ramos
0c71ddc888 fix: use opacity gradient and icon for read more/less 2020-11-26 13:24:53 -05:00
Richard Ramos
a5b9511a55 fix: show ens usernames when creating a 1:1 chat 2020-11-26 13:23:42 -05:00
RichΛrd
71665ed53c Apply suggestions from code review
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-11-26 11:45:17 -05:00
Richard Ramos
c4f2ea0f14 fix: hide channel suggestions permanently 2020-11-26 11:45:17 -05:00
Jonathan Rainville
9e8ecd69e9 fix: change chat rectangle width to match designs 2020-11-26 11:43:53 -05:00
Richard Ramos
8890805a14 fix: scroll to bottom when switching back from any module to chat 2020-11-26 11:43:45 -05:00
emizzle
417194e7b4 feat: Keyboard shortcuts
Add keyboard shortcuts according to https://notes.status.im/02cfVf1KQLeQU2SqrIi9tw

fix: update chat message bubbles
- Align emojis to middle of text
- Add line-height as per design
- Properly support RTL languages (right-aligned) and LTR languages (left-aligned)
- Remove unneeded non-breaking space at the beginning of current user messages
- Properly support markdown for bold, strikethrough, and italic
- Fix text being removed when in between strikethrough markdown (~~)

fix: emoji resolution update for high resolution monitors
- Emojis now use the 72x72 original set, but are down-scaled to 20x20 (in chat bubbles) or 22x22 in other places, effectively tripling their pixel density

feat: handle new lines in blockquote

Handle new lines in blockquote so that messages display correctly.

Also, add functionality when a new line is entered in to the chat input, if it's inside a blockquote, a new ">" will be added automatically. This is also handled when backspace is entered.

feat: update xss to support full qt html4 table and table-cell attributes
2020-11-26 11:33:32 -05:00
hydrogen
e2ec5fa84e fix: i18n 2020-11-26 11:20:43 -05:00
hydrogen
a7936e984d fix: support eliding after 5 authors
fix rightNode subscript
2020-11-26 11:20:43 -05:00
hydrogen
9f6e582111 feat: support seeing who liked a message 2020-11-26 11:20:43 -05:00
hydrogen
2baa55b5c4 feat: add fetch more menu item in the chat drop down menu
fix import

fix extra spaces
2020-11-26 11:20:25 -05:00
emizzle
e0e1487643 refactor: replace transaction modal reset functionality
The transaction component's `reset` functionality was meant ot reset a form when the modal was closed. It was difficult to manage and added extra overhead for each additional transaction modal created.

Instead of using reset functions, we can use Loaders to load and destroy the modal's as they are opened and closed. We do not need to keep them in memory and then also reset their functions. It creates a smaller memory footprint to destroy the object and reload on open.

feat: load gas prediction prices asynchronously
2020-11-26 11:17:24 -05:00
Pascal Precht
8b74141b99 feat: allow users to change font size for chat messages
Closes #737
2020-11-25 14:41:29 +01:00
Pascal Precht
1277395431 chore: expose linkUrls property on Message QML type 2020-11-25 14:41:29 +01:00
Pascal Precht
db0b765d74 feat(Notifications): allow users to turn of notifications for non-contacts
Partially fixes #1280
2020-11-24 11:16:02 +01:00