enhance(backend): inbox queue error in update note

This commit is contained in:
caipira113 2023-10-27 21:53:55 +09:00
parent a485fa3e82
commit 1312c4f944
No known key found for this signature in database
2 changed files with 5 additions and 12 deletions

View file

@ -824,9 +824,9 @@ export class ApInboxService {
const unlock = await this.appLockService.getApLock(uri);
try {
//const exist = await this.apNoteService.fetchNote(note);
//if (exist) return 'skip: note exists';
await this.apNoteService.updateNote(note, resolver, silent);
const target = await this.notesRepository.findOneBy({uri: uri});
if (!target) return `skip: target note not located: ${uri}`;
await this.apNoteService.updateNote(note, target, resolver, silent);
return 'ok';
} catch (err) {
if (err instanceof StatusError && err.isClientError) {

View file

@ -340,7 +340,7 @@ export class ApNoteService {
}
@bindThis
public async updateNote(value: string | IObject, resolver?: Resolver, silent = false): Promise<MiNote | null> {
public async updateNote(value: string | IObject, target: MiNote, resolver?: Resolver, silent = false): Promise<MiNote | null> {
if (resolver == null) resolver = this.apResolverService.createResolver();
const object = await resolver.resolve(value);
@ -370,13 +370,6 @@ export class ApNoteService {
throw new Error('actor has been suspended');
}
const b_note = await this.notesRepository.findOneBy({
uri: entryUri
}).then(x => {
if (x == null) throw new Error('note not found');
return x;
});
const limit = promiseLimit<MiDriveFile>(2);
const files = (await Promise.all(toArray(note.attachment).map(attach => (
limit(() => this.apImageService.resolveImage(actor, {
@ -418,7 +411,7 @@ export class ApNoteService {
apHashtags,
apEmojis,
poll,
}, b_note, silent);
}, target, silent);
} catch (err: any) {
this.logger.warn(`note update failed: ${err}`);
return err;