FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

47
node_modules/viem/utils/promise/withTimeout.ts generated vendored Normal file
View File

@@ -0,0 +1,47 @@
import type { ErrorType } from '../../errors/utils.js'
export type WithTimeoutErrorType = ErrorType
export function withTimeout<data>(
fn: ({
signal,
}: {
signal: AbortController['signal'] | null
}) => Promise<data>,
{
errorInstance = new Error('timed out'),
timeout,
signal,
}: {
// The error instance to throw when the timeout is reached.
errorInstance?: Error | undefined
// The timeout (in ms).
timeout: number
// Whether or not the timeout should use an abort signal.
signal?: boolean | undefined
},
): Promise<data> {
return new Promise((resolve, reject) => {
;(async () => {
let timeoutId!: NodeJS.Timeout
try {
const controller = new AbortController()
if (timeout > 0) {
timeoutId = setTimeout(() => {
if (signal) {
controller.abort()
} else {
reject(errorInstance)
}
}, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node
}
resolve(await fn({ signal: controller?.signal || null }))
} catch (err) {
if ((err as Error)?.name === 'AbortError') reject(errorInstance)
reject(err)
} finally {
clearTimeout(timeoutId)
}
})()
})
}