fix: normalize telegram fetch for long-polling

This commit is contained in:
Peter Steinberger
2026-01-24 21:58:42 +00:00
parent 30534c5c33
commit ac00065727
6 changed files with 24 additions and 94 deletions

View File

@@ -1,10 +1,8 @@
import { resolveFetch } from "../infra/fetch.js";
// Bun-only: force native fetch to avoid grammY's Node shim under Bun.
// Prefer wrapped fetch when available to normalize AbortSignal across runtimes.
export function resolveTelegramFetch(proxyFetch?: typeof fetch): typeof fetch | undefined {
if (proxyFetch) return resolveFetch(proxyFetch);
const isBun = "Bun" in globalThis || Boolean(process?.versions?.bun);
if (!isBun) return undefined;
const fetchImpl = resolveFetch();
if (!fetchImpl) {
throw new Error("fetch is not available; set channels.telegram.proxy in config");