Repository navigation
fix(combo): guarantee combo loops terminate instead of hanging silently - #10463
Merged
diegosouzapw merged 2 commits intoAug 21, 2026
Merged
diegosouzapw merged 2 commits into
diegosouzapw merged 2 commits into
Conversation
…instead of hanging silently
Owner
|
Deferido para revalidação do head atual. A rodada anterior registrou um hold de ownership, mas a inspeção atual não confirmou esse worktree; por favor, reconfirme o head e os checks antes da decisão final. |
…eadfix # Conflicts: # open-sse/services/autoCombo/chaosEngine.ts # open-sse/services/combo.ts
diegosouzapw
merged commit Aug 21, 2026
d098114
into
diegosouzapw:release/v3.8.50
3 of 6 checks passed
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…instead of hanging silently (diegosouzapw#10463) Guarantees combo/target loops always terminate with an actionable error instead of hanging when an upstream hangs — fixes 10 silent-stop gaps (G1–G10): combo-loop safety timer + abort on hang → 504, unexpected task throw → 502, round-robin safety net, chaos all-panel-failure visibility, ReDoS-safe eval regex, autoRefreshDaemon swallowed-error logging, batch-item wall-clock timeout. Validated in an isolated worktree boarded onto origin/release/v3.8.50 (2 real conflicts in combo.ts and chaosEngine.ts, both additive features from concurrently-merged PRs landing at the same insertion point — resolved by combining both, verified no variable-shadowing/scoping issues): - 10/10 new regression tests pass (combo-silent-stop-gaps.test.ts): hung upstream → 504, unexpected throw → 502, chaos all-fail logged, ReDoS regex rejected, batch timeout. - 163/163 broader focused tests pass (combo-routing-engine, combo-target-timeout-runner, pipeline-router, chaos-executor, batch-processor ×2, service-batch-processor, evalrunner-builtinsuites-split). - check-file-size, check-changelog-integrity: OK. - typecheck:core: clean. - check-complexity / check-cognitive-complexity: OK, both under baseline. Co-authored-by: herjarsa <herjarsa@users.noreply.github.com>
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.
Summary
Guarantees that OmniRoute's combo/target loops always terminate with an actionable error instead of dying silently (no response, no log) when an upstream hangs.
Fixes 10 silent-stop gaps (G1–G10) found by auditing every loop that iterates models/combos to resolve a task:
Critical — combo target loop (open-sse/services/combo.ts)
rSafetyPromise timer (same ceiling),
rExpired loop guard, Promise.race around each model dispatch, try/catch → 500, and a post-loop 504.
Localized silent exits
es.ok; all-failed branch logs All chaos panel models failed with per-model errors.
Verification
pm run typecheck:core clean; ESLint clean on touched files (pre-existing violations in �atchProcessor.ts untouched).
elease/v3.8.50 is currently red upstream; inherited failures are not introduced by this branch.