Commit Graph

2136 Commits

Author SHA1 Message Date
Pascal Precht 40eead1c8f refactor(communities): use ImportingHistoryArchiveMessages signal for
banner

@John-44 requested that we show the banner only for when messages are indeed
imported into the database, not necessarily already when the torrent data is being downloaded.

This commit ensures Desktop processes the newly introduced
`ImportingHistoryArchiveMessages` signal to render the banner introduced
in d5db1e6356

This needs: https://github.com/status-im/status-go/pull/2998
2022-12-07 14:29:35 +01:00
Sale Djenic 7bae51335b fix(@desktop/onboarding): `Onboarding -> Generate keys for a new keycard` - display name is not set
Fixes: #8671
2022-12-07 14:22:38 +01:00
Pascal Precht b510b33730 feat(communities): allow community import via public key
Status allows for importing communities via their private keys.

There's a requested feature that users should be able to import a community via
its public key as well.

This will behave differently as private keys won't give users ownership
of the communities. When importing via a (compressed) public key, Status
will try to fetch information about the community from the network. If it
finds such information, it'll load it into the app and create
a communitiy view from which users can then request access.

If it can't find a community or community information in the network,
the user will get a dedicated error message.

This commit also refactors the `ImportCommunityPopup` such that it uses
`StatusDialog` and updates the copy accordingly since importing via
public key is now possible as well.

Closes #8339
2022-12-07 14:18:08 +01:00
Lukáš Tinkl e13726e4af feat(SocialLinkPreview): links are too short to display even short urls
- rework the way social links are displayed/editted; we now only allow to
enter a so called "handle" and then substitute that in the final URL
template
- move the "icon" model role to NIM backend

This has several advantages:
- we display only the "handle" and don't have to elide some long URL
- we won't let users enter random URLs into their profile and spoof the
viewing part into clicking it

Additionally, make the social link "button" clickable -> navigate to the
target URL, and make the tooltip behave as "usual" (on mouse hover).
2022-12-07 12:40:58 +01:00
Patryk Osmaczko 07523d2c85 chore(chat/messages): extract MessageCursor 2022-12-07 00:23:25 +01:00
Patryk Osmaczko c4525778a8 fix(chat/messages): prevent multiple same cursor fetches
It may happen `asyncLoadMoreMessagesForChat` is called many times in a
row. Previously it did not check whether there is any pending fetch for
a given chat, which resulted in many same cursors fetches from status-go.
Furthermore, in this case, `lastUsedMsgCursor` ended up with the same
value as `msgCursor` resulting in wrong state where there are no more
messages to fetch.

- Simplified message loading code by introducing MessageCursor helper
  type
- Ensured messages are not loaded twice for the same cursor

fixes: #8602
2022-12-07 00:23:25 +01:00
Jonathan Rainville 2f338ecb09 fix(windows): use QML's OS notification for Windows
Fixes #4943

The custom OS notifications we have in place make it possible to click
the notification and go to the right place in the app, but it causes a
big issue in Windows; it breaks the tray icon, it becomes no longer
clickable.
The easy fix I did here is the go back to using the QML sendMessage
function. It works fine to send the notif and the tray icon keeps
working. The only downside is we lose context when clicking on the
notification, so it doesn't navigate to the chat.
IMO, this is a good tradeoff.
2022-12-06 10:04:56 -05:00
Jonathan Rainville a94750fb2d refactor(settings): make calling settings_getSocialLinks only once
Fixes #8549

That status-go call was done A LOT because we try to access our own data often and we didn't use to cache it.
2022-12-06 10:02:17 -05:00
Boris Melnik c801c869e6 fix(communities): Break loop when cancel request was sent
Fixes: #8539
2022-12-06 15:01:08 +03:00
Michal Iskierko 0a4f5fa27c fix(@desktop/chat): Fix updating channel color after admin updated it.
Issue #7414
2022-12-06 11:14:23 +01:00
Khushboo Mehta 779df7628b fix(@desktop/wallet): Remove gas selector for slow, optimal and fast
fixes #8516
2022-12-05 14:51:39 +01:00
Dario Gabriel Lipicar 8fd5e9d1af fix(@desktop/wallet): fix wallet account item balances
Fixes: #8582
2022-12-05 10:23:44 -03:00
Khushboo Mehta 0c7442d696 fix(@desktop/wallet): Wrong Password error should not be handled in the SendModal
fixes #8527
2022-12-05 13:59:06 +01:00
Khushboo Mehta 26fcb8b99f fix(@desktop/wallet): Implement missing unprefered chains
fixes #8530
2022-12-05 12:18:10 +01:00
Richard Ramos 97190ce716 fix: read fleet from nodeconfig if not available in settings 2022-12-05 11:11:30 +01:00
Boris Melnik 5c7dc4c330 feat(messaging): Skip deleted and deletedForMe messages
Fixes: #8369
2022-12-03 21:06:58 +03:00
Sale Djenic 8aa36068a0 fix(@desktop/keycard): modal title edits and migrate flow
- 01: Keycard settings menu labelling - fixed in this commit
- 02: Modal title renaming - not developed yet
- 03: Additional decision diamond and flow - not developed yet
- 04: Modal title renaming - not developed yet
- 05: Modal title renaming - done in issue #7035
- 06: Copy change - fixed in this commit

Fixes: #8458
2022-12-02 19:04:24 +01:00
Jonathan Rainville 2276706fd8 fix(network_constants): fix torrent port clash by adding PORT_SHIFT
Fixes #8553

The torrent port was clashing with the release app since both of them have it on by default now. That was causing the messenger to fail on start.
This new PORT_SHIFT env var can be used to shift the port of the torrent service and wakuV2. No more need to use WAKUV2_PORT.
we can also add more ports that need shifting.
This enables opening multiple instances of the app very easily. Just increase PORT_SHIFT by one
2022-12-02 11:47:58 -05:00
Sale Djenic 49da859947 feat(@desktop/keycard): create a backup copy of a Keycard
Fixes: #7035
2022-12-02 17:26:06 +01:00
Sale Djenic c64d5560a6 refactor(@desktop/keycard): `remainingAttempts` introduced as new prop, instead of using `keycardData` prop 2022-12-02 17:26:06 +01:00
Sale Djenic 192b5426b2 refactor(@desktop/keycard): `state_factory` splitted in two more files
Old `state_factory` logic is splitted in two more files. Now it represents only
an interface, but implementation logic is placed in the following two files:
- `state_factory_general_implementation.nim`
- `state_factory_state_implementation.nim`
2022-12-02 17:26:06 +01:00
Lukáš Tinkl 271ccbb820 fix(settings): open links in external browser
remove the dialog that asks users if they would like to open a link in
Status Desktop's browser and always open them in the user's external
browser

Fixes #8568
2022-12-02 16:24:58 +01:00
Richard Ramos 7261c78650 fix: display an error if StartMessenger fails 2022-12-02 11:07:40 -04:00
Anthony Laibe 1e086de456 feat(@wallet): move timer to status-go 2022-12-02 11:28:47 +01:00
Anthony Laibe 0d217c0db0 feat: add wallet token integration 2022-12-02 10:17:47 +01:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Khushboo Mehta 13ab93297e fix(@desktop/wallet): Fix routing lines in SendModal Advanced view
fixes #8515
2022-12-01 21:20:15 +01:00
Pascal Precht d5db1e6356 Add banner that indicates history archive downloads are in progress
This needs: https://github.com/status-im/status-go/pull/2995
2022-12-01 18:01:27 +01:00
mprakhov 75b5a583dd fix(@desktop/chat): Pending request disappear from the contacts list when blocked and unblocked 2022-12-01 17:52:48 +02:00
Jonathan Rainville b65211ac94 feat(Settings): Enable Community Archive by default and remove toggle
Closes: #6098
Original commit by @borismelnik
2022-11-30 14:41:48 -05:00
Richard Ramos 50b4dacfef feat: use identify protocol instead of separate wakuv2 nodeconfig items 2022-11-30 11:23:41 -04:00
Boris Melnik bff6b22fc4 fix(replies): Get original message from status-go for replies
Fixes: #7248
2022-11-30 14:07:49 +01:00
Jonathan Rainville dd1caf7a48 hotfix(wallet): comment out history timer to fix app hanging on close
Fixes #8401

Threads in Nim are very bad and when the app closes, the thread doesn't close until it is done. That means that the 20 minute timer needs to finish before it can be closed.
2022-11-29 10:37:35 -05:00
MishkaRogachev 726ae26128 hotfix(ActivityCenter): Fix AC timestamps and binding loop for previousMessageIndex
Close #8434
2022-11-29 16:49:36 +04:00
Pascal Precht 213924f6e9 feat(chat): support copy & pasting images into chat input
This adds support for receiving copied images from the clipboard
and pasting it into the chat input.

After pasting, chat input will recognize the image and render a preview
similar to how it would do it when selecting images via the file dialog.

**Also important to note**:

At the time of this PR, it seems that desktop only supports sending
jpegs to status-go. I'm not sure if this was deliberately done this way
because the protocol says it supports jpg, png, webp and gif.

