Commit Graph

679 Commits

Author SHA1 Message Date
Jonathan Rainville 45fddc55ba refactor(act-center): refactor activity center to the new arch 2022-02-01 11:42:55 +01:00
Sale Djenic bfaf1b5250 refactor(@desktop/chat-communities): `ChannelIdentifierView` component updated 2022-02-01 11:41:56 +01:00
Anthony Laibe 6c76974985 refactor(@chat): clear chat history 2022-02-01 11:41:26 +01:00
Anthony Laibe 8ddda242d8 refactor(@chat): mark messages as read 2022-02-01 11:41:26 +01:00
Sale Djenic bd2efb4a1e refactor(@desktop/chat-communities): backend part for mute/unmute feature added
- `chat service` is not `QtObject` inherited class
- mute/unmute methods added to `chat service`
- `type` added to sub items of model used in `chat section` module
- shared message item and model updated with set of new fields
2022-02-01 11:39:51 +01:00
Jonathan Rainville a9c968b984 refactor(chat): refactor 1-1 chat to new architecture
Fixes #4225
2022-02-01 11:39:08 +01:00
Sale Djenic f138fecdd2 refactor(online-users): adding online users for chat/channel 2022-02-01 11:38:07 +01:00
Sale Djenic afe6d34735 refactor: issues after rebase onto `master` fixed 2022-02-01 11:38:04 +01:00
Jonathan Rainville 0d3a8e4d11 refactor(stickers): remove one import from old status-lib code
Only two imports remain. They will be removed once the chat is refactored
2022-02-01 11:37:32 +01:00
Jonathan Rainville 05eb8abf04 fix(stickers): fix getting installed and recent stickers 2022-02-01 11:37:32 +01:00
Sale Djenic 80fcb95245 refactor(chat-section): new chat/community model applied on the qml side
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.

Parts of the code which are not refactored yet are commented out.

Displayed chats/categories/channels since now are using refactored backend.
2022-02-01 11:37:32 +01:00
Sale Djenic 45d93649b6 refactor(chat-section): new chat/community model applied on the qml side
Changes done on the backend side related to the new chat/channel/categories model
are applied here. Necessary changes done on the `statusq` may be seen in PR-486.

Parts of the code which are not refactored yet are commented out.

Displayed chats/categories/channels since now are using refactored backend.
2022-02-01 11:37:15 +01:00
Sale Djenic 64c0148bbf refactor(general): new convenient methods added to chat and contact services
- `getOneToOneChatNameAndImage` method added to the chat service, we should
use where ever in the app we need to display one to one chat image and name
- `getContactNameAndImage` method added to the contacts service, we should use
when we want to display pretty contact name and correct image/identicon depends
what user set
2022-02-01 11:36:59 +01:00
Jonathan Rainville 22595f5032 refactor(chat): move stickers to the new architecture
Fixes #4060
2022-02-01 11:36:59 +01:00
Jonathan Rainville 3f12796b45 Revert "refactor(chat): move stickers to the new architecture"
This reverts commit 47aa079e0d.
2022-02-01 11:36:59 +01:00
Jonathan Rainville 792397987c refactor(chat): move stickers to the new architecture
Fixes #4060
2022-02-01 11:36:44 +01:00
Sale Djenic 0a8a5c4795 refactor(node-configuration-service): node configuration added added as a new service 2022-02-01 11:36:43 +01:00
Sale Djenic bf651c093e refactor(fleet-configuration): fleet configuration added to `StatusFoundation` 2022-02-01 11:36:40 +01:00
Sale Djenic 7a9784b854 refactor(settings-service): settings improved
Since we had 2 services dealing with the same `status-go` settings, this
commit merges them into a single one. Also we have new public methods
exposed what minimizes a possibility for error since a key for each setting
is kept in the service.
2022-02-01 11:36:23 +01:00
Sale Djenic 7c36e98cf3 chore(general): necessary changes applied after rebasing 2022-02-01 11:35:51 +01:00
Sale Djenic caf7fd2072 refactor(contacts-service): general improvement
- Signal's arguments updated
- Sent payload optimized
- Local nickname added to profile section contacts model
- Rest updated accordingly to above changes
2022-02-01 11:35:37 +01:00
Jonathan Rainville cb7865bd9e refactor: move contact requests to new architecture
Fixes #4061

