diff --git a/src/app_service/service/message/async_tasks.nim b/src/app_service/service/message/async_tasks.nim index bf1fa76d131..b6b2c8acf08 100644 --- a/src/app_service/service/message/async_tasks.nim +++ b/src/app_service/service/message/async_tasks.nim @@ -3,6 +3,7 @@ include ../../common/json_utils include ../../../app/core/tasks/common import ../../../backend/chat as status_go_chat +import ../../../backend/linkpreview as status_go_linkpreview import ../../../app/core/custom_urls/urls_manager @@ -329,7 +330,7 @@ proc asyncGetTextURLsToUnfurlTask(argEncoded: string) {.gcsafe, nimcall.} = "requestUuid": arg.requestUuid } try: - let response = status_go.getTextURLsToUnfurl(arg.text) + let response = status_go_linkpreview.getTextURLsToUnfurl(arg.text) if response.error != nil: output["error"] = %*response.error.message output["response"] = %*response.result @@ -351,7 +352,7 @@ type proc asyncUnfurlUrlsTask(argEncoded: string) {.gcsafe, nimcall.} = let arg = decode[AsyncUnfurlUrlsTaskArg](argEncoded) try: - let response = status_go.unfurlUrls(arg.urls) + let response = status_go_linkpreview.unfurlUrls(arg.urls) let output = %*{ "error": (if response.error != nil: response.error.message else: ""), "response": response.result, diff --git a/src/app_service/service/message/service.nim b/src/app_service/service/message/service.nim index 69fbe2addb1..2d0058488fe 100644 --- a/src/app_service/service/message/service.nim +++ b/src/app_service/service/message/service.nim @@ -1026,24 +1026,6 @@ QtObject: except Exception as e: error "error: ", procName="onGetFirstUnseenMessageIdFor", errName = e.name, errDesription = e.msg - proc getTextUrls*(self: Service, text: string): seq[string] = - try: - let response = status_go.getTextUrls(text) - if response.result.kind != JArray: - warn "expected response is not an array", methodName = "getTextUrls" - return - return map(response.result.getElems(), proc(x: JsonNode): string = x.getStr()) - - except Exception as e: - error "getTextUrls failed", errName = e.name, errDesription = e.msg - - proc getTextURLsToUnfurl*(self: Service, text: string): UrlsUnfurlingPlan = - try: - let response = status_go.getTextURLsToUnfurl(text) - return toUrlUnfurlingPlan(response.result) - except Exception as e: - error "getTextURLsToUnfurl failed", errName = e.name, errDesription = e.msg - proc onAsyncGetTextURLsToUnfurl*(self: Service, responseString: string) {.slot.} = let response = responseString.parseJson() if response.kind != JObject: diff --git a/src/backend/linkpreview.nim b/src/backend/linkpreview.nim new file mode 100644 index 00000000000..10602af726a --- /dev/null +++ b/src/backend/linkpreview.nim @@ -0,0 +1,16 @@ +import json +import core +import response_type + +export response_type + +proc prefix*(methodName: string): string = + result = "linkpreview_" & methodName + +proc getTextURLsToUnfurl*(text: string): RpcResponse[JsonNode] = + let payload = %*[text] + result = callPrivateRPC("getTextURLsToUnfurl".prefix, payload) + +proc unfurlUrls*(urls: seq[string]): RpcResponse[JsonNode] = + let payload = %*[urls] + result = callPrivateRPC("unfurlURLs".prefix, payload) diff --git a/src/backend/messages.nim b/src/backend/messages.nim index 0699f25ceb2..a9a41d44a29 100644 --- a/src/backend/messages.nim +++ b/src/backend/messages.nim @@ -76,18 +76,6 @@ proc firstUnseenMessageID*(chatId: string): RpcResponse[JsonNode] = let payload = %* [chatId] result = callPrivateRPC("firstUnseenMessageID".prefix, payload) -proc getTextUrls*(text: string): RpcResponse[JsonNode] = - let payload = %*[text] - result = callPrivateRPC("getTextURLs".prefix, payload) - -proc getTextURLsToUnfurl*(text: string): RpcResponse[JsonNode] = - let payload = %*[text] - result = callPrivateRPC("getTextURLsToUnfurl".prefix, payload) - -proc unfurlUrls*(urls: seq[string]): RpcResponse[JsonNode] = - let payload = %*[urls] - result = callPrivateRPC("unfurlURLs".prefix, payload) - proc getCommunityMemberAllMessages*(communityId: string, memberPublicKey: string): RpcResponse[JsonNode] = let payload = %* [{"communityId": communityId, "memberPublicKey": memberPublicKey}] result = callPrivateRPC("getCommunityMemberAllMessages".prefix, payload) diff --git a/vendor/status-go b/vendor/status-go index 06dcd35b585..6453ec67137 160000 --- a/vendor/status-go +++ b/vendor/status-go @@ -1 +1 @@ -Subproject commit 06dcd35b585a97cd8f0da67c24196ff1ba0a9f83 +Subproject commit 6453ec6713784e0873b7f6ca5f73bf7dd9680e37