Commit Graph

315 Commits

Author SHA1 Message Date
Lukáš Tinkl cdc5a90940 fix(SendContactRequestModal): Display name / image problems with CR dialog
- fix missing profile image
- fix displaying wrong name when a nickname or ENS name is present
- fix ID verification flow ignoring nickname
- fix empty results when a contact has only an alias name
- fix needlessly requesting contact details several times (and
overwriting it); we get this info already from Popups.qml
- switch the popup to `StatusDialog` and fix hardcoded height

Fixes #11726
2023-08-02 09:52:32 +02:00
Jonathan Rainville 6e346d2c0d feat(Communities): changes in import popup for public keys
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup

Closes #11242
2023-07-28 18:53:59 +03:00
Alex Jbanca 90f4d60059 feat(ControlNode): Show toast notifications when the control node state changes
1. Fix an issue where importing a community using private key triggers the import finished event without updating the community data if the community is already imported with public key
2. Show toast messages on importCommunity and privateKeyRemoved events
3. Group community import toast messages handlers and move them from ContactsColumnView to AppMain. IMO these toast messages handlers should not be dependent on ContactsColumnView.
2023-07-28 10:03:10 +03:00
Boris Melnik 43a5d7eeeb feat(new-links): Parse url data and display
Fixes: #10852
2023-07-27 15:08:21 +03:00
Alex Jbanca 4aaae242b5 feat(Import Control Node): Adding ImportControlNode flow
1. Create a new popup as per Design: ImportControlNodePopup
2. Add the popup in storybook
3. Integrate ImportControlNodePopup in the app
2023-07-25 15:02:45 +03:00
Lukáš Tinkl a2e6227117 feat: disable community settings while in Testnet mode
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page

