fix: process community info requests fails (#12357)
This commit is contained in:
parent
338e6f5fa9
commit
3321708629
|
@ -85,7 +85,7 @@ proc init*(self: Controller) =
|
|||
|
||||
self.events.on(SIGNAL_COMMUNITY_LOAD_DATA_FAILED) do(e: Args):
|
||||
let args = CommunityArgs(e)
|
||||
self.delegate.onImportCommunityErrorOccured(args.community.id, args.error)
|
||||
self.delegate.onImportCommunityErrorOccured(args.communityId, args.error)
|
||||
|
||||
self.events.on(SIGNAL_COMMUNITY_INFO_ALREADY_REQUESTED) do(e: Args):
|
||||
self.delegate.communityInfoAlreadyRequested()
|
||||
|
|
|
@ -28,6 +28,7 @@ logScope:
|
|||
type
|
||||
CommunityArgs* = ref object of Args
|
||||
community*: CommunityDto
|
||||
communityId*: string # should be set when community is nil (i.e. error occured)
|
||||
error*: string
|
||||
fromUserAction*: bool
|
||||
|
||||
|
@ -1428,17 +1429,20 @@ QtObject:
|
|||
|
||||
proc asyncCommunityInfoLoaded*(self: Service, communityIdAndRpcResponse: string) {.slot.} =
|
||||
let rpcResponseObj = communityIdAndRpcResponse.parseJson
|
||||
if rpcResponseObj{"error"}.kind != JNull and rpcResponseObj{"error"}.getStr != "":
|
||||
error "Error requesting community info", msg = rpcResponseObj{"error"}
|
||||
return
|
||||
|
||||
var community = rpcResponseObj{"response"}{"result"}.toCommunityDto()
|
||||
let requestedCommunityId = rpcResponseObj{"communityId"}.getStr()
|
||||
self.requestedCommunityIds.excl(requestedCommunityId)
|
||||
|
||||
if rpcResponseObj{"error"}.kind != JNull and rpcResponseObj{"error"}.getStr != "":
|
||||
error "Error requesting community info", msg = rpcResponseObj{"error"}
|
||||
self.events.emit(SIGNAL_COMMUNITY_LOAD_DATA_FAILED, CommunityArgs(communityId: requestedCommunityId, error: "Couldn't find community info"))
|
||||
return
|
||||
|
||||
var community = rpcResponseObj{"response"}{"result"}.toCommunityDto()
|
||||
|
||||
if community.id == "":
|
||||
community.id = requestedCommunityId
|
||||
self.events.emit(SIGNAL_COMMUNITY_LOAD_DATA_FAILED, CommunityArgs(community: community, error: "Couldn't find community info"))
|
||||
self.events.emit(SIGNAL_COMMUNITY_LOAD_DATA_FAILED, CommunityArgs(communityId: requestedCommunityId, community: community, error: "Couldn't find community info"))
|
||||
return
|
||||
|
||||
self.communities[community.id] = community
|
||||
|
|
|
@ -308,7 +308,6 @@ Item {
|
|||
target: appMain.communitiesStore
|
||||
|
||||
function onImportingCommunityStateChanged(communityId, state, errorMsg) {
|
||||
const community = appMain.communitiesStore.getCommunityDetailsAsJson(communityId)
|
||||
let title = ""
|
||||
let subTitle = ""
|
||||
let loading = false
|
||||
|
@ -318,6 +317,7 @@ Item {
|
|||
switch (state)
|
||||
{
|
||||
case Constants.communityImported:
|
||||
const community = appMain.communitiesStore.getCommunityDetailsAsJson(communityId)
|
||||
if(community.isControlNode) {
|
||||
title = qsTr("This device is now the control node for the %1 Community").arg(community.name)
|
||||
notificationType = Constants.ephemeralNotificationType.success
|
||||
|
@ -331,7 +331,7 @@ Item {
|
|||
loading = true
|
||||
break
|
||||
case Constants.communityImportingError:
|
||||
title = qsTr("Failed to import community '%1'").arg(community.name)
|
||||
title = qsTr("Failed to import community '%1'").arg(communityId)
|
||||
subTitle = errorMsg
|
||||
break
|
||||
default:
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 80f25d5ff7828478d27cbbf2af474be578b79f08
|
||||
Subproject commit da3df63eb19a0a267caf67e6fcdf2d5a8291b888
|
Loading…
Reference in New Issue