Repository navigation
fix(tui): reduce slow startup with fast-boot, bootstrap timeouts, and server pre-warm - #39821
Closed
Alter-Igor wants to merge 18 commits into
Closed
Alter-Igor wants to merge 18 commits into
Alter-Igor wants to merge 18 commits into
Conversation
When a text-only model (e.g. GLM-5.2, DeepSeek-R1) is configured and a vision_proxy is set in the provider options, image parts are automatically intercepted and sent to the vision proxy model. The text description replaces the image before the primary model sees it. Closes anomalyco#36841
Clipboard images may arrive as raw bytes (Uint8Array/Buffer) or URL objects rather than data URL strings. Added conversion to base64 data URL for all image data formats.
The vision_proxy config was on the openrouter provider but GLM-5.2 runs under the zhipu provider. Now the middleware: 1. Checks the current provider's options first 2. Falls back to scanning ALL providers for a vision_proxy config 3. Uses the vision_proxy's own apiKey/baseURL if provided 4. Falls back to the current provider's apiKey if not This means vision_proxy can be configured once on the openrouter provider and work for any text-only model on any provider.
…anion plugins (#1) * feat(plugin): add synapse-coder-reporter learning-loop plugin Detects LSP diagnostics after edit/write/apply_patch, holds the failing edit as pending, and reports an original->corrected pair to the Synapse Coder staging MCP (coder_report_correction) only when a follow-up same-file edit lands clean — the live schema requires non-empty original/corrected, so one-sided detections are dropped after 30 min. - Env-var opt-in gate (SYNAPSE_CODER_REPORTER_ENABLED, default off) with first-use TUI toast (once-per-project marker) - Offline queue (.opencode/synapse-coder-queue.json) with retry on load + 5-min timer; fire-and-forget hooks (no await on report path) - MCP wiring for synapse-coder + Alterspective servers in .opencode/opencode.jsonc (local entries fixed to schema shape) - 28 tests covering detection, pairing rules, opt-in, queue, model tracking, fire-and-forget, first-use toast - Plan/evidence docs under docs/implementation/current/SYN-001-* * feat(plugin): add alterspective-rag-standards system-prompt plugin Statically injects Alterspective standards awareness (rule-ID citation, RAG-first routing via rag_search/rag_ask, standards index pointers) into the chat system prompt via the experimental.chat.system.transform hook. Opt-out via ALTERSPECTIVE_STANDARDS_INJECTION_DISABLED=true or ALTERSPECTIVE_STANDARDS_INJECTION_ENABLED=false. 6 tests. * feat(scripts): add health/version sidecar for the opencode server Standalone HTTP sidecar exposing /health and /version (upstream probe optional via OPENCODE_SERVER_URL) — the fork-local fallback for operational visibility, since adding routes would touch high-churn upstream server files. 5 tests. * docs: mark ISS-002 resolved (global payload doc corrected + deployed)
ENV-NAME-01: use staging.synapse-coder-mcp.alterspective.com.au (custom domain + managed cert now bound on the staging ACA) instead of the raw azurecontainerapps.io host. Plugin URL is now env-overridable via SYNAPSE_CODER_URL with the canonical host as default.
…042) (#4) com.docker.backend.exe listens on 4040-4042 on Windows Docker Desktop, so the sidecar's original default failed to bind. 4043 verified free; runtime-probed /health and /version live (200) on the new default.
…quest fallback isolation
Contributor
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
Contributor
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Opencode is slow to open because the TUI waits for all bootstrap HTTP calls (config.providers, provider.list, agents, config.get) to complete before showing the UI. If any one of them stalls, the user sees a blank spinner for 5-15 seconds.
Changes
P1 -- Fast boot (immediate render)
packages/tui/src/app.tsx
P2 -- Bootstrap timeout guard
packages/tui/src/context/sync.tsx
P3 -- Server pre-warm
packages/tui/src/context/sdk.tsx
Validation