Most of the contact request code was already moved, but it wasn't hooked to the QML yet and also there were missing events and some code to improve.
2022-02-01 11:35:24 +01:00
Sale Djenic e72b2d1007 refactor(general): managing signals from `status-go` added
Signals which were part of the `status-lib` are now part of the desktop app.
New class `SignalsManager` is introduced which is a main point for receiving
signals from `status-go`.
2022-02-01 11:34:42 +01:00
Sale Djenic 4b882be8bd refactor(osnotification): os notification service updated
- os notification doesn't belong to core features so it's moved from there
- os notification service updated and read to be used as other service
- leftovers moved from `status-lib` that's its version is updated
- using os notification service is commented out in the old code
2022-02-01 11:34:38 +01:00
Sale Djenic a99422a00a refactor(general): core things moved to `core` section of the app 2022-02-01 11:34:23 +01:00
Sale Djenic 786c0b4041 refactor(general): global things moved to `global` section of the app 2022-02-01 11:34:00 +01:00
Sale Djenic 5c0bb9b0b9 refactor(wallet2): the old way of fetching crypto services asynchronous is removed 2022-02-01 11:34:00 +01:00
Sale Djenic 0def67e783 refactor(contacts-service): added local name for a contact
Within this commit local name for a contact is added to `ContactsDto` which will
be used across the app.
- backend part for changing contact's username is added
- new signal under `SIGNAL_CONTACT_UPDATED` is introduced for the contacts service
- `saveContact` method of the contacts service updated so it saves contact
for a real now
- in order to be consistent across the app `userNameOrAlias` method is updated
so it includes locally set username for a contact
2022-02-01 11:33:56 +01:00
Sale Djenic 97fa526c5e refactor(messages-service): methods for mark all and mark certain messages as read added 2022-02-01 11:33:38 +01:00
Sale Djenic c6820c9369 refactor(app-search): unused app search related code removed 2022-02-01 11:33:38 +01:00
Sale Djenic ab38614b08 refactor(contact-service): `ContactsDto` is `object` type instead `ref object` 2022-02-01 11:33:38 +01:00
Sale Djenic 9e60b4ecfe refactor(chat-communities): chat naming follows alias/ens naming 2022-02-01 11:32:46 +01:00
Sale Djenic d67278b23e refactor(app-search): app search module added 2022-02-01 11:32:42 +01:00
Sale Djenic fd3303a4e8 refactor(@desktop/chat-communities): pinned messages added
Option to pin/unpin message added on the backend side.
Pinned model added to the chat content module.
Message service updated accordingly.
2022-02-01 11:32:32 +01:00
Sale Djenic 9777191501 refactor(@desktop/chat-communities): messages added
Messages model added, not completely done.
Also convenient methods for add/remove reactions are added.
2022-02-01 11:32:32 +01:00
Sale Djenic eca74532ac refactor(@desktop/chat-communities): asynchronous fetching messages 2022-02-01 11:32:32 +01:00
Sale Djenic d8dea2dc58 refactor(@desktop/chat-communities): initial model for the chat/community sections
Model used for list of chats in case of Chat section and used for
channels/categories/category channels is initially added. With an option for
setting active chat/channel/category (which are an Item type) and setting active
channel within a category (which is a SubItem type).
2022-02-01 11:32:31 +01:00
Sale Djenic b15c348931 refactor(@desktop/general): notifications set for certain app sections 2022-02-01 11:32:31 +01:00
Anthony Laibe 6915c19c84 feat: move create accounts to status-go 2022-01-24 10:44:31 +01:00
Anthony Laibe 1bbb9d345d feat: move token balance retrieval to status go 2022-01-14 10:43:25 +01:00
Richard Ramos e88a936193 refactor: mailserver cycle 2022-01-12 16:04:12 +00:00
Anthony Laibe 8889bbdb08 fix(@wallet): tx history view
fixes #4385

Correctly display the date and if the node is an archival node
2022-01-10 15:58:36 +01:00
Pascal Precht cdd79a87e7 fix: make changing local nicknames of contacts work again
This fixes #4173 again. The problem is that changing the local nickname
of a contact now uses new APIs in Status Desktop which emit new events that
older code isn't aware off. Namely, the event handling in the chat section
doesn't get informed anymore that the contact has changed, so it won't update
the view accordingly.

This commit fixes it by subscribing to that newly introduced event
and then updating the view with the payload data.

Notice that this is a quick fix and will most likely be obsolete, once
the chat section has moved to the new architecture as well.

Fixes #4173
2022-01-05 10:37:43 +01:00
Richard Ramos f0ee4bb402 fix: code review 2022-01-03 13:01:06 +00:00
Richard Ramos c0108bd1bf chore: use TrustedMailServers from NodeConfig in mailserver cycle for wakuv1 2022-01-03 13:01:06 +00:00
Anthony Laibe 64edace12a feat: Use ens API 2022-01-03 10:35:22 +01:00
Richard Ramos 528210b50f fix: ensResourceURL 2021-12-22 16:13:23 +00:00
Richard Ramos f5d53f9112 refactor: move provider logic to status-go 2021-12-22 16:13:23 +00:00
Anthony Laibe 8bc678dacd feat(ens): new backend 2021-12-21 16:40:01 +01:00
Richard Ramos cebe20a152 fix: ensure the contact name contains an ens name
Fixes 4271
2021-12-10 12:44:05 +00:00
Anthony Laibe 60a3158cae feat(@desktop/settings): Add developer mode toggle 2021-12-10 10:20:58 +01:00
Jonathan Rainville 1a0fb268e3 fix(notifications): fix notification setup called too soon 2021-12-09 11:19:03 -05:00
Alexandra Betouni 5e88a9a91b refactor(desktop): Removed all timeline related code
Removed all timeline associated code from base_bc.
This feature is deprecated and shall be removed

Closes #4064
2021-12-03 19:55:45 +02:00
Alexandra Betouni b4b28d2f98 feat(desktop/contacts) Improvements in contacts
Contacts updates currently in base_bc

Closes #4100
2021-12-01 20:51:06 +02:00
Anthony Laibe 2d49da7331 feat: Allow to enable auto message 2021-11-29 14:46:38 +01:00
Sale Djenic a01fdd29dd fix(account-service): preparing account settings object updated 2021-11-24 13:15:15 +01:00
Sale Djenic 484748314f fix(general): online/offline selector updated
Fixes: #4049
2021-11-24 13:15:15 +01:00
Sale Djenic de9b475dd5 refactor(contact-service): `ContactsDto` images issue fixed
This affects app search, now chats in location menu as well as senders'
images of the displayed messages in the search result.
2021-11-24 13:15:15 +01:00
Pascal Precht 338c7854b0 fix: ensure contact data is refetched when changes where made
Changes in contact data caused via calls to any contact related APIs wouldn't be
reflected in the UI because it doesn't re-fetch the updated state from status-go.

This commit makes the contactsService `fetchContacts` API public so it can be
used on the profile section control to re-fetch contact data when changes to
contacts have been emitted.
2021-11-23 14:01:26 -04:00
Pascal Precht 71d2ab25c0 fix: make contact related APIs working again
This adjust the changes needed to have Status Desktop
talk to new contact related APIs that were introduced in status-lib
and status-go as of https://github.com/status-im/status-lib/pull/110

