mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24: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.notesRepository.insert(insert);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			await this.updateLatestNote(insert);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			return insert;
 | 
								return insert;
 | 
				
			||||||
		} catch (e) {
 | 
							} catch (e) {
 | 
				
			||||||
			// duplicate key error
 | 
								// 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
 | 
							// Register to search database
 | 
				
			||||||
		if (!user.noindex) this.index(note);
 | 
							if (!user.noindex) this.index(note);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -1145,7 +1146,13 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
				
			||||||
		this.dispose();
 | 
							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.
 | 
							// Ignore DMs.
 | 
				
			||||||
		// Followers-only posts are *included*, as this table is used to back the "following" feed.
 | 
							// Followers-only posts are *included*, as this table is used to back the "following" feed.
 | 
				
			||||||
		if (note.visibility === 'specified') return;
 | 
							if (note.visibility === 'specified') return;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -152,7 +152,7 @@ export class NoteDeleteService {
 | 
				
			||||||
			userId: user.id,
 | 
								userId: user.id,
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		await this.updateLatestNote(note);
 | 
							this.updateLatestNoteBG(note);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (deleter && (note.userId !== deleter.id)) {
 | 
							if (deleter && (note.userId !== deleter.id)) {
 | 
				
			||||||
			const user = await this.usersRepository.findOneByOrFail({ id: note.userId });
 | 
								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) {
 | 
						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 it's a DM, then it can't possibly be the latest note so we can safely skip this.
 | 
				
			||||||
		if (note.visibility === 'specified') return;
 | 
							if (note.visibility === 'specified') return;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue