mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 15:34:13 +00:00 
			
		
		
		
	update latest note in background (don't await the result)
This commit is contained in:
		
							parent
							
								
									b18d7c0f3f
								
							
						
					
					
						commit
						c55af9c3b3
					
				
					 2 changed files with 17 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -531,8 +531,6 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
			
		|||
				await this.notesRepository.insert(insert);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			await this.updateLatestNote(insert);
 | 
			
		||||
 | 
			
		||||
			return insert;
 | 
			
		||||
		} catch (e) {
 | 
			
		||||
			// duplicate key error
 | 
			
		||||
| 
						 | 
				
			
			@ -815,6 +813,9 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
			
		|||
			});
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Update the Latest Note index / following feed
 | 
			
		||||
		this.updateLatestNoteBG(note);
 | 
			
		||||
 | 
			
		||||
		// Register to search database
 | 
			
		||||
		if (!user.noindex) this.index(note);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1145,7 +1146,13 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
			
		|||
		this.dispose();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private async updateLatestNote(note: MiNote) {
 | 
			
		||||
	private updateLatestNoteBG(note: MiNote): void {
 | 
			
		||||
		this
 | 
			
		||||
			.updateLatestNote(note)
 | 
			
		||||
			.catch(err => console.error('Unhandled exception while updating latest_note (after create):', err));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private async updateLatestNote(note: MiNote): Promise<void> {
 | 
			
		||||
		// Ignore DMs.
 | 
			
		||||
		// Followers-only posts are *included*, as this table is used to back the "following" feed.
 | 
			
		||||
		if (note.visibility === 'specified') return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ export class NoteDeleteService {
 | 
			
		|||
			userId: user.id,
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		await this.updateLatestNote(note);
 | 
			
		||||
		this.updateLatestNoteBG(note);
 | 
			
		||||
 | 
			
		||||
		if (deleter && (note.userId !== deleter.id)) {
 | 
			
		||||
			const user = await this.usersRepository.findOneByOrFail({ id: note.userId });
 | 
			
		||||
| 
						 | 
				
			
			@ -236,6 +236,12 @@ export class NoteDeleteService {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private updateLatestNoteBG(note: MiNote): void {
 | 
			
		||||
		this
 | 
			
		||||
			.updateLatestNote(note)
 | 
			
		||||
			.catch(err => console.error('Unhandled exception while updating latest_note (after delete):', err));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private async updateLatestNote(note: MiNote) {
 | 
			
		||||
		// If it's a DM, then it can't possibly be the latest note so we can safely skip this.
 | 
			
		||||
		if (note.visibility === 'specified') return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue