enhance(backend): inbox queue error in update note

(cherry picked from commit 1312c4f944b235d77275a51047275f84e4904de8)
This commit is contained in:
caipira113 2023-10-27 21:53:55 +09:00 committed by mattyatea
parent 958f94dbc7
commit 8bbe703383
2 changed files with 5 additions and 12 deletions

View file

@ -785,9 +785,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

@ -335,7 +335,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);
@ -365,13 +365,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, {
@ -413,7 +406,7 @@ export class ApNoteService {
apHashtags,
apEmojis,
poll,
}, b_note, silent);
}, target, silent);
} catch (err: any) {
this.logger.warn(`note update failed: ${err}`);
return err;