Closes #11468
2023-07-24 19:29:13 +02:00
Igor Sirotin 38672ffda6
fix(ActivityCenterStore): Fix `switchTo` message is argument (#11639) 2023-07-22 20:20:06 +03:00
Igor Sirotin cc5f057b3a
Replace link previews with new unfurled data from the message (#11603) 2023-07-22 02:08:44 +03:00
Alex Jbanca 27c159d464 feat: Export control node (except backend for primary action)
Adding the export control node popup. The popup is behind an authentication wall.
1. Create ExportControlNodePopup qml
2. Add the popup in storybook
3. Create authentication flow with qml callback to open the popup after authentication
4. Add the popup open action in Global.qml
2023-07-20 12:11:17 +03:00
Sale Djenic 4b6066c955 fix(@desktop/wallet): review comments applied for keypair rename feature
- labels changed in Figma, updated in the app
- `Show encrypted QR of keypairs on device` is displayed only if needed now,
for this I had to add account/keypair `operability` feature, so far it handles only
displaying a context menu option, later in a separate issue a proper functionality
will be added
- wallet related toast notifications moved to the proper place (`AppMain.qml`, where
actually all notifications should be handled), not in the place where they occurs, we
need to review other notifications as well and move them there
2023-07-18 09:20:09 +02:00
Khushboo Mehta a468635ddc feat(@desktop/wallet): Networks - New List UX with link mainnet/testnet + testnet mode enable/disable
fixes #11252
2023-07-14 08:57:36 +02:00
Sale Djenic 263ef86c31 fix(@desktop/keycard): crash by just running "Setup a new Keycard with an existing account" flow and closing it
Fixes: #11346
2023-06-30 12:22:52 +02:00
Lukáš Tinkl af96345e26 Community -> New community: make community banner and logo required
in production builds

Fixes #11234
2023-06-29 10:44:30 +02:00
Noelia 0ab8a62896 feat(Communities): Communities folder reorganization
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.

Part of #6204
2023-06-28 14:28:47 +02:00
Lukáš Tinkl 620c7a746d feat(Settings/Communities): implement new communities list
Closes #11145
2023-06-23 16:48:26 +02:00
Boris Melnik cdac45010a feat(communities): Adds mute community intervals
Fixes: #9369
2023-06-22 20:46:33 +03:00
Lukáš Tinkl ecc1b5316f fix: community context menu should not say "Leave community" if not joined
- get rid of the `amISectionAdmin` for good (was done only partially in
82a1ed2f7a)
- fix the corresponding storybook pages

Fixes #10963
2023-06-21 11:17:13 +02:00
Alex Jbanca c4e9f8dba0 fix: Adding Beta user agreement 2023-06-19 10:58:03 +03:00
Jonathan Rainville 347bc9c9d7 feat(curated-comms): add permission model to curated communities
Fixes #10410

Adds the permission model to the curated communities model.

Also fixes the assetsModel and collectiblesModel used by the community portal, because it was using the basic Chat Store created in AppMain, but that store doesn't have the assets model.
2023-06-16 16:43:33 -04:00
Mikhail Rogachev c693e4e273
feat(ActivityCenter): Make reply badge more interactive (#11108)
Close #8758
2023-06-15 18:33:49 +04:00
Lukáš Tinkl 7bf7f272f3 fix: community context menu should not say "Leave community" if not joined
- differentiate between "Close" and "Leave" a community where the former
applies to spectated communities
- move the "leave community" confirmation popup to a shared place
(Popups.qml), extend it with the outro message and reuse it everywhere
- don't let admins leave a community
- some minor cleanups and dead code removals

Fixes #10963
2023-06-15 12:22:04 +02:00
Lukáš Tinkl 045dfe60a0 fix: Channel picker doesn't render 1-1 chats correctly
- expose `colorId` and `colorHash`, the latter only for non-ENS verified
users
- use them in the results :)

Fixes #11086
2023-06-15 11:13:36 +02:00
Jonathan Rainville f6223a1559 chore(update): comment out check for updates for now
Fixes #10990
2023-06-13 09:29:56 -04:00
Lukáš Tinkl 6bfe79a7f3 fix(Chat): Context menu for gif downloads/copies a png file
Detect the MIME type using `QMimeDatabase` from the actual content and
save it in that same format using `QSaveFile`, as `QImage` does NOT
support saving a GIF

Fixes #10747
2023-06-12 16:51:33 +02:00
Mikhail Rogachev 010640acd0
feat(Chat): display MutualStateUpdate system messages in 1-to-1 chats (#10847)
* feat(Chat): Display MutualStateUpdate system messages in 1-to-1 chats

* feat(ActivityCenter): Add AC notification when a user get removed by another contact

* fix: crutch fixing segfault on contact removal
2023-06-08 16:52:03 +04:00
Patryk Osmaczko dfbac49302 chore(qml): adapt assets to support mediaserver images 2023-06-08 13:09:59 +02:00
Patryk Osmaczko b582afb03a feat: speedup/slowdown archives import based on window state
closes: #10815
2023-06-06 09:39:54 +02:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Jonathan Rainville fa656c9535 feat(NewChat): open contact popup when pasting key of user in request
Fixes #9736

When pasting the chat key of a user to whom you already sent a request to, but for which they haven't answered yet, we open the popup instead of doing nothing.
If you paste the chat key of a user you are not a contact at all and sent no request, it opens the contact request popup as before.
Also, same as before, if you paste the key of a mutual contact, their name will show in the suggestion list.
2023-06-01 10:51:39 -04:00
Jonathan Rainville 7d0a77ef0d chore(links): update to use the new external link format
Fixes #10777
2023-05-31 10:36:08 -04:00
Igor Sirotin 5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Alexandra Betouni 1f3a595116 [contacts]: added "remove contact" option in settings menu
Closes #10502
2023-05-12 11:48:04 +03:00
Jonathan Rainville 0e5c566dcd fix(newChat): fix sending messages in new ad hoc chat with new store
Fixes #10523

The problem was that the CreateChatView now uses an isolated Chat RootStore, since we can't be sure if the personal chat section will be loaded yet.

To fix that, I created a new store that is only for storing the properties needed for that new chat. That way we are sure that it is created and shared to necessary components.
2023-05-05 09:36:14 -04:00
Lukáš Tinkl b07ba7fb2d fix: personal chat item wrong width
- do not hardcode width of child elements (impossible to propagate
setting the width from the toplevel/parent component)
- made both the community and non-community chat item look the same and
according to the Figma designs (including margins, scrollbar positions,
spacing etc)
- cleaned up some hardcoded values and dead code

Fixes #10469
2023-05-03 16:39:33 +02:00
Igor Sirotin d7d58b4933
fix: Fixed ephemeral notifications shadow (#10526) 2023-05-03 11:37:19 +03:00
MishkaRogachev 206800bd5b fix(Contacts): Use contactRequestState enum for determinating correct contact state 2023-05-02 13:56:36 -04:00
Lukáš Tinkl e1c9f2f93f perf(AppMain): wrap CommunitiesPortalLayout in a Loader
- CommunitiesPortalLayout was the last piece still unconditionally loaded
on startup -> fixed
- extract the `communitiesStore` into AppMain to be able to reuse it from
other components
- move the import/create community dialogs to `Popups` (reusability)
- cleanup and remove some dead code, fix warnings

Iterates #6204
2023-04-28 21:35:29 +02:00
Noelia 8ccd091ebc feat(CommunityPortal/StatusCommunityCard): Prepared `StatusCommunityCard` to display permissions row
- `StatusCommunityCard` updated with a new hearder component.
- `CommunitiesGridView` updated to use `CommunityPermissionsRow` component inside card.
- Added needed models.
- Updated storybook.

Pending backend integration: Part of task #10410
2023-04-27 16:10:20 +02:00
Lukáš Tinkl 9aebf588a1 fix: reduce Image cache
for everything that's not a user interface element, esp. for static/big
images or chat/message elements which get served from locally anyway from
status-go

Iterates #10339
2023-04-27 13:56:39 +02:00
MishkaRogachev 2160b53e33 fix(ActivityCenter): Use ContactRequestId for accpeting and declining CRs from AC
Close #10127
2023-04-25 16:16:32 +04:00
MishkaRogachev 0ae1881564 fix(ActivityCenter): Fix contact request notifications
Close #9788
2023-04-25 16:16:32 +04:00
Alexandra Betouni 12520214d2 fix(StatusCommunityMenu): Added mute button
Closes #9694
2023-04-21 20:10:00 +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 c209e7c282 fix(ActivityNotificationMessage): use ProfileUtils.displayName()
to compose the primary/secondary user names, just like we do in the
message views, or the Profile dialog
2023-04-21 00:24:32 +02:00
Lukáš Tinkl 297b73fced fix: react to contact name (nickname) changes
the contact details are fetched imperatively in these popups (not via
model updates), so we need to setup a signal to be able to react to those
changes
2023-04-21 00:24:32 +02:00
Patryk Osmaczko 869c3937df fix(chat): prevent reloading chat&community sections
Lazily load chat and community sections but do not unload them,
otherwise all temporary data such as scroll position, text input,
cursor position, etc., would vanish

iterates: #10286
2023-04-19 11:13:01 +02:00
Lukáš Tinkl 4424342dd6 chore: do not block main thread closing the popup
the marking as read can be done in a different thread
2023-04-17 15:42:59 +02:00
Lukáš Tinkl 99b4f1d864 chore(ActivityCenterPopup): fix memleak
the AC popup was being recreated on every click and never destroyed,
leading to:
- memory leaks
- slow operation on opening (it's not trivial to create)

Now we keep a reference the the created popup object, thus making it
faster to appear on every (second) click. It gets destroyed via its
parent at the application shutdown
2023-04-17 15:42:59 +02:00
Lukáš Tinkl 1a81508b5d fix(ActivityCenterPopup): close the AC popup a second time the button is clicked
the Popup has to be modal and the overlay should catch/eat all the mouse
events to prevent them from propagating to the contents behind the popup

Fixes #9838
2023-04-17 15:42:59 +02:00
Michal Iskierko 7055a77a96 fix(@desktop/communities): Displaying toast messages when minting
Fix #9849
2023-04-17 15:11:35 +02:00
Igor Sirotin 7ebfcd0183
fix(SendContactRequestModal): Implemented contact info request and loading UI (#10177) 2023-04-06 10:56:50 +03:00
Khushboo Mehta 2501520dda fix(@desktop/wallet): Handle errors in ENS and stickers views. Disbale action and show tooltip.
fixes #8597, #10034
2023-04-05 19:05:54 +02:00
Khushboo Mehta 0426d7de55 fix(@desktop/wallet): Remove auto retries for connections errors. In case of an error there are two things that can happen
1. The user can manually click on "Retry now"
2. We have a 10 in timer on wallet, after whichb all the data shown is refreshed

fixes #10124
2023-04-04 15:24:37 +02:00
Khushboo Mehta a6df4566dd fix(@desktop/wallet): checkConnected API doesnt return correct values
fixes #9833
2023-03-31 19:59:49 +02:00
Boris Melnik efc9ba41d3 feat(SplashScreen): Display recommendation do not close the app on re-encryption process
Fixes: #10039
2023-03-30 09:59:42 -04:00
Jonathan Rainville e5ff0b4a6a fix(images): fix second pasted image replaces the first one
Fixes #9966

Uses the validate function to paste images so that it concatenates the previous images.
FIxes the validate function to also accept data images.
Moves the size validation function to Utils to reuse the data path prefix constant and fix the possible crash when we try to get the size of a data image.
2023-03-28 13:48:10 -04:00
MishkaRogachev 4d4ec22ba6 feat(Chat): Disable unpin action for PinnedMessagesPopup 2023-03-28 11:05:07 -04:00
Jonathan Rainville 9d0e14b680 refactor(chats): separate calls to getChats for each section
Fixes #9858
2023-03-24 13:05:19 -04:00
mprakhov 21d2c00b40 feat(@desktop/chats): Keep only last 5 chats/channels in the memory 2023-03-23 17:41:24 +01:00
Khushboo Mehta 072537f61a feat(@desktop/wallet): Implement connection error screens
fixes #9835
2023-03-23 15:26:22 +01:00
Khushboo Mehta df121445ca fix(@deaktop/wallet): Implement error states with automatic retries
fixes #9688
2023-03-23 15:26:22 +01:00
Jonathan Rainville ff5c618c82 fix(AC): fix store so that community request buttons work in the AC
Fixes #9988
2023-03-23 11:39:46 +01:00
mprakhov 8d955265dc fix(@desktop/sections): do not unload chat and communities sections during the switching between the sections 2023-03-21 16:44:40 +01:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00
Pascal Precht 48c322cbe4 refactor(ChatLayout): expose emoji and sticker popup properties and signals
Prior to this change `ChatLayout` exposed `chatView` which let other
components access it, its properties and signals.

This is problematic as we need to be able to swap out the `ChatView`
with the `JoinCommunityView` for token gated communities, in which case
there won't be an instance of `chatView`.

This commit ensures that we rely purely on inputs and outputs of the
component, without exposing the component instance itself.
2023-03-07 18:16:42 +01:00
MishkaRogachev 38a9b4a7f1 feat(ActivityCenter): Support status-go PR with endpoints refactor 2023-03-03 19:52:20 +04:00
MishkaRogachev ec51fbe0e0 feat(ActivityCenter): Override replied text for messages with rich content
Close #9416
2023-03-03 16:31:08 +04:00
MishkaRogachev 723bc4f387 fix(ActivityCenter): fix missing membership notifications
Close #9656
2023-03-02 16:31:25 +04:00
Noelia d6467923e4 fix(Chats): Drag/drop image files is only available for community channels
- Drag/drop images are available from all chat types (1:1 , group chats and community channels).
- In case of community settings views, it is disabled.

Fixes #9630
2023-02-28 11:20:23 +01:00
MishkaRogachev a70bbd448c feat(ActivityCenter): move activity category counters on the backend 2023-02-28 14:08:49 +04:00
MishkaRogachev bb9d6b3121 feat(ActivityCenter): Review fixes 2023-02-28 14:08:49 +04:00
MishkaRogachev c5a32ff8cb feat(ActivityCenter): Switch on backend filtering for the AC notifications 2023-02-28 14:08:49 +04:00
MishkaRogachev 0529ea4be5 feat(ActivityCenter): Storing activity center group in the service level 2023-02-28 14:08:49 +04:00
MishkaRogachev a0647d241e feat(ActivityCenter): Remove UI-side AC notifications filtering & sorting
Close #8510
2023-02-28 14:08:49 +04:00
MishkaRogachev b70e1f0fb4 feat(ActivityCenter): Add indication for visited/unvisited AC state
Close #347
2023-02-17 16:13:43 +04:00
Lukáš Tinkl 31be818e0e fix: Pinning messages - tweaks to UI and interactions
... to help align with original design intent

- dropped date breaks before msg groups
- show full date/timestamp in the msg header
- floating "Unpin" button on mouse hover
- no padding/spacing between messages
- some smaller code cleanups and dead code removals

Fixes #9396
2023-02-17 11:22:21 +01:00
MishkaRogachev 165271dbea fix(ActivityCenter): Fix CommunityBadge eliding
Close #9402
2023-02-17 14:01:30 +04:00
Alex Jbanca 009861c7b4 fix(SplashScreen): Add Did You Know Splash screen
Closing #9470
Adding Did You Know Splash Screen that will be shown when AppMain is completed.
The SplashScreen runs for 30 seconds and will randomly iterate through `fun messages` every 5 seconds.
2023-02-16 16:06:50 +02:00
Lukáš Tinkl a93320f684 fix(main): replace the frozen splash screen with an animator
this runs on the GPU, therefore not prone to main thread being blocked

Fixes: #9524
2023-02-13 19:40:00 +01:00
Lukáš Tinkl eafee302d8 fix: pasting a user's profile link in the ad-hoc chat search
... doesn't work in the community section

Extract the `Chat.RootStore` as a toplevel/shared property and pass it
down to ChatLayouts, instead of cross referencing it between different
components. This was also problematic since the ChatLayouts now live
inside a Loader, so it's more appropriate to refer to the
`Chat.RootStore` directly, instead of
`personalChatLayoutLoader.item.rootStore`, since the
`personalChatLayoutLoader.item` might not be visible (due to it being
inside a Loader and a StackLayout) or it might even be a different
component (`loadingStateComponent` or `errorStateComponent`).

This also caused similar problems for other components, such as
ActivityCenterPopup or StatusStickersPopup.

Fixes #9513
2023-02-10 11:23:26 +01:00
Lukáš Tinkl f5d6c538c2 chore: consolidate & refactor popup handling
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
2023-02-09 15:01:57 +01:00
Jonathan Rainville f8ecd9dbce refactor(chat): make getChats async to speed up start time
Fixes #9340
2023-02-08 16:18:44 -05:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
Lukáš Tinkl fbd936d151 fix: unbreak ModuleWarning banners
they stopped appearing after the introduction of `localAppSettings.testEnvironment`
2023-01-30 09:43:55 -05:00
MishkaRogachev 5ff4c35bf0 feat(appMain): Add warning colors. Use warning color for story node banner 2023-01-30 12:40:31 +04:00
MishkaRogachev b474ef0024 feat(appMain): Hide mailserver banner on SIGNAL_MAILSERVER_AVAILABLE 2023-01-30 12:40:31 +04:00
MishkaRogachev e0ba80a085 feat(AppMain): Replace MailserverConnectionDialog with banner
Close #6213
2023-01-30 12:40:31 +04:00
MishkaRogachev 128ac8dbd8 feat(ActivityCenter): Move AC notifications counting to status-go
Close #8074
2023-01-30 11:24:50 +04:00
Jonathan Rainville fdc0dce782 chore: remove public chat functionnalities
Fixes #8504

Removes the ability to create public chats, see public chats and even leaves previously active public chats
2023-01-25 10:05:55 -05:00
Alex Jbanca 719e0a34f6 perf(chatScroll): Optimise timestamps
The date parsing is time consuming and it needs to be used with care in the delegate

perf(chatScroll): Fix StatusDateGroupLabel comment - standaloneMonthName

perf(chatScroll): fix comments on Optimise timestamps

perf(chatScroll): Optimise timestamps - bring back comment

perf(chatScroll): fix activity notification
2023-01-19 19:24:18 +02:00
MishkaRogachev 2890fe5845 hotfix(ActivityCenter): Fix warnings and text align with messageBadge 2023-01-18 18:01:56 +04:00
MishkaRogachev 0f1485fa4d fix(AppMain): Open only one popup per component
Close #9131
2023-01-17 16:02:03 -05:00
Lukáš Tinkl b2328d6643 chore: Consolidate date/time formatting
- simplify locale settings
- extract/fix datetime related functions into LocaleUtils
- port code to the new LocaleUtils

Closes #7230
2023-01-17 16:42:34 +01:00
MishkaRogachev 2359dfe6a3 feat(Profile): Add SimplifiedMessageView for AC and verifiaction popups 2023-01-17 12:21:25 +04:00
Jonathan Rainville f8c4682885 chore(contact-request): remove old contact request button and popup
Fixes #9072

I made clicking on the OS notification open the AC instead of the old popup
2023-01-13 16:16:14 -05:00
Igor Sirotin d98c462092 fix(AppMain): Show banner on startup if diconnected 2023-01-13 19:24:46 +03:00
Lukáš Tinkl ab96c17fb2 chore(AppMain): use Loaders more aggressively, unloading any previous unused section
- another bit on the road to reduce startup time and be more conservative
towards RAM usage
- remove more imperative JS code
- only preload/prepare the currently active community, not all of them on
startup

Fixes #8782
2023-01-11 21:55:52 +01:00
MishkaRogachev 321496c807 feat(ActivityCenter): Update ActivityNotificationMessage's text maximum width
Close #8915, close #8950
2023-01-10 20:39:34 +04:00
Boris Melnik 9b8a86a3cb feat(communities): Add ban state for spectated community
Fixes: #8761
2023-01-09 10:30:54 -05:00
mprakhov 0675d6a7d9 fix(@desktop/chat): message box buttons do not work in group chat creation screen 2023-01-09 12:51:35 +02:00