Commit Graph

1033 Commits

Author SHA1 Message Date
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