Commit Graph

676 Commits

Author SHA1 Message Date
Richard Ramos b43122d7f3 feat: use stacklayout for chat messages 2021-02-23 08:53:31 -05:00
Jonathan Rainville 98b3e64573 chore: update status-go version and update mailservers api 2021-02-22 10:01:19 -05:00
Jonathan Rainville 5327b7feea fix: fix mention not being removed 2021-02-22 09:58:28 -05:00
Pascal Precht 18ea9dc2cd fix: make reactions in 1-on-1 chats work
Turns out message reactions weren't functional in 1 on 1 chats.
Reaction signals come with a `chatId` that they correspond to, which is
then used to determine to channel and message list to apply/remove
the reaction to.

Inside of a 1 on 1 chat, the `chatId` of a reaction coming from the
will always be the pubKey of the the user that receives it.
A user however, usually doesn't store a chat item for her own pubKey
unless it's of type `Profile`.

This results in an illega storage access as reported in #1828

This commit fixes this bug by checking whether the reaction `chatId`
matches the user's `pubKey`. If that's the case, we know that the reaction
corresponds to the reaction's `fromAuthor` chat.

Fixes #1828
2021-02-22 09:58:07 -05:00
Richard Ramos b1b32d354d fix: TLS verification 2021-02-22 09:57:42 -05:00
staked-smart-ace 1ad506e746 Fixed dismissing issue when update contact's profile. Fixes #1761 2021-02-22 09:54:18 -05:00
staked-smart-ace 31a9d1a6f1 Fixed dismissing issue when update contact's profile. Fixes #1761 2021-02-22 09:54:18 -05:00
Richard Ramos 228e746421 fix: Disable ListenAddr as it is not necessary for running status-desktop 2021-02-18 17:55:50 -05:00
Richard Ramos 38eeaf111c fix: update image when switching account on login
Fixes: #1847
2021-02-18 16:40:33 -05:00
ace-smart 03353af634 Updated codes be more compacted. Fixes #1826 2021-02-11 10:15:29 -05:00
ace-smart 972cf9f138 Fixed the issue doesn't show nickname on profileview in 1:1 chat. Fixes #1826 2021-02-11 10:15:29 -05:00
Pascal Precht 8977ba4931 refactor: redesign PrivateChatPopup to match new designs
This commit introduces the new design and behaviour of the modal
that opens up when starting a new 1-on-1 chat.

Main changes include:

- New search UI/UX functionality of users and ENS resolutions
- Composed view of existing contacts and contacts to be searched
- Ability to add contacts from within the modal

Closes: #1747
2021-02-10 13:39:25 -05:00
Richard Ramos 2ac67f95aa fix: add contact using status ens name 2021-02-08 17:39:10 -05:00
Richard Ramos 366ebffbe7 fix: code review 2021-02-08 17:37:44 -05:00
Richard Ramos d0de5c074f fix: populate suggestion box with all users from the message list
Fixes: #1328
2021-02-08 17:37:44 -05:00
Jonathan Rainville 1616ae255b refactor: check mentions in toMessage 2021-02-08 16:48:14 -05:00
Jonathan Rainville bffe888b0d feat: improve compact mode to fix all alignements 2021-02-08 16:48:14 -05:00
Richard Ramos 4a9f63c59a fix: code review 2021-02-01 14:23:29 -05:00
Richard Ramos e76e936d2b feat: request older status updates 2021-02-01 14:23:29 -05:00
Richard Ramos c241bd47db fix: code review 2021-02-01 12:02:55 -05:00
Richard Ramos 81c33fe2af Do initial balance fetch async 2021-02-01 12:02:55 -05:00
Richard Ramos 17477b0c45 fix: code review 2021-02-01 12:02:55 -05:00
Richard Ramos 55466416d6 fix: initial load of messages and reactions done on a separate thread 2021-02-01 12:02:55 -05:00
Richard Ramos 6af10ac900 fix: determine if a mnemonic has been loaded only once 2021-02-01 12:02:55 -05:00
Pascal Precht b1e5a15e2a refactor(ChannelContextMenu): remove dependency on active channel
This commit does a bunch of things:

- First and foremost, it removes the active channel dependency.
  This is needed to have it operate on the correct channel object,
  without forcing us to change the active channel (e.g. right-clicking
  on a channel item that's not active, will make it active eventually)
- To make that work, this commit changes the `ChannelContextMenu`
  to receive a `ChatItemView`, so it can be used for things like determining
  what menu options are shown, what members are in a group, whether
  someone is admin of a group etc.
- This also required a new `QtProperty` called `contextChannel`.
  The reason this is required, is because in some cases, like receiving
  members count of groups, we need a complete `ChatItemView` object
  as we don't have access to certain APIs otherwise.
- Unfortunately, we can't pass down `activeChannel` every where for that
  because sometimes the context menu should not actually operate on
  the active channel.

Fixes: #1755
2021-02-01 11:53:06 -05:00
Jonathan Rainville 6dad050cc7 fix: fix muted chats not updating correctly in the profile 2021-01-22 13:41:46 -05:00
Jonathan Rainville edf3e99f08 fix: update muted channel state if the channel is the active one 2021-01-21 12:04:27 -05:00
Jonathan Rainville 64a0710897 fix: fix channel not updating on new messages 2021-01-20 17:36:42 -05:00
Jonathan Rainville 444072f599 feat: call getPreviewData (url unfurling) in a separate thread
Fixes #1678
2021-01-19 16:51:59 -05:00
Malik Al-Jabr 3ad3739218 fix: gas estimate error
fixes #935
A bug occurs when someone requests a large amount of funds from you since the gas estimation will fail and there isn't a way of handling errors in the source yet.

This PR handles the error appropriatley for both `estimateGas` and `estimateTokenGas` where the response is only converted from hex to int if the RPC call was successful. Otherwise return the error message as the response and let the UI decide how to display it.

Currently the error for gas estimation in transaction bubbles is displayed in a popup however, ive come to realize that 2 popups open instead of one. This is a new bug of which I can't pinpoint the root cause at the moment and have opted to file a separate issue for it.
2021-01-19 16:11:06 -05:00
Jonathan Rainville 3f012dbf00 fix: fix clearing history removing the fake messages 2021-01-18 17:50:45 -05:00
Michael Bradley, Jr 05f38fa966 chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
Jonathan Rainville 76688733f5 feat: add muted states for channel
Fixes #1615
2021-01-15 13:52:50 -05:00
Richard Ramos efc1feb2fa feat: add custom mailserver 2021-01-15 13:51:31 -05:00
Pascal Precht 840a6189eb fix: don't show backup message when mnemonic was imported
As reported in #1584 the message that asks users to backup their seed phrase
is shown even when the seed phrase was imported in the first place, implying that
the mnemonic is already backed (it has to come from somewhere, right?).

This commit introduces a new `appSettings` property that is temporarily set to
determine whether or not the backup message should be shown.

It's set only temporarily because we actualy determine whether we want to show the
backup message, by checking if the account's mnemonic is still stored in the settings.
When a backup is done, Status removes the mnemonic from the profile settings.

So in order to get the right behaviour we need to make sure to remove the mnemonic
from the profile settings after the account has logged-in and originated from
an imported seed phrase. This is done by setting the mentioned property.

Closes #1584
2021-01-15 13:51:20 -05:00
Pascal Precht 7102596b3f fix(Timeline): make reactions works
This commit makes reactions in the status timeline work.
There are two things prior to this commit that are broken:

1. The logic that opens the reaction context menu always expects
   and instance of `chatsView` because it tries to calculate a users
   nickname. Such an instance isn't always available in that context, so
   the nickname logic has been moved to `appMain` for now, removing that
   dependency and therefore making it work in both, the chat view as well
   as the status view.
2. While 1) makes the context menu work, it turns out that adding and
   removing reactions inside the status timeline is still not working.
   The reason for that is, that the reactions component maintains its own
   `messageList`, which isn't aware of the fact that reactions for messages
   coming from chats of `ChatType.Profile`, need to go into a dedicated
   message list for `ChatType.Timeline`.

In other words, reactions are sent and removed from message in messagelists
that don't actually exist.

This commit fixes both of these things by ensuring the message lists
maintained by reactions are timeline aware. Also ensuring updates are
done correctly.
2021-01-14 15:33:46 -05:00
Jonathan Rainville a5fce2b7de fix: fix chat not scrolling because the signal was not called 2021-01-13 16:27:13 -05:00
Richard Ramos 6b1cef9235 List custom networks and allow selecting them 2021-01-12 13:26:39 -05:00
Richard Ramos 0acc959e4d Save new networks 2021-01-12 13:26:39 -05:00
Jonathan Rainville e747ed8f1b fix: pending transactions crashing on infura issues 2021-01-12 12:40:51 -05:00
Richard Ramos 4b72e5dde0 fix: pinned mailserver default value 2021-01-11 14:51:08 -05:00
Richard Ramos 199d5a0342 use mailserver cycle or specific mailserver depending on settings 2021-01-11 14:01:17 -05:00
Richard Ramos 2a6eb20094 pin selected mailserver 2021-01-11 14:01:17 -05:00
Pascal Precht b0cd49b111 fix(Timeline): ensure messagesList QtProperty is notified for rendering
The `messageList` model used for rendering messages gets notified by the
`activeChannelChanged()` signal. That signal is not immediately emitted inside
the timeline when new messages are received.

This causes the underlying view data to be out of sync with the model,
causing UI bugs, such as rendering the `EmptyTimeline` component when in fact,
the timeline is not empty.

To fix this, there are two options:

1. Change the signal from `activeChannelChanged` to `messagePushed` signal, which
is for sure emitted when messages are received
2. Ensure `activeChannelChanged` is emitted when messages are pushed and the
active channel is indeed the timeline

Since the application has been relying on `activeChannelChanged` so far, I decided
to go with option 2 as I'm not sure whether option 1 would introduce other unwanted
side effects.
2021-01-11 13:59:23 -05:00
Jonathan Rainville 0ff5fa32f0 fix: fix channels reordering and messing up the profile image 2021-01-11 13:57:35 -05:00
Jonathan Rainville 7b03da2967 feat: enable removing member and fix invites 2021-01-11 13:57:35 -05:00
Jonathan Rainville b3844d4012 fix missing function 2021-01-11 13:57:35 -05:00
Jonathan Rainville d48043ee22 chore: cleanup community code 2021-01-11 13:57:35 -05:00
Jonathan Rainville a90a30af11 add import for a community 2021-01-11 13:57:35 -05:00
Jonathan Rainville 82405cc425 add export function and button 2021-01-11 13:57:35 -05:00