Skip to content

Conversation

@titusfortner
Copy link
Member

@titusfortner titusfortner commented Jan 22, 2026

User description

Ruby committed pre-built atoms so Ruby users could reference the repo directly in their gemfiles
These were supposed to be overwritten as the source files were updated, but I'm not sure that's happened.

At any rate, we shouldn't do this.

💥 What does this PR do?

Removes the compiled JavaScript atom files from rb/lib/selenium/webdriver/atoms/.

  • findElements.js
  • getAttribute.js
  • isDisplayed.js
  • mutationListener.js

💡 Additional Considerations

Tests are run against generated binaries, so this is only an issue if someone is pointing at Selenium from their repos
and the atoms are out of date. All unlikely.

🔄 Types of changes

  • Cleanup (formatting, renaming)

PR Type

Enhancement


Description

  • Remove pre-built JavaScript atom files from Ruby bindings

  • These files are generated during build process, not manually maintained

  • Eliminates outdated atom files that could cause issues for direct repo users

  • Simplifies repository by removing generated artifacts


Diagram Walkthrough

flowchart LR
  A["Ruby Atoms Directory"] -->|Remove Generated Files| B["Build Process Only"]
  C["findElements.js"] -->|Delete| B
  D["getAttribute.js"] -->|Delete| B
  E["isDisplayed.js"] -->|Delete| B
  F["mutationListener.js"] -->|Delete| B
Loading

File Walkthrough

Relevant files
Cleanup
findElements.js
Delete findElements atom file                                                       

rb/lib/selenium/webdriver/atoms/findElements.js

  • Removes entire compiled JavaScript atom file (54 lines)
  • File contains minified/compiled code for element finding functionality
  • Was pre-built and stored in repository unnecessarily
+0/-54   
getAttribute.js
Delete getAttribute atom file                                                       

rb/lib/selenium/webdriver/atoms/getAttribute.js

  • Removes entire compiled JavaScript atom file (6 lines)
  • File contains minified code for getting element attributes
  • Pre-built artifact that should be generated during build
+0/-6     
isDisplayed.js
Delete isDisplayed atom file                                                         

rb/lib/selenium/webdriver/atoms/isDisplayed.js

  • Removes entire compiled JavaScript atom file (28 lines)
  • File contains minified code for checking element visibility
  • Pre-built artifact no longer needed in repository
+0/-28   
mutationListener.js
Delete mutationListener atom file                                               

rb/lib/selenium/webdriver/atoms/mutationListener.js

  • Removes entire JavaScript atom file with Apache license header (58
    lines)
  • File contains mutation observer implementation for attribute tracking
  • Pre-built artifact that should be generated during build process
+0/-58   

@selenium-ci selenium-ci added the C-rb Ruby Bindings label Jan 22, 2026
@titusfortner titusfortner requested a review from aguspe January 22, 2026 04:04
@qodo-code-review
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

PR Code Suggestions ✨

No code suggestions found for the PR.

@titusfortner titusfortner merged commit ab0aa5d into trunk Jan 22, 2026
39 checks passed
@titusfortner titusfortner deleted the rb_atoms branch January 22, 2026 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants