mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-01 04:42:10 +03:00
2 lines
3.0 KiB
JSON
2 lines
3.0 KiB
JSON
{"author":{"id":"MDQ6VXNlcjc2ODU0NjI=","is_bot":false,"login":"newbe36524","name":"Newbe36524"},"body":"### Problem / Use Case\n\nMy upstream provider is an account pool. It occasionally returns temporary error messages due to exceptions, such as 403, 401 and other similar status codes.I want to retain and return these original errors without automatically downgrading the provider.The provider is still fully valid, and the issue can be resolved simply by retrying at the downstream level.\n\n### Proposed Solution\n\nI want to exclude specific providers or their keys from the break mechanism, so that they remain permanently enabled and will never be downgraded under any circumstances.\nCurrently, I rely on an external standalone process to check every second whether these providers have been downgraded, and re-enable them automatically if so. This workaround is cumbersome and inconvenient.\n\n### Alternatives Considered\n\n_No response_\n\n### Acceptance Criteria\n\nProvider can be set as permanent alive\n\n### Area\n\nProxy / Routing\n\n### Related Provider(s)\n\nCustom provider\n\n### Additional Context\n\n_No response_\n\n### Expected Test Plan\n\n_No response_","comments":[{"id":"IC_kwDORPf6ys8AAAABAXyEwg","author":{"login":"diegosouzapw"},"authorAssociation":"OWNER","body":"Thank you for the feature request, @newbe36524. This is a valid use case — account pool providers where transient 403/401 errors are expected and should be retried by the downstream client rather than triggering the circuit breaker.\n\nOmniRoute v3.7.0 already made progress in this direction:\n- **Removed 429 from `PROVIDER_FAILURE_ERROR_CODES`** — rate limits no longer trigger the provider-wide circuit breaker\n- **Configurable failure thresholds** via `PROVIDER_PROFILES` — different provider types can have different tolerance levels\n\nWhat you're describing would be a natural extension: a per-provider or per-connection **`circuitBreakerEnabled: false`** flag that completely bypasses the circuit breaker for specific connections, letting all errors pass through as-is for the downstream client to handle.\n\nImplementation would touch:\n- `open-sse/services/accountFallback.ts` — skip `markProviderFailure()` when flag is set\n- Provider `providerSpecificData` schema — add `circuitBreakerBypass: boolean`\n- Dashboard UI — toggle in the provider connection settings\n\nKeeping open for tracking. This is a clean, scoped feature that could land in a near-term release.","createdAt":"2026-04-25T15:03:31Z","includesCreatedEdit":false,"isMinimized":false,"minimizedReason":"","reactionGroups":[{"content":"THUMBS_UP","users":{"totalCount":1}}],"url":"https://github.com/diegosouzapw/OmniRoute/issues/1594#issuecomment-4319904962","viewerDidAuthor":true}],"createdAt":"2026-04-25T13:58:11Z","labels":[{"id":"LA_kwDORPf6ys8AAAACYAlrLw","name":"enhancement","description":"New feature or request","color":"a2eeef"}],"number":1594,"title":"[Feature] permanent provider or the internal key inside the provider","url":"https://github.com/diegosouzapw/OmniRoute/issues/1594"}
|