Commit Graph

1113 Commits

Author SHA1 Message Date
Richard Ramos 3258ac8f9c feat: disconnect accounts in browser 2020-12-17 16:44:50 -05:00
Jonathan Rainville d5f3cf71a2 Apply suggestions from code review
Co-authored-by: RichΛrd <info@richardramos.me>
2020-12-17 16:44:25 -05:00
Jonathan Rainville d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
Richard Ramos 43d9d5184d feat: close image popup on click 2020-12-16 09:17:04 -05:00
Michael Bradley, Jr b524c3b423 fix: restore z-index to root Item of ChatText.qml 2020-12-16 09:16:50 -05:00
Pascal Precht 344880b3a3
fix: remove explicit properties in usernamelabel 2020-12-14 14:18:46 +01:00
Pascal Precht 743858837a uiux(StatusUpdate): add separator and fine-tune margins 2020-12-14 12:36:49 +01:00
Pascal Precht f512d5063c feat: introduce StatusUpdateChatInput variation
This commit changes the `StatusChatInput` component to also be a `StatusUpdateInput`.
The latter isn't an actual new type or component, it's just a visual variation of the already
existing status chat input. That's my most of the changes are `isStatusUpdateInput` conditions
sprinkled here and there.

In addition, this commit introduces a new `chatType` which is passed to `StatusChatInput` later
in the timeline view, so it knows it has to render like a status update input.
2020-12-14 12:36:49 +01:00
Pascal Precht 8cd95d5bfd feat: introduce StatusUpdate component
This is a new MessageComponent type that will be used in the timeline status updates
view.
2020-12-14 12:36:49 +01:00
Pascal Precht bb6bcc640a chore(MessageContextMenu): ensure chat tab is activated when attempting to send message
This is needed when accessing the context menu from the timeline status updates.
Previously, it'd only change the active channel because it assumed the user is already
in the chat view. This is no longer the case when in timeline view, so we need to make sure
we first navigate to the chat view.
2020-12-14 12:36:49 +01:00
Richard Ramos c2f2b7e6cd fix: default value for trx data 2020-12-11 14:04:25 -05:00
Richard Ramos 4d2e396b7f fix: display transaction data 2020-12-11 14:04:25 -05:00
Richard Ramos e37cba7edd fix: etherscan link 2020-12-11 14:04:16 -05:00
Richard Ramos 02867d8627 fix: newlines on chat input 2020-12-11 14:04:06 -05:00
Richard Ramos a901351e7e fix: chat reply width when content is smaller than author 2020-12-11 13:56:04 -05:00
Richard Ramos 5ad54b057b fix: missing username 2020-12-11 13:47:51 -05:00
Iuri Matias 334d538700 update intro and keys screen to use dark theme setttings correctly 2020-12-11 12:22:23 -05:00
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 04bf8e7a03 fix(StatusButton): make icon color same as button label color 2020-12-10 14:40:35 -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 a0fcb0e4c7 fix: resolve ens addresses in bookmarks 2020-12-09 14:19:49 -05:00
Richard Ramos cc9830268a fix: deploy contracts in browser 2020-12-09 14:19:35 -05: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 239b95e9a2 fix: initialize wallet paths and types, and disable deletion of non-watch accounts 2020-12-09 14:18:45 -05:00
Pascal Precht c01300a3bb fix(Chat): ensure image area is reset properly when removing images
We were only resetting the `Image` source but not the consumer facing `imageSource`
property when removing a selected image from the image area.

This cause the `imageSource` to practically never change after an image has
been selected the first time. Selecting an image another time would open the
image area, but if the image happens to be the same as the first time, the `imageSource`
practically didn't change, causing the app to render an "empty" image.
2020-12-08 17:01:32 -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 dacbadbed1 fix: markdown leading space 2020-12-08 16:59:51 -05:00
hydrogen 398a6b2fc0 fix: make validity error match design 2020-12-08 16:59:20 -05:00
hydrogen 12bdec6b39 fix: remove patch 2020-12-07 10:48:55 -05:00
hydrogen 92c25433e1 fix: add missing popup 2020-12-07 10:48:55 -05:00
Pascal Precht 0957ec1ded chore: disable stickers popup when no stickers available
This is needed so that statusChatInput can work for the timeline without
exploding. Timeline doesn't need stickers
2020-12-07 13:52:25 +01:00
Pascal Precht c11eb69ac1 feat: introduce empty timeline component 2020-12-07 13:52:25 +01:00
Pascal Precht e79c754405 refactor(StatusChatInput): fine-tune image area and prepare for status update input 2020-12-07 13:52:25 +01: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 4ab1d20c82 fix: use StatusIconButton instead 2020-12-04 16:21:13 -05:00
hydrogen 66d2534956 fix: update profile ui
fixes #1269

