diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 2c0b4ea29fe1..31429c5272d3 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,7 +1,11 @@ ## 13.14.3 -_Released 9/10/2024 (PENDING)_ +_Released 9/24/2024 (PENDING)_ + +**Bugfixes:** + +- Fixed an issue where Firefox was incorrectly mutating the state of click events on checkboxes after Firefox version `129` and up. Addressed in [#30245](/~https://github.com/cypress-io/cypress/pull/30245). **Dependency Updates:** diff --git a/packages/driver/src/cy/commands/actions/type.ts b/packages/driver/src/cy/commands/actions/type.ts index 8c4c5b1f1643..1c1b37f1bb65 100644 --- a/packages/driver/src/cy/commands/actions/type.ts +++ b/packages/driver/src/cy/commands/actions/type.ts @@ -192,7 +192,7 @@ export default function (Commands, Cypress, cy, state, config) { const isFirefoxBefore91 = Cypress.isBrowser('firefox') && Cypress.browserMajorVersion() < 91 const isFirefoxBefore98 = Cypress.isBrowser('firefox') && Cypress.browserMajorVersion() < 98 const isFirefox106OrLater = Cypress.isBrowser('firefox') && Cypress.browserMajorVersion() >= 106 - const isFirefox130OrLater = Cypress.isBrowser('firefox') && Cypress.browserMajorVersion() >= 130 + const isFirefox129OrLater = Cypress.isBrowser('firefox') && Cypress.browserMajorVersion() >= 129 const simulateSubmitHandler = function () { const form = options.$el.parents('form') @@ -386,10 +386,9 @@ export default function (Commands, Cypress, cy, state, config) { keydownEvents = [] - // After Firefox 98 and before 130 + // After Firefox 98 and before 129 // Firefox doesn't update checkbox automatically even if the click event is sent. - // TODO: verify firefox version this starts happening - if (Cypress.isBrowser('firefox') && !isFirefox130OrLater) { + if (Cypress.isBrowser('firefox') && !isFirefox129OrLater) { if (event.target.type === 'checkbox') { event.target.checked = !event.target.checked } else if (event.target.type === 'radio') { // when checked is false, here cannot be reached because of the above condition diff --git a/packages/server/lib/browsers/firefox.ts b/packages/server/lib/browsers/firefox.ts index 8d78cf89da4b..0d4fec848f48 100644 --- a/packages/server/lib/browsers/firefox.ts +++ b/packages/server/lib/browsers/firefox.ts @@ -415,6 +415,8 @@ export async function open (browser: Browser, url: string, options: BrowserLaunc '-marionette', '-new-instance', '-foreground', + // if testing against older versions of Firefox to determine when a regression may have been introduced, uncomment the '-allow-downgrade' flag. + // '-allow-downgrade', '-start-debugger-server', // uses the port+host defined in devtools.debugger.remote '-no-remote', // @see /~https://github.com/cypress-io/cypress/issues/6380 ],