c7f021f70f
CI Bun / build-bun-artifacts (push) Has been cancelled
CI Bun / bun-checks (OPENCLAW_TEST_ISOLATE=1 bunx vitest run --config vitest.unit.config.ts --shard 1/2, 2, 1) (push) Has been cancelled
CI Bun / bun-checks (OPENCLAW_TEST_ISOLATE=1 bunx vitest run --config vitest.unit.config.ts --shard 2/2, 2, 2) (push) Has been cancelled
CI / scope (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / release-check (push) Has been cancelled
CI / checks-fast (pnpm test:contracts
pnpm protocol:check
, node, contracts-protocol) (push) Has been cancelled
CI / checks-fast (pnpm test:extensions, node, extensions) (push) Has been cancelled
CI / checks (node22, pnpm build
pnpm ui:build
node openclaw.mjs --help
node openclaw.mjs status --json --timeout 1
pnpm test:build:singleton
node scripts/stage-bundled-plugin-runtime-deps.mjs
node --import tsx scripts/release-check.ts
, 22.x, node, compat-n… (push) Has been cancelled
CI / checks (pnpm test, node, 4, 1, test) (push) Has been cancelled
CI / checks (pnpm test, node, 4, 2, test) (push) Has been cancelled
CI / checks (pnpm test, node, 4, 3, test) (push) Has been cancelled
CI / checks (pnpm test, node, 4, 4, test) (push) Has been cancelled
CI / checks (pnpm test:channels, node, 3, 1, channels) (push) Has been cancelled
CI / checks (pnpm test:channels, node, 3, 2, channels) (push) Has been cancelled
CI / checks (pnpm test:channels, node, 3, 3, channels) (push) Has been cancelled
CI / extension-fast (push) Has been cancelled
CI / check (push) Has been cancelled
CI / check-additional (push) Has been cancelled
CI / build-smoke (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 1, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 2, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 3, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 4, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 5, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 6, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 7, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 8, test) (push) Has been cancelled
CI / checks-windows (pnpm test, node, 9, 9, test) (push) Has been cancelled
CI / macos (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:assemblePlayDebug, build-play) (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:assembleThirdPartyDebug, build-third-party) (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:testPlayDebugUnitTest, test-play) (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:testThirdPartyDebugUnitTest, test-third-party) (push) Has been cancelled
Docker Release / validate_manual_backfill (push) Has been cancelled
Docker Release / approve_manual_backfill (push) Has been cancelled
Docker Release / build-amd64 (push) Has been cancelled
Docker Release / build-arm64 (push) Has been cancelled
Docker Release / create-manifest (push) Has been cancelled
Install Smoke / docs-scope (push) Has been cancelled
Install Smoke / changed-smoke (push) Has been cancelled
Install Smoke / install-smoke (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
Stale / stale (push) Has been cancelled
Stale / lock-closed-issues (push) Has been cancelled
* fix(telegram): validate photo dimensions before sendPhoto Prevents PHOTO_INVALID_DIMENSIONS errors by checking image dimensions against Telegram Bot API requirements before calling sendPhoto. If dimensions exceed limits (width + height > 10,000px), automatically falls back to sending as document instead of crashing with 400 error. Tested in production (openclaw 2026.3.13) where this error occurred: [telegram] tool reply failed: GrammyError: Call to 'sendPhoto' failed! (400: Bad Request: PHOTO_INVALID_DIMENSIONS) Uses existing sharp dependency to read image metadata. Gracefully degrades if sharp fails (lets Telegram handle validation, backward compatible behavior). Closes: #XXXXX (will reference OpenClaw issue if one exists) * fix(telegram): validate photo aspect ratio * refactor: use shared telegram image metadata * fix: fail closed on telegram image metadata * fix: preflight invalid telegram photos (#52545) (thanks @hnshah) --------- Co-authored-by: Bob Shah <bobshah@Macs-Mac-Studio.local> Co-authored-by: Ayaan Zaidi <hi@obviy.us>