-async function loadActorUrlOrGetFromWebfinger (name: string, host: string) {
- const actor = await ActorModel.loadByNameAndHost(name, host)
+async function loadActorUrlOrGetFromWebfinger (uriArg: string) {
+ // Handle strings like @toto@example.com
+ const uri = uriArg.startsWith('@') ? uriArg.slice(1) : uriArg
+
+ const [ name, host ] = uri.split('@')
+ let actor: MActorFull
+
+ if (!host || host === WEBSERVER.HOST) {
+ actor = await ActorModel.loadLocalByName(name)
+ } else {
+ actor = await ActorModel.loadByNameAndHost(name, host)
+ }
+