Commit Graph

344 Commits

Author SHA1 Message Date
emizzle bc1525f513 feat: 1-on-1 chat command ENS flow
1-on-1 chat command to send and request a transaction to/from a contact with ENS enabled.
2020-11-05 11:25:45 -05:00
Jonathan Rainville b23e6bc686 feat: implement design for the URL unfurling 2020-11-05 11:25:22 -05:00
Jonathan Rainville 4e98bc5258 feat: add component to enable unfurling and fix comppnent reload 2020-11-05 11:25:22 -05:00
Jonathan Rainville b583a4d4bf feat: show unfurled youtube links 2020-11-05 11:25:22 -05:00
Pascal Precht 7a4cc9227e
fix: introduce validation for required address requests in tx previews
Closes: #1203 #1204
2020-10-28 11:07:23 +01:00
Pascal Precht a7058681fe
fix: some toast messages fixes 2020-10-28 11:07:23 +01:00
emizzle bc0855bcdc
feat: move validators outside of TransactionPreview
BalanceValidator and GasValidator have been moved outside of the TransactionPreview component, because there are some transaction modals that may not need them to be baked in to TransactionPreview. It is useful to have these components on the tx preview step only when we start the process on the preview step.
2020-10-28 11:07:23 +01:00
Pascal Precht c6d3d47982
fix: correct path for loading svg in toastmessage
Fixes #1209
2020-10-28 11:07:23 +01:00
Pascal Precht 43e978d205
feat: allow users to select account when sharing address for tx
Closes #1207
2020-10-28 11:07:23 +01:00
Pascal Precht 0a9852758d
fix: from/to account not showing correctly
Fixes #1202

I had to revert the loader changes that switched from/to as it was causes quite a lot of logistical complexity. Instead of using Loaders, we are setting the type of account (account or contact), and it is being displayed appropriately. There is a very slight deviation from the design, however it is consistent with the design for other transaction previews.

feat: add BalanceValidator

Shows an exclamation icon next to the "from" account when the balance for the requested asset is too low.

This is useful when the user starts the transaction wizard on the TransactionPreview step.
2020-10-28 11:07:22 +01:00
emizzle 32a4afe037
add sign transaction modal for incoming tx request
also remove `outgoing` property that was previously added
2020-10-28 11:07:22 +01:00
emizzle e455586990
refactor: remove wei2Token in favour of wei2Eth. Essentially de-duplicated very similar procs and lessened errors
fix: SignTransactionModal - set default focused account when none is found

refactor: move token lookup from QML to nim in the toMessage procedure.

fix: 1:1 tx requests - handle case where token contract is not found (ie sending SNT from mainnet and receiving message on testnet)

feat: error checking for building a token transaction

feat: TransactionPreview - add a validation check that disallows continuation if the selected "from" account has insufficient funds
2020-10-28 11:07:22 +01:00
Pascal Precht 41e5626bfa
fix tx bubbles 2020-10-28 11:07:21 +01:00
emizzle 8b465c20f7
start of rebase fixes
Sign and send modal is showing the incorrect "from" account in the TransactionPreview...
2020-10-28 11:07:21 +01:00
emizzle 423882df89
fix: 1:1 chat command transactions "intrinsic gas too low"
I noticed that the 1:1 chat commands were not able to send token transactions due to "intrinsic gas too low" error. I quickly realised there there were a few components missing, which have been fixed.

*feat: update the 1:1 chat commands transaction modal to allow editing of the from account and network fee*

The TransactionStackGroup was updated slightly to allow manual control of back/next actions.

Fixes #870.

*fix: Create distinct modal transaction actions*

Previously, adding `Connection`s for the  `walletModel.transactionWasSent` signal in different dialogs would cause the signal to be handled in the wrong dialog. The solution was to pass a `uuid` from the requesting dialog, and include the `uuid` in the response, so that only requests that were requested from the dialog would be handled.

