diff --git a/src/app_service/service/contacts/service.nim b/src/app_service/service/contacts/service.nim index 6ad39c996c..6920127264 100644 --- a/src/app_service/service/contacts/service.nim +++ b/src/app_service/service/contacts/service.nim @@ -58,6 +58,7 @@ QtObject: contactsStatus: Table[string, StatusUpdateDto] # [contact_id, StatusUpdateDto] events: EventEmitter closingApp: bool + imageServerUrl: string # Forward declaration proc getContactById*(self: Service, id: string): ContactsDto @@ -126,7 +127,17 @@ QtObject: let data = ContactArgs(contactId: c.id) self.events.emit(SIGNAL_CONTACT_UPDATED, data) + proc setImageServerUrl(self: Service) = + try: + let response = status_contacts.getImageServerURL() + self.imageServerUrl = response.result.getStr() + except Exception as e: + let errDesription = e.msg + error "error: ", errDesription + return + proc init*(self: Service) = + self.setImageServerUrl() self.fetchContacts() self.doConnect() self.startCheckingContactStatuses() @@ -199,7 +210,7 @@ QtObject: result = self.fetchContact(id) if result.id.len == 0: let alias = self.generateAlias(id) - let identicon = self.generateIdenticon(id) + let identicon = self.imageServerUrl & "identicons?publicKey=" & id result = ContactsDto( id: id, identicon: identicon, diff --git a/src/backend/contacts.nim b/src/backend/contacts.nim index 58f6bb9a89..84839401fc 100644 --- a/src/backend/contacts.nim +++ b/src/backend/contacts.nim @@ -45,3 +45,6 @@ proc sendContactUpdate*(publicKey, ensName, thumbnail: string): RpcResponse[Json let payload = %* [publicKey, ensName, thumbnail] result = callPrivateRPC("sendContactUpdate".prefix, payload) +proc getImageServerURL*(): RpcResponse[JsonNode] {.raises: [Exception].} = + let payload = %* [] + result = callPrivateRPC("imageServerUrl".prefix, payload) diff --git a/src/nim_status_client.nim b/src/nim_status_client.nim index cfde28aef1..2cd1be9724 100644 --- a/src/nim_status_client.nim +++ b/src/nim_status_client.nim @@ -80,6 +80,9 @@ proc mainProc() = enableHDPI(uiScaleFilePath) initializeOpenGL() + let imageCert = imageServerTLSCert() + installSelfSignedCertificate(imageCert) + let app = newQGuiApplication() let appController = newAppController(statusFoundation) let singleInstance = newSingleInstance($toMD5(DATADIR), openUri) diff --git a/vendor/DOtherSide b/vendor/DOtherSide index 5509d6f963..e750cb76e8 160000 --- a/vendor/DOtherSide +++ b/vendor/DOtherSide @@ -1 +1 @@ -Subproject commit 5509d6f9630d675075b070ba27044361be21315a +Subproject commit e750cb76e82350c493ef4bbde2b9160718f8e061 diff --git a/vendor/nim-status-go b/vendor/nim-status-go index d3670390c4..7f590c5b0e 160000 --- a/vendor/nim-status-go +++ b/vendor/nim-status-go @@ -1 +1 @@ -Subproject commit d3670390c449f7de0fbce8cf95e67f66441d126e +Subproject commit 7f590c5b0ed2b7f54af2647cd03305eafdbf8888 diff --git a/vendor/nimqml b/vendor/nimqml index fea98f226c..eb20a5ffb9 160000 --- a/vendor/nimqml +++ b/vendor/nimqml @@ -1 +1 @@ -Subproject commit fea98f226c58395347e987502a097c4386dac42a +Subproject commit eb20a5ffb964507e508bfaa120c71f7c81c5cf8e diff --git a/vendor/status-go b/vendor/status-go index 18854c4cfa..353767aee6 160000 --- a/vendor/status-go +++ b/vendor/status-go @@ -1 +1 @@ -Subproject commit 18854c4cfa6ef1f1a90124ce351ba5de63b6c24b +Subproject commit 353767aee6bfcb5cbc7b9c44e3c440b4f1a2701a