From cd7de2a2e5d89e9b1d5ad425a720f63cb16acd76 Mon Sep 17 00:00:00 2001 From: Andrey Bocharnikov Date: Thu, 16 May 2024 20:40:46 +0400 Subject: [PATCH] Fix(ProfileShowcase): send contact update when bio changes fixes #12617 --- .../profile_section/profile/controller.nim | 2 +- src/app_service/service/profile/service.nim | 20 ++++++++++++++++--- src/backend/accounts.nim | 4 ++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/app/modules/main/profile_section/profile/controller.nim b/src/app/modules/main/profile_section/profile/controller.nim index a927dfa115..6bc77e96e0 100644 --- a/src/app/modules/main/profile_section/profile/controller.nim +++ b/src/app/modules/main/profile_section/profile/controller.nim @@ -91,7 +91,7 @@ proc getBio*(self: Controller): string = self.settingsService.getBio() proc setBio*(self: Controller, bio: string): bool = - self.settingsService.saveBio(bio) + self.profileService.setBio(bio) proc saveProfileShowcasePreferences*(self: Controller, preferences: ProfileShowcasePreferencesDto, revealedAddresses: seq[string]) = self.profileService.saveProfileShowcasePreferences(preferences) diff --git a/src/app_service/service/profile/service.nim b/src/app_service/service/profile/service.nim index c38c143e90..7cdf2736b3 100644 --- a/src/app_service/service/profile/service.nim +++ b/src/app_service/service/profile/service.nim @@ -88,17 +88,31 @@ QtObject: proc setDisplayName*(self: Service, displayName: string): bool = try: let response = status_accounts.setDisplayName(displayName) - if(not response.error.isNil): + if not response.error.isNil: error "could not set display name" return false - if(not self.settingsService.saveDisplayName(displayName)): - error "could save display name to the settings" + if not self.settingsService.saveDisplayName(displayName): + error "could not save display name to the settings" return false return true except Exception as e: error "error: ", procName="setDisplayName", errName = e.name, errDesription = e.msg return false + proc setBio*(self: Service, bio: string): bool = + try: + let response = status_accounts.setBio(bio) + if not response.error.isNil: + error "could not set bio" + return false + if not self.settingsService.saveBio(bio): + error "could not set bio to the settings" + return false + return true + except Exception as e: + error "error: ", procName="setBio", errName = e.name, errDesription = e.msg + return false + proc requestProfileShowcasePreferences*(self: Service) = let arg = QObjectTaskArg( tptr: cast[ByteAddress](asyncGetProfileShowcasePreferencesTask), diff --git a/src/backend/accounts.nim b/src/backend/accounts.nim index 57a1b19904..8ec27a8d5b 100644 --- a/src/backend/accounts.nim +++ b/src/backend/accounts.nim @@ -421,6 +421,10 @@ proc setDisplayName*(displayName: string): RpcResponse[JsonNode] = let payload = %* [displayName] result = core.callPrivateRPC("setDisplayName".prefix, payload) +proc setBio*(bio: string): RpcResponse[JsonNode] = + let payload = %* [bio] + result = core.callPrivateRPC("setBio".prefix, payload) + proc getDerivedAddresses*(password: string, derivedFrom: string, paths: seq[string]): RpcResponse[JsonNode] = let payload = %* [password, derivedFrom, paths] result = core.callPrivateRPC("wallet_getDerivedAddresses", payload)