- [x] New name font size: 20 Inter Bold
- [x] Increase Name<->Address padding on 4px
- [x] Create a hover state on QR
- [x] QR Modal
2020-12-04 16:21:13 -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
Pascal Precht c5fd5b1e4d feat(StatusIconButton): make highlighted and hovered colors configurable 2020-12-04 15:53:48 -05:00
Pascal Precht 1971fe7ea1 feat(StatusButton): introduce flat mode 2020-12-04 15:52:59 -05:00
Pascal Precht c7b6c5dbac chore(StatusIdenticon): use identicon source when set explicitly 2020-12-04 15:52:51 -05:00
Pascal Precht fff67083f8 fix: remove unresolvable anchor in StatusNotificationWithDropShadow 2020-12-04 15:52:40 -05:00
Pascal Precht 3188646fa8 fix: remove unresolvable path from SVG images that cause errors 2020-12-04 15:52:31 -05:00
hydrogen 020c1b0bc3 fix: rename function 2020-12-04 15:52:23 -05:00
hydrogen fad0bb858e fix: password count and disable repeat until first is valid
cleanup
2020-12-04 15:52:23 -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
Richard Ramos 1e245a3375 fix: don't allow importing existing seed phrases / private keys in wallet and clean error messages when opening popup 2020-12-02 14:44:49 -05:00
RichΛrd ad11305b98 Update ui/app/AppLayouts/Browser/BrowserLayout.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-12-02 14:43:50 -05:00
Richard Ramos 3e1a1c9ca9 fix: disable file:// browsing 2020-12-02 14:43:50 -05:00
hydrogen 69035176d5 fix: reply text colors
fixes #1378
2020-12-02 14:43:40 -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
Richard Ramos cfb17cd85c fix: remove duplicated SNT in token list and add mouse cursor to wallet list 2020-12-02 14:35:07 -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
Michael Bradley, Jr 62d44cb7a9 fix: add missing brace, clean up indentation 2020-12-01 16:13:23 -06: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 60702ee639 feat: Add warning in wallet to backup seed phrase 2020-12-01 14:37:43 -05:00
Richard Ramos 6f76d079ae fix: hover state, title and show scrollbar currency list modal 2020-12-01 14:37:36 -05:00
Jonathan Rainville 6e7bb6ba1c code review 2020-12-01 14:07:31 -05:00
Jonathan Rainville 724b73072f refactor: get the bookmark image from status-go instead 2020-12-01 14:07:31 -05:00
Jonathan Rainville ea436e79c6 feat: put favicon urls in the settings when we fetch them 2020-12-01 14:07:31 -05:00
Jonathan Rainville 58db0f144d feat: add menu for the bookmark butons 2020-12-01 14:07:31 -05:00
Jonathan Rainville f7cc0cf78d feat: add popup menu to add favorites on sites themselves 2020-12-01 14:07:31 -05:00
Jonathan Rainville ff0a96c02b feat: add the Add favorite popup 2020-12-01 14:07:31 -05:00
Jonathan Rainville 7242409bfa feat: enable showing a paste button in the Input 2020-12-01 14:07:31 -05:00
Jonathan Rainville a13f1f2043 feat: add basic bookmark support 2020-12-01 14:07:31 -05:00
Richard Ramos ba06d46d68 fix: menu icons and width on wallet module 2020-12-01 14:02:19 -05: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 c405029e37 fix: wallet derivation paths for generated accounts , imported seed phrases and private keys 2020-12-01 13:31:30 -05:00
Richard Ramos b6f362ddb5 fix: add scrollbar to installed sticker packs
Fixes #1061
2020-12-01 13:31:22 -05:00
Richard Ramos 3f12320764 feat: checkbox style 2020-12-01 13:30:58 -05:00
Richard Ramos 91f5aae9e7 feat: show sign phrase modal in wallet 2020-12-01 13:30:07 -05:00
Richard Ramos 0b8a6ae511 Various ui fixes on wallet
-  Account color is used in list hightlight, separator and tabs
- Popup fields are cleared when opened
- Account color is randomized when popup is opened
2020-12-01 13:29:23 -05:00
Richard Ramos f88a05e2f5 Various ui fixes on wallet
- Show scrollbars in asset list if needed
- Show scrollbars in account list if needed
- Fix margin between assets
- Add symbol to asset amounts
- Stop scrolling at element bounds
2020-12-01 13:29:12 -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 ff6ceb840a fix: remove reset 2020-11-26 13:25:07 -05:00
Richard Ramos 2f25ce5e80 fix: code review 2020-11-26 13:25:07 -05:00
Richard Ramos b996d860d1 fix: update design for signing messages in browser 2020-11-26 13:25:07 -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
Richard Ramos 9aedc5cd1c fix: code review 2020-11-26 13:23:31 -05:00
Richard Ramos 3d72e18fb9 fix: design 2020-11-26 13:23:31 -05:00
Richard Ramos 913a7e5b5d feat: message dialogs 2020-11-26 13:23:31 -05:00
RichΛrd 70c44e37dd Apply suggestions from code review
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-11-26 11:45:17 -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
Richard Ramos 22f4815957 fix: 18n and category headers 2020-11-26 11:44:49 -05:00
Richard Ramos 159c82c329 feat: choose network 2020-11-26 11:44:49 -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
hydrogen 388b57cb76 fix: remove already fixed TODO comment 2020-11-26 11:18:50 -05:00
hydrogen 8ca3a9b899 feat: make download view a browser tab instead
fixes https://github.com/status-im/nim-status-client/issues/1232
This PR repurposes the DownloadView into a Loader component of a browser tab and is displayed when:

1. a new downloads tab is opened or
2. a new tab with the link status://downloads or finally when
3. the ShowAll button has been clicked.

You can open any number of Downloads tabs

When you open a new tab and type in status://downloads the title will remain as 'New Tab'

fix: add localization
2020-11-26 11:18:50 -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
Richard Ramos d2ec9854ad fix: transaction dialog not showing up due to missing slot 2020-11-26 10:50:47 -04: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 8263a9bec8 refactor: revamp profile appearance settings view to align with designs 2020-11-25 14:41:29 +01:00
Pascal Precht 7a92eaf106 feat: introduce StatusImageRadioButton 2020-11-25 14:41:29 +01:00
Pascal Precht 69fd2dc99b uiux(StatusChatInput): ensure input gets focussed when replying to messages 2020-11-24 11:20:09 +01:00
Pascal Precht ede6afff26
feat: allow users to restore notification settings
Fixes #1280
2020-11-24 11:19:04 +01:00
Pascal Precht af1f03dc7c
feat: allow users to list muted chats and contacts
Partially fixes #1280
2020-11-24 11:17:18 +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
Pascal Precht f8c5002ff8 feat: enable notification message preview settings 2020-11-24 11:16:02 +01:00
Pascal Precht 60a939d29e feat: introduce StatusNotification component
This component renders a macos like notification and can be used in the
notification settings for message previews.
2020-11-24 11:16:02 +01:00
Pascal Precht 693214a940 fix: ensure letter identicon determines correct channel color
When the `StatusLetterIdenticon` received a `#channel` name that starts
with `#`, it wouldn't properly determine the channel color because of
not stripping out the `#`.
2020-11-24 11:16:02 +01:00
Pascal Precht 7005a3d7b6 fix(StatusChatInput): ensure image have rounded corners 2020-11-23 11:57:51 +01:00
RichΛrd d601df179d
Add right anchor to chatText on ENS section 2020-11-19 21:15:36 -04:00
Jonathan Rainville 7aef0e1710 fix: fix emoji search messing up with recents 2020-11-19 17:00:37 -05:00
Jonathan Rainville d49be78417 feat: show nickname if there is one in the mentions 2020-11-19 17:00:28 -05:00
Richard Ramos 6f3749d787 fix: compass should not display over devtools and webpages can request focus 2020-11-19 17:00:07 -05:00
Richard Ramos 1737fc2506 fix: mangled ens name 2020-11-19 16:59:57 -05:00
Richard Ramos 1d6b7b5759 fix: clear input field when opening "Add contact" popup 2020-11-19 16:59:09 -05:00
Jonathan Rainville d4a220b051 fix: enable copying <script> but will still go away when putting emoji 2020-11-19 16:58:41 -05:00
Jonathan Rainville 447591e9b4 feat: make the message box scale according to the parent's width 2020-11-19 16:57:58 -05:00
Richard Ramos 983fbfd3d4 fix: scroll speed 2020-11-19 16:57:20 -05:00
Richard Ramos efddea2bc8 fix: allow chat window to snap-resize 2020-11-19 16:56:32 -05:00
Jonathan Rainville 1ec28bca01 feat: enable animated gifs but stop them on click and out of focus 2020-11-19 16:55:41 -05:00
Richard Ramos 9148be5718 fix: make toggle buttons great again 2020-11-19 16:54:59 -05:00
Jonathan Rainville dbf34142e1 fix: emoji category button having a white background 2020-11-19 16:54:41 -05:00
Richard Ramos c4bfba5cbf fix: hide chat input if you havent joined a group 2020-11-19 16:54:17 -05:00
Jonathan Rainville c10e0a8503 fix: ensure html is escaped in the notification window 2020-11-19 16:53:33 -05:00
Pascal Precht 6dabd361e1 refactor: remove IconButton in favour of StatusRoundButton 2020-11-19 16:52:32 -05:00
Pascal Precht 2aac433a3d refactor: get rid off `AddButton` and make use of `StatusRoundButton` instead 2020-11-19 16:52:32 -05:00
Jonathan Rainville 537ae7991b fix: make sure the mention and emoji pickers close when pressing escape 2020-11-19 13:54:17 -05:00
Jonathan Rainville 89b45146fc fix: fix ens names that are not status having an extra `.eth` added 2020-11-19 13:54:17 -05:00
hydrogen ae5ad63410 fix: component layout 2020-11-18 12:06:13 +01:00