Commit Graph

51 Commits

Author SHA1 Message Date
Lukáš Tinkl 277f408e0c fix(ProfileContextMenu): stop leaking memory
- got removed in a recent refactoring, restore it
- when a context menu component is opened via `Global.openMenu()`, it
has to be destroyed manually
2024-10-03 14:34:12 +02:00
Jonathan Rainville bb7e5be065
fix(members): fix slow chat switching by improving model (#16279)
Fixes #16132
2024-09-25 11:29:26 -04:00
Iuri Matias 86fdc668e6 feature: add remove from group option to group chats
feature: add remove from group option to group chats

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

feature: add remove from group option to group chats

feature: add remove from group option to group chats

add isAdmin property

move removeMemberFromGroupChat to root store

hide remove from group option from message context menu
2024-09-25 10:29:21 -04:00
Iuri Matias 96d0760488 refactor ProfileContextMenu to make it a functional component
refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

rename ProfileContextMenu variables

simplify signals in ProfileContextMenu

remove ;

refactor: do early return

simplify ifs

move ProfileContextMenu to its own storybook page

fix wrong params

fix profile context menu separator

add missing signals to profile context menu on the members tab panel
2024-09-24 10:04:10 -04:00
Lukáš Tinkl c5598d9ff9 chore(StatusMemberListItem): refactor to use ItemDelegate
- simpler, standard property based API
- much lighter than deriving from the heavy StatusListItem
- should reduce RAM usage significantly, esp. with large communities

Iterates #11059
2024-09-12 15:04:22 +02:00
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Lukáš Tinkl 94ca1ff22a fix: ENS keycap display issues
- run the user's display name (ENS name) thru the `Emoji.parse()`
function as that will convert the potentially UTF-16 encoded name
containing emojis into an image

Fixes #12290
2024-05-13 16:20:54 +02:00
Jonathan Rainville 953fff0e68 feat(community): show a message when the member reevaluation is ongoing
Fixes #14378
2024-05-08 16:44:58 -04:00
Igor Sirotin da4105784a
fix(UserListPanel): use new `FastExpressionRole` (#13299) 2024-03-14 15:23:58 +00:00
Mykhailo Prakhov 82a1ed2f7a
feat(@desktop/community): Community admin permissions (#10909)
* chore:
- replaced admin bool to memberRole
- activate admin permissions
- configured admin restrictions
2023-06-14 18:00:41 +02:00
Igor Sirotin 5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Lukáš Tinkl 038ab08765 fix: do not display ENS name when not ENS verified
- expose "isEnsVerified" as model role
- fix returning "ensName" when the user is not ensVerified
- react to nickname updates correctly
- fix sorting in the user/member list view
2023-04-21 00:24:32 +02:00
Lukáš Tinkl 3fd196323e chore: silence warnings 2023-03-08 18:45:27 +01:00
Lukáš Tinkl 8569ea5b41 chore: Optimize StatusMessageReply using more Loaders
also fix the sender display name to respect ensName/nickname

Fixes: #9016
2023-01-25 19:58:19 +01:00
Lukáš Tinkl a55a207bb2 fix: user display name discrepancies
restore taking local nickname into account in various places
2023-01-25 19:58:19 +01:00
Alex Jbanca bf1d59c0ad perf(chatScroll): Avoid calling the backend on delegate creation/binding
Provide the needed data from the nim model directly to the delegate. This way whenever a delegate needs to display the data it doesn't need to reach the backend.

perf(chatScroll): Fix comments on Avoid calling the backend on delegate creation/binding

perf(chatScroll): Avoid calling the backend on delegate creation/binding  - add TODO comment on senderColorHash default

perf(chatScroll): merge quotedMessageAuthor details

perf(chatScroll): Fix nim tests

perf(chatScroll): Fix merge error - messages_model.nim
2023-01-19 19:24:18 +02:00
Michal Iskierko 3f01af4446 fix(@desktop/chat): Fix user names propagation.
Add ProfileUtils for displaying correct name.
Set names in models correctly.
Fill names in qml correctly.

Fix #8343
2022-12-14 17:44:26 +01:00
Lukáš Tinkl 9559789030 chore: reduce the number of (verification) RPC calls
- when calling `Utils.getColorHashAsJson()` we don't actually need to
issue ID verification requests at all and there might be situations when
we know beforehand that we don't need the ENS verification either
- change these helper functions' syntax and do early returns in that case
- in MessageContextMenuView, the "contact details" were duplicated, so
remove one
- remove dead code, fix some warnings
2022-12-01 16:50:23 +01:00
Michał Cieślak 93428d8b2e feat(Storybook): adding UsersList in storybook
Closes #8186
2022-11-16 11:37:35 +01:00
Lukáš Tinkl 2b6164fc8d fix: ens names should not display `@`
Fixes #8122
2022-11-10 10:42:05 +01:00
Michał Cieślak f0e238dce6 chore(general): Remove profile pictures visibility options
From now on, if the image is available it should be displayed
uncoditionally.

Closes: #7609
2022-10-13 07:51:55 -04:00
Michał Cieślak f48aee2e44 fix(UserListPanel): Removed margin when the list positioned not at the end
Closes #7526
2022-09-29 00:23:55 +02:00
Lukáš Tinkl a209d39881 fix: ENS name issues
- don't display identicon rings for contacts with an ENS name
- prefer the at-form (@foo-user) whenever possible, and don't display their
  username or pubkey unless they are locally given a nickname
- show compressed keys everywhere instead of the regular ones

Fixes: #7319
Fixes: #7515
2022-09-26 22:38:02 +02:00
Michał Cieślak 992bd01f83 fix(@chat/members): display member's picture according to settings
Closes: #7309

Two fixes:
- current user's picture is always visible
- hide pictures off all members (excluding self) when "noOne" options is
set
2022-09-19 14:53:48 +02:00
Michal Iskierko a45770cc98 fix(@desktop/chat): Fix showing contact names after restoring account
Fixes #7241
2022-09-19 11:24:35 +02:00
Patryk Osmaczko 7fad1ed5db fix(@chat/members): display alias if displayName is empty 2022-09-13 12:33:34 +02:00
Lukáš Tinkl 326e9e09a5 fix: unbreak User List Panel context menu
StatusAssetSettings porting leftover

Closes #7302
2022-09-12 19:29:38 +02:00
Lukáš Tinkl 0d43852394 fix(UserListPanel): minor cleanup
- fix margins
- fix some warnings
- drop dead/duplicate code
2022-09-12 19:29:38 +02:00
Michal Iskierko 2bb346a09e fix(@desktop): Use colorId to find correct color of users&members
colorId is set in the model instead of using qml function.

Fix #6366
2022-09-08 13:56:27 +02:00
Alexandra Betouni e1c548696f feat(Desktop)!: Updating desktop app due to IconSettings refactor
As part of https://github.com/status-im/StatusQ/issues/781
2022-09-02 18:41:21 +03:00
PavelS 38c77095b8 fix(@desktop/chat): adjust add members default picture
Update colorForPubkey to check if colorId is in bounds
Replace userCustomizationColors array usage with Utils function call

Fixes #6971
2022-08-23 13:07:58 +03:00
Igor Sirotin 42a1cf995c fix(ChatMessagesView): Usage of `StatusMessage` WIP 2022-08-20 03:02:41 +03:00
Noelia 7b4802db83 test(CreateGroupChat): Create Group Chat
- Created new test case with basic create group chat scenario.
- Added specific data folder for `tst_groupChat`.
- Removed deprecated data folder.
- Added dynamic login (depending on the account).
- Added global account information in `suite_status/data` folder.
- Added new group chat validations, title, history texts, members added and send chat message.
- Replaced some ids by objectNames.
- Some improvements in `names.py`.
- Onboarding objects refactor.

Fixes #6444
2022-07-28 14:21:32 +02:00
Patryk Osmaczko f9b3f91bf1 fix(@desktop/chat): sort users by online status
Users model has to be sorted by online status first, otherwise
`UserListPanel` sections will be duplicated. That's because:

> Note: Adding sections to a ListView does not automatically re-order
the list items by the section criteria. If the model is not ordered by
section, then it is possible that the sections created will not be
unique; each boundary between differing sections will result in a
section header being created even if that section exists elsewhere.

fixes: #6563
2022-07-22 09:03:57 +02:00
Patryk Osmaczko eeb77aeb51 fix(@desktop/chat): sort display names in UserListPanel
fixes: #6185
2022-07-22 09:03:57 +02:00
MishkaRogachev 58e0fce819 feat(@desktop): Fix twitchy scrolling issues
Close #6187
2022-07-21 18:44:30 +03:00
Michal Iskierko 45448db90a feat(@desktop/general): Change user statuses
Handle user statuses from status-go: Always Online, Automatic, Inactive.
Handling updating own status on member list.

Issue #5886
2022-07-06 09:38:11 +02:00
Patryk Osmaczko 52f5a0f4fd fix(@desktop/chat): show compressed pubkey in members list
fixes: #5950
2022-06-14 16:49:53 -04:00
Patryk Osmaczko 62183cf60b chore: refactor/unify user_model and contact_model
This is first iteration. Models have been restructured and qml adapted
to the changes.

What is left to be done:
- populate new models with appropriate data (some fields were left
  default)
- use new fields in qml, use StatusMemberItem where possible
- fix all #FIXMEs introduced by this commit

iterates: #5951
2022-06-12 15:45:49 +02:00
Boris Melnik c7888f5aed feat(chat): Add crow to admins in group chat
Closes: #5897
2022-06-09 18:38:55 +03:00
Alexandra Betouni 56b182c50b fix(communityMembers): Fixed member item width in list
Closes #5212
2022-05-25 13:01:20 +03:00
Patryk Osmaczko 25c6a5f5ca chore(@desktop): remove identicon related code 2022-04-04 17:50:48 +02:00
Patryk Osmaczko e130953634 feat(@desktop): use emoji hash and identicon ring
Closes: #4782
2022-03-16 18:34:57 +01:00
Jonathan Rainville 68a4498d11 feat(privacy): reimplement show only contact pfp using status-go setting
Fixes #4900
2022-03-08 15:50:15 -05:00
Jonathan Rainville 18374a16d4 fix(user-list): use the same userlist for community and chats 2022-02-23 16:15:41 -05:00
Sale Djenic b6b6d6b6c7 refactor(@desktop/chat-messages): `MessageContextMenuView` component updated 2022-02-01 11:45:50 +01:00
Sale Djenic e5a414a927 refactor(@desktop/chat-communities): qml part handles messages from refactored backend
- `chatType` added to `Constants` to group chat type related values
- `messageContentType` added to `Constants` to group message content type related
values
- `MessageStore` maintained per message list now
- added new `ChatContentView` component used to display chat/channel content
- components updated to display messages from the new backend
- `StatusChatToolBar` appropriately updated
- mute/unmute feature added to chat/channel list as well as to `StatusChatToolBar`
2022-02-01 11:41:22 +01:00
Sale Djenic f138fecdd2 refactor(online-users): adding online users for chat/channel 2022-02-01 11:38:07 +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 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