You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vision_html_screenshot full-page capture (#111): fullPage: true (default false, existing behavior unchanged) captures the complete scrollable height in one shot and adds pageHeight (CSS px) to the result JSON, so agents no longer guess ever-taller viewports; below-the-fold content is woken first — lazy-loading images disabled, smooth scroll overridden, a viewport-stepped sweep fires IntersectionObserver reveals before a settle wait.
Manual-update panel layout cleanup (#116): the manual-update fallback gets its own vertical card with full-width monospace command blocks (horizontal overflow), the pnpm release-age warning becomes a compact secondary note, and the action buttons stay grouped.
Vision failure chains can no longer stall text turns (#117): one misconfigured/broken vision backend (401 / 429 / outage) used to cascade into minutes of repeated vision tool calls — stacked per-request timeouts (120s × N), blind 30–60s 429 retry waits, no circuit breaking, no same-turn failure memory, and backend failures surfaced as exceptions that invited the model to rephrase and retry until tool call aborted. A unified resilience layer now trips AUTH backends per credential fingerprint (auto-released when the key changes), applies Retry-After cooldowns for 429s, skips INVALID_REQUEST backends for the turn, and answers instantly with VISION_BACKEND_UNAVAILABLE_THIS_TURN once every backend failed this turn — zero further network attempts. One vision task shares a wall-clock budget (new visionTaskTimeoutMs, default 45s); OCR shares one budget between tesseract (≤12s cap) and the vision-model fallback (new ocrTimeoutMs, default 30s) instead of stacking the two timeouts. Backend failures return structured results (ok:false + code + retryable:false + attemptedProviders) instead of throwing; 401s carry a Qwen Token Plan key/endpoint mismatch hint; and the vision_describe / vision_ground / vision_detect / vision_ocr descriptions, the auto-mount reminder, the wrapper image marker and the vision-tools skill all state the failure semantics and that OCR is text-only, never a recognition retry. 22 new regression tests cover the full matrix: 401/429 trips, same-turn no-rehit, shared deadlines, OCR budget, credential-change release, and wrapper/twin delegation parity.
Reasoning replay survives Auto Vision wrapper delegation (#110): delegating through the auto-vision wrapper no longer drops the session's reasoning replay, so thinking traces remain visible after switching to a "+ Auto Vision" model.
Settings save failures can no longer trap the vision guide (#114): walkthrough dismissal/finish is authoritative in-page, so a rejected hidden settings write cannot resurrect the guide; hidden persistence becomes a single-attempt queued write that never spins after Host rejection; the readback verification from #102 is kept with one retry for transient conflicts; legacy empty vision-chain rows are normalized so old settings no longer render blank provider/model rows; and save errors name the failed fields.
One-click update is no longer fooled by the pnpm release-age hold (#115): pnpm 11's minimumReleaseAge (default 1440 minutes) silently keeps releases younger than 24h while still exiting 0 ("Already up to date") — the root cause of "update succeeded but the version never changed". The one-click updater now installs the registry-confirmed target explicitly (add dsh-vision-router@<target>, which pnpm auto-exempts from the policy) and verifies the installed manifest under the profile afterwards, so a zero exit code is never reported as success; failures explain the release-age hold and point to npx dsh-vision-router repair for stale pinned exemptions.
Commits
fix: preserve reasoning replay across Auto Vision wrapper delegation
feat(vision_html_screenshot): fullPage full-page capture + pageHeight result (#111)
fix: stop settings save failures from trapping the vision guide (#114)
fix: verify one-click update result and install the confirmed version explicitly
Merge pull request #115 from ysr666/fix/update-release-age-gate