*fix: update 1:1 translations*
All the translations were not being translated for me. I noticed that they did not exist in the `.ts` translation files either.
2020-10-28 11:07:21 +01:00
Richard Ramos 6c641eff42 feat: identify if a token is being approved and estimate gas for contract trxs 2020-10-27 17:13:11 -04:00
Jonathan Rainville 8ce51cfa7a fix: fix emptyChat text not being translated or translatable 2020-10-27 10:23:26 -04:00
Jonathan Rainville 23b8c6ab57 feat: add styled browser settings menu 2020-10-21 12:06:50 -04:00
Jonathan Rainville 4371501efc feat: style mention suggestions and make it work with keyboard 2020-10-20 17:21:02 -04:00
Jonathan Rainville 0c1156b33c feat: reuse signtxModal and show success and failure 2020-10-20 14:42:36 -04:00
Jonathan Rainville 08f8035b31 fix: add timeout to scroll bottom at all times to make sure we do scroll 2020-10-20 13:52:13 -04:00
Pascal Precht 3d0f50a5b3 feat: allow users to configure notification settings
Can choose between all, just mentions, or nothing
2020-10-20 13:50:49 -04:00
Pascal Precht ebda8b19a9 fix(Chat): ensure transaction bubbles are render on the correct side
Fixes #1198
2020-10-20 13:48:20 -04:00
Pascal Precht 8bf82e1dd6 feat: allow for fetching messages older than 24 hours 2020-10-16 10:43:38 -04:00
Jonathan Rainville b05a9a8ff6 fix: fix text in bubbles being too low 2020-10-07 11:22:29 -04:00
Pascal Precht ec22de8c24 uiux(Chat): add margin between group header messages and fetch-more button
Closes #1087
2020-10-07 11:22:04 -04:00
Pascal Precht c64424990d uiux(Chat): remove sent badge
Closes #919
2020-10-07 11:21:54 -04:00
Pascal Precht 12a7d7c067 feat: introduce new chat input component
Closes #757
2020-10-07 14:03:12 +02:00
Richard Ramos 2da4abf8eb fix: "Contact / Not a contact" indicator was not being updated when an user was added/removed as contact 2020-10-05 10:56:38 -04:00
hydr063n 5da0d47c5a feat: introduce character limit of 2000 when sending messages
fix: refactor sticker query
2020-10-05 10:50:12 -04:00
Richard Ramos 2fb9d569f7 refactor: open profile popup 2020-10-02 12:48:58 -04:00
Jonathan Rainville 261460f8fb fix: fix chat height being too high in compact mode 2020-10-02 12:48:02 -04:00
Jonathan Rainville fe3995bb3d refactor: clean compact mode message 2020-10-02 12:48:02 -04:00
Jonathan Rainville 7478415c64 fix: fix image padding 2020-10-02 12:48:02 -04:00
Jonathan Rainville c37ba24f7b fix: fix padding around stickers in compact mode 2020-10-02 12:48:02 -04:00
Jonathan Rainville df76fb815b refactor: make Sticker a Loader so that we only load it if needed 2020-10-02 12:48:02 -04:00
Pascal Precht edfd952166 feat(Chat): allow viewing unfurled images via popup
Fixes #668
2020-10-02 12:37:57 -04:00
emizzle 1d2774283f fix: Update StatusRoundButton colours
Update StatusRoundButton colours to support a "tertiary" style (background and icon color overlay), as well as tertiary hover colour.

Fix the modal header close button so that it more closely matches the design.

Replace the buttons in the onboarding modals with StatusRoundButtons were possible.
2020-10-02 12:31:55 -04:00
Jonathan Rainville 8bac59e98c feat: show the error when sendImage fails
Plus improve toastMessage to better handle wide messages
2020-10-02 12:28:41 -04:00
Jonathan Rainville 9acb6609ab feat: only show the scrollDown when scrolled up 400 pixels 2020-09-29 14:43:58 -04:00
Jonathan Rainville 3881d1e012 fix: make chatMessages new message box clearer 2020-09-29 14:43:58 -04:00
Jonathan Rainville 39f06d0741 feat: implement design for the new messages box in chat 2020-09-29 14:43:58 -04:00
Jonathan Rainville 1dfd16f83d fix: missing type and missing id 2020-09-29 14:34:26 -04:00
Jonathan Rainville 577dbba831 fix: fix code review and fix deleting colon closes emoji popup 2020-09-29 14:04:13 -04:00
Jonathan Rainville cf734796d1 feat: enable adding emojis from the suggestion list 2020-09-29 14:04:13 -04:00
Jonathan Rainville 15bebaa0f5 feat: add basic emoji list when entering an emoji 2020-09-29 14:04:13 -04:00
Jonathan Rainville 9f9bad2fa3 feat: add a read more button and crop text when message is too long 2020-09-29 14:02:33 -04:00
Jonathan Rainville dad1dcf2c5 fix: fix eth2Wei returning a bad string 2020-09-29 14:01:44 -04:00
Pascal Precht dcc0a1d321 uiux: introduce StatusChatCommandsPopup component 2020-09-29 13:57:52 -04:00
Pascal Precht bd63ae6bab feat: introduce StatusChatCommandButton
This is a new version of our `ChatCommandButton` so it is an actual
`Button` element.
2020-09-29 13:48:36 -04:00
emizzle 5eabcd2725 feat: Add loading and reload states to stickers/packs
Related to: #586.

Adds a loading state to stickers, so that a loading indicator appears while the sticker is being downloaded from IPFS.

In the case of a network failure or timetout, a reload button is shown instead. Once network is restored and the reload button is clicked, the image is reloaded from the network, going through the same lifecycle of showing the loading state first.
2020-09-29 13:27:50 -04:00
emizzle 1fc0e26a0f fix: update tx modal validity 2020-09-29 13:27:29 -04:00
hydr063n 25748ce682 chore: update ui screens to use utilsModel instead 2020-09-28 10:38:23 -04:00
Jonathan Rainville 81f5e4e7d8 chore: update translations 2020-09-23 17:19:57 -04:00
Jonathan Rainville c36f1f82cd feat: add a button to scroll back to the end of the chat list 2020-09-23 15:16:22 -04:00
Jonathan Rainville 4060b40ccf fix: fix mentions box being too big because plainText was the pubKey 2020-09-23 15:15:44 -04:00
Jonathan Rainville 6fc56b5035 fix: fix spaces and line breaks disappearing when pasting 2020-09-23 15:15:22 -04:00
Pascal Precht 599f788e67
feat: introduce `StatusChatInfo` and `StatusChatInfoButton` components
These components are used to render the chat info in the top bar of the chat view.
`StatusChatInfoButton` is an clickable button that will open chat info dialogs.

Closes #923
2020-09-23 08:53:23 +02:00
Pascal Precht fac0e50e37 feat: introduce StatusIdenticon components
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.

- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
  to decide which should be rendered