Closes #4147
2021-11-23 14:46:05 +01:00
Jonathan Rainville 0c84f5e90f chore(version): make the version changing more obvious 2021-11-19 10:06:40 -05:00
Richard Ramos f9b08abd72 fix: review 2021-11-19 10:19:11 -04:00
Richard Ramos 1989ad7971 refactor!: provider transactions 2021-11-19 10:19:11 -04:00
Richard Ramos 44e91df428 feat: add toggle for switching status-go DEBUG log level 2021-11-16 09:42:28 -04:00
Anthony Laibe df670bfcbb fix(desktop/wallet): new account with error 2021-11-16 10:07:15 +01:00
Jonathan Rainville 2d0c95feb3 fix: fix adding custom tokens
Fixes #4040 for real this time
2021-11-11 09:58:05 -05:00
Anthony Laibe f913dce44a feat: allow to enable/disable telemetry 2021-11-10 10:14:40 -05:00
Richard Ramos 50e8d0aa90 feat: prepare desktop for dogfooding
- Use go-waku fleet for rendezvous
- Use dns-discovery for obtaining fleet nodes
2021-11-09 15:54:20 -05:00
Jonathan Rainville 480219b823 fix(wallet): fix getting balance of custom tokens
Fixes #4040
2021-11-05 15:31:32 -04:00
Sale Djenic d53548f68c fix(@refactoring/base_01): crash on recovering account
Fixes: #3953
2021-11-05 14:16:09 -04:00
Jonathan Rainville ffa9a93042 fix(wallet): fix gas estimation 2021-11-05 14:10:29 -04:00
Jonathan Rainville ac823079ac fix(profile): fix changing language
Fixes #4000
2021-11-05 11:02:45 -04:00
Jonathan Rainville cd428678f7 fix(profile): fix profile pic change and move it to new architecture
Fixes #3997
2021-11-05 11:02:45 -04:00
Anthony Laibe 64d2c03e40 fix(@desktop/wallet): display STT token by default on test nets 2021-11-05 11:02:45 -04:00
Jonathan Rainville 8dcc63bdf6 refactor: make tx history fetch async again 2021-11-05 11:02:45 -04:00
Jonathan Rainville 8aec0c62e7 refactor: re-enable async search of ENS names for contacts
Fixes #3986
2021-11-05 11:02:45 -04:00
Sale Djenic 4c96bc70ed refactor(@desktop/general): dto should not be `ref object` 2021-11-05 11:02:45 -04:00
Anthony Laibe 59f604349c refactor(@wallet/desktop): refactor wallet with new architecture
refactor: wallet: connect current account

refactor(@wallet): load collection and connect to store

refactor(@wallet): add boilerplate for accounts creation/generation

refactor(@wallet): watch account

refactor(@wallet): Add account generation

refactor(@wallet): display all accounts

refactor(@wallet): switch account

refactor(@desktop): update current currency

refactor(@desktop/wallet): token action

refactor(@desktop/wallet): Add update account

refactor(@desktop/wallet): filter chat account from wallet

refactor(@desktop/wallet): Update currency attribute

refactor(@desktop/wallet): Fix display of various balances

refactor(@dekstop/wallet): handle current account changed

refactor(@wallet/desktop): add notify event on main section

refactor(@desktop/wallet): Push events from service

refactor(@desktop/wallet): handle all tokens event

refactor(@desktop/wallet): refresh accounts on event

refactor(@wallet/desktop): formatting of currency balances

refactor(@desktop/wallet): load collectible

refactor: refactor wallet transaction history to the new architecture

update status-lib

refactor: add back events for the transaction history

refactor: support multiple accounts in the transaction history
2021-11-05 11:02:45 -04:00
Iuri Matias 7be5572ede add privacy module 2021-11-05 11:02:45 -04:00
Iuri Matias 7c8f3f5923 add mnemonic module 2021-11-05 11:02:45 -04:00
Iuri Matias 4b10d26865 add language section & service 2021-11-05 11:02:45 -04:00
Richard Ramos 50a3e5f346 refactor: dapps and permissions 2021-11-05 11:02:45 -04:00
Richard Ramos a156a8be1e fix: wrong service method signature 2021-11-05 11:02:45 -04:00
Richard Ramos c0d87dd063 refactor: provider pt1 and dapp permissions service 2021-11-05 11:02:45 -04:00
Jonathan Rainville 1d0b20b156 refactor: refactor contacts sub-section to the new architecture 2021-11-05 11:02:45 -04:00
Sale Djenic 8c3c4d7607 refactor(@desktop/general): code cleaned app after `accountSettings` and `globalSettings` moved to Nim
Since we have `accountSettings` and `globalSettings` available on both sides Nim
and qml, we don't need `src/app_service/service/local_settings/service` any more.
Indeed it has never been a service logically, but we made it as service according to
the old code base.

