2e14873f2d
Track application source and tests; exclude local env, user workspaces, and runtime data via .gitignore. Co-authored-by: Cursor <cursoragent@cursor.com>
16 lines
440 B
TypeScript
16 lines
440 B
TypeScript
/** Serialize mic open/close so the second session waits for tracks to release. */
|
|
let releaseChain = Promise.resolve();
|
|
|
|
export function waitForMicRelease() {
|
|
return releaseChain;
|
|
}
|
|
|
|
export function extendMicRelease(until: Promise<unknown>) {
|
|
let release!: () => void;
|
|
const gate = new Promise<void>((resolve) => {
|
|
release = resolve;
|
|
});
|
|
releaseChain = releaseChain.then(() => gate);
|
|
void until.finally(() => release());
|
|
}
|