fix: app crashes when adding a contact and getContactById is nil
This commit is contained in:
parent
c10e0a8503
commit
997e34ed8a
|
@ -1,5 +1,6 @@
|
|||
import json, sequtils
|
||||
import libstatus/contacts as status_contacts
|
||||
import libstatus/accounts as status_accounts
|
||||
import profile/profile
|
||||
import ../eventemitter
|
||||
|
||||
|
@ -43,8 +44,24 @@ proc getContacts*(self: ContactModel): seq[Profile] =
|
|||
self.events.emit("contactUpdate", ContactUpdateArgs(contacts: result))
|
||||
|
||||
proc addContact*(self: ContactModel, id: string, localNickname: string): string =
|
||||
let contact = self.getContactByID(id)
|
||||
var contact = self.getContactByID(id)
|
||||
if contact == nil:
|
||||
let alias = status_accounts.generateAlias(id)
|
||||
contact = Profile(
|
||||
id: id,
|
||||
username: alias,
|
||||
identicon: status_accounts.generateIdenticon(id),
|
||||
alias: alias,
|
||||
ensName: "",
|
||||
ensVerified: false,
|
||||
ensVerifiedAt: 0,
|
||||
appearance: 0,
|
||||
ensVerificationRetries: 0,
|
||||
systemTags: @[]
|
||||
)
|
||||
|
||||
let updating = contact.systemTags.contains(":contact/added")
|
||||
echo "C"
|
||||
if not updating:
|
||||
contact.systemTags.add(":contact/added")
|
||||
let nickname =
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import json
|
||||
import core, utils
|
||||
import core, utils, types, settings
|
||||
from ../profile/profile import Profile
|
||||
|
||||
# TODO: remove Profile from here
|
||||
|
@ -39,3 +39,7 @@ proc saveContact*(id: string, ensVerified: bool, ensName: string, ensVerifiedAt:
|
|||
"localNickname": localNickname
|
||||
}]
|
||||
callPrivateRPC("saveContact".prefix, payload)
|
||||
|
||||
proc requestContactUpdate*(): string =
|
||||
let publicKey = $getSetting[string](Setting.PublicKey, "")
|
||||
callPrivateRPC("sendContactUpdate".prefix, %* [publicKey, "", ""])
|
Loading…
Reference in New Issue