The commit also ensures all of these components are used respectively throughout
the application.
2020-09-23 08:52:30 +02:00
Jonathan Rainville a8d42e5e1e fix: fix reaction direction in compact mode for current user 2020-09-22 11:31:19 -04:00
Jonathan Rainville 49849edbac fix: channel description and reaction colors in dark mode 2020-09-22 11:30:30 -04:00
Jonathan Rainville a35130ff68 fix: fix reply colors in dark mode 2020-09-22 11:30:30 -04:00
Richard Ramos ca0416dd30 fix: code review and style changes 2020-09-21 15:03:17 -04:00
Richard Ramos 2fb8f2ea55 fix: join/decline group 2020-09-21 15:03:17 -04:00
Jonathan Rainville 6e357cb5e2 feat: show nickname in the modal from the contact list 2020-09-21 12:52:05 -04:00
Jonathan Rainville 7dce940e68 fix: fix message order being messed up because of the messageId 2020-09-18 17:23:09 -04:00
Pascal Precht 1aba28b1cf uiux(Settings): add slider to control audio volume
Closes #843
2020-09-17 15:16:32 -04:00
Pascal Precht e0adc3056e chore: update translations
Closes #801 #841
2020-09-17 15:16:09 -04:00
emizzle 7c520a8032 fix: close tx modals after sending 2020-09-17 12:22:15 -04:00
emizzle 7b0d3c496c fix: exception handling in mutli-threaded transactions
Currently, exceptions thrown during transactions or gas estimation that were spawned in another thread are not being propagated, due to a limitation in nim (see https://nim-lang.org/docs/manual_experimental.html#parallel-amp-spawn).

This means any exceptions from status-go were not propagated correctly and would cause the app to crash. This includes entering the wrong password when trying to send a transaction.

The issue was addressed by passing a `success` variable by reference, which is set to false if an exception was thrown by status-go.
2020-09-17 12:21:29 -04:00
Jonathan Rainville 23ca5f9930 feat: make settings user dependant and clean settings uses 2020-09-16 16:58:55 -04:00
Richard Ramos e75958d78d fix: code review 2020-09-16 14:22:29 -04:00
Richard Ramos 0091fded3a feat: toast messages for sticker and ens trxs 2020-09-16 14:22:29 -04:00
Jonathan Rainville 17aa8d274e fix: fix defaultTokenList use in QML 2020-09-14 14:54:17 -04:00
Richard Ramos 6c7a3d6340 fix: use messageid in comparator
Fixes #324
2020-09-14 14:39:06 -04:00
hydr063n b479dba001 feat: open modal when user left clicks on message containing image 2020-09-14 14:38:41 -04:00
Jonathan Rainville f3f27a5e59 fix: address more comments about the chat commands 2020-09-09 15:03:45 -04:00
Jonathan Rainville 91c8089716 fix: fix decimals problem with Chat commands
The problem was that the BigInt lib did not handle decimals at all. `divMod` only let the remainder be what is after the dot. So I created my own divde and multiply methods to move the dot depending on the number of decimals
2020-09-09 15:03:45 -04:00
Jonathan Rainville 348e0a9bdc fix: address review comments for the send forms 2020-09-09 15:03:45 -04:00
Jonathan Rainville 6b3cac31bc feat: enable sending chat requests 2020-09-09 15:03:45 -04:00
Jonathan Rainville 60492b4db1 feat: add chat command bubbles for received txs 2020-09-09 15:03:45 -04:00
Pascal Precht 4bea011417 uiux(Chat): show loading indicator when fetching more messages 2020-09-08 14:09:09 -04:00
Pascal Precht 1481f2648f feat: introduce "fetch more messages" button to request old messages
Closes #149
2020-09-07 10:20:17 -04:00
hydr063n 4f409f76c8 replace console.log with comment on popup section 2020-09-04 15:31:46 -04:00
hydr063n e77b6d193e refactor and add support for converting to emoji after pasting text 2020-09-04 15:31:46 -04:00
hydr063n 542020d6a6 extrapolate cursorPosition to account for the fact the emojis are not length 1 2020-09-04 15:31:46 -04:00
hydr063n deacefb03f poll for emoji event when user moves cursor with kbd or mouse and replace emoji token with code point 2020-09-04 15:31:46 -04:00
hydr063n 1cc43c15e7 implement emoji handler that replaces text 😂 with text 2020-09-04 15:31:46 -04:00
Richard Ramos 1d0e4fe2cf feat: disable reply on stickers and make sticker images smooth 2020-08-28 11:11:08 -04:00
Jonathan Rainville 0c686c3fcf chore: run qstrConverter script 2020-08-27 17:09:37 -04:00
Jonathan Rainville d19f15bb84 fix: fix chat links in a couple of ways
- link color in compact mode
- channel links did not have a #
- clicking on a mention should show that profile
- The AddChat button image didn't reposition when closing
2020-08-27 17:09:04 -04:00
Jonathan Rainville 3ca1c470a5 feat: enable toggling emoji reactions using the reactions themselves 2020-08-27 16:34:35 -04:00
Jonathan Rainville 99ca0e9e55 feat: enable adding reactions to chat messages from the menu 2020-08-27 16:34:35 -04:00
Jonathan Rainville 72af6adb69 feat: get and display emoji reactions in chat 2020-08-27 16:34:35 -04:00
Jonathan Rainville 60f7a3cbe2 feat: format timestamp in TransactionBubble like the Chat 2020-08-27 16:15:27 -04:00
Jonathan Rainville 9e2bf87d84 feat: add TransactionBubble for use with the chat commands
Add only the UI component for the TransactionBubble
Was not thoroughly tested since it was only developed in QT Designer
2020-08-27 16:15:27 -04:00
Iuri Matias 69b3ea57d6 fix volume of notification sounds 2020-08-20 13:39:57 -04:00
Jonathan Rainville d35c971c8b fix: fix layout of input buttons when some are hidden 2020-08-19 15:25:13 -04:00
Jonathan Rainville 474f68cf8a feat: add chat command modal shell
It doesn't do anything for now
2020-08-19 15:25:13 -04:00
Jonathan Rainville 59cba0f125 refactor: make ChatButtons a Row to not have to position them manually 2020-08-19 15:25:13 -04:00
Jonathan Rainville 8ac2d66f63 refactor: make ChatInputButton to reduce duplication 2020-08-19 15:25:13 -04:00
Richard Ramos f6cf197983 fix: pixelated icons on the menu 2020-08-17 11:57:32 +02:00
Pascal Precht 4f7486afbe refactor: Introduce more generic confirmation dialog for simpel cases 2020-08-13 14:40:03 -04:00
Pascal Precht 04ff3393fa feat: introduce confirmation dialog for blocking contacts actions
Closes #632
2020-08-13 14:40:03 -04:00
Richard Ramos d3b6ff32b8
fix: additional text on channel identifier 2020-08-11 08:39:10 -04:00
Richard Ramos e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Pascal Precht 17396c85cb feat(GroupInfo): allow user to visit group member profile page
Closes #638
2020-08-10 09:42:47 -04:00
Jonathan Rainville 156aaba0aa feat: improve style of the notification box
Use the Channel box for that
2020-08-10 09:34:02 -04:00
Richard Ramos 613c70c4a6
fix: link color 2020-08-06 16:35:54 +02:00
Jonathan Rainville 3cb88d0cfa
feat: add profile section to the context menu 2020-08-05 12:14:46 +02:00
Richard Ramos cb92c1dc14
fix: incorrect mentions behavior when text contains emojies 2020-08-04 10:19:42 -04:00
Richard Ramos 397be0b0c0
fix: sendBtn and trim 2020-08-04 10:14:57 -04:00
Richard Ramos 459de8cd1c
fix: display emojis on input textarea 2020-08-04 10:14:57 -04:00
Richard Ramos 86794dda0b
fix: chat scrollbars and input text wrapping 2020-07-31 12:00:18 -04:00
Richard Ramos 5ab1088f7c
feat: play audio messages 2020-07-30 13:49:50 -04:00
Richard Ramos 7fd1f9c468 fix: send emoji contentType 2020-07-28 15:35:06 -05:00
Richard Ramos 13f8875263 fix: hide replybox after sending a message 2020-07-28 15:35:06 -05:00
Jonathan Rainville 9604faff08 feat: add New messages box in chat when scrolling up 2020-07-23 17:01:04 -04:00
Richard Ramos cc735aec6b fix: hide usernames on 1:1 chats 2020-07-23 16:19:54 -04:00
Richard Ramos adde2e2017 fix: dateLabel height 2020-07-23 16:00:14 -04:00
Richard Ramos 99b9c21221 fix: date 2020-07-23 16:00:14 -04:00
Jonathan Rainville c71f5f1a07 fix: fix dark theme colors for chat and profile 2020-07-23 15:59:18 -04:00
Jonathan Rainville a1585c8499 feat: add ImageLoader to reuse Image loading mechanism 2020-07-23 15:44:59 -04:00
Jonathan Rainville 327552c33b add loading and error image boxes 2020-07-23 15:44:59 -04:00
Jonathan Rainville 42c09c9f3a fix: hide sent message on compact mode once sent 2020-07-23 15:44:59 -04:00
Jonathan Rainville c7cfa5d32b fix: fix scrolling to bottom for images 2020-07-23 15:44:59 -04:00
Jonathan Rainville e176443ceb fix: fix chat not scrolling to bottom on load 2020-07-23 15:44:59 -04:00
Pascal Precht f2d345fe6e feat(chat): support mention auto complete anywhere inside the message 2020-07-23 15:36:45 -04:00
Richard Ramos 7ca512661b fix: load messages on scroll up, scroll down when sending messages and hide sending status for expired messages 2020-07-22 15:58:31 -04:00
Richard Ramos 3140d76a5c fix: group status messages were not being displayed
Fixes #610
2020-07-22 10:22:10 -04:00
Richard Ramos a32a156651 feat: send images - UNSAFE -
Sends images but does not clean metadata nor limits file size
2020-07-21 14:26:20 -04:00
Richard Ramos a31610742c fix: code review 2020-07-21 13:15:22 -04:00
Richard Ramos 5351fb62dc feat: display messages with an image contenttype 2020-07-21 13:15:22 -04:00
Jonathan Rainville a9cddde37e fix: fix text selection by putting mouseArea under text
And put link click handling by the TextField itself
2020-07-21 12:00:24 -04:00
Jonathan Rainville 601d237fde fix: fix replies being all squished if the replied message was smaller 2020-07-21 12:00:24 -04:00
Jonathan Rainville 4c7c8a06a3 fix: fix message overflowing because break spaces were stopped by pre 2020-07-21 12:00:24 -04:00
Jonathan Rainville 15cc48c6f8 feat: add mock emoji menu in popup menu for chat 2020-07-21 11:41:19 -04:00
Jonathan Rainville f51399ff1f fix: fix QML warnings and errors 2020-07-21 11:09:00 -04:00
Richard Ramos 0278379495 fix: allow resending older expired messages 2020-07-21 10:19:12 -04:00
Richard Ramos f9335c0969 feat: retry sending messages 2020-07-21 10:19:12 -04:00
Pascal Precht 1e39cf4821 feat(chat): implement mention auto complete
Closes #515
2020-07-17 12:31:20 -04:00
Jonathan Rainville b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
decanus b3a4903655 fix channel identifier color 2020-07-17 17:27:01 +02:00
Jonathan Rainville 0ab257d005 feat: make RectangleCorner a component and show images in compact 2020-07-16 11:49:13 -04:00
emizzle 15a860b2bb feat: Enable switching to testnet
Allow switching to Ropsten by flipping a toggle switch in Profile > Advanced settings.

When switching networks, note that installed stickers will be uninstalled, and recent stickers will be removed. Sticker packs can be reinstalled after login. Purchased sticker packs will not need to be re-purchased, but will need to be re-installed.

Mailserver fleet information will **not** be updated. This can be controlled by a separate (undeveloped yet) setting.
2020-07-16 10:59:31 -04:00
Jonathan Rainville 262941e839 feat: add space between the last chat and the chat input 2020-07-16 10:32:27 -04:00
Jonathan Rainville 851eb82026 feat: make channel list compact in compact mode 2020-07-16 10:32:27 -04:00
Jonathan Rainville 36f230e03d feat: add saved setting for Compact mode 2020-07-16 10:29:29 -04:00
Jonathan Rainville 5951fcf131 feat: refactor Message and add Compact message type 2020-07-16 10:29:29 -04:00
Iuri Matias c5410b6536 remove leftover condition 2020-07-15 16:05:35 -04:00