Merge remote-tracking branch 'refs/remotes/misskey-original/develop' into develop
# Conflicts: # packages/backend/src/core/QueueModule.ts # packages/backend/src/core/QueueService.ts # packages/backend/src/core/chart/charts/federation.ts # packages/backend/src/models/RepositoryModule.ts # packages/backend/src/models/_.ts # packages/backend/src/queue/types.ts # packages/backend/src/server/api/EndpointsModule.ts # packages/backend/src/server/api/endpoints.ts # packages/backend/src/server/api/endpoints/admin/queue/stats.ts # packages/backend/src/server/api/endpoints/users/report-abuse.ts # packages/backend/src/server/web/ClientServerService.ts # packages/frontend/src/components/MkButton.vue # packages/frontend/src/components/MkChannelFollowButton.vue # packages/frontend/src/components/MkClickerGame.vue # packages/frontend/src/components/MkSwitch.vue
This commit is contained in:
commit
833031ee60
155 changed files with 8161 additions and 773 deletions
|
|
@ -7,3 +7,13 @@ export async function tick(): Promise<void> {
|
|||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
await new Promise((globalThis.requestIdleCallback ?? setTimeout) as never);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://github.com/misskey-dev/misskey/issues/11267
|
||||
*/
|
||||
export function semaphore(counter = 0, waiting: (() => void)[] = []) {
|
||||
return {
|
||||
acquire: () => ++counter > 1 && new Promise<void>(resolve => waiting.push(resolve)),
|
||||
release: () => --counter && waiting.pop()?.(),
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue