Commit Graph

2258 Commits

Author SHA1 Message Date
Sale Djenic ee9091377f chore: align buying stickers flow with the new sending flow
Based on changes done in this PR https://github.com/status-im/status-go/pull/5807
we can simplify our client logic a lot.

This results in the removal of many lines of code that are no longer needed

Closes 1st part of #16336
2024-10-01 17:21:26 +02:00
Jonathan Rainville 1cad66bb2c
perf(admin): speed up admin tabs significantly (#16363)
Iterates #16043

* fix(admin): improve admin panel loading by putting sections in loaders

* fix(admin): speed up members tab by using nim model and real search

* fix(admin): speed up airdrop panel

* fix(admin): mint panel and airdrop panel interactions and previous btn

* fix(admin): speed up overview page

* fix(admin): speed up permissions page
2024-09-27 13:28:27 -04: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
Khushboo Mehta 5771a33eaa feat(@desktop/wallet): Added feature flag FLAG_SEND_VIA_PERSONAL_CHAT_ENABLED for the send via personal chat feature
Also added logic in order to detect and highlight an address/ens name in the chat
2024-09-23 11:20:56 +02: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
Michał Cieślak 77fd4e78eb GifStore excluded from shared root store, StatusChatInput made indepedent from singeton stores
Closes: #16253
2024-09-11 11:26:30 +02:00
Michał Cieślak 3f4715ccdd Unused hex2Dec, hex2Eth and hex2Gwei removed from shared RootStore 2024-09-11 11:26:30 +02:00
Michał Cieślak a8940a71f5 Using ClipboardUtils.setText instead of nim's copyToClipboard 2024-08-29 15:46:17 +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 790d34d875 fix(chat): Button to go to the latest message is barely visible on dark theme
- unify bg color, use white as fg color, add drop shadow according to
Figma
- fixup the hover color intensity

Fixes #13771
2024-08-12 09:46:30 +02:00
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Jonathan Rainville 8db0ac94f0
fix(networks): enable network before mint or airdrop (#15601)
Fixes #15507

Makes sure to enable the network where the owner token was minted before minting or airdroping a token.
This makes sure that the account selector shows the right balance and there is no ETH error before doing the transation
2024-07-22 09:52:44 -04:00
Jonathan Rainville a357299928
chore(beta): hioe ENS community permission creation (#15664)
Fixes #15663
2024-07-19 14:45:40 -04:00
Michał Cieślak be1c6ba2ad chore(StatusQ): Backpressure files deduplicated, imports adjusted
Closes: #15558
2024-07-12 14:00:15 +02:00
Michal Iskierko 1bc979290f feat(@desktop/permissions): use non community NFTs in permissions
Issue #15077
2024-07-05 10:27:17 +02:00
Michał Cieślak 62092e5083 feat(Chat/RootStore): collectibles model holding both community and wallet tokens 2024-07-05 10:27:17 +02:00
Patryk Osmaczko b08eb128ad feat(communities): inform about missing encryption key
closes: #15064
2024-07-04 19:36:30 +02:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Roman Chornii 1ba7ba31aa
fix(Wallet.RootStore): Improved some of the property bindings between QML and Nim layer. Removed unused properties. (#15279)
Fixes: #14803
2024-06-24 13:30:24 +03:00
Jonathan Rainville 8ca51c34cc
refactor(messages): make message sending async (#15237)
Fixes #12411

Makes message sending async and adds a placeholder "Sending.." message
2024-06-20 18:46:12 -04:00
Jonathan Rainville 0f055afa00 chore(chat): no need to block the input when a permission is pending
Fixes #15143
2024-06-13 18:41:00 -04:00
Jonathan Rainville b2fb287beb
refactor: rely on canPost and canView instead of checking permissions (#14993)
* refactor: rely on canPost and canView instead of checking permissions

Fixes #14983

* chore: remove all Light permission checks that are no longer needed
2024-06-03 15:06:34 -04:00
Anastasiya Semenkevich e15fea7927 chore: add object name for ChatView component 2024-05-29 10:36:52 +03:00
Michał Cieślak d2f73cd88f fix(Communities): Show channel for non-members when read-only, tokenless permission is set
When channel has view-only permission not requiring any holdings, the
channel is not encrypted and should be presented to non-members in
read-only mode.

Closes: #14439
2024-05-17 15:19:06 +02:00
Jonathan Rainville bbd1adcabb
Remove importCommunity from QML and Nim code (#14814)
* Remove importCommunity from QML and Nim code

Handling issue 14310. Removed functions associated with the API.

* Updated pr for suggested changes.

* Updated module.nim

---------

Co-authored-by: Eliza <elsorber@gmail.com>
2024-05-16 17:30:32 -04: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
Lukáš Tinkl 0c8231a6b6 fix: can't join an encrypted community
- fix the corner case and allow the user to join a community without an
explicitely stated "Member" permission
- enable/disable the Share/Join/Save buttons when the permission to join
check is ongoing, or when the permission check failed
- display tooltips over the disabled buttons explaining why it's disabled
- always display the eligibility button floating on top of the
(scrollable) contents

Fixes #14473
Fixes #14299
2024-04-26 10:50:26 +02:00
Godfrain Jacques eccc9b3bd7
fix(category) Implement collapsed categories (#14135)
This PR implements the nim part for enabling having collapsed categories
that persist into the database
This fixes #13944
2024-04-15 11:34:44 -07:00
Mykhailo Prakhov 1e155046e7
fix(@desktop/communities): request to join fixes (#14287) 2024-04-04 18:03:10 +02:00
Lukáš Tinkl b191caaec6 feat: Add missing eligible to join tag in CommunityMembershipSetupDialog
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models

Fixes #14100
2024-03-29 16:11:59 +01:00
Noelia 4144e374a6 fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET (#14164)
* fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET

- Modified `becomeMemberModel` in store to provide all member permissions.
- Modified permissions model filter to only discard  permissions that are private and NOT met.
- Updated `storybook/PermissionsModel` with new only private permissions and added new model option in corresponding pages.

Closes #14104

* fix(JoinCommunity): Text position when all channels hidden

Updated text position when `allChannelsAreHiddenBecauseNotPermitted` in community join process
2024-03-28 10:59:40 -04:00
Mykhailo Prakhov 7804d4ca39 fix: set correct permision UI 2024-03-28 10:59:40 -04:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Sale Djenic 9b8401b641 fix(communities): keycard authentication marked automatically as authenticated
Closes #14174
2024-03-28 07:38:42 +01:00
Noelia 67f0f38cf9 fix(CancelCommunityMembership): Added popup instead of directly cancelling request
- Added dialog instead of calling directly to the cancel method.
- Updated `Cancel` button format according to figma in `CommunityMembershipSetupDialog`.

Closes #14097
2024-03-28 07:33:34 +01:00
Noelia 3f74ee565a fix(JoinCommunity): Join CTA labelling: Change text and remove existing icon
- Change text and remove existing icon.
- Removed unnecessary property `loginType` on different files.
- Renamed signals to be more accurate with existing requirements.

Closes #14098
2024-03-27 12:16:56 +01:00
Michał Cieślak 0557977aa2 chore(Communities): CommunityIntroDialog renamed to CommunityMembershipSetupDialog
Closes: #14144
2024-03-26 14:03:29 +01:00
Sale Djenic 10a8469b9e fix(communities): deltas between designs and build for join token gated community flow
This commit:
- improves selection of addresses to reveal
- keeps the selection state for the popup lifetime
- brings higher granularity in terms of signed requests by keypairs
- meets new requirements from the latest related Figma
- merges edit shared addresses feature and request to join community features
into a single component, cause the flow is logically the same, with the only
difference that when editing revealed addresses we don't show the community
intro screen

Fixes at least points 3 and 4 from #13988
2024-03-25 14:16:32 +01:00
Jonathan Rainville 19c283be8b
fix: fix warning and inconsistencies with spectating (#14041)
Kinda fixes #13957
2024-03-20 13:58:46 -04:00
Mykhailo Prakhov a586c6d352
feat(desktop/communities): View community member messages functionality (#14002)
* feat(desktop/communities): View member messages functionality
2024-03-20 11:50:10 +01:00
Michał Iskierko 9ed38bddb7
13291 hide channels (#13876)
* feat(@desktop/communities): Hide channels if the user is not permitted to view and hideIfPermissionsNotMet is set

Extend chats model with channel permissions info and hideIfPermissionsNotMet.
Visibility of chat item is based on: member roles, channel permissions, hideIfPermissionsNotMet.
If all channels from category are hidden, category item is also hidden.
If all chats in community are hidden, infomration label is displayed.

Issue #13291

* chore(@desktop): Upgrade status-go

Issue #13291
2024-03-18 13:33:07 -04:00
Igor Sirotin da4105784a
fix(UserListPanel): use new `FastExpressionRole` (#13299) 2024-03-14 15:23:58 +00:00
Alex Jbanca 7be70ff010 fix(CommunitySettings): Load the community settings on demand and preserve the load state 2024-03-14 13:49:58 +02:00
Jonathan Rainville 634591b69f
feat: hook reactions in read only channel and fix issues (#13913)
* feat: hook reactions in read only channel and fix issues

Fixes #13523

* fix crash and missing emoji popup on group chats

* code review fixes
2024-03-13 15:13:41 -04:00
Jonathan Rainville 6cbdcfdcf2 fix: fix token master can't send a message on permissioned channel
Fixes #13779

The problem was that the permission update some times takes time to get propagated and get back, or even the control node is offline, so the TM would not be able to post, because the backend would detect that there is a permission and that we don't have the key for it.

The solution is to block the UI when a permission update is pending, since we can't post correctly while it is not processed by he control node.
2024-03-08 17:26:36 -05:00
Lukáš Tinkl b623c8fb2b fix(chat input): should be disabled if user is not able to post
- extend `isUserAllowedToSendMessage` to also cover
`Constants.chatType.communityChat`
- let `admin` always satisfy the permissions
- hide the add emoji/reaction button instead of disabling it when the
permissions are not met
- adjust the error msg to better reflect the reality (tokens vs.
permissions)

Fixes #13777
2024-03-05 18:13:29 +01:00
Mykhailo Prakhov 996199b910
feat(desktop@communities): change kicked/banned member behavior (#13706)
feat: change kicked/banned member behavior
2024-02-27 12:55:56 +01:00