You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Public v150 constructors lack Javadoc 📘 Rule violation✧ Quality
Description
Several modified public constructors in the Java DevTools v150 package have no Javadoc block, so
they are missing required description text and (when applicable) @param tags. This violates the
requirement to keep public API methods/constructors fully documented for consumers and generated API
docs.
+public class v150Domains implements Domains {- private final v147Javascript js;- private final v147Events events;- private final v147Log log;- private final v147Network network;- private final v147Target target;+ private final v150Javascript js;+ private final v150Events events;+ private final v150Log log;+ private final v150Network network;+ private final v150Target target;- public v147Domains(DevTools devtools) {+ public v150Domains(DevTools devtools) {
Require.nonNull("DevTools", devtools);
- events = new v147Events(devtools);- js = new v147Javascript(devtools);- log = new v147Log();- network = new v147Network(devtools);- target = new v147Target();+ events = new v150Events(devtools);+ js = new v150Javascript(devtools);+ log = new v150Log();+ network = new v150Network(devtools);+ target = new v150Target();
}
Evidence
PR Compliance ID 330201 requires every changed public method/constructor to have a Javadoc block
with a purpose sentence and complete tags (including @param for each parameter). In the cited
files, the public constructors (including public v150Domains(DevTools devtools)) appear without
any preceding Javadoc block, so required documentation and parameter tags are missing.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
Modified public Java constructors in the DevTools v150 API were updated/introduced without Javadoc. Public API constructors/methods must have a `/** ... */` Javadoc block with at least one descriptive sentence, and when parameters exist, a matching `@param` tag for each parameter.
## Issue Context
This PR updates the DevTools protocol versioned classes (e.g., `v150Domains`, `v150Events`, `v150CdpInfo`). The constructors are `public` and therefore part of the public API surface, but they currently lack Javadoc.
## Fix Focus Areas
- java/src/org/openqa/selenium/devtools/v150/v150Domains.java[29-44]
- java/src/org/openqa/selenium/devtools/v150/v150Events.java[37-41]
- java/src/org/openqa/selenium/devtools/v150/v150CdpInfo.java[23-28]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. New start_screencast lacks tests 📘 Rule violation▣ Testability⭐ New
Description
The new BiDi start_screencast/stop_screencast commands were added without any corresponding
automated test updates, so regressions in command wiring/serialization may go undetected. This
violates the requirement to add tests for new functionality.
PR Compliance ID 389273 requires tests for new functionality. The diff adds new start_screencast
and stop_screencast methods, but no tests were added/updated to exercise these new code paths.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
New BiDi protocol methods `start_screencast` and `stop_screencast` were introduced without accompanying tests.
## Issue Context
These methods add new user-callable behavior (even if `@api private`) and should be validated to ensure the correct command name and parameters are sent and the expected result type is handled.
## Fix Focus Areas
- rb/lib/selenium/webdriver/bidi/protocol/browsing_context.rb[657-682]
- rb/spec/integration/selenium/webdriver/bidi/protocol_browsing_context_spec.rb[39-132]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
3. Unchecked track constraint types 🐞 Bug☼ Reliability⭐ New
Description
BrowsingContext::MediaTrackConstraints defines width/height/frameRate without a primitive type, so
deserialization will not enforce numeric types for these fields and malformed values can pass
through unchecked. This is inconsistent with nearby numeric fields that declare a primitive (e.g.,
PrintPageParameters).
The new MediaTrackConstraints record has no primitive metadata for its numeric fields. In
Serialization::Record, primitive validation only occurs when a primitive descriptor is present;
otherwise it is skipped. This differs from other numeric records in the same file (e.g.,
PrintPageParameters) that do declare primitive: 'number'.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
`BrowsingContext::MediaTrackConstraints` omits `primitive:` for `width`, `height`, and `frame_rate`, which means `Serialization::Record.from_json` will not type-check these fields (primitive checks are conditional on `field.primitive`).
## Issue Context
Nearby numeric records (e.g., `PrintPageParameters`) specify `primitive: 'number'`, suggesting these were accidentally left unannotated.
## Fix Focus Areas
- rb/lib/selenium/webdriver/bidi/protocol/browsing_context.rb[387-391]
- rb/lib/selenium/webdriver/bidi/serialization/record.rb[164-178]
- rb/sig/lib/selenium/webdriver/bidi/protocol/browsing_context.rbs[290-295]
## Suggested fix
- Add `primitive: 'number'` (or `'integer'` if that’s the intended protocol type) to `width`, `height`, and `frame_rate`.
- Update the RBS constructor types to match the chosen primitive (`Numeric` for `number`, `Integer` for `integer`).
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
1. Public v150 constructors lack Javadoc 📘 Rule violation✧ Quality
Description
Several modified public constructors in the Java DevTools v150 package have no Javadoc block, so
they are missing required description text and (when applicable) @param tags. This violates the
requirement to keep public API methods/constructors fully documented for consumers and generated API
docs.
+public class v150Domains implements Domains {- private final v147Javascript js;- private final v147Events events;- private final v147Log log;- private final v147Network network;- private final v147Target target;+ private final v150Javascript js;+ private final v150Events events;+ private final v150Log log;+ private final v150Network network;+ private final v150Target target;- public v147Domains(DevTools devtools) {+ public v150Domains(DevTools devtools) {
Require.nonNull("DevTools", devtools);
- events = new v147Events(devtools);- js = new v147Javascript(devtools);- log = new v147Log();- network = new v147Network(devtools);- target = new v147Target();+ events = new v150Events(devtools);+ js = new v150Javascript(devtools);+ log = new v150Log();+ network = new v150Network(devtools);+ target = new v150Target();
}
Evidence
PR Compliance ID 330201 requires every changed public method/constructor to have a Javadoc block
with a purpose sentence and complete tags (including @param for each parameter). In the cited
files, the public constructors (including public v150Domains(DevTools devtools)) appear without
any preceding Javadoc block, so required documentation and parameter tags are missing.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
Modified public Java constructors in the DevTools v150 API were updated/introduced without Javadoc. Public API constructors/methods must have a `/** ... */` Javadoc block with at least one descriptive sentence, and when parameters exist, a matching `@param` tag for each parameter.
## Issue Context
This PR updates the DevTools protocol versioned classes (e.g., `v150Domains`, `v150Events`, `v150CdpInfo`). The constructors are `public` and therefore part of the public API surface, but they currently lack Javadoc.
## Fix Focus Areas
- java/src/org/openqa/selenium/devtools/v150/v150Domains.java[29-44]
- java/src/org/openqa/selenium/devtools/v150/v150Events.java[37-41]
- java/src/org/openqa/selenium/devtools/v150/v150CdpInfo.java[23-28]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
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
B-buildIncludes scripting, bazel and CI integrationsB-devtoolsIncludes everything BiDi or Chrome DevTools relatedB-managerSelenium ManagerC-buildC-dotnet.NET BindingsC-javaJava BindingsC-nodejsJavaScript BindingsC-pyPython BindingsC-rbRuby BindingsC-rustRust code is mostly Selenium Manager
2 participants
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.
Release Info
Updates Applied
Auto-generated by release-preparation workflow