Because of this, pasting for example pngs will work, however
transparency will be lost (which is also most likely the cause of #8820)

This PR operates on that assumption. So while it adds support for
copy/pasting images, it does not address the lack of file type support.

Closes #3395
2022-11-29 12:31:18 +01:00
Jonathan Rainville 10684c22a0 fix(chat): dont notify or show badge on muted channels
Fixes #6184 and fixes #8370
2022-11-28 13:40:11 -05:00
Richard Ramos e2f157018c chore(storenode): bump status-go, and log result of each storenode requests 2022-11-28 10:07:20 -04:00
Richard Ramos c207ee126f feat: show peer multiaddresses with wakuext_peers 2022-11-28 09:27:57 -04:00
MishkaRogachev 8b9b399077 fix(Contacts): Add self id for identity verification requests
Close #8277
2022-11-28 14:14:04 +04:00
Patryk Osmaczko 4917f46785 chore(chat/stickers): expose `loadStickers` to the view 2022-11-25 17:06:59 +01:00
Patryk Osmaczko 8b4d527651 chore(chat/stickers): propagate stickers loading failure 2022-11-25 17:06:59 +01:00
Pascal Precht d8bda2490a fix(communities): handle removed community chats properly
We were ignoring the `removedChats` in the messenger response and
therefore never processed deleted community chats in the client.

This commit adds `removedChats` to `handleCommunityUpdates()` and
ensures that the community channel's ID is used when emitting a signal
to the app.

This needs: https://github.com/status-im/status-go/pull/2973

Closes #8000
2022-11-25 09:21:50 +01:00
mprakhov 92da7ee9a3 fix(@desktop/test): [suite_communities / tst_communityFlows] - 'The admin changes the emoji of a channel' 2022-11-24 14:50:43 +02:00
Dario Gabriel Lipicar 4907f52b46 refactor(@desktop/wallet): remove unused 'collectible' module 2022-11-23 15:29:19 -03:00
Dario Gabriel Lipicar ecd799c209 fix(@desktop/wallet): fix switch accounts after opening collectible details
Moved logic for CollectibleDetailView to Nim module.
2022-11-23 15:29:19 -03:00
Pascal Precht ba4c4b3e93 fix(Settings): better error handling for toggling archive protocol
Enabling the community archive protocol could fail when another app is
using the same port that is specified as torrent client port.

This would cause the app to crash.

With these changes we:

1. No longer crash the app but output an error in the logs
2. We popup a dialog telling the user that the specified pord is in use

Closes #7328
2022-11-23 14:56:08 +01:00
Boris Melnik f6458facfc fix(messaging): Fix processing successfuly sent messages and remove @mayfail from relevant ui test
Fixes: #7961
2022-11-22 14:19:08 -05:00
Khushboo Mehta 6c0806c2e1 (@desktop/wallet): Fix for pending tx not shown in history view
fixes #7530
2022-11-22 13:57:50 +01:00
mprakhov 0baa49c978 fix(@desktop/chat): No visual notification about new messages in community channels 2022-11-22 10:46:18 +02:00
Lukáš Tinkl 6e5b98d157 fix(ChatHeaderContentView): reflect nickname changes in 1-1 chat
Fixes #8303
2022-11-17 12:59:19 +01:00
Igor Sirotin f022e02efe fix(Chat): Added group/channel name to notifications title 2022-11-17 13:04:06 +03:00
Stefan 7d9f13e4bd fix() don't change global network selection in receive modal
Adds a networks proxy model to be used with the original source model
for visualization and independent selection of isEnabled (as isActive) for a custom
purpose.

Use the proxy in the receive modal dialog for selection of networks
to be included in the address. This way the view follows the original
model but allows independent selection of networks.

Closes: #8180
2022-11-16 15:40:03 +01:00
Stefan d0389a6305 feat(Wallet) show balance cache for chain native token
Quick integration of fetching balance in the current chart view.

The proper implementation requires refactoring the QML views to separate
price chart, that depends only on the token and chain, from balance that
depends on token, chain and address.

Closes: #7662
2022-11-16 13:07:46 +01:00
Stefan 5450384a34 chore(CPP) add debugging test for token balance history
Also

- added debugging test for `checkRecentHistory` from the attempt to
use transactions to restore balance
- small improvements that might clarify better the issues reported about
running under linux issues (didn't test them)
- fix issues found while reviewing the code.
- add support for custom infura token to be used in development

Updates #7662
2022-11-16 13:07:46 +01:00
Anthony Laibe 6e6f708d49 fix(@wallet): switch account being slow
Now when switching account all remote call are non blocking

fixes #7430
2022-11-15 14:13:33 +01:00
Sale Djenic 557703543c fix(@desktop/keycard): migrating keypair looks somehow stucked for a while before switching to `Migrating key pair to Keycard` state
Fixes: #8177
2022-11-15 12:12:07 +03:00
Sale Djenic db7769b072 chore(@desktop/general): accounts service updated, inherits `QtObject` class 2022-11-15 12:12:07 +03:00
Sale Djenic 662a11a57b chore(@desktop/keycard): tertiary action for shared keycard popup module renamed to cancel action
Since tertiary action for the keycard popup module is always used to cancel/invalidate
the current flow, it's renamed now to cancel action (avoids confusion this way and it
seems more intuitive. It doesn't set any state. It should be defined if it's possible to cancel
the flow from the current state.
2022-11-15 12:12:07 +03:00
Sale Djenic 21eeefa42e chore(@desktop/keycard): state commands improvement
Previously we had only a single command which may be triggered for any state and
it was triggered before the state was set as an active state. Now we are able to set
custom command which may be triggered either before or after the state is set.

Changes:
- old `executeBackCommand` is now `executePreBackStateCommand`
- old `executePrimaryCommand` is now `executePrePrimaryStateCommand`
- old `executeSecondaryCommand` is now `executePreSecondaryStateCommand`
- old `executeTertiaryCommand` is now `executePreTertiaryStateCommand`
- added `executePostBackStateCommand` command
- added `executePostPrimaryStateCommand` command
- added `executePostSecondaryStateCommand` command
- added `executePostTertiaryStateCommand` command
2022-11-15 12:12:07 +03:00
Sale Djenic 78fda35807 chore(@desktop/general): unused imports removed 2022-11-15 12:12:07 +03:00
Pascal Precht d9c04bb32d fix: prevent app from crash due to missing type variants
Alright this was very painful to figure out.

Because desktop didn't know about the notification type for
`ContactVerification`, the signal processing for incoming contact
verifications would fail.

At the same time, the new message content type was missing a type
variant for content verification as well, which would cause the app to
crash at runtime for both, sender and receiver of verification requests.

Fixes #8205
2022-11-14 11:50:10 -05:00
Michal Iskierko eaf5095490 fix(@desktop/onboarding): Clear tempPassword before sending login error
Fix #8082
2022-11-14 11:20:18 -05:00
Michal Iskierko 060072da2d fix(@desktop/chat): Fix moving channels between categories
Fix #7422
2022-11-14 16:48:27 +01:00
Boris Melnik 13acb5730d fix(profile-settings): Add usage dirty values for preview and load image profile on save
Closes: #7920 #7917
2022-11-14 14:59:46 +03:00
mprakhov 0114334763 fix(@desktop/Profile): validate social links before saving #7926 2022-11-11 15:28:52 +02:00
Jonathan Rainville ed4ecb17bb fix(contacts): retract the contact request when removing a contact
Fixes #7791

Adds the retractContactRequest status-go api call. Calling it when removing a contact makes sure to send a signal to that other user so they can understand that we are no longer mutual contacts or don't have a request anymore
2022-11-11 13:40:30 +01:00
Patryk Osmaczko 263b1c01c6 fix(chat): use clock for messages ordering
fixes: #8153
2022-11-11 14:02:11 +03:00
Boris Melnik b10b6617cf fix(edit-message): Add content-type to edit message request
Closes: #7879
2022-11-11 14:01:16 +03:00
Pascal Precht 88670ec5d0 fix(Contacts): use `ContactRequestState` to filter out rejected requests
There's a bug in determining pending incoming contact requests where we
don't honor already rejected ones.

Simply checking if a contact in question `hasAddedUs` isn't enough
because that only tells us if the contact has sent us a request in the
past. It doesn't tell is whether the request was rejected already.

As a result, rejected contact requests keep popping up in the UI after
restarting the app. See #8156 for more information.

This commit introduces a `ContactRequestState` enum in Status Desktop,
similar to how it exists in status-go. Using this as `requestState`
on `ContactDto`, we can easily figure out what's the request state for
any given contact.

Notices that this only makes use of `ContactRequestState` to check for
whether a request was rejected.

We probably want to consider using this for all other states as well
(instead of relying on system tags).

Closes #8156
2022-11-11 10:10:06 +01:00
Boris Melnik 42234c7d49 feat(communities): User is able to cancel membership request
Part of: #7072
2022-11-10 23:07:22 +03:00
Richard Ramos 76968df721 chore(waku2): add extra logging 2022-11-10 15:18:05 -04:00
Richard Ramos ae7a16f27e fix: display "Resend" for expired messages 2022-11-10 11:49:42 -04:00
Pascal Precht 8d90204e0a refactor(communities): allow removing items from import file list
There was a requested design change where no longer wanted to have
checkboxes to decide which files will be included for a discord import,
but rather have an "X" button that enables users to remove items.

This commit implements this refactor.

In addition, it ensures that the already loaded discord categories and
channels that have been extracted from validation, are kept in sync as
well.

Meaning, if a user removes a file from the file list, the corresponding
channel will be removed as well.

If there's not channel in a given category, the category will be removed
as well.

Closes #8125 #8126
2022-11-10 15:45:25 +01:00
Anthony Laibe 15891295e9 test(@wallet): enable mayfail test 2022-11-10 15:43:02 +01:00
Anthony Laibe 59e0ae298f test(@wallet): Update network constants 2022-11-10 15:43:02 +01:00
Richard Ramos bdded864f2 fix: enable lightclient mode 2022-11-10 09:50:15 -04:00
Pascal Precht 69677a7c1c fix(communities): add missing community image to import process
This needs https://github.com/status-im/status-go/pull/2947
2022-11-10 14:08:59 +01:00
Lukáš Tinkl 2b6164fc8d fix: ens names should not display `@`
Fixes #8122
2022-11-10 10:42:05 +01:00
Sale Djenic 105e1c156b fix(@desktop/keycard): `ExportPublic` instead of `Sign` flow should be used for user authentication
Fixes: #8176
2022-11-10 11:03:44 +03:00
Sale Djenic 3d163cfa33 fix(@desktop/keycard): keystore file for a keypair is not removed once that keypair is migrated to a Keycard
When we're migrating profile or any other keypair to a Keycard
corresponding locally stored keystore files are removed.

Fixes: #8067
2022-11-10 11:03:44 +03:00
Sale Djenic 2ea83c02b0 fix(@desktop/general): crash handling unknown exceptions fixed
If any but the `RpcException` was thrown while handling remote procedures responses
app crash happened. Fixed in this by accepting more general exception objects.
2022-11-10 11:03:44 +03:00
Sale Djenic 3da62c9092 fix(@desktop/wallet): adding derived wallet account fixed
An issue with adding wallet account was happening only for a new user,
the reason for that was incorrectly set keystore path and keystore file couldn't
be found on the statusgo side because of that.
2022-11-10 11:03:44 +03:00
Richard Ramos 6e705eab2a fix: set TEST_PEER_ENR in wakuv2 2022-11-08 21:40:06 +03:00
Richard Ramos 9fe2236a23 fix: pinned mailserver value 2022-11-08 21:40:06 +03:00
Michal Iskierko 1f2a050695 feat(@desktop/general): Use compressed community key in deep links
Issue #8001
2022-11-08 15:18:39 +01:00
Pascal Precht f87f952330 fix(communities): allow actual import errors to come through
This commit enures we render proper errors during an import, even if
we've reached the maximum of warning/error items to render.
2022-11-04 13:24:27 +01:00
Sale Djenic 02d3398fbc fix(@desktop/keycard): change db password for a keycard users
DB password for a Keycard user is now `publicKey` of encryption derivation.
kdf iterations for keycard users are set to 256000 so it's the same as we have
for regular users.

Fixes: #8066
2022-11-03 10:11:15 +01:00
Pascal Precht e8437d3b0c fix(contacts): fix `getVerificationRequestFrom` API
The underlying API was mistakenly removed in status-go, then
reintroduced, but as `getLatestVerficiationRequestFrom`.

This commit fixes the RPC call.

Needs https://github.com/status-im/status-go/pull/2934
2022-10-29 13:52:40 +02:00
Jonathan Rainville 8296dd443b fix(accounts-service): use WAKUV2_PORT env var for account creation too 2022-10-28 14:50:25 -04:00
Sale Djenic 2c03146309 fix(@desktop/keycard): can't create accounts if the main account was restored in using an existing keycard account
`I already use Status` -> `Login with Keycard` flow is enabled.

Fixes: #7867
2022-10-28 20:43:09 +02:00
Sale Djenic c8c51a8621 chore(@desktop/accounts): unused code removed 2022-10-28 20:43:09 +02:00
Igor Sirotin 82bc21b4ff fix: Fixed group and channel mention notifications 2022-10-28 21:21:49 +03:00
Pascal Precht b9a9f2a20f feat(Message): fallback to import message content if necessary
Messages are parsed to transform markdown to something that can be
rendered in a formatted way.

When this happens, the parsed text is applied to a message's `text`
property inside desktop.

There was no formatted message support for imported discord messages,
so we were relying purely on `discordMessage.content`.

However, now formatting support is pending in status-go here: https://github.com/status-im/status-go/pull/2933

This means, once this lands, we can simply rely on `messsageItem.text`.

I'm adding this guard here such that this will continue to work without
the feature in status-go, but once the feature in status-go lands,
desktop will automatically adapt.

Closes #8086
2022-10-28 17:23:49 +02:00
MishkaRogachev 6a72773ab6 feat(ActivityCenter): Refactor AC Store and fix notifications counting
Close #7654
2022-10-28 12:29:40 +03:00
Boris Melnik 6de3466cb2 feat(Communities): Add ephemerial notification when request to join was accepted
Part of: #7072
2022-10-28 11:01:59 +03:00
MishkaRogachev 851dd3bc76 feat(ActivityCenter): Review fixed for community membership AС notifications 2022-10-28 00:25:10 +03:00
MishkaRogachev 5d8e3ac252 feat(ActivityCenter): Fix handling membership requests from AC 2022-10-28 00:25:10 +03:00
MishkaRogachev 9c8fee09cd feat(ActivityCenter): Community membership status handling 2022-10-28 00:25:10 +03:00
MishkaRogachev d4e4e66fc6 feat(ActivityCenter): Community membership notifications
Close #7277
2022-10-28 00:25:10 +03:00
Lukáš Tinkl f122607ada fix: consecutive discord messages should be grouped like status messages
- fill the senderId just like other messages
- add some checks in Utils since the "publicKey" (ID) coming Discord
isn't in the format we'd normally expect

Closes #6678
2022-10-27 22:44:00 +02:00
Anthony Laibe 34d7d4354b test: fail balance test 2022-10-27 17:38:28 +02:00
Khushboo Mehta aec7a30d03 feat(@desktop/wallet): Updated UI for bridge and multi routing support
fixes #7334
2022-10-26 18:48:30 +02:00
Jonathan Rainville 8055662621 fix(community): make sure to add the chat when inviting to a community 2022-10-26 12:32:52 -04:00
Michal Iskierko 6d2a2e6e03 fix(@desktop/general): Fix clicking deep links in chat
Clicking any deep-link in chat: /u, /c, /cc does not open browser but executes instantly

Fix: #6302
2022-10-25 08:26:16 -04:00
Richard Ramos 3b3b737956 feat: encrypt communities 2022-10-25 08:26:10 -04:00
Anthony Laibe 76aedc3615 feat(@wallet): display ens name with saved addressess 2022-10-24 12:39:34 +02:00
Michal Iskierko 6ac091d094 fix(@desktop/general): Fix community deep links
Cleanups in deep links - removing not needed links handlers
Improve `open community` and `open channel` deep links - spectate community if not a member

Fix #7892
2022-10-24 09:38:41 +02:00
Anthony Laibe 6c90034b6b fix(@test): token override 2022-10-24 09:09:08 +02:00
Patryk Osmaczko 4b8667d384 fix(communities): emit SIGNAL_COMMUNITY_JOINED for new communities
New community that appears through community update signal can also
be the community we are already members of, in that case we need
to emit SIGNAL_COMMUNITY_JOINED, so that it appears on the side bar.
2022-10-20 12:04:18 +02:00
Sale Djenic a60e5d49cf feat(@desktop/keycard): create a new pairing code
Fixes: #7038
2022-10-19 13:24:41 +02:00
Sale Djenic 7377526553 feat(@desktop/keycard): create a 12-digit personal unblocking key (PUK)
Fixes: #7037
2022-10-19 13:24:41 +02:00
Sale Djenic 9b2a63c400 feat(@desktop/keycard): change pin flow added
Fixes: #7034
2022-10-19 13:24:41 +02:00
Sale Djenic 48d1ae5cd1 fix(@desktop/keycard): migrating new keypair updates the list of registered keycards 2022-10-19 13:24:41 +02:00
Sale Djenic 3af934bee6 chore(@desktop/keycard): do keycard logging only if it's not a `production` 2022-10-19 13:24:41 +02:00
Patryk Osmaczko fa1f396a86 fix(communities/portal): navigate or spectate community
fixes: #7244
2022-10-18 21:21:10 +02:00
Patryk Osmaczko a543f46de5 chore(communities/portal): extend curated communites model 2022-10-18 21:21:10 +02:00
Lukáš Tinkl 7a407662e2 feat: New Profile Modal
Fixes: #7360
2022-10-17 12:05:54 +02:00
Sale Djenic 7a73452706 fix(@desktop/keycard): keypair is not registered for newly created keycard users
Fixes: #7899
2022-10-14 13:53:34 +02:00
Khushboo Mehta 7e82b36509 feat(@desktop/wallet): Create API to retrieve historical price for a token
fixes #7260
2022-10-14 10:29:29 +02:00
Sale Djenic b1f8a476e8 feat(@desktop/keycard): rename keycard flow
Fixes: #7033
2022-10-13 19:58:45 +02:00
Sale Djenic c1f4874e18 feat(@desktop/keycard): UI for the keycard settings in case user has set up a keycard
Keycard settings view - UI - developed in a way that list of keycards is displayed
if there is at least one keycard set up. If the a keycard is locked or gets locked it
will be correctly marked in red. Selecting keycard from the list, its details may be
seen and additional flows may be run for it (so far only unlock flow is developed).

Fixes: #7025
2022-10-13 19:24:04 +02:00
Pascal Precht fb7f2a2f51 chore: update status-go
This includes a fix in message signals that would otherwise break Desktop's
signal encoding.

See: https://github.com/status-im/status-desktop/pull/7888

Hence, it reverts the now unnecessary fix introduced in:

Revert "fix(signals_manager): ensure `savedAddresses` event has `JNull` check"

This reverts commit 013e226c66.
2022-10-13 17:59:13 +02:00
Igor Sirotin 05f2699bec fix(message_model): Notify replied message changes on edited 2022-10-13 18:56:09 +03:00
Michal Iskierko 5d60045549 fix(@desktop/general): Fix opening deep links when the app is not logged in yet
Fix #7704
2022-10-13 17:07:31 +02:00
Pascal Precht 013e226c66 fix(signals_manager): ensure `savedAddresses` event has `JNull` check
There's something off with the `savedAddresses` signal data, which
causes it to be `JNull` instead of an empty array (`JArray`) and breaks
signal decoding.

Ultimately this should be fixed in status-go, but this unblocks Desktop.
2022-10-13 14:33:46 +02: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
Sale Djenic 0cb23e0f16 fix(@desktop/keycard): login flow
Onboarding flow updated according to the latest related
figma changes.
2022-10-13 08:28:21 +02:00
Sale Djenic 2a019f330a chore(@desktop/keycard): `quaternary` and `quinary` actions introduced 2022-10-13 08:28:21 +02:00
Sale Djenic 095578b517 fix(@desktop/keycard): onboarding flow `I already use Status` -> `Login with Keycard` updated
Onboarding flow updated according to the latest related
figma changes.
2022-10-13 08:28:21 +02:00
Sale Djenic eb5ad8c911 fix(@desktop/keycard): onboarding flow `I'm new to Status` -> `Import a seed phrase` -> `Import a seed phrase into a new Keycard` updated
Onboarding flow updated according to the latest related
figma changes.
2022-10-13 08:28:21 +02:00
Sale Djenic 9be07efec3 fix(@desktop/keycard): onboarding flow `I'm new to Status` -> `Generate keys for a new Keycard` updated
Onboarding flow updated according to the latest related
figma changes.
2022-10-13 08:28:21 +02:00
Boris Melnik 4cfa4e5451 fix(replies): Fire dataChanged when contact changed in reply
Closes: #7687
2022-10-12 10:54:24 -04:00
Boris Melnik 172cb03bd5 feat(Coommunity): Add ephemeral notification when request to join was sent
Part of: #7072
2022-10-12 10:45:57 -04:00
Boris Melnik 6a11a89ff3 fix(Reply): Add check if responsed message was deleted and add `<deleted>` to reply message
Closes: #7372
2022-10-12 15:43:48 +03:00
Anthony Laibe cd5eb42c0b feat(@wallet): testnet use goerli only
In future PR optimism/kovan will be updated to goerli to
2022-10-12 10:34:29 +02:00
Stefan b348527edc feat(Wallet): sync saved addresses
Main changes:

- Bump status-go to include the sync saved addresses implementation
- Use saved addresses modifier API from messaging instead of wallet
in order to have incremental sync
- Update saved addresses model on sync changes for saved addresses

Closes #7229
2022-10-12 09:38:19 +02:00
Stefan de2c421b5e fix(Wallet): allow to edit name and color for a new account before authentication
There is no good reason to keep user entering information before authenticating

Also fix typo

Fixes: #7714
2022-10-10 16:54:46 +02:00
Michal Iskierko 95c0721578 fix(@desktop/chat): Fix channel link in chat
Clicking on a #link will open link channel in community

Fix #7636
2022-10-10 11:27:16 +02:00
Noelia 11fcd82b82 fix(Language): App crashes when language is changed
Enabled restart info popup after language is changed --> Workaround to temporary resolve the crash we have when language is changed (`startupModule` is null and some qml bindings are still calling this dead pointer) so, change language will not retranslate and instead, also on mac and win, the app will need a restart to apply the new language.

Disabled retranslations for all os on the corresponding service.

Will temporary fix #7709
2022-10-07 18:45:41 +02:00
MishkaRogachev c4496483d3 feat(ActivityCenter): handle notification's updates via response 2022-10-07 15:09:56 +04:00
MishkaRogachev 9b227cbfd9 feat(ActivityCenter): Add CTA for contact request notifications
Close #7277
2022-10-07 15:09:56 +04:00
Patryk Osmaczko acbf6fce51 feat(@desktop/communities): add new join community workflow
- user is able to see community without being a member
- invitation bubble always display "Go to Community"
- join community buttons are displayed in community view

main part of: #7072
2022-10-07 09:10:21 +02:00
Alexandra Betouni 2ec0b5330a fix(SearchPopup): displaying comm channel's emojis
Closes #7702
2022-10-06 15:46:45 +03:00
PavelS 2da05c0025 fix(@desktop/chat): update toast message logic
Fixes #7487
2022-10-06 11:43:35 +02:00
Pascal Precht d9acab566f perf(chat): only perform verification requests on scroll if necessary
There was an issue where imported messages from third-party services
would cause super laggy scroll behaviour in the chat view.

The reason for that is that on scroll, the app keeps calling
`getVerificationRequestFrom()` on the chatkey of the community.
Typically the results of these requests are cached so that it should
perform the call only once, but because there's no actual verification
request/contact for the community chat key (all third-party messages are
signed by the community), the call keeps on happening over and over.

This commit adds a flag to `getContactDetailsAsJson` and `isEnsVerified`
to control whether or not the call to `getVerificationRequestFrom`
should in fact be made (which should not be the case for imported
messages).

The result of this is a smoother scrolling experience.

Fixes #7767
2022-10-06 11:39:24 +02:00
Pascal Precht bf14b06d55 feat(CreateCommunityPopup): add discord import progress panel and discord message handling
This adds the UI plus all necessary models and signal handling to render
discord import progress in the desktop application.

It also introduces message handling for discord chat message types.

Requires status-im/status-go#2826 to function

Co-authored with @caybro
2022-10-06 09:13:57 +02:00
Igor Sirotin 670a8e280c fix(chat): Fixed invitations sending to multiple users 2022-10-05 14:37:36 +03:00
Michał Cieślak 79215f1ccc chore(settings): see/show pictures from/to everyone set as new default
Closes: #7310
2022-10-05 13:19:45 +02:00
Boris Melnik aa1667bf69 fix(Fleet): Change default fleet to status.prod
Closes: #7736
2022-10-04 14:30:21 -04:00
Boris Melnik c7aa3c7999 Fix(AppSearch): Exclude not joined community from updates handling
Closes: #7701
2022-10-04 13:20:43 -04:00
Richard Ramos 1a2524cbda chore: setup a mailserver as part of UI tests run in CI 2022-10-03 16:31:23 -04:00
Richard Ramos 71454e0e3d feat: use a higher kdf number for DB encryption 2022-10-03 11:45:56 -04:00
Richard Ramos b43dfaa59e chore: add KDF_ITERATIONS var to the makefile 2022-10-03 11:45:56 -04:00
Sale Djenic a1027ff087 feat(@desktop/keycard): sign transaction using `Authenticate` flow
Actually this is not a signing transaction, but rather authenticating logged in
user when he wants to send a transaction. An authentication is done by entering
password(regular user) or pin(keycard user).

A real signing transaction feature will be (hopefully) added in a near future where
we're going to sign a transaction on a keycard which corresponds to a certain
account, a user wants to send a transaction from.

To sum up... this change just removes password from the send modal and introduces
`Authenticate` flow instead.

Fixes: #7510
2022-09-29 17:28:18 +02:00
Stefan 898b928ce2 chore(debug): use WAKUV2_PORT environment variable to change Waku V2 port
The environment variable overrides libp2p protocol TCP port and
discovery v5 UDP with the same value
2022-09-29 16:17:42 +02:00
Igor Sirotin 010bdc9956 feat(CreateChatView): Support pasting chat key 2022-09-28 09:55:25 -04:00
Michal Iskierko 3bcd26b6ae fix(@desktop/general): Fix sections switching shortcuts
Ctrl+n shortcut changes enabled section.

Fix #7478
2022-09-28 09:42:14 -04:00
PavelS 06b6b9258b fix(@desktop/chat): add message sent and delivered handlers
Fixes #7367
2022-09-28 15:44:05 +03:00
Sale Djenic 4e257539b8 chore(@desktop/keycard): `usingBiometricLogin` prop added to the user profile global instance 2022-09-27 20:15:34 +02:00
Sale Djenic 3687df2a2f chore(@desktop/keycard): `isKeycardUser` prop added to the user profile global instance 2022-09-27 20:15:34 +02:00
Sale Djenic 08ef68706f feat(@desktop/keycard): login flow wrong keychain pin update 2022-09-27 20:15:34 +02:00
Sale Djenic 861c585d2b feat(@desktop/keycard): adding wallet account using `Authenticate` flow
Fixes: #7509
2022-09-27 20:15:34 +02:00
Sale Djenic 4bff0b14ed fix(@desktop/wallet): crash adding an account via seed phrase fixed 2022-09-27 20:15:34 +02:00
Sale Djenic f11ff29cb4 feat(@desktop/keycard): check what’s on a Keycard
Fixes: #7032
2022-09-27 20:15:34 +02:00
Sale Djenic 10c3b66336 feat(@desktop/keycard): unlock keycard flow added to the flows which are using it
- factory reset flow updated with unlock keycard flow
- setup new keycard (keycard migrate) flow updated with unlock keycard flow
- authenticate flow updated with unlock keycard flow
2022-09-27 19:03:18 +02:00
Sale Djenic d985e347ce fix(@desktop/keycard): convert to keycard account process fixed
- converting to keycard account 3 words alias was used instead of
display name
2022-09-27 19:03:18 +02:00
Sale Djenic a3b71c7d91 feat(@desktop/keycard): unlock keycard flow added
Fixes: #7031
2022-09-27 19:03:18 +02:00
Sale Djenic cf7bc0325b chore(@desktop/keycard): `updateKeycardUid` proc added to the wa service 2022-09-27 19:03:18 +02:00
MishkaRogachev d4d22f4094 feat(ActivityCenter): Notification badge with community info 2022-09-26 15:49:46 +03:00
Stefan b0a0b1d4e4 chore(dev): add STATUS_PORT env var forwarding to status-go 2022-09-23 08:41:14 -04:00
Anthony Laibe a9d2ecf839 fix(@wallet): Send tx popup
fixes #7429
2022-09-23 10:08:26 +02:00
PavelS cee8af5869 fix(@desktop/community): add member verified model value
Fixes #7378
2022-09-22 15:01:06 +03:00
PavelS a51a980635 fix(@desktop/community): update new category handling
Fixes #7380
2022-09-22 14:16:19 +03:00
Michal Iskierko 6181583f95 fix(@desktop/chat): Do not show chat identicons
Fix #7371
2022-09-22 10:09:49 +02:00
Richard Ramos 38ae128f55 chore: use enrtrees for status.* fleets instead of connecting directly to the nodes 2022-09-21 11:42:06 -04:00
Patryk Osmaczko e3363e269a fix(@desktop/chat): make `join` invite transition to `pending`
User should see `pending` state after he `join`s the community, even if
that community does not require explicit admin approval. That's because
currently, each member has to be accepted by admin, either automatically
or manually. That means, if admin is gone, no one will be ever joined to
community, even if this community states it does not require request to
join.
2022-09-21 08:57:18 +02:00
Patryk Osmaczko d1b3e7af9e fix(@desktop/chat): rework invitation bubbles
InvitationBubbleView.qml:
- rework view to use layouts properly
- add missing community identicon

Backend:
- remove local community requests on community join
- propagate SIGNAL_COMMUNITY_MY_REQUEST_ADDED to UI

fixes: #7139
2022-09-21 08:57:18 +02:00
MishkaRogachev 91d80541be fix(ActivityCenter): fix calculating AC notification types
Close #7361
2022-09-20 16:43:21 +03:00
MishkaRogachev 2d02a3cb2e fix(ActivityCenter): Refactor components for viewing notifications 2022-09-20 16:43:21 +03:00
MishkaRogachev edbd9adbb6 fix(ActivityCenter): Getting any of AC notifications visible
Close #7016
2022-09-20 16:43:21 +03:00
Lukáš Tinkl 9addf1221b fix(PinnedMessagesPopup): “Jump to” button doesn’t work pinned messages popup
This was never implemented, eventhough a similar approach is used with
the global AppSearch. Expose the method `scrollToMessage(messageId)` so
that it can be called from QML directly.

Fixes #7375
2022-09-19 16:34:07 +02:00
Richard Ramos 8a9a23a89e fix: contact status not reflected in list 2022-09-19 09:12:00 -04:00
Khushboo Mehta 8c4ce7bc29 fix(@desktop/wallet): Send Modal doesn't fill available height and Drop Shadow missing in Send Modal Footer
Also fixed a crash found while fixing the above bugs

fixed #7133, #7134
2022-09-19 13:22:00 +02:00
Michal Iskierko 62c2b56fc8 fix(@desktop/chat): Improving displaying user names in chat
1. Rename contactDetails.displayName -> defaultDisplayName
2. Add contactDetails.optionalName (filled in contact service)
3. Set in message_model defaultDisplayName and optionalName values
4. Adjust UI

Issue #7241
2022-09-19 11:24:35 +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
Richard Ramos c3aa69b8ab feat: set default sync period to 30 days for new accounts 2022-09-15 15:59:23 -04:00
Anthony Laibe 215f9e0fa6 fix(@wallet): asset formatting
Fix asset formating and display of network only enabled
2022-09-15 16:54:43 +02:00
Sale Djenic a2f48eef49 refactor(@desktop/keycard): buttons' responibility in the keycard popup improved
A new rule introduced which should provide easier tracking/maintainig
later. The rule says:
- popup contains up to 3 action buttons and one back button (optional)
- if 3 buttons are displayed in the popup then the most left button, but
not back button, always triggers tertiary action, middle button always
triggers secondary action and the most right button always triggers primary
action
- if 2 buttons are displayed, then:
  - if one of them is "Cancel" (left button) it should trigger tertiary action
and the other one (right button) should trigger primary action
  - if non of them is "Cancel" then the left button triggers secondary action
and the right button triggers primary action
- if single button is displayed, then:
  - if it's "Cancel" it triggers tertiary action
  - if it is not "Cancel" it triggers primary action
- tertiary action always reffers to the cancel action until otherwise set
- tertiary action will be always triggered by closing popup via keybord
(esc key) or clicking on top right `x` button on the popup
2022-09-15 11:01:32 +02:00
Sale Djenic 03bb1e5bf0 feat(@desktop/keycard): authenticate flow added
- Added `Authenticate` flow
- `Setup a new Keycard with an existing account` updated so it includes `Authenticate` flow
from the point where is needed (when migrating a profile keypair)
- We are missing `Unlock Keycard` flow for this one, will be added once it is developed
2022-09-14 16:05:52 +02:00
Sale Djenic 405171dad7 fix(@desktop/keycard): updates to the onboarding/login flow
- login states updated so they can resolve enter pin state from each state
that flow may be in
- not a keycard state added
- login plugin state added
2022-09-14 16:05:52 +02:00
Sale Djenic 3042a0cffa chore(@desktop/keycard): shared keycard popup module extension
shared keycard popup module is extended with:
- `uniqueIdentifier`
- `settingsService`
- `walletAccountService`
- `keychainService`
2022-09-14 16:05:52 +02:00
Sale Djenic 6e9cb37766 feat(@desktop/keycard): wallet account service extended
new procs added to the wallet account service:
- `addMigratedKeyPair`
- `getAllMigratedKeyPairs`
- `getMigratedKeyPairByKeyUID`
- `setKeycardName`
- `keycardLocked`
- `keycardUnlocked`
- `deleteKeycard`
2022-09-14 16:05:52 +02:00
Sale Djenic fb5065da16 feat(@desktop/keycard): `startSignFlow` added to the keycard service 2022-09-14 16:05:52 +02:00
Sale Djenic 7a998b0e21 feat(@desktop/keycard): user profile prop `address` renamed to `keyUid`
Prop `address` renamed to `keyUid` to be consistent in code and name the
things in the way what they really are.
2022-09-14 16:05:52 +02:00
Patryk Osmaczko 6760870dc9 fix(@desktop/chat): rework members selector
fixes: #5941
fixes: #7234
fixes: #7235
fixes: #7236
fixes: #7237
fixes: #7238
fixes: #7239
fixes: #7240
2022-09-13 12:33:34 +02:00
Jonathan Rainville aba2a42c6f test(@wallet): allow to use ganache with goerli 2022-09-13 11:56:42 +02:00
Stefan 7af95eaada feat(wallet): add favorites for saved addresses
Depends on statug-go favourite flag extension and merging of `favourites`
with `saved_address` tables and API

Additional changes:

- Remove duplicate name instead of ESN

Closes: #6546
2022-09-12 15:58:52 +02:00
Anthony Laibe 81300b655f fix(@wallet): display currency price rather than 24h change
fixes #7268
2022-09-12 11:00:41 +02:00
Patryk Osmaczko ad996d4884 feat(@Desktop/chat): extend chat section model with onlineStatus
closes: #7279
2022-09-12 10:32:25 +02:00
Khushboo Mehta 928e1999d9 feat(@desktop/wallet): Implement Transaction details as per new design
fixes #7214
2022-09-09 21:36:58 +02:00