Commit Graph

2069 Commits

Author SHA1 Message Date
Sale Djenic 80fcb95245 refactor(chat-section): new chat/community model applied on the qml side
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.

Parts of the code which are not refactored yet are commented out.

Displayed chats/categories/channels since now are using refactored backend.
2022-02-01 11:37:32 +01:00
Sale Djenic c8b429388f refactor(user-profile): `name`, `icon` and `isIdenticon` properties added to global instance `userProfile`
Apart of all properties we have, now we have 3 new added props which will be used
almost always when we need the following details about logged in user:
- `name` - this will return an ens name in a pretty form or an alias if ens name
was not set (verified). Apart of this there are still `username` and `ensName`
properties for fetching them when it's needed.
- `icon` - this will return a thumbnail image if it's set, otherwise it will
return identicon. Apart of this there are still `identicon` and `thumbnailImage`
properties for fetching them when it's needed.
- `isIdenticon` - this will return `false` if a thumbnail image is set, otherwise
it will return `true`
2022-02-01 11:37:29 +01:00
Sale Djenic 45d93649b6 refactor(chat-section): new chat/community model applied on the qml side
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.

Parts of the code which are not refactored yet are commented out.

Displayed chats/categories/channels since now are using refactored backend.
2022-02-01 11:37:15 +01:00
Alexandra Betouni c4bb7c7cf2 fix(contacts) fixed bug in add contacts function 2022-02-01 11:36:59 +01:00
Jonathan Rainville 22595f5032 refactor(chat): move stickers to the new architecture
Fixes #4060
2022-02-01 11:36:59 +01:00
Jonathan Rainville 3f12796b45 Revert "refactor(chat): move stickers to the new architecture"
This reverts commit 47aa079e0d.
2022-02-01 11:36:59 +01:00
Jonathan Rainville 792397987c refactor(chat): move stickers to the new architecture
Fixes #4060
2022-02-01 11:36:44 +01:00
Jonathan Rainville eee096dda7 chore: remove old contacts code 2022-02-01 11:35:24 +01:00
Jonathan Rainville e8eefd8f87 refactor: move all old usages of contacts to the new code 2022-02-01 11:35:24 +01:00
Jonathan Rainville cb7865bd9e refactor: move contact requests to new architecture
Fixes #4061

Most of the contact request code was already moved, but it wasn't hooked to the QML yet and also there were missing events and some code to improve.
2022-02-01 11:35:24 +01:00
Sale Djenic 3f50ab26b8 refactor(general): qml cleaning
- Selecting `currentIndex` based on the children placed in the `StackLayout`
component with id `appView` is sorted out since we were referring to the wrong
indexes there in case of walletv2, node and community sections.
- Places which call `Utils.getAppSectionIndex` are updated since we don't have
that method any more.
- Some parts which are not refactored yet are commented.
2022-02-01 11:33:06 +01:00
Sale Djenic ed09f82305 refactor(app-search): app search moved to a new component on the qml side 2022-02-01 11:32:46 +01:00
Sale Djenic d67278b23e refactor(app-search): app search module added 2022-02-01 11:32:42 +01:00
Sale Djenic 0fa88be513 refactor(@desktop/general): qml `ChatLayout` component added for the `Chat` section and for each community 2022-02-01 11:32:32 +01:00
Sale Djenic 6e3b065d34 refactor(@desktop/general): app sections handled within main module 2022-02-01 11:32:28 +01:00
Sale Djenic 9e567b8fdc refactor(@desktop/general): qml updated according to the new `userProfile` instance 2022-02-01 11:27:25 +01:00
Richard Ramos d713c6fe9f fix: display loading indicator depending on mailserver request status 2022-01-25 13:59:41 -04:00
B.Melnik 8d27d784c1 feat(ProfilePopup): Add avatar change fucntionality
Closes: #3734
2022-01-25 10:25:03 +03:00
Noelia Santos b5f4e3783c feat(Chat/BlockedContacts) Add a Blocked bar for blocked user profile
Use new UI StatusBanner with Danger variant.
Modify StatusQ external to new master commit.
2022-01-17 12:37:48 +01:00
Noelia 6d2d36650c fix(@desktop/chat): Group members list must show only 5
Enable ListView clip and modified ColumnLayout heigh to bound its painting to the needed content.
Adjust ListView spacing to allow the visualization of 5 members.

Closes #4386
2022-01-14 20:16:33 +01:00
Pascal Precht 18518607c7 fix: fix access to root store property for user online status
There seems to have been a confusion in how the store is named.
2021-12-15 11:01:29 +01:00
Pascal Precht b92ac455c9 fix: ensure last active community is reset when leaving community
There's a bug where the last active community will be set in local settings
and not removed when a user leaves a community.

This causes the app to start on an invalid screen/state as it still tries to
render the community view for a community that the user has just left.

This commit ensure we're resetting the last active community in the local settings
when a users leaves the community.

Fixes: #4094
2021-12-07 09:55:16 +01:00
Richard Ramos cae7184d3f fix: RPC method invocation as soon as Import Community popup was opened 2021-12-06 13:18:08 -05:00
Alexandra Betouni 5e88a9a91b refactor(desktop): Removed all timeline related code
Removed all timeline associated code from base_bc.
This feature is deprecated and shall be removed

Closes #4064
2021-12-03 19:55:45 +02:00
Anthony Laibe 0b1538c805 fix(@desktop/communities): Close popup when edit is successful
fixes #4126

When saving the communities all the popup are closed
2021-12-03 09:36:23 +01:00
Pascal Precht 868c675f6e refactor(@desktop/chat): use StatusQ components for chat user list
This replaces the self-built components for the user list with StatusQ's
list item component and also addresses some of the quirks that existed in the UI
related to that original component.

The user list is now responsive and properly aligned.

**This depends on StatusQ v0.18.0**
2021-12-02 11:27:43 +01:00
Alexandra Betouni b4b28d2f98 feat(desktop/contacts) Improvements in contacts
Contacts updates currently in base_bc

Closes #4100
2021-12-01 20:51:06 +02:00
Khushboo Mehta 0fbdbdbd15 fix(@desktop/Chat): Group chat popup member list doesn't have proper visuals
fixes #4176
2021-12-01 16:11:34 +01:00
Jonathan Rainville 33c3f2278b fix(notifs): fix linux notifications not appearing 2021-12-01 09:34:46 -05:00
Sale Djenic 484748314f fix(general): online/offline selector updated
Fixes: #4049
2021-11-24 13:15:15 +01:00
Alexandra Betouni c0450f0580 refactoring (desktop/chat) Message component
Moved Message component & dependencies  to shared
for usage import shared.views.chat 1.0 and accordingly
import shared.controls/panels.chat 1.0

Closes #3927
2021-11-24 13:15:15 +01:00
Sale Djenic cc5ccbc951 refactor(@desktop/general): qml updated according to the new `userProfile` instance 2021-11-24 13:15:15 +01:00
Richard Ramos a9a5469f72 fix
- missing account color and balance
- revoking permission on account change
- UI errors on message signing modal
2021-11-19 10:19:11 -04:00
Richard Ramos c06c9dbc6d fix: missing expired/timeout attributes in Resend button 2021-11-19 09:37:59 -04:00
Pascal Precht 23b72a9e8d feat(ActivityCenter): allow users to mark notifications as unread
As raised in #3665, users aren't able to mark activity center notifications as unread.
The APIs for that didn't exist yet so they have been added in:

- status-go (https://github.com/status-im/status-go/pull/2383)
- status-lib (https://github.com/status-im/status-lib/pull/53)

respectively.

Closes #3665
2021-11-18 11:04:49 +01:00
B.Melnik defefa1bfe fix: Fix missing setup url for new opeed tab
Closes: #4107
2021-11-17 15:40:50 +01:00
Richard Ramos 44e91df428 feat: add toggle for switching status-go DEBUG log level 2021-11-16 09:42:28 -04:00
Pascal Precht ecbdc6fda0 fix(TransferOwnershipPopup): ensure community key is exported properly
There was a bug in our store where an API wouldn't return a value.
This commit fixes this and also replaces the legacy `Input` component
with StatusInput

Fixes: #4082
2021-11-15 12:32:56 +01:00
Khushboo Mehta 26b577824a fix(@desktop/communities): Fix for can't import community
fixes #4073
2021-11-10 14:37:27 -05:00
Khushboo Mehta edb103ee01 fix(@desktop/chat): Modal on the Pinned Messages Popup isnt seen
fixes #4002
2021-11-10 13:39:59 -05:00
Jonathan Rainville 499d99a185 fix(settings): fix whitelist setting that starts null 2021-11-05 15:38:36 -04:00
Alexandra Betouni 36f1ea8832 fix: make user profile images work again 2021-11-05 15:00:50 -04:00
Alexandra Betouni 1e8f51fff6 refactor(desktop/chat) fixed sticker disappears when replying
Closes #4023
2021-11-05 14:49:14 -04:00
Jonathan Rainville 894e57fbdb fix: context menu losing data and group info being empty sometimes 2021-11-05 14:42:44 -04:00
Alexandra Betouni de867f9218 fix(desktop/chat) image was not displayed in message
Closes #3976
2021-11-05 11:55:58 -04:00
Jonathan Rainville ffac03aa26 fix: fix undefined error while deleting community channel 2021-11-05 11:02:45 -04:00
B.Melnik a4ea767ab6 fix(GroupInfoPopup): check if channel exists
This happens because sometimes channel property in GroupInfoPopup is null.
This commit avoid crashes.

Closes: #3993
2021-11-05 11:02:45 -04:00
Jonathan Rainville 816f737d55 fix: fix edit community channel missing store
Fixes #4000
2021-11-05 11:02:45 -04:00
Jonathan Rainville a5954d3bf3 fix: fix community edit, popup opens and banners
Fixes #3960
2021-11-05 11:02:45 -04:00
Khushboo Mehta b7bc528552 fix(@desktop/communities): Can't copy to clipboard the link to community
Also fixed some minor bugs in the community popups.

fixes #3959
2021-11-05 11:02:45 -04:00
Pascal Precht fdc8fea88e fix(ChooseBrowserPopup): ensure popup is always centered
Fixes #3979
2021-11-05 11:02:45 -04:00
Pascal Precht b6d41b67d8 fix(@desktop/appearance): ensure placeholder message doesn't render context menu
Fixes #3983
2021-11-05 11:02:45 -04:00
Alexandra Betouni aa5d6e0ce3 Fix setting user as offline doesn’t show user offline in the client 2021-11-05 11:02:45 -04:00
Pascal Precht 2536610938 fix(GroupInfoPopup): properly update groupchat popup title when name was changed 2021-11-05 11:02:45 -04:00
Sale Djenic cdecd82e3f rebase issue fixed 2021-11-05 11:02:45 -04:00
Sale Djenic 05cf431339 fixed issues after rebase 2021-11-05 11:02:45 -04:00
Jonathan Rainville 1d0b20b156 refactor: refactor contacts sub-section to the new architecture 2021-11-05 11:02:45 -04:00
Sale Djenic 3f6bb66536 refactor(@desktop/general): `globalSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Sale Djenic f0b2ed6cca refactor(@desktop/general): `appSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Sale Djenic 4f3ca4eb78 login process refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 9f4eeffdea A base structure for new architecture added
Initial structure for MainModule containing ChatSectionModule and
CommunitySectionModule is added, as well as initial structure for
StartupModule containing OnboardingModule and LoginModule.

Order of execution is updated and adapted to the current app state.
Main module gets loaded once a user is successfully logged in.
2021-11-05 11:02:45 -04:00
Alexandra Betouni 426c116bac refactor(desktop) Made shared a QML module
Use it as import shared 1.0, import shared.controls 1.0
etc instead of import "../../../shared"

Closes #3934
2021-10-27 18:05:45 -04:00
Pascal Precht ac365ce139 fix(GroupChatPopup): supply popup with missing store 2021-10-27 11:50:35 -04:00
Pascal Precht 5fd317a6e1 fix(GroupChatPopup): fix ui elements
This corrects the call to action button in the modal footer
as well as the "no friends" rectangle, which was wrongly rendered.
2021-10-27 11:50:26 -04:00
Pascal Precht 8617c70742 refactor: remove AccountSelector and replace with StatusAccountSelector 2021-10-27 11:48:43 -04:00
Pascal Precht 72b46c3b94 refactor: remove/replace StatusContextMenuButton with StatusQ components 2021-10-27 09:52:40 -04:00
Alexandra Betouni 056f84c301 refactor(desktop/chat) Cleaning up popups 2021-10-26 16:22:49 -04:00
Alexandra Betouni 23811dc7e4 refactor(desktop/chat) Cleaning up views 2021-10-26 16:20:31 -04:00
Alexandra Betouni 22429689e3 refactor(desktop/chat) Cleaning up panels 2021-10-26 16:16:37 -04:00
Khushboo Mehta be7a56cc27 refactor: replace all the StatusImageIdenticon with StatusQ's StatusSmartIdenticon
closes  #3848
2021-10-26 19:23:33 +02:00
Khushboo Mehta 7114240e72 refactor: Replace and remove StatusRoundButton under ui/shared/status
closes #3898
2021-10-26 18:58:16 +02:00
Pascal Precht 2db77fa31c refactor: replace StatusIcon and StatusLoadingIndicator with StatusQ components 2021-10-26 10:47:47 -04:00
Pascal Precht cbbbedcc79 cleanup: remove legacy `StatusCheckbox` 2021-10-26 10:47:16 -04:00
Pascal Precht f3f5826c51 refactor(ui/shared): replace legacy StatusButton with StatusQ button 2021-10-26 16:07:56 +02:00
Khushboo Mehta 173943f1be refactor: replace StatusIdenticon with StatusSmartIdenticon
closes #3882
2021-10-26 09:30:18 -04:00
Khushboo Mehta ef4934cee4 refactor: Replace usage of StatusRadioButton under ui/shared to its corresponding StatusQ component
closes #3897
2021-10-26 14:37:15 +02:00
Pascal Precht 7037df9da0 fix(ChatContextMenu): ensure popup types exist
Fixes #3906
2021-10-26 14:35:38 +02:00
Khushboo Mehta 14b49b800a refactor: remove StatusIconButton from ui/shared/status
fixes #3832
2021-10-26 08:27:11 -04:00
Khushboo Mehta b59e4c0b93 refactor: remove StatusToolTip.qml from ui/shared/status
Updated path to use StatusQ StatusToolTip.

closes #3819
2021-10-26 13:37:09 +02:00
Pascal Precht 59109e1318 fix: make `getLinkStyle` work again
Probably slipped through in the refactor: `getLinkStyle` was defined
in to places, was probably meant to live only in `Utils`.

In addition, it expected a `wrapper` expression which wasn't defined.
This commit fixes it by removing the second declaration of that function
and passing a third parameter to the one defined in `Utils`.
2021-10-25 11:25:38 +02:00
Pascal Precht 193b42ed54 fix(ActivityChannelBadgePanel): ensure loading badge components works
QML is complaining that it can't assign the types to `sourceComponent`,
so this commit wraps them in `Component` types to mitigate that.
2021-10-25 11:25:27 +02:00
Pascal Precht a95348b289 fix(ActivityCenterMessageComponentView): ensure popups and model expressions are working
Those most likely broke as part of the refactor.
2021-10-25 11:25:11 +02:00
Pascal Precht 419c4e8cbd fix(ChatRequestMessage): add missing Theme import 2021-10-21 09:22:35 -04:00
Pascal Precht 7f1b62fe32 refactor(ActivityCenterTopBar): make use of StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht 845640bd13 refactor(ActivityCenter): use StatusButton from StatusQ 2021-10-21 09:22:35 -04:00
Pascal Precht cf1fc38304 refactor(ChatRequestMessage): use StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht 04523a0e85 refactor(SignTransactionModal): make use of StatusModal and other StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht 85065b8d33 refactor(ChatCommandModal): use StatusModal instead of ModalPopup 2021-10-21 09:22:35 -04:00
Pascal Precht 0739f78388 refactor(InvitationBubble): make use of StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht 2d89a815f4 refactor(SelectAccountModal): use StatusQ components to build modal 2021-10-21 09:22:35 -04:00
Pascal Precht 1de75c514e refactor(LinksMessage): use StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht 37861bf853 refactor(AccessExistingCommunityPopup): use StatusQ components to create components 2021-10-21 09:22:35 -04:00
Pascal Precht d2232cd5c2 refactor(BackupCommunityBanner): use StatusQ components in banner 2021-10-21 09:22:35 -04:00
Pascal Precht 572c039a7d cleanup: remove unused shared import in community components 2021-10-21 09:22:35 -04:00
Pascal Precht 414a933263 refactor(CommunityWelcomeBanner): use StatusQ StatusButton and others 2021-10-21 09:22:35 -04:00
Pascal Precht f86a55f0b1 refactor(EmptyView): use StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht b3883f9b47 refactor(NicknamePopup): use StatusModal and StatusButton from StatusQ 2021-10-21 09:22:35 -04:00
Pascal Precht 20ac29c6c4 refactor(PinnedMessagePopup): use StatusQ StatusButton 2021-10-21 09:22:35 -04:00
Pascal Precht f244de248c refactor(ContactRequestPopup): use StatusQ StatusButton 2021-10-21 09:22:35 -04:00
Pascal Precht ffe072a90d refactor(PublicChatPopup): make use of StatusQ StatusButton 2021-10-21 09:22:35 -04:00
Pascal Precht a87568e7c2 refactor(RenameGroupPopup): use StatusQ components 2021-10-21 09:22:35 -04:00
Pascal Precht ce792a1300 refactor(ChooseBrowserPopup): use StatusQ components 2021-10-21 09:22:35 -04:00
Alexandra Betouni 9cc361c40a refactor(desktop/chat) Moving chat to new architecture
Closes #3710
2021-10-20 15:29:38 -04:00
Khushboo Mehta d8c388c9b8 refactor: Remove StatusLetterIdenticon from ui/shared/status and use existing one from StatusQ
closes #3845
2021-10-18 17:05:38 -04:00
Pascal Precht 94cea6d741 refactor: move `TransactionPreview` to ui/shared/views 2021-10-14 12:51:27 -04:00
Pascal Precht 87ea584b62 refactor: move `Timer` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht e6df5c8b12 refactor: move `StyledTextEdit` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht a13c9d6675 refactor: move `StyledTextArea` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 61ccf9c757 refactor: move `StyledText` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht ed73651db8 refactor: move `SplitViewHandle` and `StatusTabButton` to ui/shared/panels|controls respectively 2021-10-14 12:51:27 -04:00
Pascal Precht 638e91717e refactor: move `Separator` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 4bb4708528 refactor: move `SearchBox` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 322a071aa3 refactor: move `SVGImage` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 4003f30d68 refactor: move `RoundedImage to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 37e71ca431 refactor: move `RecipientSelector` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht fa3adb30e4 refactor: move `PopupMenu` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht e14616ee57 refactor: move `NoFriendsRectangle` to ui/shared/views 2021-10-14 12:51:27 -04:00
Pascal Precht cbfe90947e refactor: move `ModalPopup` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht 25421facbf refactor: move `InviteFriendsPopup` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht bdc7c799d2 refactor: move `Input` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht c74e00379d refactor: move `ImageCropperModal` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht 1f8b4563e5 refactor: move `ContactsListAndSearch` into ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 5d05b415ba refactor: move view and panels components into controls if they belong there 2021-10-14 12:51:27 -04:00
Pascal Precht ae31f7e1cb refactor: move `ConfirmationDialog` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht 9fbf1587e1 refactor: move `BlockContactConfirmationDialog` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht 37d9cc1da2 refactor: move `AssetAndAmountInput` to ui/shared/views 2021-10-14 12:51:27 -04:00
Pascal Precht 2d47223e1c refactor: move `AccountSelector` into ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 4e8f2303e6 refactor(@desktop/profile): introduce new QML and store structure in profile section
Closes #3712
2021-10-14 09:29:05 -04:00
Khushboo Mehta 80de3f75eb fix(@desktop/wallet): move QML Wallet section to new architecture
fixes #3714
2021-10-13 13:53:01 -04:00
Pascal Precht 7433bbc785
fix: fix broken import version that crashed desktop app 2021-10-08 14:26:46 +02:00
Pascal Precht b8ecc3e0bf fix(Communities): preserve channel position after editing
Turns out we've been accidentally resetting the channel's `position`
property to `0` by not sending it over to status-lib's underlying
`editCommunityChat` API.

This fixes it by using a newer version of status-lib which supports
the `position` paramter in `editCommunityChat` and then sending that
value along from the edit channel popup.

Fixes #3672
2021-10-08 13:33:42 +02:00
Pascal Precht 71ab9cebcf fix(ChatLayout): ensure channel name is vertically centered
This was originally reported in https://github.com/status-im/StatusQ/issues/427, however it turns out
that the underlying component already handles this case correctly.

The reason the channel name is not vertically centered inside Status Desktop,
is because the returned value of `XSS.filterXss()` for the `subTitle` is never an empty string.

Trimming the return value fixes this.
2021-10-05 16:32:07 -04:00
Khushboo Mehta 8ff967578d feat(@desktop/chat): Added support for copy or click on link from channel descriptions
fixes #3517
2021-09-29 15:29:29 -04:00
Pascal Precht 2e68be238c fix(Communities): make channel popup validation work again
This was a reference error as there's no `errors` object on `StatusValidator`.
When accessing errors exposed by `StatusInput` we need to dot into the component
reference.
2021-09-29 13:11:53 -04:00
B.Melnik 4b73d68490 fix(ui): Resolve conflict between click on text message and click on message
Closes: #3593
2021-09-28 15:37:06 -04:00
¨Anthony e0c5e9b9b0 fix(@desktop/wallet): gas error position 2021-09-28 15:36:11 -04:00
Eric Mastro 1ee3bba598 fix(ui): new chat menu popup hide on second click
Partially fixes #3558.
2021-09-28 15:35:47 -04:00
Michael Bradley, Jr b94b932572 refactor(@desktop/profile): don't display footer or chat settings in profile popup for own profile
Closes #3462.
2021-09-28 15:35:28 -04:00
Alexandra Betouni 7ac4eba9e2 fix(desktop/chat) fixed position view at index
Position view at chosen message when coming
from either search or notifications was not
working properly, especially when coming from
another channel (eg from desktop to test).
Added timer to delay positioning action until
the messages model is almost fully loaded so
that the view knows all indexes

Depends on #3562
Closes #3592, #3683
2021-09-28 15:32:25 -04:00
Alexandra Betouni 4ee21ada05 feat(desktop) Added image function in Style
Introduced Style.svg() Style.png() Style.emoji() and
Style.icon() in Style.qml. Those should be used to
set the source in Images instead of using relative
paths. Usage:
Image {
   source: Style.svg("check)
   ....

Also moved all Singletons inside a new "utils"
folder and made it a QML module, to use
import utils 1.0 instead of relative paths

Closes #3678
2021-09-28 15:28:00 -04:00
Andrei Smirnov b3d551eeb2 fix(@desktop/mentions): editing mentions 2021-09-28 14:20:19 -04:00
Alexandra Betouni 16d6196aea feat(desktop/searchMessage) Updating highlight animation
Added animation to highlight selected message
from search popup. Currenly when a message is clicked
from the search results, the user is navigated to
that message but it's not clear where is the
message in the screen

Closes #3562
2021-09-24 16:15:42 -04:00
Anthony Laibe 50ad0f768e fix(@desktop/chat): Open popup on click
fixes #3670
2021-09-23 13:37:01 -04:00
Khushboo Mehta 3e8313d176 fix(@desktop/chat): Fix small UI issues
1. Removed back button from pinned popup
2. Added border to user identifier in members list

fixes #3552
2021-09-23 13:21:43 -04:00
Sale Djenic f54f3a61bf fix(@desktop/chat): removing contact results in the same contact's contact request showing up again
Fixes: #3418
2021-09-22 15:27:52 -04:00
Khushboo Mehta 2381ad08cd fix(@desktop/chat): Online/offline labels are hard to read in darkmode
fixes #3550
2021-09-21 14:24:09 -04:00
Khushboo Mehta bd9ae45ae0 fix(@desktop/chat): Create separate chatInput for each conversation
Moved the statusChatInput to the repeater in stackview so that each conversation has its own separate textInput area which maintains its own state

fixes #1351
2021-09-21 14:23:11 -04:00
Alexandra Betouni 2b408fe6cd fix(desktop/chatInput) mentions were misused
formattedPlainTextFilter was not reset when suggestion
box was closed causing the insertMention function to be
called again even thought there was no mention in the
chat input

Closes #3535
2021-09-21 14:22:24 -04:00
Alexandra Betouni 63b2bf703c fix(desktop/membersList) hide scrollbar when inactive
The scrollbar should only be visible when scrolling
through the members list

Closes #3557
2021-09-21 14:17:25 -04:00
Khushboo Mehta 75f00e5de0 fix(@desktop/chat): Last message in chat is hidden under the chat box
Reduced the gap between list view and ChatBox as per design.
Added logic to scroll to the end of list on the component.onCompleted

fixes #3514
2021-09-21 14:01:06 -04:00
Eric Mastro 361c902f37 fix(chat): Re-position “retry” link
Fixes #3606.

The “retry” link for failed messages was not aligned correctly in the light theme. This was due to setting the `verticalCenter` as well as `anchors.top` in some situations. `verticalCenter` has been removed in favour of setting the top and bottom anchors.
2021-09-21 10:11:39 -04:00
Eric Mastro 233d1f4da4 fix: block/unblock contacts not persisting
Fixes: #3473.

Sometimes when blocking users and changes channels, blocked user messages would still appear.

This PR fixes the issue by toggling a `hide` property on  messages from a contact when that contact is blocked or unblocked. Previously, the messages were only removed from the view when the contact was blocked, but when the view was reloaded, that state was not tracked correctly.
2021-09-21 09:53:15 -04:00
Sale Djenic 0c73febf2c fix(@desktop/chat): channel links sends to main public channel instead of a channel in that community
In case clicked channel:
- exists in a community -> the app will switch you to it
- doesn't exist in a community, but exists in the public chat list -> the app
  will switch to `Chat` section and also to the appropriate channel there
- doesn't exist in a community and doesn't exist in the public chat list -> the app
  will switch to `Chat` section and join new channel

Fixes: #3489
2021-09-20 17:34:38 -04:00
Sale Djenic b5e8132859 fix(@desktop/chat): blocked user messages disappear after the user is blocked
Fixes: #3418
2021-09-20 17:17:43 -04:00
Anthony Laibe 0135a74993 fix(@desktop/chat): Fix color of my profile button
fixes #3515
2021-09-20 10:39:50 -04:00
Pascal Precht 8d283bf07f fix(ContactsColumn): call `itemAt` on statusChatListItems.model instead of delegate
When StatusQ switched to using `DelegateModel` in `StatusChatList` to enable drag and drop,
we lost the API `itemAt` which was previously exposed via the `Repeater` that was aliased as
`chatListItems`.

StatusQ now exposes `statusChatListItems` additionally so we can still access `model.itemAt`
which is used in this commit.

The only reason this is done here though, is because we need to update the profile picture of
contacts when we get a contact changed signal. Ideally, we handle contact changes including the
profile picture entirely in the backend and have it then just rerender the screen (instead of
using a `Connection`).

Fixes #3328
2021-09-20 10:36:26 -04:00
Michael Bradley, Jr 2e9c5047bb fix: in profile popup display Username instead of ENS Username if ENS is not verified
Closes #3496.
2021-09-20 08:57:50 -04:00
Eric Mastro e42b1d249e feat(communities): re-enabled open membership communities
Closes #3410.

Re-enables open membership communities, with necessary changes in the Inivitation Bubble for one-on-one chats.

fix: add/edit communities components not appearing
On add/edit community popup load, some components below the thumbnail image picker were not appearing until the app window was resized. Removing the height of the ScrollView fixed the issue (on mac).

NOTE: this may require windows and linux users to test.
2021-09-20 08:51:58 -04:00
Eric Mastro 9854a49a44 feat(wallet2): introduce saved addresses
Closes #3307.

WalletV2 view can be toggled between normal wallet view and the SavedAddresses view.

Users can load, add, edit, and delete saved addresses.

Favouriting a saved address is out of scope, as is sending to a saved addresses, drilling down in to a saved address, and supporting multiple networks.

Updates components that utilised the StatusMinLengthValidator component to support the changes made to StatusQ.

### Notes
1. Depends on status-go PR https://github.com/status-im/status-go/pull/2356
2. Depends on StatusQ PR https://github.com/status-im/StatusQ/pull/394.

# Conflicts:
#	src/app/wallet/v2/view.nim
#	ui/app/AppLayouts/WalletV2/WalletV2Layout.qml
2021-09-20 08:32:56 -04:00
Khushboo Mehta 2448b710b4 fix(@desktop/chat): Fix for Leave chat is shown instead of Delete confirmation when deleting community channel
fixes #3365
2021-09-17 10:16:57 -04:00
Anthony Laibe 5ce06a94cc feat(@desktop/chat): download messages
fixes #3508
2021-09-16 16:37:58 -04:00
Alexandra Betouni 470144db6a feat(desktop/members) Improvements in members list
* The userlist toggle made persistent between restarts
* Members is enabled by default for communities
* Public channels changed title to "last seen"
  instead of "Members"

Closes #3502
2021-09-16 09:46:40 -04:00
Pascal Precht 33d800fcda refactor(ConfirmationDialog): change dialog to `StatusModal` 2021-09-15 13:31:18 -04:00
Pascal Precht 31d63c8f7d fix(@desktop/chat): fix seach input paddings
It's unclear to me why these were off since the latest StatusQ upgrade.

Closes #3396
2021-09-10 14:28:49 -04:00
B.Melnik 92ec298c3d fix(ActivityCenter): Fix reopen popup on bell button click
Closes: #3331
2021-09-10 14:28:04 -04:00
Richard Ramos 285f54dab6 EIP1559 2021-09-10 13:42:19 -04:00
Pascal Precht 84a9b873f7 fix(@desktop/chat): force focus on search input when popup is opened
Closes #3392
2021-09-08 16:24:51 -04:00
Andrei Smirnov aed0be9054 feat(@desktop/chat): editing message in markdown mode 2021-09-07 14:56:48 -04:00
Pascal Precht 8015235eea fix(Communities): ensure community profile doesn't bleed into modal header
Closes #3397
2021-09-07 10:30:58 -04:00
RichΛrd 4295c92deb
fix: invalid variable name in ProfilePopup 2021-09-07 10:30:33 -04:00
Pascal Precht 75c50337b2 fix(Communities): make membership request popup work again 2021-09-07 10:24:26 -04:00
Pascal Precht 4ea80eb248 fix(Communities): fix invite friends modal 2021-09-07 10:24:10 -04:00
Pascal Precht 629ce86076 fix(Communities): ensure communities search works again 2021-09-07 10:23:50 -04:00
Pascal Precht 34707b7298 fix(Communities): make create community categories modal work again
Fixes: #3391
2021-09-07 10:21:39 -04:00
Pascal Precht 52b302aa55 fix(Communities): ensure community profile popup is rendered correctly
Fixes: #3398
2021-09-07 10:21:29 -04:00
Pascal Precht 6e9f14c6ac fix(ProfilePopup): ensure modal is working again
Due to a breaking change in StatusQ, this modal caused a reference error.
This commit fixes it.

Fixes #3400
2021-09-07 10:21:22 -04:00
Pascal Precht 51c4d8c64e fix(Communities): make creating communities work again
This was broken due to a breaking change in StatusQ dependency.

Fixes #3389
2021-09-07 10:21:14 -04:00
Pascal Precht 942965f13b fix(Communities): make creating channels work again
There was a breaking change introduced 8d32c1d933
which caused reference errors in various modals.

This commit fixes the modal to create and edit community channels
by ensuring we're accessing `contentItem` and also only setting
channel data when editing a channel.

Closes #3390
2021-09-07 10:21:06 -04:00
Sale Djenic 5a448abfd5 fix(@desktop/chat): after reaching the top of chat history, unable to scroll down again
InvitationBubble binding loop on height fixed.
Scroll down if you reach the top of the chat is not blocked any more.

Fixes: #3320
2021-09-06 17:00:17 -04:00
Anthony Laibe 6f2dab2e29 feat(@desktop/chat): Hide chat text when the link is only an image
fixes #3366
2021-09-06 16:57:53 -04:00
Sale Djenic a591e91a2e fix(@desktop/general): clicking push notification does expand the app but does not open correct channel/chat
Logic for adding os notifications for Windows and  MacOs added.

Fixes: #2996
2021-09-06 16:39:37 -04:00
Alexandra Betouni 8d32c1d933 fix(desktop/statusQ) Updated StatusQ HEAD
Also updated all StatusModals to use contentItem
instead of content
2021-09-02 16:23:02 -04:00
Khushboo Mehta 9dd35904ea fix(@desktop/chat) Right click on community member list should show member information
fixes #3162
2021-09-02 14:55:20 -04:00
Pascal Precht eeb1cc2f7a refactor(ProfileModal): replace implementation with StatusQ components
Closes #3319
2021-08-31 14:45:05 -04:00
Andrei Smirnov 68d34e5706 fix(@desktop/chat): edit channel modal to show up-to-date values 2021-08-31 14:33:56 -04:00
Sale Djenic 4916b8f552 fix(@desktop/chat): no identicon/profile picture shown and wrong timestamp format in search results
Icons added for messages senders in the search result, also community and chat
icons are colorized now.

Fixes: #3259
2021-08-31 14:23:59 -04:00
Khushboo Mehta f4baf7c738 fix(@desktop/chat): Emoji reaction Menu is incorrect
Added logic to set parent ,x and y positions from the place where the menu is opened

fixes #2385
2021-08-31 13:45:32 -04:00
Alexandra Betouni 8f1ffd96a1 fix(@desktop/chat) members' status circle is not always right
fixed to display online status only if is the current user and
if they have been active in the last 7 minutes. Respective color
is shown depending on if they are in "do not disturb" mode or they
have been active more than 5 minutes ago

Closes #3282
2021-08-31 13:41:22 -04:00
Anthony Laibe 5c4b75ce6a perf(@desktop/chat): Improve performance when big member list
Avoid computation when it is not needed for the suggestion filter

This is quite visible when the member list contains 1000s of members.
It is the case when you load historical message (1 month)
2021-08-31 13:18:20 -04:00
Khushboo Mehta d8817a468e fix(@desktop/chat) Reply to image doest show image in reply box
Added component to show both an image/sticker in the reply area.
Moved some components from app to shared folder so that they can be reused

fixes #3272
2021-08-31 12:14:48 -04:00
Andrei Smirnov 8ae050b642 fix(@desktop/communities): changing contact nickname must be reflected in users list 2021-08-31 12:07:48 -04:00
Alexandra Betouni f47ddbc955 fix(@desktop/chatMembersList) Increased minimum width in chat members list
*Also removed redundant Rectangles

Depends on: https://github.com/status-im/StatusQ/pull/348

Closes #3284
2021-08-27 09:24:23 -04:00
Pascal Precht 118b21543c fix(ChatContextMenu): fix delete chanenl icon which happens to be upside down 2021-08-27 08:53:56 -04:00
Anthony Laibe 9af32a1796 fix(@desktop/chat): Add new dedicated event for sending message 2021-08-26 16:53:38 -04:00
Pascal Precht 88092e4966 feat(Communities): add support for drag reodering community categories 2021-08-26 15:39:39 -04:00
Pascal Precht 4d5716c8c2 fix(Communities): ensure memberlist modal doesn't throw type related warnings 2021-08-26 15:07:19 -04:00
Pascal Precht ee69b4264c fix(Communities): only allow community admins to drag'n'drop chat items 2021-08-26 15:07:09 -04:00
Khushboo Mehta c5474d42fa fix(@desktop/chats) Gifs playing when window is not active
fixes #2391
2021-08-26 15:06:13 -04:00
Pascal Precht fb0cedf9a6 feat(@desktop/chat): allow for entering ENS names manually
This commit enables users to enter fully qualified ENS names manually
and marking them as mentions, which are then later being replaced with
pubkeys.

The changes do not prevent users from entering ENS names that don't exist.

There's also a fix that ensure prepended "@" signs are removed from the
items selected in the suggestions box.

Closes #3149
2021-08-26 15:05:29 -04:00
B.Melnik a362efecf4 feat(Communities): implement drag and drop to reorder category channels
Closes: #2776
2021-08-26 10:53:57 +02:00
Andrei Smirnov 07364c16cf fix(@desktop/chat): display suggestions in ContactsColumn 2021-08-24 15:35:58 -04:00
Andrei Smirnov 20bf19983f fix(@desktop/chat): channel suggestions are not being displayed 2021-08-24 15:35:58 -04:00
Anthony Laibe 94f6041ec5 feat(@desktop/chat): Align chat member and suggestion
Removed all computation of suggestion from qml
Reuse user list in order to populate the suggestion box

As a side effect, the suggestion are not serialized from qml to
nim

Remove InputArea which seems not used anymore
2021-08-24 14:56:20 -04:00
Pascal Precht 06b31c69c1 chore: remove unused `CommunityPopupButton` component 2021-08-24 13:51:20 +02:00
Pascal Precht cbe56dd412 refactor(Communities): use StatusQ's StatusInput component 2021-08-24 13:51:20 +02:00
Pascal Precht a7458aba1b refactor(Communities): use StatusInput in CommunitiesPopup 2021-08-24 13:51:20 +02:00
Pascal Precht a40fe71767 refactor(Communities): use StatusQ's StatusInput in create category popup 2021-08-24 13:51:20 +02:00
Pascal Precht abb44cb1ec refactor(Communities): use StatusQ's StatusInput in create channel popup 2021-08-24 13:51:20 +02:00
Pascal Precht a81678f742 refactor(Communities): use StatusQ's StatusInput in memberlist popup 2021-08-24 13:51:20 +02:00
Anthony Laibe 899cb7b2f5 fix(@desktop/timeline): Fix timeline reaction
fixes #3251

- Being able to react in timeline chat
- Once there is a reaction, being able to remove them or add new
- Height of the message taking in consideration if there is reaction or
  not
2021-08-20 15:11:57 -04:00
Andrei Smirnov afa9c555ce Addressed PR comment 2021-08-20 15:02:26 -04:00
Andrei Smirnov 62ef00ee60 chore(@desktop): odd warnings 2021-08-20 15:02:26 -04:00
Andrei Smirnov 99bdfc65ed Addressed PR comments 2021-08-20 14:56:00 -04:00
Andrei Smirnov 8e0db42cde Fixed bug 2021-08-20 14:56:00 -04:00
Andrei Smirnov 754e49bf0f fix(@desktop/communities): improve member list sorting 2021-08-20 14:56:00 -04:00
Sale Djenic 1b6ae41c63 feature(@desktop/chat): popup search added on the left side
As requested by design popup search added for the left side, click on a search
field (above channels list).

Refers to the changes requested by the issue-2934

Fixes: #2934
2021-08-19 16:26:59 -04:00
Sale Djenic e2628338de feature(@desktop/chat): implement search results for communities, channels
Added a part for fetching messages from multiple chats/channels/communities.

Fixes: #2934
2021-08-19 16:26:59 -04:00
Alexandra Betouni 4f8b072f10 fix(desktop/messages) Removed separator from options menu
when only "Delete" is available
2021-08-19 11:16:16 -04:00
khushboo-dev-cpp 82718a0e93 fix(@desktop/chat): Right click message actions dont work
Fix the bug introduced by removing MessageContextMenu from Chat column. Added missing logic for edit message via MessageContextMenu

fixes #3223
2021-08-19 10:45:47 -04:00
Khushboo Mehta 8caf95aace feat(MessageContextMenu): Allow Copy and Download Image
Added copy and download Image functionality on right click of an image or its preview

closes #2672
2021-08-19 10:23:18 -04:00
Alexandra Betouni f82a23e361 fix(desktop/chatmessages) fixed stickers can't be used as reply
Closes #2404
2021-08-17 11:41:06 -04:00
Andrei Smirnov 87b3f4f2c0 fix(@desktop/pinned): proper popup menu for pinned messages dialog 2021-08-16 14:54:36 -04:00
Pascal Precht 1ec6583494 fix(Communities): move backup community popup logic to onClosed handler
The transfer ownership popup triggered by the backup community baner button
was behaving weirdly because the banner from where it originates lives inside
a loader that is deactivated once the popup was opened.

Moving the logic that deactivates the loader into the onClosed handler of the
popup solves this issue.

Thanks to @pinebit for getting to the bottom of this!

Fixes #2997
2021-08-16 14:10:43 -04:00
Anthony Laibe 28a4362b64 feat(@desktop/profile): handle blocked contact
fixes #3047
2021-08-16 14:03:52 -04:00
Anthony Laibe 6ae4568807 fix(@desktop/chat): fix replying to message at early chat
When replying to a chat, we were reloading messages and rerendering
the messages which were causing issue with the reply id

fixes #3219
2021-08-13 13:07:23 -04:00
Khushboo Mehta 27fc32469e fix(@desktop/chat): Activity tooltip arrow position is incorrect
Updated offset of the notification tooltip arrow based on if the members list is visible. The arrow should be in center when member list is visible else it should be right aligned as there is no place on the window

fixes #3102
2021-08-12 18:06:23 +02:00
Khushboo Mehta b80ac8070f fix(@desktop/chat): pin button is blurred
Updated from PopupMenu to StatusPopMenu. Removed buttons not in design.
Also added left and right button functionalXity on memeber list

fixes #2956, #3162
2021-08-11 14:33:21 +02:00
Richard Ramos 1d4beeb041 fix: change values to consider user inactive or offline 2021-08-06 14:17:22 -04:00
Richard Ramos d1b46c0226 feat: selector for online or invisible state
Fixes #3126
2021-08-06 13:30:05 -04:00
Khushboo Mehta 531b2771a3 fix(@desktop/chat): mention color is too bright when replying
Updated the style of mention text when replying to one

fixes #3012
2021-08-06 13:03:23 -04:00
Richard Ramos 7c407305d2 fix: userlist 2021-08-05 17:09:03 -04:00
Anthony Laibe dc51cebaee fix(@desktop/communities): hide communities if not enabled
fixes #3152
2021-08-05 17:05:36 -04:00
Anthony Laibe 9874f82a58 fix(@desktop/browser): close popup when opening link
fixes #3155

Also when remembering the choice, update the settings
2021-08-05 16:50:43 -04:00
Khushboo Mehta 7d8c0d676d fix(@desktop/chats): add background to member button when opened
This fix adds a background to the member button when the members section is open.

fixes #3101
2021-08-05 16:48:34 -04:00
Sale Djenic 4ba08f02a5 Rebasing issues fixed (#3005) 2021-08-05 14:35:46 -04:00
Sale Djenic 83d6817f70 feature(@desktop/chat): support jumping to search result message that is not currently loaded in memory
Crash adding public chat which is caused by changes applied to this feature is fixed.

Fixes: #3005
2021-08-05 14:35:46 -04:00
Sale Djenic 5d8b02e057 feature(@desktop/chat): support jumping to search result message that is not currently loaded in memory
Feature added. Firstly we check if the searched message is already displayed and if yes simply jump
to it, if not then we are loading new 20 messages in the past using cursor and check if the
searched message's id is among those received messages. We do that in a loop till we find the
message we are searching for.

Fixes: #3005
2021-08-05 14:35:46 -04:00
Sale Djenic 74d868ab92 feature(@desktop/chat): implement search on sqlcipher (status-go side)
Searching messages by some term for a specific channel is added on the side of status-go and an
appropriate part on the side of nim is developed accordingly.

Fixes: #2912
2021-08-05 14:35:46 -04:00
Sale Djenic de661459cb feature(@desktop/chat): implement search on sqlcipher (status-go side)
Current code adapted to handle future changes on message search (like searching message in multiple
channels).

Memory leak which was happening in qml assigning (copying) MessageItem to qml variable messageItem
(where that qml variable messageItem was never deleted) is fixed.

Fixes: #2912
2021-08-05 14:35:46 -04:00
Sale Djenic f0c605936d feature(@desktop/chat): implement search on sqlcipher (status-go side)
Searching messages by some term for a specific channel is added on the side of status-go and an
appropriate part on the side of nim is developed accordingly.

Fixes: #2912
2021-08-04 15:49:50 -04:00
Sale Djenic 1573d7b928 feature(@desktop/chat): implement search on sqlcipher (status-go side)
Current code adapted to handle future changes on message search (like searching message in multiple
channels).

Memory leak which was happening in qml assigning (copying) MessageItem to qml variable messageItem
(where that qml variable messageItem was never deleted) is fixed.

Fixes: #2912
2021-08-04 15:49:50 -04:00
Anthony Laibe 5fc85af04b fix(@desktop/communities): Remove search from invite
fixes #3053

Align invite popup with design
2021-08-04 14:41:13 -04:00
Anthony Laibe cec7525fe8 fix(@desktop/chat): re-enable ability to click on profile 2021-08-04 07:50:30 -04:00
Alexandra Betouni fe08c0bdc8 [#2584] Fixing 'more' chat menu position
Re-parented to 'more' button so that it's
following that when scaling the window

Closes #2584
2021-08-03 16:51:35 -04:00
Andrei Smirnov 7c735aa7a8 fix(@desktop/communities): close community modal when leaving the community 2021-08-03 16:45:41 -04:00
Anthony Laibe edc5bd81c0 feat(@desktop/chat): disable copy to clipboard when clicking on profile
fixes #3111
2021-08-03 16:36:37 -04:00
Anthony Laibe 9893dbb00c fix(@desktop/chat): display correct identicon for reply
fixes #2959
2021-08-03 16:17:25 -04:00
Andrei Smirnov 544b0aafc7 fix(@desktop/chat): support to mentions in message edit mode 2021-08-02 20:01:57 -04:00
Jonathan Rainville fc6143035f fix(act-center): remove backdrop on activity center
Fixes #3100
2021-08-02 17:02:01 -04:00
Richard Ramos 9de0b95c3d fix: group member list 2021-08-02 15:51:33 -04:00
Jonathan Rainville 9f21740bae feat: add api to delete a community channel 2021-08-02 14:08:51 -04:00
Alexandra Betouni b5aa8d876e [#3119] Fixiing profile picture not correct in add new chat popup
Closes #3119
2021-08-02 13:38:54 -04:00
Richard Ramos 9204e409f3 chore: update translation files 2021-08-02 13:31:53 -04:00
Jonathan Rainville c6b13d783b fix(community): lock community type to on request 2021-07-29 09:38:38 -04:00
Anthony Laibe 5c36f2ca1a fix(@desktop/communities): fix translation for members count
fixes #3106
2021-07-29 09:35:58 -04:00
Richard Ramos 2b1945425c fix: Display current user's ENS in profile and share URL
Fixes #2503
2021-07-29 09:08:27 -04:00
Pascal Precht d47ddf69bb
refactor(@desktop/chat): make use of StatusQ's input in contact list search
Also, use `StatusPopupMenu` for starting new chats.
2021-07-29 10:30:25 +02:00
Pascal Precht 0dbfb61093 fix(@desktop/chat): make chat group popup work again
This broke during the modal refactoring because we're no longer relying
on `chatsModel.contextChannel`.

Passing the channel item to the popup ensures it's properly hydrated again.

Closes #3050
2021-07-28 16:52:55 -04:00
Richard Ramos 97f0a0435d refactor: SNT transaction modal (for buying sticker packs and ens) 2021-07-28 11:56:17 -04:00
Jonathan Rainville a37ce0b133 chore(act-center): hide contact requests from the activity center 2021-07-27 15:29:03 -04:00
Jonathan Rainville e2d91dc66b fix(act-center): multiple fixes to the activity center 2021-07-27 15:29:03 -04:00
Richard Ramos acdb4d3bcb fix: last seen timestamp and removing useless echo 2021-07-27 11:16:28 -04:00
Alexandra Betouni c7c3c5dc9d [#2813] Fixing chat layout bugs
* Added clipping and scrollbar in user lists
2021-07-27 10:46:50 -04:00
Jonathan Rainville ed223f15da fix(invitation-bubble): fix json parse 2021-07-27 10:36:42 -04:00
Jonathan Rainville 58532ba25d fix(activity-center): fix mark as read
Fixes #3011
2021-07-27 10:36:42 -04:00
Anthony Laibe a2db1deeda fix(@desktop/chat): revert the visible logic for fetch more messages
This is causing fetch more message to not be visible in other chat type
such as publich chat
2021-07-27 09:45:21 -04:00
Jonathan Rainville a99eccee00 feat: limit to 3 pins and show how to unpin 2021-07-26 17:16:35 -04:00
Jonathan Rainville 7d169e85f2 fix(delete): disable deleting certain message types 2021-07-26 17:14:07 -04:00
Jonathan Rainville 93f602adf2 fix(delete): fix delete button color and typo in warning 2021-07-26 17:14:07 -04:00
Jonathan Rainville 523e94ae0c feat: enable to delete messages
Fixes #2775
2021-07-26 17:14:07 -04:00
Alexandra Betouni 0a01e84b1c [#2813] Updating chat layout
Switched to StatusAppThreePanelLayout as per new
design for members list

Closes #2813
2021-07-26 14:05:08 -04:00
Pascal Precht 07142dc66b fix(CommunityDetailPopup): ensure description wraps properly
Fixes #3052
2021-07-26 13:34:12 -04:00
Jonathan Rainville 39dace238b feat(chat): add unfurling message for images
Fixes #1940
2021-07-23 17:44:06 -04:00
Anthony Laibe 1be169bc7e fix(@desktop/chat): remove add to contact banner from top bar
fixes #2717
2021-07-23 17:25:54 -04:00
Pascal Precht 6ad2171390 fix(CommunitiesPopup): render community description not just member count
This also updates StatusQ as the underlying StatusListItem component wasn't able
to handle multi-line subtitles very well. Also it didn't support tertiaryTitle, which
is needed in this UI.
2021-07-23 17:10:12 -04:00
Andrei Smirnov 79db861d2f fix(@desktop/chat): incorrect timestamp evaluation 2021-07-23 16:55:05 -04:00
Anthony Laibe 54570bce6e fix(@desktop/translation): update translation
fixes #2993
2021-07-23 16:35:23 -04:00
RichΛrd 7a4ced53c5 fix: code review 2021-07-23 15:58:07 -04:00
Richard Ramos 55a11f016e fix: limit suggestions to member list in communities
Fixes #3021
2021-07-23 15:58:07 -04:00
Pascal Precht e097d2bfe7 fix(Communities): preserve category id when editing channels
As described in #3015, when editing channels that belong to a category of a community,
after saving them, they'll get kicked out of the category.

This is because we haven't passed the category id along the API that performs the
save operation.

This commit ensures we have access to a category chats' `categoryId` and send it
over to `editCommunityChat` RPC API provided by status-go

Fixes #3015
2021-07-23 15:48:21 -04:00
Anthony Laibe e88665f27a fix(@desktop/chat): hide notification when leaving/creating a group
fixes #2484
2021-07-23 15:37:23 -04:00
Andrei Smirnov 0675f013af fix(@desktop/pinned): actions to unpin and jump to the message 2021-07-23 14:43:57 -04:00
Alexandra Betouni 03db6a4985 [#2707] Added "My Profile" button in new chat popup
My profile link was not shown when starting 1x1 chat
having someone in contacts as it is currently the case in
mobile app

Closes #2707
2021-07-23 14:19:33 -04:00
Alexandra Betouni 7ac63b4451 [#2563] Fixed hover over Join button has wrong shape
For performance reasons clipping doesn't work
with rounded corners - wrapping Join button in
an Item and apply clipping there instead

Closes #2563
2021-07-23 14:13:31 -04:00
Anthony Laibe 076a5bc5b7 fix(@desktop/communities): mute/unmute communities
fixes #2880
2021-07-23 13:40:40 -04:00
Pascal Precht 9f6a4f7834 fix(CreateCategoryPopup): ensure delete button and name input stay in viewport
There are a few issues with the popup's content when there are many channels in a community:

1. Channel items belonging to other categories would still take space in the list
1. Due to the longer list of channels, the delete button wouldn't be fully visible (scrolling down
   helps here)
2. Scrolling down is hard because the `ListView` in use is `interactive`
3. Even when `interactive` is set to false, one would scroll the name input out of the viewport.

To solve these, this commit rearchitects the popup's content such that:

1. The name input is always static and in place
2. The scrollview starts with the channel list and ends with the channel list
3. The delete button is positioned below the scrollview
4. The scrollview has a max height of 300 so that the popup doesn't grow too big
5. Invisible channel items won't have a height anymore

The result is that the middle section of the popup becomes scrollable in case there's many
channel items, while both, the name input and the delete button stay in the viewport.

Fixes #3013
2021-07-22 13:52:33 -04:00
Richard Ramos 7aaca9ec4d toggle switch to control if status should be broadcasted or not 2021-07-22 13:48:53 -04:00
Richard Ramos 6849091460 feat: community user status pt 2 2021-07-22 13:48:53 -04:00
Richard Ramos d8053f5291 fix: getNodeConfig 2021-07-21 15:09:23 -04:00
Pascal Precht 5bf5095c3c refactor(communities): remove typo in `exportCommunity()` API 2021-07-21 12:18:02 -04:00
Pascal Precht 84f87f696c chore: remove unused community component 2021-07-21 12:18:02 -04:00
Pascal Precht 319334e21f fix(Communities): make managing community button work again
This broken because the component is relying on globals that don't provide
the same APIs anymore.

Fixes #3000
2021-07-21 12:18:02 -04:00
Pascal Precht 9971f2fc0a fix(@desktop/chat): render community description in chat toolbar
This was lost during the refactor to use StatusQ components because it wasn't
clear to me that community channel descriptions should be rendered there.

Fixes #2982
2021-07-21 12:18:02 -04:00
Pascal Precht 865b3385f3 fix(CreateCategoryPopup): ensure channels are rendered in edit mode
Fixes #2984
2021-07-21 12:18:02 -04:00
Pascal Precht bfab715465 fix(CreateCategoryPopup): make saving categories work again
Due to recent refactors, this popup was still referencing unreachable
components. This commit fixes this.

Fixes #2983
2021-07-21 12:18:02 -04:00
Pascal Precht cd37fa8e58 fix(Communities): reintroduce danger list item for "leave community" button
This was already one in 78f7e0f4e0 but due to
lack of updated designs, it was accidently undone in the refactor of community modals.
2021-07-21 12:18:02 -04:00
Pascal Precht e6059db5ac fix(Communities): make opening profile popup from within memberlist work again
This broken when we refactored the modal to be a `StatusModal` because the loaded
content can no longer rely on globals.
2021-07-21 12:18:02 -04:00
Pascal Precht 8a504ce190 fix(Communities): enable letter identicon support in community profile popup 2021-07-21 12:18:02 -04:00
Pascal Precht aa3c68ec3d fix(Communities): use `StatusModal` in `InviteFriendsToCommunityPopup`
This refactors the popup to use StatusQ APIs and also fixes a bug where the
inner view isn't properly hydrated with community data.

Fixes #2998
2021-07-21 12:18:02 -04:00
Jonathan Rainville aa87a3f7fe feat(activity): add 1-1 messages to activity center
Fixes #2830
2021-07-20 10:55:42 -04:00
Jonathan Rainville 2cc819af46 fix(contact): unblock input when possible request pending 2021-07-20 10:55:42 -04:00
Pascal Precht 4213f953e0 refactor(Communities): use `StatusModal` in `MembershipRequestsPopup`
Closes #2894
2021-07-20 09:58:37 -04:00
Pascal Precht 2807628c4d refactor(Communities): use `StatusModal` in `MembershipRequirementsModal`
Closes #2894
2021-07-20 08:40:29 -04:00
Pascal Precht 92d042184a refactor(Communities): use `StatusModal` in `CommunityDetailPopup`
Closes #2892
2021-07-20 08:40:29 -04:00
Pascal Precht 4b059f6190 refactor(Communities): use `StatusModal` in `CommunitiesPopup`
Closes #2891
2021-07-20 08:40:29 -04:00
Pascal Precht d4e56ab6ef refactor(Communities): use `StatusModal` in `TransferOwnershipPopup`
Closes #2889
2021-07-20 08:40:29 -04:00
Pascal Precht 4dab6f9239 refactor(Communities): replace `CommunityMembersPopup` with `CommunityProfilePopup`
When right-clicking a community from the navbar and selecting "View community", Status Desktop
opens `CommunityMembersPopup` which looks like it was either never really finished or more of an
intermediate solution until a proper community profile popup was created.

That's why this commit replaces it with a `CommunityProfilePopup` instead.
In fact, this lead to changes in `CommunityProfilePopup` where the `activeCommunity` dependency
is entirely removed, which allows us to use this popup in various places given that it's hydrated
with proper data.

Because we're no longer relying on `activeCommunity` inside that popup, all of its children and
connected popups needed that same refactor as well, hence this PR introduces a few more changes.

Closes #2890
2021-07-20 08:40:29 -04:00
Pascal Precht 9eb752885d refactor(Communities): use `StatusModal` in `CreateCommunityPopup`
This replaces the modal popup with `StatusModal` in the `CreateCommunityPopup`
and also ensures that it adheres to the design.

There are still things to be refactored in here, primarily form control components.
Those will be tackled in future commits once they have been built in StatusQ

Closes #2882
2021-07-20 08:40:29 -04:00
Pascal Precht 9795890544 ui(Communities): remove unnecessary dividers in modals
There was a change in StatusQ that introduced dividers for modal footers
and headers, so we don't need to put them in the content manually anymore.

This commit removes the no longer needed ones.
2021-07-20 08:40:29 -04:00
Anthony Laibe 5e52095b1f fix(@desktop/communities): remove context menu leftover
fixes #2839
2021-07-19 14:33:30 -04:00
Alexandra Betouni 0f0b239f2a [#2386] Fixed inline emoji reaction menu not showing on top of message
* Also replaced usage of synamic scoping with properties,
  signals and functions where possible

Closes #2386
2021-07-19 14:06:36 -04:00
Alexandra Betouni 9ee7079744 [#2550] Fixed wrong color in key icon
Key icon color was wrong at the community
welcome message

Closes #2550
2021-07-19 13:38:32 -04:00
Alexandra Betouni 68c9b533d4 [#2598] Fixed New messages have their buttons getting overlapped by messages above
Closes #2598
2021-07-19 13:12:56 -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
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
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
Anthony Laibe 511c959121 fix(@desktop/chat): fix sticker/image notification with placeholder
fixes #2450
2021-07-14 18:27:38 -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
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
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
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
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
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
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
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
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 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
Jonathan Rainville 0774c4d5bf fix(community): fix request access label
Fixes #2666
2021-07-02 08:51:48 -04: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
Richard Ramos ec1ba71db1 fix: prevMsgTimestamp and nextMsgTimestamp 2021-06-29 08:01:53 -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
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
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
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 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 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
Jonathan Rainville 20bbf97787 chore: hide activity center button 2021-06-02 11:55:15 -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 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 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
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
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
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
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 17b3a44458 fix(Community): leave community from Community profile popup 2021-05-07 11:12:02 -04:00
Richard Ramos 521d2372f3 fix: code review 2021-05-05 17:16:12 -04:00
Richard Ramos efd1677b24 show confirmation dialog when leaving chat 2021-05-05 17:16:12 -04:00
Iuri Matias 38be2889cd use StatusIconButton component to avoid pixelized close button 2021-05-05 17:15:40 -04:00
RichΛrd efe550ccd5 Update ui/app/AppLayouts/Chat/ChatColumn.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-05 17:13:02 -04:00
Richard Ramos fbbfa30b1b Allow image drag/drop in communities 2021-05-05 17:13:02 -04:00
Jonathan Rainville c45fe44ad5 feat(Community): show community description in CommunityColumn
Fixes #2400
2021-05-04 15:52:35 -04:00
Jonathan Rainville 9d625016ff chore: fix spacing and width of chat identifier 2021-05-04 14:52:37 -04:00
Jonathan Rainville 49d130a111 feat(ChatMessages): show chat identifier at the top of the window 2021-05-04 14:52:37 -04:00
Jonathan Rainville 64e965ea07 feat(Chat): add Add To Contact banner in 1 to 1 chats 2021-05-04 14:52:37 -04:00
Iuri Matias 11e6ca7e42 don't allow username change for own user 2021-05-04 14:46:32 -04:00
Richard Ramos f5dacb40b1 fix: group info font
Fixes #2380
2021-05-03 15:03:51 -04:00
Richard Ramos 9ea56a3ae7 force refetching previews when preview whitelist changes 2021-05-03 15:03:03 -04:00
Jonathan Rainville 659eb6c681 fix: fix lists overflowing 2021-05-03 14:46:25 -04:00
Jonathan Rainville eac7009807 feat(community): fetch community info from link
Fixes #2290
2021-05-03 14:36:37 -04:00
Jonathan Rainville 33a77ab761 fix(CommunityTransfer): fix private key display to match design
Fixes #2419

Makes it so the private key is elided by default so you can see it all from the get-go. If you focus the field, the key will "unfurl" and you can copy it manually.
Otherwise. the Copy button will always copy the whole key
2021-04-30 13:09:19 -04:00
Jonathan Rainville 22398284e9 fix(CompactChat): fix margins for images and invites
Fixes #2407
2021-04-30 13:01:52 -04:00
Jonathan Rainville 010b617da6 fix(CommunityList): fix CommunityList binding loop 2021-04-29 13:05:49 -04:00
Jonathan Rainville 1b491df9b4 feat(CommunityBackup): remove backup banner after clicking on it 2021-04-29 13:05:49 -04:00
Jonathan Rainville f353a29c3f feat(Communities): add Back up community rectangle for admins
Fixes #2417
2021-04-29 13:05:49 -04:00
Eric Mastro 0850835b34 fix: Send Message button not working in profile popup
Fixes: #2364

The Send Message button click event was erroring due to a refactor that had been done to allow for changing app sections.

This has been updated to follow the current way to change app sections.

fix: “Send Message” button crash in communities
This required switching from communities to normal view.

fix: crash when clicking channel link in community message
When a message in communities contains a link to another channel (ie #otherchannel), the search for this channel needed to be updated to also search for the channel by name, allowing for switching between channels within a community by message link. Additionally, when in a community, if the channel was located in a normal chat, it will switch the view to the normal chat after being found.
2021-04-29 12:36:58 -04:00
Eric Mastro daabef3a3c fix: do not show watch-only accounts as “from address”
Fixes: #2257.

If a user had selected a watch-only address in the wallet, the backend `walletModel.currentAccount` property would also change. When loading a transaction modal, this property was used to set the `selectedAccount` value for the “from” `AccountSelector`, regardless if the account was a watch-only address.

This PR updates the logic for `selectedAccount` such that it will only allow the account to be selected if it is not a watch-only account.
2021-04-29 12:36:39 -04:00
Jonathan Rainville 3a7c95967a feat: implement redesign of message replies
Fixes #2303
2021-04-29 12:35:59 -04:00
Jonathan Rainville 7def4b8630 fix(TextArea): fix selecting text in a TextArea and placeholder color 2021-04-29 12:31:40 -04:00
Jonathan Rainville 6a9bd579d1 fix(CreateCommunity): fix separator margins 2021-04-29 12:21:12 -04:00
Jonathan Rainville aab008d6ef fix(CreateCommunity): fix membership text color and spacing 2021-04-29 12:21:12 -04:00
Jonathan Rainville e77012919b fix(CompactMessage): fix reactions overlapping with the test 2021-04-29 12:18:31 -04:00
Richard Ramos 4d55e3f583 fix: channel context menu colors
Fixes #2363
2021-04-27 16:19:49 -04:00
Richard Ramos b0a9a9ab06 fix: group members context menu icons
Fixes #2381
2021-04-27 14:11:49 -04:00
Iuri Matias 093f7cff7a re-disable experimental features 2021-04-23 07:44:55 -04:00
Pascal Precht 5d34147956 fix(Communities): don't render invite button for non admins 2021-04-21 18:14:56 -04:00
Richard Ramos a581facd88 fix: code review 2021-04-21 18:09:50 -04:00
Richard Ramos 1914557e6b Comment ENS toggle on communities
Fixes #2269
2021-04-21 18:09:50 -04:00
Jonathan Rainville 2e25bf4f8a fix(CompactMessage): fix message hover getting stuck
Fixes #2226 and #2196
2021-04-21 18:05:42 -04:00
Pascal Precht bda1582ea0 uiux: ajdust app tab icons to have the correct size
Closes #1843
2021-04-20 15:15:17 -04:00
Jonathan Rainville b433b23245 chore(CommunityProfile): comment notifications and remove Delete code
Fixes #2272
2021-04-20 14:47:07 -04:00
Pascal Precht 35c63418e2 fix(Communities): remove context menu option to leave channel
Community channels can't be left, only muted.

Closes #2273
2021-04-20 13:55:07 -04:00
Pascal Precht dcb0f4dce9 fix(Communities): make invite popup push onto modal stackview
The popup to invite friends to communities has so far always been a brand new
popup that's opened on top of possible existing popups.

The design however, expects that the same section should be shown as part
of a wizard-like process inside of the existing community profile overview
popup, when entered from there.

This commit extracts the invite friends popup section into component that
can be reused as stack view, as well as modal content, to implement both
scenarios.
2021-04-20 13:24:08 -04:00
Pascal Precht 66839443c5 uiux(Community): minor fixes in create channel modal to match designs 2021-04-20 13:24:08 -04:00
Pascal Precht fc2e8505f3 uiux(Communities): various community profile popup ui fixes
This commit changes a bunch of things related to ui bugs in the community
profile popup. Fixes include:

- Removing the `Delete Community` option since this functionality isn't implemented yet
- Changing the color of the menu item's icons in dark mode to be blue
- Doing the same in the memberlist popup
2021-04-20 13:24:08 -04:00
Jonathan Rainville 20f9f47028 chore(CreateCommunityPopup): leave create btn enabled to show errors 2021-04-20 13:19:22 -04:00
Jonathan Rainville b4de0da9f7 fix(CreateCommunityPopup): make image optional as before
Fixes #2301
2021-04-20 13:19:22 -04:00
Pascal Precht 1c910deca9 fix(Communities): make kicking members work again
There's a regression in the application where kicking members from communities
doesn't work anymore. This was due to UI logic being moved to a different model
without updating the corresponding view action.

Fixes #2274
2021-04-20 13:16:28 -04:00
Pascal Precht b36652348a uiux(Chat): ensure emojis are centered vertically within messages
Closes #227
2021-04-20 13:06:25 -04:00
Pascal Precht e63db9a21c uiux(Communities): use proper icon for "leave community" menu item 2021-04-20 12:30:10 -04:00
Pascal Precht 5016091df7 fix(Communities): allow everyone to activate community profile popup
Prior to this commit, only admins of a community could open up the community
profile popup from inside the community. However, normal members should be able
to do so too.
2021-04-20 12:29:56 -04:00
Pascal Precht 122b3b8ae9 chore(Communities): remove community context menu for non-admins
Normal members shouldn't be able to create channels, nor should "leave
channel" be an option of the context menu provided inside of a community.

This commit removes these.
2021-04-20 12:19:37 -04:00
Eric Mastro 6de717e0e4 fix: remove emoji html from notifications 2021-04-20 12:12:33 -04:00
Pascal Precht aeedc87368 feat: introduce global settings
This commit introces global settings that apply across accounts used
inside the application. This is useful when settings like the selected
locale should b the same across all accounts.

Closes #2144
2021-04-19 13:53:14 +02:00
Eric Mastro 9e6bd7a2da fix: create community and channel name validation
Fixes #2050.

This PR contains changes to fix the name validation for new communities and new channels in communities. In the process of updating this, better validation was also added to both popups (create community and create channel), including the prevention of the "Create" button from being enabled until all form fields were valid.

During this process, it was noticed that the community image cropper was not actually cropping the image *in the preview*. Once the community was created, status-go was successfully cropping the image as the user intended. However, the preview thumbnail prior to creation was not accurately showing the cropped image preview and showing the entire image centred instead. *This is still yet to be fixed.* One solution is to upgrade Qt to `5.15` to take advantage of Image QML's `sourceClipRect`.
2021-04-19 20:19:43 +10:00
Pascal Precht 6529efda4d uiux: fix sticker message border color 2021-04-15 16:59:55 -04:00
Pascal Precht 63bc6f0e53 chore: remove unnecessary splitview props 2021-04-15 10:12:50 +02:00
Pascal Precht a954639cba fix(ui): use correct light theme color for app bar divider 2021-04-14 17:00:37 +02:00
Pascal Precht 18acef7fd3 fix(ui): visually remove splitview handle 2021-04-14 17:00:37 +02:00
Pascal Precht ce774a4dae fix(contextMenu): make menu item hover work and change color 2021-04-14 10:54:20 +02:00
Pascal Precht 5d59cb3870 fix(ui): use proper color for badge border 2021-04-14 10:54:20 +02:00
Jonathan Rainville 048642b7df fix: order joined communities from newest to oldest
Fixes #2154
2021-04-13 18:02:02 -04:00
Jonathan Rainville 63b5c549b9 fix: fix invite button not setting Joined correctly
Fixes #2209
2021-04-13 17:50:32 -04:00
Jonathan Rainville 8607251a6e fix: fix qml warnings 2021-04-13 17:49:43 -04:00
Pascal Precht 5ca9d66212 fix(Communities): ensure newly created community is opened 2021-04-13 15:21:00 -04:00
Pascal Precht 6e63f65dae fix(Communities): use fallback color for community icon if model doesn't have one 2021-04-13 15:07:14 -04:00
Pascal Precht b76468e675 uiux(Communities): fine-tune header button component to align with designs 2021-04-13 15:07:07 -04:00
Jonathan Rainville 90d7f65369 fix: remove possibility to click through the top bar on messages
Fixes #1942
Also cleans up a little the ChatColumn abuse of rows
2021-04-13 14:56:00 -04:00
Jonathan Rainville 4cb6a5b01d chore: update transparent to use Style
Co-authored-by: RichΛrd <info@richardramos.me>
2021-04-13 14:49:43 -04:00
Jonathan Rainville 8c753d58f0 fix: fix copy link submenu items being unreadable in dark theme
Fixes #2194
2021-04-13 14:49:43 -04:00
Jonathan Rainville b45cbe83b7 fix: fix channel list spacing during a search
Fixes #2191
2021-04-13 14:47:35 -04:00
Jonathan Rainville a9cae5b96e fix: fix compact message hover when a popup is opened
Fixes #2187
2021-04-13 14:43:48 -04:00
Jonathan Rainville b1fbad91fe fix: fix channel-identifier-dark-text 2021-04-13 14:42:45 -04:00
Jonathan Rainville 10fd90a152 fix: date label not showing correctly
Fixes #2184
2021-04-13 14:40:44 -04:00
Jonathan Rainville 2e248d710d fix: fix mention popup not showing after a line break 2021-04-01 17:07:25 -04:00
Jonathan Rainville a01e851070 fix: fix being unable to put multiple spaces in a row 2021-04-01 17:07:25 -04:00
Jonathan Rainville 6c0fce5b0c fix: menu dropdowns not closing on button click and position 2021-04-01 16:59:43 -04:00
Jonathan Rainville 62b0c63965 feat: add invite button to community menu
Fixes #2139
2021-04-01 16:51:37 -04:00
Jonathan Rainville 8b3ce83d00 fix: input box disappearing on communities
Fixes #2155
2021-03-31 16:53:08 -04:00
Jonathan Rainville 303e6e9893 refactor: change PrivateChatPopup to use the new ContactListAndSearch 2021-03-31 16:25:24 -04:00
Jonathan Rainville c42bd1ea78 feat: add input to search and use ENS for community invite
fixes #2138
2021-03-31 16:25:24 -04:00
--replace-all b3791cb39f fix: typo in community popup
fixes #2156
2021-03-31 15:34:44 -04:00
Jonathan Rainville 1bc3fa1c97 fix: fix sticker click modal to only open on sticker click 2021-03-30 16:08:13 -04:00
Jonathan Rainville 996b36714d fix: fix scroll speed on Windows 2021-03-30 16:02:10 -04:00
Jonathan Rainville a337b293da feat: show community context menu on Community button 2021-03-30 15:53:32 -04:00
Jonathan Rainville e33266aa2f fix: fix emoji popup and create community popop text color 2021-03-30 15:38:15 -04:00
Jonathan Rainville 038ea033c9 feat: implement new dark theme colors for menu and more
Fixes #2094
2021-03-26 15:28:06 -04:00
Jonathan Rainville aeded149db fix: show community button tooltip on the right
Fixes #2069
2021-03-25 16:57:47 -04:00
Jonathan Rainville 0478a04db9 fix: fix chat time tooltip being too big
Fixes #1946
2021-03-25 16:57:47 -04:00
Iuri Matias 4e15002beb hide reactions and replies when the message is a transaction 2021-03-24 14:43:04 -04:00
Jonathan Rainville 686cbc7f54 fix: fix communities not showing the letter identicon correctly 2021-03-24 14:20:47 -04:00
Pascal Precht c28d4054ef fix(Chat): ensure chat reply separator doesn't leak into message
Fixes #1988
2021-03-24 14:17:43 -04:00
Jonathan Rainville 7188579e46 fix: fix mention showing as pubkey and show styling 2021-03-24 14:16:55 -04:00
Jonathan Rainville 5d67a3f5f9 fix: fix sending three word names mentions not working 2021-03-24 14:16:55 -04:00
Pascal Precht e1a4a47636 fix(Chat): disable HoverHandler when profile popup or context menu are open
Alright, this is an interesting one:

As described in #1829, when the profile popup is opened within the chat view,
users are still able to click *through* the popup on message, which then puts them in
an active state.

I've done a bunch of debugging as described [here](https://github.com/status-im/status-desktop/issues/1829#issuecomment-804748148) and after doing some
further debugging, I found out that `isMessageActive` isn't really the culprit here.

What causes this effect is the `HoverHandler` that's attached to the `CompactMessage` item.
`HoverHandler` is a standard QML type that emits `hoverChanged` signals so one can do things like
applying hover effects on elements, which is exactly what we do:

```
HoverHandler {
  onHoverChanged: {
    root.isHovered = hovered  // `root` being the message item
  }
}
```

I assume we went with this handler because putting a `MouseArea` in there instead, which fills
the entire message component pretty much eliminates all existing mouse handlers attached to
other child components, such as the profile image or the username of the message, which also
open a message context menu.

It turns out that, having a `HoverHandler` as described above, actually activates it when the
user clicks with the left mouse button as well (not just on hover). That's what causes the "click-through"
effect. This can be verified by setting `acceptedButtons` to `Qt.RightButton`, basically telling
the handler that only right clicks will activate it.

I then tried using `Qt.NoButtons` instead so that no button clicks and only hovers will activate
the handler, but that didn't seem to have any effect at all. It still defaults to `Qt.LeftButton`.

So the last resort was to disable the `HoverHandler` altogether, whenever either the profile popup,
or the message context menu (for emojis etc) is open.

Unfortunately, we don't have access to the profile popup in the compact message component, because it's
detached from the component tree. Therefore, I've introduced a new property `profilePopupOpened` on
the chat layout, which we can read from instead.

Fixes #1829
2021-03-23 10:32:31 -04:00
Pascal Precht e2113553b9 feat(PrivateChatPopupSearchResults): introduce reset() and config API
This commit introduces a `reset()` function so that search results inside
the application can be easily reset. It also introduces a `resultClickable`
flag which allows consumers of this component to decide whether a search result
is clickable and emits a dedicated event.

This is useful when UIs should only allow actions via the result icon button
(as it's the case with the new add-to-contact modal).
2021-03-22 15:49:47 -04:00
Jonathan Rainville 7fb9578285 feat: highlite mentions in the chat input as well 2021-03-22 15:49:21 -04:00
Jonathan Rainville 98ef76d3c8 chore: hide edit community button until the feature is implemented 2021-03-18 14:52:28 -04:00
Pascal Precht 010a7e0d8e feat(Communities): open member profile on memberlist click 2021-03-18 14:47:36 -04:00
Pascal Precht 6b6a318a8c
refactor(Communities): make member list look as intended
This change aligns the member list's look & feel of the community profile popup
with the designs by implementing the proper member list items styles, hover effects
and fine-tuning the context menu.

This commit also comments some of the actions provided by the context menu,
which aren't implemented yet. There's no point in having UI components that don't or
can't function.

Those will be re-introduced once they are actually implemented.

Closes #1959
2021-03-18 10:03:24 +01:00
Pascal Precht b4389402e9
refactor: make use of StatusContextMenuButton 2021-03-18 10:03:08 +01:00
Jonathan Rainville 23a8de0449 fix: fix community not being passed correctly to the invite bubble 2021-03-17 16:09:23 -04:00
Jonathan Rainville f3b452188a chore: extract join.status link prefixes to Constants 2021-03-17 16:09:23 -04:00
Jonathan Rainville 62d10eba49 feat: show community invite component on community link 2021-03-17 16:09:23 -04:00
Jonathan Rainville 5581fca41d feat: show default unfurling for community links 2021-03-17 16:09:23 -04:00
Pascal Precht 907fbc21b8 fix(Chat): don't render "Copy Link" menu item if not desired
This adjust the rules to render the copy link menu item so that it aligns
with what has been mentioned in #1943.

Fixes #1943
2021-03-17 15:28:12 -04:00
Pascal Precht 362ad02ffc
refactor(Communities): make membershipt request button looks as designed
The designs for the membership request button look different now, so this
commit makes use of the `StatusSettingsLineButton` to implement that new
look & feel.
2021-03-17 10:30:19 +01:00
Pascal Precht 38bd5f1422
fix(Communities): remove type error in item width
There's no `parent` in that componen, which results in a QML type error
at runtime.
2021-03-17 10:30:18 +01:00
Pascal Precht 638892f21d
refactor(Communities): use StackView inside profile popup for memberlist
Prior to this commit, the community memberlist was represented in a nested modal
which doesn't adhere to the designs. Rather, the section should render inside the
existing modal, requiring it to be refactored using a `StackView`.

This commit refactors the community profile popup so that the different content
sections ("Overview" and "MemberList") are rendered inside of the popup and can
be pushed onto and popped off a stack view.

The content components (newly introduced in this commit) `CommunityProfilePopupMembersList`
and `CommunityProfilePopupOverview` need to define a `headerTitle`, `headerDescription` and
if needed `imageSource` so they can alter the modal's header.

The same pattern might be used in other places of the modal if required.

Partially fixes #1959
2021-03-17 10:29:31 +01:00
Jonathan Rainville b9594591b0 fix: fix a lot of issues relative to dark theme
Fixes #1997
2021-03-16 17:22:58 -04:00
Richard Ramos 4f4a3f1c30 feat: see stickers details when clicking on a sticker 2021-03-16 15:39:52 -04:00
Pascal Precht 8ad9e52abf fix(Communities): render community image in profile popup 2021-03-16 14:57:45 -04:00
Eric Mastro f1e83f74bc feat: drag and drop images
Allow up to 5 images to be dragged and dropped in to one-on-one chats and in the timeline. Can be combined with the existing upload button. The upload file dialog has been changed to allow multiple selections. Drag and dropped images adhere to the following rules, with corresponding validations messages:
- Max 5 image
- Image size must be 0.5 MB or less
- File extension must be one of [".png", ".jpg", ".jpeg", ".heif", "tif", ".tiff"]

Drag and drop and uploaded images are now also deduplicated.
2021-03-16 13:51:37 -04:00
Pascal Precht e725e7982d fix(Communities): properly pass `admin` state to profile popup
This was hardcoded into `isAdmin` for some reason. It also seems that the
property isn't actually used anywhere in the profile popup, so we might
as well get rid off it.
2021-03-16 12:43:01 -04:00
Pascal Precht eefd56dd28 fix(Communities): ensure app remembers hidden community intro banners
Fixes #1960
2021-03-15 14:35:31 -04:00
Pascal Precht 2e710715bc fix(Communities): ensure profile popup is hydrated with correct data
The `communityProfilePopup` relies on the currently `activeCommunity` to
get its data. Unfortunately, once read, even when `chatsModel.setActiveCommunity()`
is called which triggers `activeCommunityChanged`, the data in the popup
won't be updated. The next time one would open a community profile page,
it'd have the data that was previously received from the model.

This commit ensures that the popup is hydrated with the most recent data
by explicitly updating its properties right before it's opened.
2021-03-11 10:41:19 -05:00
Pascal Precht 51c8d86ccc fix(Communities): don't crash on rejoin attempt
Prior to this commit there was a scenario where the application would
crash due a memory bug when attempting to (re)join a community.

The scenario is as follows:

1. User creates or has been invited to community with `ON_REQUEST` permissions
2. User leaves community
3. User decides to rejoin, so she selects the community she's been part
of and hits the "Join" button

At this point Status Desktop would send a new `RequestToJoin` request, as the
community has a corresponding permissions setting.

This would then result in an `already a member` error in status-go, because
status-go checks whether the requestee is already part of the members list of
the community. The error isn't handled inside Status Desktop which causes
a crash because we're trying to access data in memory that doesn't exist.

Why is this happening?

While this might be unexpected, when leaving a community (as done on step 2 of
the mentioned scenario), users don't actually lose membership but simply
"unsubscribe" from all channels in the community in question and their `joined`
flag is set to `false`.

From that point on, re-joininng a community is done by sending a `JoinCommunity`
request (instead of `RequestToJoin`), which will then set the `joined` flag to
`true` and doesn't actually check the membership in the database.

This commit ensures we're calling the right API by checking whether not only
whether the community is needs `ON _REQUEST` permissions, but also whether the
user isn't already a member of it.

Fixes #2017
2021-03-11 10:41:19 -05:00
Pascal Precht 49b5e6c097 fix(Communities): make validation on community import work again
In https://github.com/status-im/status-desktop/commit/a90a30af1 we've introduced the functionality to import
communities through the UI via a community private key.
That private key is being validated before it gets imported.
For some reason, validation has been removed in another refactor
later on in https://github.com/status-im/status-desktop/commit/534cb23e1, rendering the import
functionality broken.

This commit re-introduces the `validate()` method to make importing
communities work again.
2021-03-11 10:00:05 -05:00
Pascal Precht 01d3369c64 fix(Communities): fallback to letter identicon if no image available
Prior to this commit, communities without an image would render invisible
in the navigation bar of the application. To avoid this, we're now falling
back to our StatusLetterIdenticon component, which renders the first letter
of the community name with the color of the community.
2021-03-11 10:00:05 -05:00
Pascal Precht 0a7d6f6bae fix(Community): ensure community members with write access can post to channel
When a user is part of a community, write access to any channel of
that community is granted. When the permission allows for it, a community's
channel `canPost` property is `true`, which should be relied on to
render the necessary component for writing into a channel.

This commit makes sure community members with proper access get the
chat input rendered so they can write to channels.

Fixes #1985
2021-03-08 11:57:09 -05:00
Jonathan Rainville d361853d0d fix: disable ENS only setting if user has no ENS name
Fixes #1984
2021-03-05 14:01:42 -05:00
Jonathan Rainville 44c9f480c2 feat: set profile and community image cropper to 1:1 ratio 2021-03-05 14:01:30 -05:00
Pascal Precht aa7fb862f2 fix(Communities): make creating channels work again
Very similar to #1986, we're trying to access the `activeCommunity`
property on the `chatsModel` object, which doesn't have such a property
anymore every since we've moved communities into its own view.
This causes errors when trying to create channels.

This commit fixes this bug by ensuring `activeCommunity` is accessed
from `chatsModel.communities` instead.
2021-03-05 13:59:44 -05:00
Pascal Precht 86ea7014f6 fix(Communities): make rejoining communities work
When the communities code was moved into its own view in https://github.com/status-im/status-desktop/commit/b38d1df59
it broke the functionality to join communities again.

Qt complains that the Nim API in use `chatsModel.communities.joinCommunity`
expects two parameters, when it's call with just one.
This is unexpected because the API in question set a default value
for its second parameter.

To make this work again, we have to make sure the `setActive`
parameter is supplied every time we call the API from
within QML.

Also, worth noting that this is not the first time we're running into
a scenario like this.
2021-03-05 13:59:44 -05:00
Pascal Precht 43e4ba771b fix(Communities): make leaving communities work again
Turns out in https://github.com/status-im/status-desktop/commit/81bb7fcc6 we've introduced a regression where
leaving a communities isn't possible anymore because we're trying
to call an API that doesn't exist on the `chatsModel`.

This commit fixes it by ensuring the API is called from `chatsModel.communities`.
2021-03-05 13:59:44 -05:00
Jonathan Rainville 131685ecf5 fix: fix member popup layout and member not showing
Fixes #1949
2021-03-05 13:57:49 -05:00
Richard Ramos 9749fe4938 fix: remove svg hack 2021-03-05 09:36:50 -05:00
ace-smart 6e2062ec6f Fixed not showing issue for the profile thumbnail in the suggestion list. Fixes #1916 2021-03-04 17:34:01 -05:00
Jonathan Rainville 4a1c497a08 fix: fix users being able to see admin popup
Fixes #1976
2021-03-04 17:21:17 -05:00
ace-smart 81bb7fcc65 Updated community popup menu btn style. Fixes #1961# This is a combination of 4 commits.
Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961
2021-03-04 17:20:39 -05:00
ace-smart f3226852c3 Fixed onboarding view backgroud image issue on dark mode. Fixes #1965 2021-03-04 17:17:29 -05:00
Jonathan Rainville a09dd25506 fix: fix description is required for communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville 7e8dc8c5d1 fix: fix community channels not showing the right type
Fixes #1954
2021-03-03 16:45:23 -05:00
Jonathan Rainville 84034d5dbf fix: fix channel color in communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville e52f6daec9 feat: update to latest status go and add color to the community 2021-03-03 16:45:23 -05:00
Jonathan Rainville e28e98a394 fix: fix community rebase errors 2021-03-03 16:45:23 -05:00
Jonathan Rainville c5241e2bf4 feat: intercept clicks on messages links as well 2021-03-03 16:45:23 -05:00
Jonathan Rainville 35688e9740 feat: show unfurled link for status chats in 1:1 2021-03-03 16:45:23 -05:00
Jonathan Rainville c86f67b9f1 fix: fix community header button in dark mode 2021-03-03 16:45:23 -05:00
Jonathan Rainville f8704d7b64 feat: show unviewed count on the community button 2021-03-03 16:45:23 -05:00
Jonathan Rainville b76cb5682c fix: chats not updating on new messages in communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville da77487746 fix: fix invite to use new API and remove the double msg send 2021-03-03 16:45:23 -05:00
Jonathan Rainville 63e2c21b33 feat: show tooltip on top of community button with name 2021-03-03 16:45:23 -05:00
Jonathan Rainville 75a0818d41 fix: fix community image display in the header 2021-03-03 16:45:23 -05:00
Jonathan Rainville 64d38b6049 feat: implement redesign of communities on the left tab 2021-03-03 16:45:23 -05:00
Jonathan Rainville 534cb23e18 feat: add new import community popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville a47847b40f fix: fix community profile looks and style 2021-03-03 16:45:23 -05:00
Jonathan Rainville 6213e020a0 feat: new design for export popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville b38d1df591 refactor: move communities functions to communities view in chat 2021-03-03 16:45:23 -05:00
Jonathan Rainville 3cc62d65aa feat: show membership requests in the admin popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville 807048522a fix: ste channels correctly when going back and forth to communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville f9817d4f52 feat: add community requests, permissions, ENS and more 2021-03-03 16:45:23 -05:00
Iuri Matias 27eab84f94 Revert "chore: add dummy ListView to ChatMessages to avoid app crash"
This reverts commit 7b07a31fa6.
2021-03-01 16:06:06 -05:00
Pascal Precht 7b07a31fa6 chore: add dummy ListView to ChatMessages to avoid app crash
For an unknown reason, when the `chatLogView` ListView uses
a `verticalLayoutDirection: BottomToTop`, it prevents the application
from successfully rendering during login and crashes.

From debugging this, we know that this only happens when the above
condition applies *and* when a `DelegateModel` is used.
The delegate doesn't even need proper data, it application would still
crash.

We found out that the crash can be avoided when another `ListView` exists
in this component (however it's unclear why).

For now this commit adds such a placeholder `ListView` until it
we know more about what's going on.
2021-03-01 14:18:46 -05:00
Richard Ramos 608455f563 fix: improve qml bottlenecks 2021-03-01 14:17:26 -05:00
ace-smart 367afb70a2 Fixed wrong invite description text color in dark mode. Fixes #1912 2021-02-25 15:43:57 -05:00
Richard Ramos 1a05b944a2 fix: input html being shown when removing css format 2021-02-25 15:41:31 -05:00
Jonathan Rainville f52cc984d6 fix: fix profile image order since reversing the list order 2021-02-25 15:41:14 -05:00
Jonathan Rainville fdcc700607 fix: fix chatMessages not starting at bottom by reversing list layout 2021-02-23 11:57:33 -05:00
Pascal Precht bd9fa37ce3 fix(Chat): ensure correct contact username is shown
In some cases inside of 1-on-1 chats, the fake messages added to
the beginning of the message list, wouldn't determine the correct
username of the contact in question.

This commit explicitly calls `chatsModel.userNameOrAlias()` instead
of relying on `activeChannel.name` which tries to do the same.
2021-02-23 10:42:23 -05:00
Pascal Precht 84806ee96c feat(MessageContextMenu): add copy link actions
This commit adds a menu item to the message context menu to
copy links that may exist inside of a message.

There are three possible scenarios:

1. There's no link in the message, which causes the menu to not
render the dedicated menu item at all
2. There's one link in the message, which renders an additional
`Action` with a copy-to-clipboard functionality
3. There are multiple links in a single message. This adds a
nested `PopupMenu` in the existing menu with menu items for each
link extracted from the message

To make this work there were some changes in the `PopupMenu` component
needed, as it wasn't take the sub menu's `enabled` state into account
properly. This makde it always render nested menus even when they
should've been invisible.

Closes: #1733
2021-02-23 08:53:54 -05:00
Richard Ramos b43122d7f3 feat: use stacklayout for chat messages 2021-02-23 08:53:31 -05:00
Jonathan Rainville ae56a360c4 fix: message height taking into account the image even when hidden 2021-02-22 17:29:06 -05:00
Jonathan Rainville 6eee5da36e fix: fix texts to use secondaryText instead of darkGrey 2021-02-22 09:58:18 -05:00
Richard Ramos 6207c8af53 fix: appSettings were being overwritten due to defaultAppSettings periodically executing sync() 2021-02-18 16:40:21 -05:00
Jonathan Rainville eeb1628337 fix: fix binding loop on the fetch button 2021-02-18 16:38:10 -05:00
Jonathan Rainville fbf592bf52 fix: fix ChannelContextMenu undefined errors 2021-02-18 16:38:10 -05:00
Jonathan Rainville 2a4780f379 fix: fix top bar not showing group chat name 2021-02-18 16:38:10 -05:00
Jonathan Rainville 7dc3bf7e87 fix: fix group info popup warning and don't load popup immediately 2021-02-18 16:38:10 -05:00
Jonathan Rainville 46412204c5 feat: implement new colors for dark mode 2021-02-18 15:24:12 -05:00
Jonathan Rainville 0e699cac65 chore: run translation scripts 2021-02-18 15:23:58 -05:00
Jonathan Rainville 0104962df8 fix: fix App not showing correctly when notification is clicked 2021-02-15 16:22:26 -05:00
Jonathan Rainville 82ede94700 fix: remove notifications from OS tray when app is opened back 2021-02-15 16:22:26 -05:00
ace-smart 0f1b46097e Updated truncate long name to use default Elide property. Fixes #1830 2021-02-15 16:05:03 -05:00
ace-smart 29c555bd2d Truncate long 3 words name. Fixes #1830 2021-02-15 16:05:03 -05:00
ace-smart 6494d45b44 Truncate long 3 words name. Fixes #1830 2021-02-15 16:05:03 -05:00
ace-smart 3420593774 Fixed an issue that doesn't update one2one chatview name when unassign nickname from the contact. Fixes #1840 2021-02-15 16:04:31 -05:00
Jonathan Rainville 3fef5c7a69 feat: hide fetch old messages after 30 days 2021-02-12 14:45:43 -05:00
Jonathan Rainville 90e9e2d192 fix: fix top bar menu position 2021-02-12 14:45:09 -05:00
ace-smart aca6d4bd2e Fixed showing wrong ensname on one2one chat profile modal. Fixes #1810 2021-02-12 14:44:37 -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
Iuri Matias 7b5a1660f8 make compact mode the default 2021-02-10 15:48:57 -05:00
Richard Ramos e8c169aace fix: make the time not selectable 2021-02-10 13:53:09 -05:00
Richard Ramos 0f44178c85 feat: add tooltip with the message timestamp when hovering the chat time 2021-02-10 13:53:09 -05:00
Richard Ramos b2262c8105 Show chat image and username again after a couple of minutes in chat
Fixes #1764
2021-02-10 13:52:36 -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
ace-smart 0c65551b45 Limited StatusToolTip width for maxWidth. Fixes #1817 2021-02-10 13:37:02 -05:00
ace-smart 9950221159 Adjusted padding and margin of the StatusTooltip component as design. Fixes #1817 2021-02-10 13:37:02 -05:00
Richard Ramos 3f525a0b2a fix: hover state on compact messages 2021-02-10 09:52:05 -05:00
Richard Ramos 4b7769c391 fix: adding padding to suggestion box to avoid having the identicon cut 2021-02-08 17:38:53 -05:00
Richard Ramos 21176f702f fix: remove format on text
Fixes #1771
2021-02-08 17:38:42 -05:00
Pascal Precht 4050a40c8f refactor: introduce LoadingAnimation for reusability 2021-02-08 17:38:25 -05:00
Pascal Precht e61d91dd51 fix: make sure context menu receives correct channel index
This was missing in one of our previous PRs and causes the
channel context menu to not function properly e.g. when deleting
chats, it currently always deletes the first chat in the channel list
instead of the active channel.
2021-02-08 17:38:17 -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 7da6bd9834 fix: fix channel list disappearing with only one channel 2021-02-08 17:37:36 -05:00
Jonathan Rainville cabc82782c fix: fix emojis on normal mode and replies on compact 2021-02-08 16:48:14 -05:00
Jonathan Rainville e57fc2afb7 fix: fix appearance container to not have hover state and better height 2021-02-08 16:48:14 -05:00
Jonathan Rainville 51a379efda fix: add hover color for active emoji and fix corner 2021-02-08 16:48:14 -05:00
Jonathan Rainville 55920a4f9d feat: use StatusTooltip for emoji reaction list 2021-02-08 16:48:14 -05:00
Jonathan Rainville 984133ba4a feat: position emoji picker next to button group on the top 2021-02-08 16:48:14 -05:00
Jonathan Rainville 02651326b5 feat: add hover and selected state to the emoji picker 2021-02-08 16:48:14 -05:00
Jonathan Rainville c665861820 fix: fix button alignment and background glitch in compact mode 2021-02-08 16:48:14 -05:00
Jonathan Rainville 8a43fffd77 feat: add back date group in compact mode 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
Pascal Precht 105c4cba4a
refactor(ContactsContainer): make use of NoFriendsRectangle 2021-02-02 11:51:02 +01:00
Pascal Precht bdbd9aa2b9 fix(ProfilePopup): make unblocking contacts/users work
There's a bug in the profile popup where we're calling an API that
actually doesn't exist. This commit fixes it by calling into the
correct `profileModel` member, to make unblocking users work.
2021-02-02 10:57:42 +01:00
Pascal Precht 62183fb414 refactor: replace StyledButton with StatusButton
There are some inconcistencies in the application when it comes to
button UI elements because we're using `StatusButton` in some places,
in other we use `StyledButton`. The latter is the original
component we've created when we started out building Status
Desktop, but is planned to be removed entirely in favour of
`StatusButton`.

This commit replaces the usages of `StyledButton` with `StatusButton`
2021-02-02 10:57:42 +01:00
RichΛrd 200285399d Update ui/app/AppLayouts/Chat/ChatColumn/Message.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-02-01 14:23:29 -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
Jonathan Rainville bc61aee55e fix: fix QML errors 2021-02-01 13:27:20 -05:00
Richard Ramos f0479a50b1 fix: do not use a loading indicator for identicons 2021-02-01 12:00:03 -05:00
Pascal Precht a69d6befe4 refactor: replace custom buttons with StatusRoundButton
There are some places in the application where a custom round
button has been implemented, which essentially can be realized
using our `StatusRoundButton`. This commit addresses those cases.
2021-02-01 11:57:41 -05:00
Jonathan Rainville 9026108e86 fix: status update not using the right component 2021-02-01 11:54:26 -05:00
Jonathan Rainville b773766055 fix: fix chatIdentifier binding loop 2021-02-01 11:54:26 -05:00
Jonathan Rainville b245d858aa feat: redisgn compact mode part 1
redesigns the compact mode to have a nice hover, easier replying and adding reactions and more

Missing parts are aligning chat command, images and unfurlings, redesigning mentions and the channel list and also trying to find a way to re-enable link hovers in the text
2021-02-01 11:54:26 -05:00
Pascal Precht d1faf98f80 chore: remove reference error
There's a reference error in our code that `mouseArea` is undefined.
This seems to be a left over, so this commit is removing its usage.
2021-02-01 11:53:44 -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
Pascal Precht 4fbe1f202f uiux: adjust hover color for menu items in profile and channel list 2021-01-22 13:39:15 -05:00
Jonathan Rainville dc313e200a fix: fix mention list having no currentIndex on mouse select 2021-01-21 12:04:50 -05:00
Pascal Precht f5bcaa5ac5 refactor: introduce ChannelContextMenu component
This commit introduces a new `ChannelContextMenu` component that can be reused
in different places, such as the channel list, as well as the chat bar.

At the moment we use two different pop up menus that also show two different
set of menu options. By using `ChanelContextMenu` in both of these places,
we get the same menu and same experience.

Closes #1711
2021-01-21 12:02:41 -05:00
Jonathan Rainville 21edea4a9a fix: fix double popup for estimating gas errors 2021-01-21 11:59:51 -05:00
staked-smart-ace 74a8cfd880 Fixed filtering contacts issue on when create new chat. Fixes #1705 2021-01-21 11:40:34 -05:00
staked-smart-ace 8acdaff6f9 Fixed filtering contacts issue on when create new chat. Fixes #1705 2021-01-21 11:40:34 -05:00
staked-smart-ace 5b3d202797 Updated group naming functionality. Fixes #1693 2021-01-21 11:40:11 -05:00
Jonathan Rainville 444072f599 feat: call getPreviewData (url unfurling) in a separate thread
Fixes #1678
2021-01-19 16:51:59 -05:00
staked-smart-ace a289871482 Updated font color name Fixes #1616 2021-01-19 16:47:52 -05:00
staked-smart-ace 9edcb1dc4d Updated group chat member list likes the design. Fixes #1616 2021-01-19 16:47:52 -05:00
Jonathan Rainville acac683dc2 feat: fix Notification page and lists of contacts 2021-01-19 16:45:57 -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
staked-smart-ace 086c868bdc
uiux(StatusButton): introduce warn type
Fixes #1603
2021-01-19 12:45:03 +01:00
Jonathan Rainville 76688733f5 feat: add muted states for channel
Fixes #1615
2021-01-15 13:52:50 -05:00
Jonathan Rainville 8462c1c013 fix: fix QML warnings + some UI fixes to match the design 2021-01-15 13:52:05 -05:00
staked-smart-ace f2eda36569 Fixes #1610 2021-01-15 13:51:52 -05:00
staked-smart-ace 1d2ad3092f Fixes #1610 2021-01-15 13:51:52 -05:00
Jonathan Rainville 5ab99cbeac feat: show time and sent status on the image itself 2021-01-14 16:02:27 -05:00
Jonathan Rainville be8e2c82f0 fix: fix image click not opening on click
Fixes #1607
2021-01-14 15:58:55 -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
staked-smart-ace 9facb14808
Update nickname modal to confirm when press Enter key
Fixes #1605
2021-01-14 10:42:30 +01:00
Jonathan Rainville e459d4dbd4 fix: fix PopupModal to not show a footer at all if there is no children 2021-01-13 14:32:35 -05:00
staked-smart-ace 39d72c5f79 Fixes #1604 2021-01-13 14:31:44 -05:00
staked-smart-ace 858c041671 Fixes #1455 2021-01-13 14:31:00 -05:00
Jonathan Rainville 3f63ded1b2 fix: make profile popup look like the design 2021-01-13 13:14:06 -05:00
Jonathan Rainville 56f9b79834 fix: update profile popup qr code button to use StatusIconButton 2021-01-13 13:14:06 -05:00
Jonathan Rainville 317a183b8b fix: toggle top bar menu on button click 2021-01-12 16:35:44 -05:00
staked-smart-ace a4ffc56d56 Updated timer delay amount 2021-01-12 16:34:07 -05:00
staked-smart-ace 2f2b06fb5e Added tooltip when copy invite URL to clipboard 2021-01-12 16:34:07 -05:00
Jonathan Rainville 6705e3f8c7 fix: fix profile popup buttons to fit the design 2021-01-12 16:33:32 -05:00
Pascal Precht 020fffa537 uiux: add visual effect to walkie-talkie links
Closes #1453
2021-01-12 13:26:00 -05:00
Jonathan Rainville 1df42a62ca fix: fix chat bubble height when considered long text 2021-01-11 13:59:00 -05:00
Jonathan Rainville ab1a03c3b2 fix isedit missing from import form 2021-01-11 13:57:35 -05:00
Jonathan Rainville 7f2f3b599d Apply suggestions from code review
Co-authored-by: RichΛrd <info@richardramos.me>
2021-01-11 13:57:35 -05:00
Jonathan Rainville fe42cd08f8 fix: code review suggestions
Co-authored-by: RichΛrd <info@richardramos.me>
2021-01-11 13:57:35 -05:00
Jonathan Rainville 4aeeee6d9c feat: hide community stuff by default and add a setting to show it 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 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
Jonathan Rainville 93376f0047 fix: fix createCommunityPopup being in edit mode all the time 2021-01-11 13:57:35 -05:00
Jonathan Rainville 7ddb93266b fix: chatLayout getting squished on first login 2021-01-11 13:57:35 -05:00
Jonathan Rainville 29a9ca4ef5 refactor: use getNickname function for nicknames fetches 2021-01-11 13:57:35 -05:00
Richard Ramos 78e7fa380c feat: display a community's member list 2021-01-11 13:57:35 -05:00
Jonathan Rainville f17bc199b5 fix group popup and up status-go 2021-01-11 13:57:35 -05:00
Richard Ramos 019f558308 ui: edit community 2021-01-11 13:57:35 -05:00
Richard Ramos 6be81c4575 ui: community popup 2021-01-11 13:57:35 -05:00
Richard Ramos 04845e3a8e fix: channel/communities list height depending on search string 2021-01-11 13:57:35 -05:00
Richard Ramos 2ed3261170 Minor UI changes for communities 2021-01-11 13:57:35 -05:00
Jonathan Rainville 2d3a870f60 wip community invitatations and more 2021-01-11 13:57:35 -05:00
Jonathan Rainville ce3252fb8f wip community 2021-01-11 13:57:35 -05:00
Jonathan Rainville 89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Jonathan Rainville bc515d2627 fix: fix chat reply color and size 2021-01-04 15:29:10 -05:00
Pascal Precht f9b7d9dfc9 refactor: make use of Qt.locale 2021-01-04 15:16:37 -05:00
Pascal Precht eca5622439 feat: introduce Utils.formatDateTime
We already have a utility function to format time, this one formats date + time
and is used in status updates as well as channel lists.
2021-01-04 15:16:37 -05:00
Pascal Precht 0767ce2443 feat: introduce timeline
Closes #1489 #1490 #1491
2021-01-04 15:16:37 -05:00
Jonathan Rainville 825097f007 feat: add channel switcher when hitting CTRL+K 2020-12-30 15:01:51 -05:00
Jonathan Rainville 6afe9088e9 fix: show notification if the window isn't focused 2020-12-28 14:29:54 -05:00
Pascal Precht ad8f713f1d fix(StatusChatInput): fix sending messages by adding missing parameter to sendMessage 2020-12-22 15:13:24 -05:00
Pascal Precht 90dfa94805 refactor: move getProfileImage API to appMain
Prior to this commit, the function was expected on a `chatView` QML object.
This has worked out so far because the places where the API is used were always
living inside `ChatLayout`.

With the new timeline however, this is no longer the case so we have to make sure
that the API is available to other views as well.
2020-12-21 14:15:08 -05:00
Pascal Precht 8a1a265036 fix(StatusUpdate): ensure hover effect is working properly
This commit introduces some `MouseArea`s so components inside the
`StatusUpdate` component cancel it out by having a higher `z`.

Also, in some cases we need to conditionally set the `root.hovered` property
to ensure the values get inverted correctly, otherwise it causes undesired
flicker effects.
2020-12-21 14:14:48 -05:00
emizzle 6a0a75888b feat: whitelist gifs (no url extension needed)
Fixes #1377.
Fixes #1479.

Two sites have been added to the whitelist: giphy.com and tenor.com.

`imageUrls` in its entirety has been removed and instead all links are being handle through the message `linkUrls`. This prevents double-handling of urls that may or may not be images.

The logic to automatically show links previews works like this:
1. If the setting "display chat images" is enabled, all links that *contain* ".png", ".jpg", ".jpeg", ".svg", ".gif" will be automatically shown. If the URL doesn't contain the extension, we are not downloading it. This was meant to be somewhat of a security compromise as we do not want to download each and every link posted in a message just to find out its true content type.
2. If the above setting is *disabled*, then we follow the whitelist settings for tenor and giphy. This allows us to preview gifs that do not have a file extension in their url.

feat: bump status-go to the commit that supports the new whitelist (https://github.com/status-im/status-go/pull/2094), and also lets us get link preview data from urls in the whitelist. NOTE: this commit was branched off status-go `develop`, so once it is merged, and we update this PR to the new commit, we will effectively be getting status-go develop changes. We *could* base that status-go PR off of master if it makes things easier.

fix: height on settings update issue

feat: move date/time of message below links

fix: layout issues when changing setting `neverAskAboutUnfurlingAgain`

feat: Add MessageBorder component to aid in showing rounded corners with different radius
2020-12-21 14:14:32 -05:00
Jonathan Rainville 4f2a1b5e73 fix: fix scroll going back down when hitting images 2020-12-18 15:39:16 -05:00
Jonathan Rainville d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -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 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 4d2e396b7f fix: display transaction data 2020-12-11 14:04:25 -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
emizzle 5953031bfc fix: YouTube unfurling
YouTube link unfurling was not working for a couple reasons.

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

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

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

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

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

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

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

feat: handle new lines in blockquote

Handle new lines in blockquote so that messages display correctly.

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

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

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

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

feat: load gas prediction prices asynchronously
2020-11-26 11:17:24 -05:00
Pascal Precht 8b74141b99 feat: allow users to change font size for chat messages
Closes #737
2020-11-25 14:41:29 +01:00
Pascal Precht 1277395431 chore: expose linkUrls property on Message QML type 2020-11-25 14:41:29 +01:00
Pascal Precht db0b765d74 feat(Notifications): allow users to turn of notifications for non-contacts
Partially fixes #1280
2020-11-24 11:16:02 +01:00
Jonathan Rainville d49be78417 feat: show nickname if there is one in the mentions 2020-11-19 17:00:28 -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
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 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
Jonathan Rainville 537ae7991b fix: make sure the mention and emoji pickers close when pressing escape 2020-11-19 13:54:17 -05:00
hydrogen ae5ad63410 fix: component layout 2020-11-18 12:06:13 +01:00
hydrogen df9ac80eb9 feat: loading spinner while resolving ens name 2020-11-18 12:06:13 +01:00
Pascal Precht 0f6d40f931 feat: introduce StatusImageModal component 2020-11-17 12:48:06 -05:00
Pascal Precht 47a561daf4 uiux: apply rounded corners to images from image URLs 2020-11-17 12:48:06 -05:00
Pascal Precht be2aadb4e2 uiux: Refactor chat images so they look like they've been designed
Fixes: #1114
2020-11-17 12:48:06 -05:00
Pascal Precht 4ac8400038 fix: ensure `sending` message state isn't shown when message is expired 2020-11-17 10:01:13 -05:00
Jonathan Rainville 6869a3ddfb feat: whitelist the characters possible for the channel names 2020-11-16 13:03:08 -05:00
Pascal Precht 67face5b99 uiux: channel list fixes
Also make use of `StatusRoundButton` over `IconButton` since that's deprecated.

Closes #1115
2020-11-11 12:14:35 -05:00
emizzle 76e7897e8d fix: 1-on-1 send tx recipient show in tx preview
We were previously displaying an address in the "to" field for TransactionPreview. Instead, this is meant to be a contact view.
- Fix ContactSelector to trigger selectedContactChanged
- Fix RecipientSelector > ContactSelector to trigger resolveEns from outside call to prevent infinite loop from the above fix
- Add alias to pre-selected contact for the Contact view of TransactionPreview
- Add option to change debounce delay so that when values are pre-selected (readonly), there is no delay before resolution.
- Fix missing tx data param in walletModel.estimateGas
2020-11-11 12:01:38 -05:00
Jonathan Rainville 44b1d55ebb fix: XSS filter channel names in case a bad one had been submitted 2020-11-06 16:23:09 -05:00
Jonathan Rainville dbc1d26966 fix: protect against XSS in chat names 2020-11-06 16:23:09 -05:00
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 e6ae202510 fix: fix profile popup header 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 6c96ee4356 fix: don't close group info popup when closing profile popup 2020-10-21 10:37:33 -04:00
Jonathan Rainville 6906ddcb61 fix: make sure admin status is up to date when opening the popup 2020-10-21 10:37:33 -04:00
Jonathan Rainville fc4a179dc7 fix: fix group info popup layout and clean it up 2020-10-21 10:37:33 -04:00
Jonathan Rainville d83ca70bef fix: don't close group info popup when closing profile popup 2020-10-21 09:40:12 -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 85f18057ae fix: don't allow users to start chats with themselves 2020-10-16 10:44:42 -04:00
Pascal Precht 6f138f2d44 uiux(Chat): change channel background when hovering over them 2020-10-16 10:43:48 -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 e2bb81885f feat(Chat): show 'no search results' message
Closes #1081
2020-10-07 11:20:29 -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 0ed41902a8 fix: change arrow button to 'start chat' for join public chat modal 2020-10-05 10:52:11 -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 cdcb928a0c refactor: simplify ProfilePopup usage 2020-10-02 12:48:58 -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 6d5bd52d0a fix: Estimating gas prevents transaction modal continue
Fixes: #926.

Gas estimations were not being decoded correctly (indicated with "error getting gas price predictions" in the console) and were preventing transaction dialogs from continuing past the step containing the GasSelector component. This affected mainnet only, because in testnet we have hardcoded gas prices (for when the gas prices on mainnet are insane) which is why it was not apparent in testnet.

fix: Contract address not showing correctly
This was caused by `getStickerMarketContractAddress` being moved to `utilsView` but not updated in QML
2020-10-02 12:33:28 -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
emizzle 64b0a11757 feat: add sticker loading UI
Closes: #586

Previously, loading sticker packs and stickers would show a lot of blank and non-interactive content.

Now, stickers and sticker packs have grey circles to indicate loading. Additionally, the sticker market button (+) shows a loading indicator until the sticker packs are loaded.
2020-09-29 15:19:42 -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 ba0af727dc refactor: add funciton to change the username instead of using a global 2020-09-29 14:04:32 -04:00
Jonathan Rainville 6a57eeccb2 feat: implement new design for the nickname popup 2020-09-29 14:04:32 -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
Pascal Precht bc7b825f55 uiux(Chat): ensure chat input gets focus when changing views and channels
Fixes #804
2020-09-29 13:48:13 -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 88de02b1dc fix: fix color and warning 2020-09-23 17:19:43 -04:00
Iuri Matias 9d356fc4f7 change status-spanish to status-espanol, it's more guay 2020-09-23 17:19:17 -04:00
Jonathan Rainville 024e7a18ae fix: fix suggested channels border and height 2020-09-23 16:40:52 -04:00
Iuri Matias 1bbd720743 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias bcb8970817 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias 0da4633318 cleanup qml 2020-09-23 15:52:27 -04:00
Iuri Matias 1d8d11a06e display channel suggestions in main channel list 2020-09-23 15:52:27 -04:00
Iuri Matias a3441fb45f refactor channel suggestion list into one component 2020-09-23 15:52:27 -04:00
Iuri Matias 6ac3f86951 fixes for empty view 2020-09-23 15:52:27 -04:00
Iuri Matias 2204a7b785 update empty view with list of channels 2020-09-23 15:52:27 -04:00
Iuri Matias fbf8302474 fixes for qml layout 2020-09-23 15:52:27 -04:00
Iuri Matias 52d394ded4 update join chat suggested channels to include the full list of categories and channels 2020-09-23 15:52:27 -04:00
Jonathan Rainville eb7b9c2383 chore: fix qml warnings in a couple of components 2020-09-23 15:16:34 -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 26dd599e06 chore: fix comment typo
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2020-09-23 15:15:22 -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
Pascal Precht c992cce9f5 chore: update translations
Fixes #900
2020-09-22 09:36:05 -04:00