Accessing any of local setting instances is easy doable from any part of the app just
using `singletonInstance` and appropriate settings from it.
2021-11-05 11:02:45 -04:00
Iuri Matias 4e3ecbf4b5 add profile section
add profile module

add boilerplate for profile section

add profile module

add profile module

fix variant

 use accounts service

get identityimage to work

cleanup

add other contacts services

add contacts service

make contact section compile with refactor

fix controller and service interfaces

add about section
2021-11-05 11:02:45 -04:00
Richard Ramos 70c1095b60 refactor: creating module for bookmarks and provider 2021-11-05 11:02:45 -04:00
Anthony Laibe 5b1510313a fix: loading service without error 2021-11-05 11:02:45 -04:00
Anthony Laibe a7a56cf471 refactor(@desktop/wallet): connect ui and account token 2021-11-05 11:02:45 -04:00
Anthony Laibe 6a1923abcf refactor(@desktop/wallet): Add walletaccount to more module 2021-11-05 11:02:45 -04:00
Anthony Laibe 4bbf19c470 refactor(@wallet/desktop): bind new token list to qml 2021-11-05 11:02:45 -04:00
Anthony Laibe 142d2a9188 refactor(@desktop/wallet): enable check recent history 2021-11-05 11:02:45 -04:00
Anthony Laibe b7eaef8a84 refactor(@desktop/wallet): load account list 2021-11-05 11:02:45 -04:00
Anthony Laibe 7e22ff161c refactor(@desktop/wallet): add balance and price 2021-11-05 11:02:45 -04:00
Anthony Laibe b01e20302b refactor(@desktop/wallet): build wallet account token 2021-11-05 11:02:45 -04:00
Anthony Laibe b050796fc8 refactor(@desktop/wallet): add visible property to token 2021-11-05 11:02:45 -04:00
Anthony Laibe 0d129fa7fd refactor(@desktop/wallet): Add settings service and to module 2021-11-05 11:02:45 -04:00
Anthony Laibe a876a4b9ce refactor(@desktop/wallet): Add wallet account service 2021-11-05 11:02:45 -04:00
Anthony Laibe 0b38ec2568 refactor(@desktop/wallet): Connect backend to collectible service 2021-11-05 11:02:45 -04:00
Anthony Laibe 20a636d912 refactor(@desktop/wallet): Init collectible service 2021-11-05 11:02:45 -04:00
Anthony Laibe 8203643f86 refactor(@desktop/wallet): Init transaction service 2021-11-05 11:02:45 -04:00
Anthony Laibe 27d92f32f9 refactor(@desktop/wallet): Add getToken and controller 2021-11-05 11:02:45 -04:00
Anthony Laibe d9b6153ed0 refactor(@desktop/wallet): add token service 2021-11-05 11:02:45 -04:00
Sale Djenic 162ced9c38 Local account settings is not part of the `local_settings` service any more,
cause it logically doesn't belong there as it is not a service. It is a global
instance, exposed to the UI (qml) part. Since it represents QSettings it should
be maintained from the single point.
2021-11-05 11:02:45 -04:00
Sale Djenic 37e9150021 Cleaning up the code, and removing leftovers 2021-11-05 11:02:45 -04:00
Sale Djenic 72197f86f5 Accounts service is cleared if on NodeStopped signal 2021-11-05 11:02:45 -04:00
Sale Djenic 48a39e4569 keychain feature refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 44ba3f43f7 Local account settings exposed to the UI 2021-11-05 11:02:45 -04:00
Sale Djenic 08e7fef491 keychain feature partly refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 3e0d312fee Events class is forwarded instead of whole AppService 2021-11-05 11:02:45 -04:00
Sale Djenic c3a374c36a Local settings service moved to AppController.
Old ProfileController and related props moved to AppController in order
to have an usable app during refactoring of onboarding/login modules.
2021-11-05 11:02:45 -04:00
Sale Djenic 4f3ca4eb78 login process refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 30f11c06d4 onboarding process updated, import account feature handled 2021-11-05 11:02:45 -04:00
Sale Djenic e9bb9b256e Onboarding creating new account process updated. 2021-11-05 11:02:45 -04:00
Sale Djenic cc20c234e0 Community section as an identified module's type is removed since community
section is nothing else but the special kind of chat section module type. The
rest of the code is updated accordingly.
2021-11-05 11:02:45 -04:00
Sale Djenic 9f4eeffdea A base structure for new architecture added
Initial structure for MainModule containing ChatSectionModule and
CommunitySectionModule is added, as well as initial structure for
StartupModule containing OnboardingModule and LoginModule.

