Commit Graph

1871 Commits

Author SHA1 Message Date
Andrei Smirnov 4031db9bf1 perf(@desktop): "make run" boost and build correct qrc 2021-07-19 13:01:53 -04:00
Sale Djenic 1acbc76cc9 chore(@desktop/general): run translation script
All untranslated properties are translated now using translation scripts.
2021-07-19 12:27:45 -04:00
Sale Djenic e9585e6209 feature(@desktop/communities): add loading state when import community
Toast message is added when user access an existing community using community's private key. Toast
message with message that importing community is in progress is displayed while community is being
imported and once it is imported toast is closed and new one, which will be closed in 4 seconds,
with message that community is imported is displayed.

Fixes: #2467
2021-07-19 12:27:45 -04:00
Andrei Smirnov 9a348e1836 fix(@desktop/chat): invitation bubble long text support 2021-07-16 18:26:27 -04:00
Alexandra Betouni 80943b3342 [#2263] Change Focused state back to default in search box
In chat search box the focus state was remaining true
even though the user was clicking outside of it

Closes #2263
2021-07-16 18:21:44 -04:00
Andrei Smirnov f66e64cc9c fix(@desktop/timeline): auto-update messages age 2021-07-16 18:14:01 -04:00
Andrei Smirnov 1cc8d768b8 fix(@desktop/timeline): render message age instead of message time 2021-07-16 18:14:01 -04:00
Alexandra Betouni c1a6e57ca6 [#2650] Fixed pasting rich text in text box
* Text copied from clipboard that included images
  and other rich content was not visible in text
  box when pasted, modified to keep only plain
  text instead and removed unnecessary funtions
* Also removed unecessary Rectangle in Input

Closes #2650
2021-07-16 17:56:14 -04:00
Sale Djenic ecb2bac6e5 fix(@desktop/chat): sign and send appears for both recipient and sender when sharing the address
The reason for this issue is a message where recipient accepted to share his address with sender.
In that message recipient's public key is set as a "from" property of a "Message" object and we
cannot determine which of two users has initiated transaction actually.

This is fixed checking if the "from" address from the "commandParameters" object of the "Message"
is contained as an address in the wallet of logged in user. If yes, means that currently logged in
user has initiated a transaction (he is a sender), otherwise currently logged in user is a
recipient.

We were just sending a transaction, without notifying message about that. Now we call
callPrivateRPC("acceptRequestTransaction".prefix, %* [transactionHash, messageId, signature])
and that notifies message about the change, but only on the sender side. Appropriate message
on the recipient side was not notified about the change. That need to be checked.
2021-07-16 17:41:22 -04:00
Richard Ramos 2f2b3726df feat: waku bloom filter mode switch 2021-07-15 09:41:39 -04:00
Pascal Precht 1a9d6d178c refactor(Communities) replace `CommunityProfilePopup` with `StatusModal`
This commit refactors the `CommunityProfilePopup` to use `StatusModal`. Since it's made of
various popup content components, it also updates the memberlist, the overview and the
invite friends view, so it doesn't break the UI along the way.

Closes: #2885, #2887, #2888
2021-07-15 08:38:24 -04:00
Pascal Precht c0da840a87 fix(ContactsListAndSearch): ensure component doesn't depend on `parent`
Also add default `height` as it otherwise breaks UI in other places.
2021-07-15 08:38:24 -04:00
Pascal Precht 959c21990c ui(@desktop/chat): fine-tune chat info button position
This was a little too low.
2021-07-15 08:38:24 -04:00
Pascal Precht bb9beef837 fix(Communities): fix channel popup position and field hydration
There are two regressions introduced in 080767c338 where
the `CreateChannelPopup` isn't properly centered when triggered in edit mode,
and that the channel name field isn't hydrated with channel data.

This commits fixes both bugs.
2021-07-15 08:38:24 -04:00
Sale Djenic e832666123 fix(@desktop/chat): push notification is duplicated when mentioning
This bug is happening if you have more than one private chat in the contacts column. How many chats
you have that many same notifications you will get. That's happening cause connection is made
between chatsModel.messageView and ChatsMessages component for each private chat, and for each of
them ChatsMessages component is maintained in StackLayout component what means all of them are
exist but only selected instance is visible. When new messageNotificationPushed signal is emitted
each qml component triggers its slot (regardless component is not currently visible it exists in
the background, it's not deleted) and that's why we see more than one OS' notification bubble for
the same notification.

That is fixed moving slot from ChatMessage component to ChatColumn component.

Fixes: #2551
2021-07-14 18:46:04 -04:00
Andrei Smirnov cd423336e1 fix(@desktop): windows application unresponsive when fetching Status updates 2021-07-14 18:28:41 -04:00
Anthony Laibe 511c959121 fix(@desktop/chat): fix sticker/image notification with placeholder
fixes #2450
2021-07-14 18:27:38 -04:00
Alexandra Betouni d866a9f59e [#2376] Removed invalid error message when adding new contact
* Also removed from adding new chat

Closes #2376
2021-07-14 18:21:19 -04:00
Pascal Precht d10ffd56ce fix: ensure Chat navbar tab button shows correct message count
The chat navbar tab button renders an indicator when there's unread messages
in any of the chats. It also renders a message count, which prior to this commit
equals to the number of total unread messages.

This however is not the desired behaviour. Instead, the count should be the total
number of unread one on one messages (DMs), plus the total number of mentions in any
chats the user is participating in.

This commiit ensures the correct message count is rendered. It also adds an "unread messages"
indicator to community buttons.

Closes #2869
2021-07-14 18:17:21 -04:00
Jonathan Rainville 3740eda1e6 fix(search): clear search when changing active channel 2021-07-14 17:42:55 -04:00
Jonathan Rainville 3e33db039f fix(search): fix 1-1 name, pic, icon and symbol 2021-07-14 17:42:55 -04:00
Jonathan Rainville 3169fe636b fix(search): fix missing scroll and wrong heights
Also fixes a bug where if the search was cleared, messages would after that appear all on top of each other. 
Also leaves the popup live after closing so the search can be gone back to
2021-07-14 17:42:55 -04:00
Jonathan Rainville 359d0ab252 code review 2021-07-14 17:42:55 -04:00
Jonathan Rainville 6e218ad924 feat: add basic local chat search
Fixes #2771
2021-07-14 17:42:55 -04:00
Sale Djenic 47d1546893 fix(@desktop/chat): app crash when you leave a chat
The issue is happening randomly. I managed to catch it few times and hopefully fix it. Problem was
in leave proc in src/status/chat.nim cause we were sending activeChannelChanged signal from it what
started setting activeChannel to the value of the backToFirstChat variable, and while that process
was in progress setActiveChannelByIndex was called from activeChannel what caused another emit of
activeChannelChanged signal while the previous one was not completed. That caused new setting of
activeChannel with active channel index 0, what caused an app crash.

This is fixed by setting active channel to the first one from the list when we get a signal that
any channel from the list is removed. This way activeChannelChanged is broadcasted to the other
parts correctly.

Fixes: #2825
2021-07-14 16:15:40 -04:00
Pascal Precht 18a042fdf1 refactor(Communities): replace `CreateCategoryPopup` with `StatusModal` 2021-07-13 18:11:55 -04:00
Pascal Precht 080767c338 refactor(Communities): replace `CreateChannelPopoup` with `StatusModal` 2021-07-13 18:11:55 -04:00
Alexandra Betouni 78f7e0f4e0 [#2398] Updating "leave community" button color
It should be red instead of blue

Closes #2398
2021-07-13 17:37:01 -04:00
Anthony Laibe 769ac7ee86 fix(@desktop/chat): nickname disapear when closing the modal
fixes #2674
2021-07-13 17:32:28 -04:00
Anthony Laibe 66a0611d91 fix(@desktop/chat): Hide add contact button on private chat
fixes #2595
2021-07-13 17:20:23 -04:00
Anthony Laibe 869ae63518 fix(@desktop/profile): Unmuted chat from profile -> notification
fixes #2557
2021-07-13 17:20:13 -04:00
Andrei Smirnov f755ba44e2 fix(@desktop/chat): fetch more messages fix 2021-07-13 17:05:58 -04:00
Andrei Smirnov b27a52bfce fix(@desktop/groups): wrong message when all contacts have been added to a group chat 2021-07-13 17:05:58 -04:00
Andrei Smirnov 42b92a5853 fix(@desktop/chat): odd logging 2021-07-13 17:05:58 -04:00
Andrei Smirnov fcc2a9e025 fix(@desktop/timeline): timeline and images area bugfixes 2021-07-13 17:05:58 -04:00
Anthony Laibe aa5f861cb8 fix(@desktop/profile): decline all request when big pending request list 2021-07-13 16:58:06 -04:00
Anthony Laibe 76f1aec0e3 fix(@desktop/communities): disable edit for cleared message 2021-07-13 16:41:27 -04:00
Sale Djenic 102a385943 fix(@desktop/chat): app crash when you accept contact request
This issue is being happened randomly, no general rule, in my case it happens often when you accept
first contact from the list immediately after the app start, but the ticket says that it happens
when you click accept while context menu is opened.

Two places were threat for this crash and both are fixed here:
- getChannel proc, direct access by index to Chat element of the chats sequence,
- setChatItem proc, where we actually were setting chatItem and accessing its property without
  checking if it is an empty object.

Fixes: #2837
2021-07-13 16:33:08 -04:00
Alexandra Betouni 40b2a5c778 [#1608] convert text to emoji automatically
For example, typing :D should turn into 😁

Closes #1608
2021-07-13 11:42:46 -04:00
Anthony Laibe 0eb2a23600 fix(@desktop/timeline): update color of chat time when image 2021-07-13 11:38:43 -04:00
Anthony Laibe 70e8df5cc2 fix(@desktop/chat): update color of close suggestion to be lighter 2021-07-13 11:38:13 -04:00
Sale Djenic 4207844826 fix(@desktop/chat): app crash when you click macOS' notification
A crash is happening not only when you click on a notification bubble with mentions, but on any
chat notification displayed in macOS' notification center. Discussion and details how we can
overcome this may be seen on zenhub, in issue 2819. So far this commit is just a simple solution
to avoid an app crash.

Fixes: #2819
2021-07-13 10:35:29 -04:00
Jonathan Rainville 621f723ecf fix(mentions): set mention index at the top when changing the filter 2021-07-13 09:41:52 -04:00
Jonathan Rainville 40fd390def fix(mentions): fix to sort alphabetically and with start of words 2021-07-13 09:41:52 -04:00
Jonathan Rainville 4277a6e7f4 feat(mentions): show mentions ordered by how it matches the filter
Fixes #2543
2021-07-13 09:41:52 -04:00
Richard Ramos e3c09a9631 fix: enable community feat. when clicking community invite 2021-07-12 17:33:39 -04:00
Richard Ramos 8d7a78389d fix: crash on chatmessages when using 5.15.2 2021-07-12 17:14:25 -04:00
Jonathan Rainville 2716abf096 fix(wallet): make it possible to send a 0 tx with a warning
Fixes #2652
2021-07-12 17:11:41 -04:00
Jonathan Rainville b99300bf10 fix(onboarding): fix black screen when closing re-encrypt modal
Fixes #2657
2021-07-12 17:11:28 -04:00
Jonathan Rainville 0368c0beaa fix(backup-seed): fix some wrong colors in the the backup seed modal 2021-07-12 17:11:28 -04:00
Andrei Smirnov 1653e3bf20 fix(@desktop/timeline): can't click the links and hashtags in timeline 2021-07-12 17:07:41 -04:00
Andrei Smirnov 3bb5be8685 fix(@desktop/chat): navigating from Chats to Timeline shows wrong messages 2021-07-12 16:51:20 -04:00
Pascal Precht a69c2aea73 refactor(Chat, Communities): replace `TopBar` with `StatusChatToolBar`
This commit replaces the `TopBar` components with StatusQ's `StatusChatToolBar`
and touches a few other things as part of this refactoring, namely:

1. `ChannelContextMenu` has been renamed to `ChatContextMenu` and is now a `StatusPopupMenu`
2. Leftover components have been removed: `StatusChatInfo`, `StatusChatInfoButton` and `TopBar`
3 `ActivityCenter` has been moved into `ChatColumn.qml` because `StatusChatToolBar` doesn't provide it
4. `Share chat` option in `ChatContextMenu` has been removed as it wasn't doing anything.

Closes #2746
2021-07-09 10:39:58 -04:00
Pascal Precht c675aff0f8 refactor(Communities): replace `CategoryList and `ChannelList` with StatusQ components
This commit replaces `CategoryList` and `ChannelList` with `StatusChatListAndCategories`,
`StatusPopupMenu` etc. provided by StatusQ.

It also removes components that lived inside Status Desktop but are no longer used
anywhere after the refactor.

Since StatusQ components are decoupled from UI model logic, we also needed to introduce
a new API retrieve a community category from within QML.

Closes #2805
2021-07-09 10:39:58 -04:00
Pascal Precht 23b103795a refactor(ContactsColumn): replace `ChannelList` with `StatusChatList`
Closes #2745
2021-07-09 10:39:58 -04:00
Sale Djenic eb7809ecdf fix(@desktop/wallet): app crash when click on sign and send message
A reason why the crash is happening is actually previous step, when an user who is about to receive
a transaction clicks "confirm and share address" button. In that moment instead of his address an
empty js object is shared. After that clicking on the "sign and send" button, by sender, causes an
app crash because transaction cannot be made using invalid address of the recipient.

Fixes: #2718
2021-07-08 14:18:58 -04:00
Richard Ramos 9e58563fcf feat: community userlist
Fixes #2810
Probably a big chunk of the code from this PR is going to be replaced by #2811
2021-07-08 14:14:27 -04:00
Andrei Smirnov a5806aaf5a fix(@desktop/chat)
Fixed #2430: Add members window shown when accessing 1x1 chat within group chat
2021-07-08 13:23:00 -04:00
Alexandra Betouni 35198cb448 [#2534] Adding emoji skin color selector
* Icon was there but feature was not implemented

fixes #2534
2021-07-07 14:40:10 -04:00
Sale Djenic 7fbccec227 fix(activity_center): Mark as read does not clear @ symbol in chat
Mark all mention notifications as read is fixed. Also mark as read one by one notification removes "@" from the appropriate channel along with the marking as read last mention notification for that channel. hasMention field which was bool is switched with mentionsCount field which is int, so we have evidention how many mentions were for each channel.

Fixes: #2788
2021-07-07 14:25:52 -04:00
RichΛrd 20b3f29422 fix: code review 2
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-07-07 06:19:41 -04:00
Richard Ramos c5cc001ee1 fix: code review 2021-07-07 06:19:41 -04:00
Richard Ramos 2fcbe4ac16 feat: user list 2021-07-07 06:19:41 -04:00
Jonathan Rainville cd44b8a606 feat: add group requests to the activity center
Fixes #2679
2021-07-06 12:51:43 -04:00
Andrei Smirnov d67bb1f999 Fixed #2151 - updated status icons. 2021-07-06 12:48:38 -04:00
Richard Ramos 065bd26786 fix: code review 2021-07-06 11:58:47 -04:00
Richard Ramos 5f7f899c3b refactor: separate slots for sending eth and tokens 2021-07-06 11:58:47 -04:00
Richard Ramos 2c553f48f7 fix: issues 2021-07-06 11:30:07 -04:00
Richard Ramos 689b36e6da fix: remove pin indicator when a message is being edited 2021-07-06 11:30:07 -04:00
Richard Ramos c7750da267 feat: edit messages 2021-07-06 11:30:07 -04:00
Eric Mastro 77e501c478 fix(wallet): QML error when loading history
Fixes: #2725.

When clicking on the History tab for a wallet account, there was a QML error for `qrc:/app/AppLayouts/Wallet/WalletLayout.qml:113: TypeError: Property 'checkIfHistoryIsBeingFetched' of object HistoryTab_QMLTYPE_503(0x7fed35da2710) is not a function`. This must have been reintroduced when StatusQ objects were introduced. It has now been removed.

chore: change log level to warn for non-archival node
Previously, there was an error being logged for non-archival infura nodes being used (typically in dev). This log level has been reduced to a warning as the application still functions with non-archival nodes.
2021-07-06 11:28:00 -04:00
Alexandra Betouni bcfdf8b557 [#2574] Increased reply TextInput's height to avoid bottom cutting 2021-07-06 11:15:51 -04:00
Andrei Smirnov 6efe90ef77 Addressed PR feedback. 2021-07-06 10:57:37 -04:00
Andrei Smirnov 7255dcd256 Fixed: starting a group chat shouldn't show the section to fetch more messages. 2021-07-06 10:57:37 -04:00
Sale Djenic 6f55c51ff2 fix(wallet): Crash when enter -1 to Gas Selector
Validation check is updated, so user cannot enter zero or less than zero value for "gas amount limit" or "per-gas overall limit".
In gas.nim a crash prevention check is added.

Fixes: #2753
2021-07-06 10:46:07 -04:00
Sale Djenic a9fd4513aa fix(wallet): Clicking Request Address when sending -1 STT crashes the app
Validation check is updated, so user cannot enter zero or less than zero value in amount input field.
Also in utils.nim a crash prevention check is added so if we try to convert a less than zero float number to an unsigned number, app won't crash any more, but that casting will return a zero as unsigned int number.

Fixes: #2755
2021-07-06 10:45:25 -04:00
Sale Djenic 1b06ed5d98 fix(enhancement): Onboarding screen changes
Privacy policy does not belong to the mandatory checkbox fields.

Fixes: #2804
2021-07-06 10:45:02 -04:00
Andrei Smirnov 801f274a48 HEZ icons: all sizes. 2021-07-06 10:44:45 -04:00
Andrei Smirnov 746d120479 Added $HEZ as default ERC-20 token. 2021-07-06 10:44:45 -04:00
Richard Ramos e347255df4 fix: channel description width 2021-07-06 10:44:28 -04:00
Jonathan Rainville 2e98724641 feat(community): add notification setting to community
Fixes #2421
2021-07-06 10:41:10 -04:00
Jonathan Rainville 1bcfd9df14 fix: fix qml warnings caused by rebases 2021-07-02 08:56:23 -04:00
Sale Djenic ba01d6ad75 fix(communities): bug: "Invite successfully sent" shown prematurely on Community invite popup
The issue actually appeared because of ignoring message label when we calculated the top margin offset, fixed now.

Fixes: #2449
2021-07-02 08:54:02 -04:00
Sale Djenic 538dcd0b86 fix(communities): Naming validation for communities
Category name validation updated.

Fixes: #2297
2021-07-02 08:53:19 -04:00
Sale Djenic b9ff88f41c fix(communities): Naming validation for communities
Channel, channels category name and community name handled according to the new validation.

Fixes: #2297
2021-07-02 08:53:19 -04:00
Sale Djenic 341d3ebcf7 fix: typing in `<` in the input box deletes everything afterwards in
Fixes: #2267
2021-07-02 08:52:03 -04:00
Jonathan Rainville 0774c4d5bf fix(community): fix request access label
Fixes #2666
2021-07-02 08:51:48 -04:00
Jonathan Rainville dfebe88be7 fix(communities): fix duplicated communities and joining through link
Fixes #2665
2021-07-02 08:51:48 -04:00
Richard Ramos ba2b553d7c refactor: Profile 2021-07-02 08:51:30 -04:00
Andrei Smirnov 5d837c450c Fixed issues #2560, #2795, #2796. 2021-07-02 08:51:14 -04:00
Pascal Precht aa4bdaf910 refactor(ProfileLayout): make use of StatusQ layout components
Closes #2716
2021-06-30 15:08:26 +02:00
Pascal Precht 88ca3b9bbf refactor(WalletLayout): use StatusQ two panel layout 2021-06-30 15:08:26 +02:00
Pascal Precht 8d48ebf864 refactor(ChatLayout): use StatusQ layout component to lay out view
These changes don't cause a visual change, but just make use of the
two panel layout component providedby StatusQ.

Closes #2688
2021-06-30 15:08:26 +02:00
Pascal Precht f581f49dcf refactor: make use of StatusQ `StatusAppLayout`
This first step in leveraging StatusQ components. This sets up the overall
app layout, allowing us to use other sub view layouts provided by StatusQ,
such as `StatusAppTwoPanelLayout`.

This commit primarily touches the application navbar, leaving layout changes
in dedicated views for future commits.

Partially closes #2688
2021-06-30 15:08:26 +02:00
Pascal Precht 57e835114b refactor: integrate StatusQ Theming system
This integrates the StatusQ Theming system and updates the selected
theme based on existing APIs, allowing it to live side by side next
to the legacy theming system.

Closes #2687
2021-06-30 15:08:26 +02:00
Richard Ramos ec1ba71db1 fix: prevMsgTimestamp and nextMsgTimestamp 2021-06-29 08:01:53 -04:00
Sale Djenic d3290bde02 fix(onboarding): Mobile onboarding slider is shown on desktop
Mobile onboarding screen is removed. Instead of it "Before you get started..." modal popup is added to the "Get your keys" screen.

Fixes: #2558
2021-06-29 07:57:17 -04:00
Sale Djenic 562373fdfc fix(communities): Right click inside the community pane does not open context menu
Fixes: #2547
2021-06-29 07:56:59 -04:00
Sale Djenic ef7ac11f06 fix(Communities) Long community names should be truncated
UI issue is fixed, additional similar issue is fixed in CommunityProfilePopup.qml.

Closes: #2492
2021-06-29 07:55:34 -04:00
Jonathan Rainville b720a611c4 fix(wallet): fix loading of initial balances 2021-06-29 07:55:26 -04:00
Jonathan Rainville eb726a315c fix(hisotry): fix load more history button
Fixes #2754
2021-06-29 07:55:26 -04:00
Jonathan Rainville f71870cb8f fix(wallet): fix gas price being 0 and add back validation
Fixes #2668
2021-06-29 07:54:53 -04:00
Eric Mastro e281ec3871 fix(communities): re-joining of left communities
Fixes: #2649.

Upon receipt of status-go signals which included communities that have been left (`joined: false`), those communities were being rejoined automatically when they should not have been.

fix(communities): Invitation bubble button state updates
The community state inside of the invitation bubble was not reactive to any community actions (such as joining, leaving, updating). In addition, requesting to join a community changed the button’s text to “Pending”, but upon approval, the button’s state was not updating.

The component was setting an observed community in the Component.onCompleted event, which was occurring for all invitation bubbles, but because the community wasn’t bound correctly to the bubble, once a bubble  with a different community was encountered, the community in context of the bubble wasn’t updated and instead used a local copy. Once the community was bound correctly (to be reactive), the states started working correctly.

The invitation bubble has been simplied so that it has states instead of using lots of if/else statements inside of the property bindings. This simplified the component’s logic for things like onClick action and made it a lot easier to read and modify.
2021-06-29 07:52:47 -04:00
Richard Ramos 1d3e5230b2 revert: SortFilterProxyModel 2021-06-23 08:08:08 -04:00
Iuri Matias f8e5b25a09 refactor: extract messages from chat view
refactor: extract messages from chat view

refactor: extract messages from chat view

refactor: extract messages from chat view

update references to messageView

fix setup

remove duplicated method
2021-06-22 15:12:01 -04:00
Jonathan Rainville 702f52f6ed fix(browser): fix browser undefined model 2021-06-22 12:59:11 -04:00
B.Melnik 3c6b6f9e54 feat(SVGImage): Improvement of icons 2021-06-21 16:45:40 -04:00
Eric Mastro 8252976306 fix: remove “Copy” action from emoji menu
Fixes: #2722.

Remove the “Copy” action from the emoji popup menu.
2021-06-21 16:37:05 -04:00
Jonathan Rainville 3ef403a022 feat(act-center): add community badge links to community and channel 2021-06-21 16:29:42 -04:00
Eric Mastro c495c1037a fix(communities): hide edit category menu for non-admins
Fixes: #2691.

When not an admin, the menu for adding/removing/editing of channels inside of a category should not be visible.
2021-06-21 16:29:35 -04:00
Eric Mastro 395b10c4c0 fix: edit channel modal header
Fixes: #2694.

Display channel name in modal header when editing a channel instead of “New channel”.
2021-06-21 16:29:13 -04:00
Richard Ramos fd4e0de3f3 feat: SortFilterProxyModel 2021-06-21 16:28:46 -04:00
Richard Ramos 157a53b02b fix: various
- Timeline updates were displaying the current active chat messages
- Cursor for existing chat messages was being overwritten
2021-06-21 15:31:31 -04:00
Iuri Matias 599bf731fb refactor: extract 'channels' to its own file 2021-06-18 12:12:01 -04:00
Iuri Matias 9aba9ae3c1 refactor: extract ens code from chat view 2021-06-17 16:29:35 -04:00
Iuri Matias 45b0e5e756 refactor: move input formatting code to its own file 2021-06-17 16:29:35 -04:00
Iuri Matias 6bcdb9ca54 refactor wallet views
add getSettings methods to src/status

fix issue with calling getSettings; document issue

remove most direct references to libstatus; document some common issues

remove most references to libstatus wallet

add mailserver layer to status lib; remove references to libstatus mailservers

remove libstatus accounts references

move types out of libstatus; remove libstatus types references

remove libstatus browser references

refactor libstatus utils references

remove more references to libstatus stickers

remove references to libstatus constants from src/app

remove more libstatus references from src/app

refactor token_list usage of libstatus

refactor stickers usage of libstatus

refactor chat usage of libstatus

remove libstatus references from the wallet view

remove logic from ens manager view

fix issue with import & namespace conflict

remove unnecessary imports

refactor provider view to not depend on libstatus

refactor provider view

refactor: move accounts specific code to its own section

fix account selection

move collectibles to their own module

update references to wallet transactions

refactor: move gas methods to their own file

refactor: extract tokens into their own file

refactor: extract ens to its own file

refactor: extract dappbrowser code to its own file

refactor: extract history related code to its own file

refactor: extract balance to its own file

refactor: extract utils to its own file

clean up wallet imports

fix: identicon for transaction commands
Fixes #2533
2021-06-17 16:11:01 -04:00
Jonathan Rainville 933dbe9586 feat: add activity center switch to show and hide the bell icon 2021-06-15 13:14:19 -04:00
Jonathan Rainville 82c585cc50 fix(TopBar): fix not necessary right anchor 2021-06-15 13:14:19 -04:00
Jonathan Rainville 1ecb636f58 fix read background to only cover the message and fix hidden text 2021-06-15 13:14:19 -04:00
Jonathan Rainville 93b4c29060 fix typo 2021-06-15 13:14:19 -04:00
Jonathan Rainville e27c66d8af feat(act-center): hide viewed notifications when clicking the hide btn 2021-06-15 13:14:19 -04:00
Jonathan Rainville d5032430f9 feat(act-center): scroll to the clicked message in the act center
Fixes #2681
2021-06-15 13:14:19 -04:00
Jonathan Rainville 0f5d889a0d fix(act-denter): hide reply badge if replied to message is unavailable 2021-06-15 13:14:19 -04:00
Jonathan Rainville b1bcd539a2 feat: add replies to the activity center 2021-06-15 13:14:19 -04:00
Jonathan Rainville 5f7e277065 feat: make it possible to mark individual as read
Fixes #2663
2021-06-15 13:14:19 -04:00
Jonathan Rainville 80a3c932ce fix: fix TopBar Row layout 2021-06-15 13:14:19 -04:00
Jonathan Rainville 0b00a426ae feat: add show more button to activity center
Fixes #2670
2021-06-15 13:14:19 -04:00
Jonathan Rainville 414b39d7e0 feat: add mentions to activity center and interactions
Fixes #2610
2021-06-15 13:14:19 -04:00
Eric Mastro c0013a0956 fix: remove actions from community member when self
Fixes: #2486.

In the community member managment popup, for the current user, remove the “more actions” menu that allows kicking of the user and viewing of their profile.
2021-06-11 11:03:35 -04:00
Eric Mastro 45286e179c fix: kick and re-invite user to group chat
Fixes: #2601.

Kicking a user and re-inviting them now correctly redisplays the join/decline options. Other combinations of User B leaving or declining an invitation are not handled. Please see the notes below for clarification.

Additionally, the group invite popup (that shows the list of members belonging to the group) correctly shows when a user is kicked or when a user leaves the group in real time. Previously, the popup needed to be reopened to display this.

fix: decline invitation crash
Declining a group invitation was crashing the app. This has been fixed.

### NOTES
1. In the case where User A invites User B to a group, but User B declines (or User B joins, then leaves), then from a status-go standpoint, User B is still part of the group, but the chat is marked as `active: false` for User B. This creates a situation where User B cannot re-join the group once s/he has declined the invitation. @cammellos mentioned there possibly will need to be a refactor of cab6281dc5/protocol/messenger.go (L1710) (which, by retaining User B as a member, effectively prevents the re-invitation) once “swipe to delete” is implemented on mobile. There is an activity center notification received for User B that is meant to allow re-joining of the group when the notification is accepted. The activity center notification received from status-go looks like the following:
```json
"activityCenterNotifications": [
      {
        "id": "0x0e342d33",
        "chatId": "e342d33f-dd05-4d7b-b14e-b5335e1a3ee9-0x043bf46aa874c377a34946eab67a32cf36c15907b328216dfce375d169fed7d81c21cada3229db1fd37c762d2c02702111a646657feca6621e2e948febcf378fb4",
        "name": "test-22",
        "type": 2,
        "lastMessage": null,
        "message": null,
        "timestamp": 1623305612000,
        "read": false,
        "dismissed": false,
        "accepted": false
      }
    ]
```
2021-06-11 11:03:16 -04:00
Richard Ramos 086653ac52 fix: code review 2 2021-06-10 19:33:22 -04:00
Richard Ramos efae828087 fix: code review 2021-06-10 19:33:22 -04:00
Richard Ramos b89f2fddc4 feat: add pin messages button to edit channel popup
Fixes #2597
2021-06-10 19:33:22 -04:00
Richard Ramos 386625209d fix: change invite title 2021-06-10 19:33:03 -04:00
Richard Ramos f3caf589a5 fix: display "View" on already joined community invites
Fixes #2580
2021-06-10 19:33:03 -04:00
Eric Mastro 0b0a542828 fix: loading of wallet history, display of tx datetime
Fixes: #2539.

Transaction history is now correctly being fetched from status-go as per mobile. Firstly, when accounts are added (ie as watch accounts), `wallet_checkRecentHistory` must be called first so that the status-go db is populated. After that, `wallet_getTransfersByAddress` can be called. On app load, when we run the `initBalance` logic, we are calling `wallet_getTransfersByAddress`, asking for the last 20 transactions with the `loadMore` parameter set to false. When the user navigates to the Wallet > History tab, they can then click “Load More” to fetch more transactions from status-go. Once the number of transactions returns false below the expected amount, the remaining transactions to fetch have been exhausted and the “Load More” button is disabled.

feat: add non-archival node warning to the UI to indicate to the user that they may not have complete results

feat: set active account to the added account
Once an account is added to the wallet, that newly added account is selected as the active account.

1. The “load more” button is active when new transactions that aren’t already displayed are returned from `wallet_getTransfersByAddress`. This is the only way to enable or disable the “Load more” button as status-go is not able to return information regarding whether or not there are more transactions to be fetched. The downside to this is that lets say the last page of transactions is returned, but there are no more pages left. These returned txs are not currently displayed, so the “load more” button will still be enabled. However, the next click of the button will return 0 results, thus disabling it. It’s effectively an extra click to get to the disabled state.
2. For more information on how the `toBlock` parameter operates for the `wallet_getTransfersForAddress` RPC call, see https://notes.status.im/XmENTrVRRaqhwE4gK0m8Mg?view.
2021-06-10 10:47:03 +10:00
Eric Mastro 21e6affa98 feat: edit community channels
Closes #2344.

Add ability to edit name, description, and private fields of a community channel.

feat: Display community channel description
Ensure the width of the description does not surpass the context menu and instead wraps to the next line.

feat: After channel is created, set it as the active channel
2021-06-09 10:19:26 +10:00
B.Melnik b9c2431ad5 fix: close window instead of app 2021-06-07 10:07:17 -04:00
Jonathan Rainville 4a407d9204 fix: fix not enough ETH for gas validation error on open 2021-06-04 14:02:51 -04:00
Jonathan Rainville cbdbb6eb8b feat(wallet): redesign gas selector for new EIP
Fixes #2536
2021-06-04 14:02:51 -04:00
Iuri Matias 1c5dcd6265 update version 2021-06-02 16:41:33 -04:00
B.Melnik 503485fc4b feat: Add inactive colors for window title bar 2021-06-02 12:05:28 -04:00
Jonathan Rainville 20bbf97787 chore: hide activity center button 2021-06-02 11:55:15 -04:00
B.Melnik f433020d1d feat: commit dotherside 2021-06-02 11:05:28 -04:00
B.Melnik 7b62dbbc33 feat: use custom window without titlebar 2021-06-02 11:05:28 -04:00
Jonathan Rainville c18214aca1 feat(Activity center): add contact requests rudimentary version
Fixes #2609
2021-05-31 15:54:18 -04:00
Jonathan Rainville bee54e628f feat(Activity center): add placeholder activity center
Fixes #2608
2021-05-31 15:54:18 -04:00
RichΛrd 44850c7035 Update ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/ChatText.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-31 10:29:10 -04:00
Jonathan Rainville c817cadca1 add contact requests to the chat badge 2021-05-28 13:31:33 -04:00
Jonathan Rainville 346cbd2433 disable accept and decline all buttons on empty list and join on approve 2021-05-28 13:31:33 -04:00
Jonathan Rainville 7b95031ee6 hide input field until mutual contacts and notify on contact accepted 2021-05-28 13:31:33 -04:00
Jonathan Rainville d827433ad4 fix chat section being squished 2021-05-28 13:31:33 -04:00
Jonathan Rainville a90257e141 feat: add setting for notifications on requests 2021-05-28 13:31:33 -04:00
Jonathan Rainville ecf8b241f0 feat: add setting to not receive contact requests 2021-05-28 13:31:33 -04:00
Jonathan Rainville 1984ee89e0 fix(Channel): fix channel name eliding way too small 2021-05-28 13:31:33 -04:00
Jonathan Rainville 436cb42eae feat: add contact requests and handling of them 2021-05-28 13:31:33 -04:00
Eric Mastro 03addd4ea9 feat: force ‘require approval’ membership requirement
For new and existing communities, force the `require approval` membership requirement in the create/edit community popup.

### NOTE
This will not affect the membership requirement value already-created communities.
2021-05-28 19:08:19 +10:00
Eric Mastro 24d8e429b8 feat: edit communities
Allow editing of Community name, description, image, colour, and access.
2021-05-28 19:08:19 +10:00
Jonathan Rainville c8cc65506b fix(CommunityRequest): fix request list emptying after accepting
Fixes #2474
2021-05-26 15:27:49 -04:00
Jonathan Rainville b213aa230d fix(InviteBubble): adapt invite bubble depending on access level 2021-05-26 15:27:49 -04:00
Jonathan Rainville 0fe7da0480 feat(community): fetch community info from link
Fixes #2290
2021-05-26 15:27:49 -04:00
Jonathan Rainville 358091a8eb fix group info list 2021-05-26 12:12:05 -04:00
Jonathan Rainville c1f6afd799 fixes 2021-05-26 12:12:05 -04:00
Jonathan Rainville 8952d55028 update status-go to develop version 2021-05-26 12:12:05 -04:00
Jonathan Rainville b52dceb984 feat(Chat): add pinned messages feature 2021-05-26 12:12:05 -04:00
Richard Ramos 6abba06c42 fix: always show the v 2021-05-25 15:23:07 -04:00
RichΛrd 764f041158 Update ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
Richard Ramos f7a3be7c04 adding documentation 2021-05-25 15:23:07 -04:00
Richard Ramos 872aa7794c feat: edit categories 2021-05-25 15:23:07 -04:00
Richard Ramos 7128e08408 fix: code review 2021-05-25 15:23:07 -04:00
RichΛrd e64fe104fd Update ui/app/AppLayouts/Chat/ContactsColumn/Channel.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
RichΛrd bd6e9e3007 Update ui/app/AppLayouts/Chat/CommunityComponents/CommunityChannel.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
RichΛrd 033149c03c Update ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
Richard Ramos 0ded790f0d feat: create community categories 2021-05-25 15:23:07 -04:00
Richard Ramos a79400e023 fix: hide kick and ban options for non-admin users
fixes #2515
2021-05-25 15:18:00 -04:00
Richard Ramos f6302928de fix: hide private channels when creating a community 2021-05-25 15:16:04 -04:00
Richard Ramos 930138ebb1 disabling FetchMoreMessages context menu item 2021-05-25 14:47:13 -04:00
Richard Ramos f86611303f feat: updated mailserver logic 2021-05-25 14:47:13 -04:00
Richard Ramos 62d7fc9853 feat: mailserver gaps 2021-05-25 14:47:13 -04:00
Richard Ramos 22839f177b feat: use new API for joining/leaving chats
Fixes #2526
Fixes #2487
2021-05-25 14:47:13 -04:00
Richard Ramos e35a6141b9 fix: random crash on login 2021-05-18 15:28:56 -04:00
Jonathan Rainville 070f9a2187 fix(community): fix community link
Fixes #2501
2021-05-18 15:28:28 -04:00
Pascal Precht 2a706d2b09 feat(Communities): allow admins to ban users
Closes #2514
2021-05-18 15:27:29 -04:00
Pascal Precht 18ecb87e9b fix(Communities): don't list members in contacts to invite list
When inviting contacts to a community, Status Desktop suggests a list of
all contacts, even if contacts of that list are already members of the community.

This commit introduces a new flag to `ExistingContacts` component that
allows for configuring whether community members should be hidden or not

Fixes #2502
2021-05-18 15:24:50 -04:00
Richard Ramos 5895495bc3 Add missing accountsChanged event to web3 provider
Fixes #2423
2021-05-18 15:24:41 -04:00
Richard Ramos 19d4279237 use new wallet api to receive wallet signals 2021-05-18 15:24:05 -04:00
Eric Mastro 65a0cfbcd3 fix: show emoji in reaction tooltip
Fixes: #2387.

Shows the emoji in the emoji reaction tooltip instead of the shorthand (ie 👎 instead of `👎`).
2021-05-14 12:17:48 -04:00
Richard Ramos 9493839b65 force messages to dissapear if a contact is blocked 2021-05-14 11:56:07 -04:00
Richard Ramos fdf6be5f64 feat: delete messages on block 2021-05-14 11:56:07 -04:00
Pascal Precht 636b39d082 fix(StatusLetterIdenticon): ensure letterSize is correct
Due to historic reasons, conditionally assign a font size for the letter
identicon, based on whether or not the app's compact mode is active.

Compact mode has become the new default a while back and the component's
`isCompact` property isn't set anywhere in throughout the application,
resulting in `letterSize` to always be `21`, which is too big.

This commit removes the condition, defaulting to always having a letter size
of 15 pixels as designed.
2021-05-14 11:48:37 -04:00
Eric Mastro 3deb75b2fe fix: support closing login window using native buttons 2021-05-14 10:28:14 -04:00
Eric Mastro 46caa67d49 fix: add mention hover
Fixes: #2388

Adds a specific background color to hovered mentions.
2021-05-14 10:28:05 -04:00
Eric Mastro 590192ad9e fix: show suggestion profile pics for contacts only
Fixes: #2365.

Previously, suggestions for mentions were showing profile pics even for users who were not contacts. Now, profile pics are only shown for those users who are contacts. The user’s identicon is shown otherwise.

fix: user thumbnail not shown when no profile pic
When a user was a contact, but didn’t have a profile pic, an image would not be loaded and a ‘reload’ image would be shown instead. With this PR, if the user is a contact and they do not have a profile pic, their identicon will be shown instead.
2021-05-14 10:27:53 -04:00
Jonathan Rainville a0029ce270 refactor(ChatInput): refactor text formation to increase perfo and enbale undo 2021-05-14 10:27:47 -04:00
Eric Mastro ee1287b71d fix: prevent crash on generate account wrong password
Fixes #2448.

Currently, if a wrong password is entered when generating a wallet account, the app will crash due to attempting to decode a `GeneratedAccount ` from an rpc response containing only an error.

With this PR, we are detecting if an error is returned in the response, and if so, raising a StatusGoException. This exception is caught in the call chain, and translated in to a `StatusGoError` which is serialised and sent to the QML view, where it is parsed and displayed as an invalid password error in the input box.

refactor: remove string return values as error messages in wallet model
In the wallet model, we were passing back empty strings for no error, or an error as a string. This is not only confusing, but does not benefit from leaning on the compiler and strong types. One has to read the entire code to understand if a string result is returned when there is no error instead of implicitly being able to understand there is no return type.

To alleviate this, account creation fundtions that do not need to return a value have been changed to a void return type, and raise `StatusGoException` if there is an error encountered. This can be caught in the call chain and used as necessary (ie to pass to QML).

refactor: move invalid password string detection to Utils
Currently, we are reading returned view model values and checking to see if they include a known string from Status Go that means there was an invalid password used. This string was placed in the codebased in mulitple locations.

This PR moves the string check to a Utils function and updates all the references to use the function in Utils.
2021-05-14 10:27:37 -04:00
Jonathan Rainville 9e474a3def fix(Onboarding): show warning screen at the start of no account 2021-05-11 14:44:47 -04:00
Jonathan Rainville 17b3a44458 fix(Community): leave community from Community profile popup 2021-05-07 11:12:02 -04:00
Jonathan Rainville d2b6bf9310 fix(Input): fix mention formation on rewriting a mention
Fixes #2325
2021-05-05 17:26:48 -04:00
Richard Ramos 521d2372f3 fix: code review 2021-05-05 17:16:12 -04:00