fix: Don't advertise IDLE until ChromeDriver is validated at startup#598
Open
aaronkvanmeerten wants to merge 2 commits intomasterfrom
Open
fix: Don't advertise IDLE until ChromeDriver is validated at startup#598aaronkvanmeerten wants to merge 2 commits intomasterfrom
aaronkvanmeerten wants to merge 2 commits intomasterfrom
Conversation
Jibri was broadcasting IDLE+HEALTHY to XMPP MUCs immediately on startup, before ChromeDriver had been validated. If Jicofo dispatched a request during this window, ChromeDriver initialization could fail, causing dispatch errors. This was especially impactful during batch reboots. Add an EnvironmentChecker that registers as UNHEALTHY on construction, then probes ChromeDriver in the background. Jibri only transitions to HEALTHY (and becomes eligible for dispatch) after the probe succeeds. Configurable via jibri.chrome.startup-check (default: true), startup-check-max-attempts (default: 6), and startup-check-retry-delay (default: 10000ms).
bgrozev
requested changes
Apr 21, 2026
Member
bgrozev
left a comment
There was a problem hiding this comment.
Suggest to nest the config under a "startup-check" section:
chrome {
startup-check {
enabled = true
max-attempts = 6
retry-delay = 10000
}
}
Member
Author
aaronkvanmeerten
left a comment
There was a problem hiding this comment.
Suggest to nest the config under a "startup-check" section:
chrome {
startup-check {
enabled = true
max-attempts = 6
retry-delay = 10000
}
}
Good idea, done.
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
IDLE+HEALTHYto XMPP MUCs immediately on startup before ChromeDriver was validated, allowing Jicofo to dispatch requests that would fail during ChromeDriver initializationEnvironmentCheckerthat registers asUNHEALTHYat construction, then probes ChromeDriver in the background — Jibri only becomesHEALTHY(eligible for dispatch) after the probe succeedsjibri.chrome.startup-check,startup-check-max-attempts, andstartup-check-retry-delayTest plan
EnvironmentChecker(initial UNHEALTHY registration, successful transition, failure persistence, retry-then-succeed)mvn verifypasses (145 tests, 0 failures, ktlint clean)IDLE + UNHEALTHYIDLE + HEALTHY/jibri/api/v1.0/healthreflects the same transitionsstartup-check = falsepreserves old behavior (immediateIDLE + HEALTHY)