Order of execution is updated and adapted to the current app state.
Main module gets loaded once a user is successfully logged in.
2021-11-05 11:02:45 -04:00
Richard Ramos f3f0987d43 fix: wakuV2 mailserver cycle 2021-10-05 16:15:29 -04:00
Richard Ramos 350472ed03 fix race condition by setting the peers on init 2021-10-05 16:15:29 -04:00
Anthony Laibe 22e8c8a7ff fix(@desktop/profile): Split account and profile settings
Avoid to reveal which alias own which settings. The only settings
pre-login available is the storeToKeychain

Ideally we should also encrypt the profile settings
2021-10-01 10:29:05 -04:00
Anthony Laibe a44822d7f6 fix(@desktop/profile): Fix loading the correct settings
Since #e0c53b7012354023e367c33093598f7523063aa6 settings where loaded
according to the username while they should be loaded after the public
key

As the public key is only available once the login happened, it needs
to be set when the profile is being initialized
2021-10-01 10:29:05 -04:00
Richard Ramos f43a1a65ea fix: message history issues
- Display loading indicator on login when mailserver messages are requested
- Fix bug where the mailserver that's selected as soon as you login is disconnected while being still in the process of connecting instead of waiting until 10s have passed to try connecting to a different mailserver
- Use status-go version that fixes an issue fetching mailserver messages when more than 999 messages are being verified if they're in the cache
2021-09-28 14:26:19 -04:00
Richard Ramos 214069cb25 feat: display mailserver interactions 2021-09-17 13:14:01 -04:00
Sale Djenic e0c53b7012 refactor(@desktop/general): managing local settings added on the nim side
From now on we are able to access local settings (settings and global settings)
on the nim side, not only through the qml.

This change is required as part of the feature issue-2675.
2021-09-17 12:45:34 -04:00
Richard Ramos 1db9e1b151 chore: remove unused imports 2021-09-16 14:56:25 -04:00
Iuri Matias 3b4d6ade7d rename libstatus to statusgo_backend 2021-09-11 17:51:52 -04:00
Richard Ramos d32c3e53d9 refactor: signal handling 2021-09-09 14:35:51 -04:00
Richard Ramos 32049aa928 refactor: extract status to separate repository 2021-09-08 15:52:43 -04:00
Sale Djenic 7c812c0961 refactor(@desktop/general): move Qt logic out of src/status library
Since `src/status` was Qt dependant part because of the following foundation files:
- /src/status/tasks/marathon/mailserver/controller.nim
- /src/status/signals/core.nim
- /src/status/tasks/marathon/mailserver/events.nim
- /src/status/tasks/qt.nim

and because logic related classes like:
- /src/status/chat.nim

this commit made that part Qt independant.

New layer `src/app_service` is introduced and above mentioned foundation files
are moved there. As well as corresponding logic for requested services.

Communication between logical parts on the high level is as follows:
- `src/app` => `src/app_service` => `src/status` => `src/app`
- `src/app` => `src/status` => `src/app`

Fixes: #3376
2021-09-08 14:09:21 -04:00