Skip to content

Conversation

VietND96
Copy link
Member

@VietND96 VietND96 commented Oct 1, 2025

User description

🔗 Related Issues

💥 What does this PR do?

Fixes #16363

Preview

Screen.Recording.2025-10-01.at.21.37.09.mp4

UI theme switching system with system preference detection and user override capability

  • Three modes: Light, Dark, System (follows OS preference)
  • Single-click cycling: Button cycles through Light → Dark → System
  • Real-time switching: No page refresh required
  • System preference detection: Automatically responds to OS theme changes
  • Dark mode: GitHub-inspired dark mode colors with appropriate contrast

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Cleanup (formatting, renaming)
  • Bug fix (backwards compatible)
  • New feature (non-breaking change which adds functionality and tests!)
  • Breaking change (fix or feature that would cause existing functionality to change)

PR Type

Enhancement


Description

  • Add theme toggle component with light/dark/system modes

  • Implement theme context provider with localStorage persistence

  • Create dark theme with GitHub-inspired colors

  • Update TopBar to include theme toggle button


Diagram Walkthrough

flowchart LR
  A["ThemeToggle Component"] --> B["ThemeContext Provider"]
  B --> C["Light/Dark Themes"]
  B --> D["System Preference Detection"]
  E["TopBar"] --> A
  F["localStorage"] --> B
  C --> G["Real-time Theme Switching"]
Loading

File Walkthrough

Relevant files
Enhancement
7 files
ThemeToggle.tsx
Create theme toggle button component                                         
+54/-0   
TopBar.tsx
Add theme toggle to top bar                                                           
+4/-1     
ThemeContext.tsx
Create theme context with system detection                             
+68/-0   
useTheme.tsx
Add custom theme hook implementation                                         
+61/-0   
index.tsx
Replace theme provider with custom implementation               
+4/-6     
theme.tsx
Refactor to use new theme system                                                 
+3/-20   
themes.tsx
Create light and dark theme definitions                                   
+72/-0   
Tests
3 files
useTheme.tsx
Add theme hook mock for testing                                                   
+25/-0   
ThemeToggle.test.tsx
Add theme toggle component tests                                                 
+78/-0   
TopBar.test.tsx
Update TopBar tests with theme mocking                                     
+18/-7   

Signed-off-by: Viet Nguyen Duc <[email protected]>
@selenium-ci selenium-ci added the B-grid Everything grid and server related label Oct 1, 2025
Copy link
Contributor

qodo-merge-pro bot commented Oct 1, 2025

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
🟡
🎫 #5678
🔴 Investigate and resolve "Error: ConnectFailure (Connection refused)" occurring after the
first ChromeDriver instantiation on Ubuntu/Chrome/Selenium versions specified.
Provide steps or changes that prevent subsequent ChromeDriver instances from failing with
connection refused errors.
🟡
🎫 #1234
🔴 Ensure Selenium triggers JavaScript in link hrefs on click() in Firefox 42 (regression
between 2.47.1 and 2.48.x).
Provide a fix or workaround and verify via tests.
🟡
🎫 #16363
🟢 Add dark mode to Selenium Grid UI.
Allow Grid UI to follow system theme preference automatically.
Provide a user-visible control to switch between light, dark, and system modes without
page reload.
Persist user preference across sessions.
Update UI to include the toggle in the TopBar.
Include tests for the new functionality.
Ensure colors and contrast are appropriate in dark mode.
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
No custom compliance provided

Follow the guide to enable custom compliance check.

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

Copy link
Contributor

qodo-merge-pro bot commented Oct 1, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Remove redundant theme management logic

The PR contains two implementations for theme management in
contexts/ThemeContext.tsx and hooks/useTheme.tsx. To eliminate redundancy, the
standalone hook in hooks/useTheme.tsx should be removed, retaining only the
context-based implementation.

Examples:

javascript/grid-ui/src/contexts/ThemeContext.tsx [36-67]
export const CustomThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
  const [themeMode, setThemeMode] = useState<ThemeMode>('system')
  const [systemPrefersDark, setSystemPrefersDark] = useState(false)

  useEffect(() => {
    const saved = localStorage.getItem('theme-mode') as ThemeMode
    if (saved) setThemeMode(saved)
    setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
  }, [])


 ... (clipped 22 lines)
javascript/grid-ui/src/hooks/useTheme.tsx [23-61]
export const useTheme = () => {
  const [themeMode, setThemeMode] = useState<ThemeMode>('system')
  const [systemPrefersDark, setSystemPrefersDark] = useState(false)

  useEffect(() => {
    if (typeof window !== 'undefined') {
      const saved = localStorage.getItem('theme-mode') as ThemeMode
      if (saved) setThemeMode(saved)
      setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
    }

 ... (clipped 29 lines)

Solution Walkthrough:

Before:

// In contexts/ThemeContext.tsx
export const CustomThemeProvider = ({ children }) => {
  const [themeMode, setThemeMode] = useState('system');
  // ... logic to manage theme, localStorage, and system preference ...
  const currentTheme = isDark ? darkTheme : lightTheme;

  return (
    <ThemeContext.Provider value={{ themeMode, setThemeMode }}>
      <ThemeProvider theme={currentTheme}>
        {children}
      </ThemeProvider>
    </ThemeContext.Provider>
  );
};

// In hooks/useTheme.tsx
export const useTheme = () => {
  const [themeMode, setThemeMode] = useState('system');
  // ... identical logic to manage theme, localStorage, and system preference ...
  return { themeMode, setThemeMode, currentTheme, isDark };
};

After:

// In contexts/ThemeContext.tsx
export const CustomThemeProvider = ({ children }) => {
  const [themeMode, setThemeMode] = useState('system');
  // ... logic to manage theme, localStorage, and system preference ...
  const currentTheme = isDark ? darkTheme : lightTheme;

  return (
    <ThemeContext.Provider value={{ themeMode, setThemeMode }}>
      <ThemeProvider theme={currentTheme}>
        {children}
      </ThemeProvider>
    </ThemeContext.Provider>
  );
};

// The file hooks/useTheme.tsx is removed.
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a significant architectural issue where theme management logic is duplicated in contexts/ThemeContext.tsx and the unused hooks/useTheme.tsx, which should be removed to improve code clarity and maintainability.

Medium
General
Remove redundant and unused code
Suggestion Impact:The commit removed the contents of useTheme.tsx, effectively deleting the redundant hook as suggested.

code diff:

@@ -1,61 +1 @@
-// Licensed to the Software Freedom Conservancy (SFC) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The SFC licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
 
-import { useState, useEffect } from 'react'
-import { lightTheme, darkTheme } from '../theme/themes'
-
-type ThemeMode = 'light' | 'dark' | 'system'
-
-export const useTheme = () => {
-  const [themeMode, setThemeMode] = useState<ThemeMode>('system')
-  const [systemPrefersDark, setSystemPrefersDark] = useState(false)
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      const saved = localStorage.getItem('theme-mode') as ThemeMode
-      if (saved) setThemeMode(saved)
-      setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
-    }
-  }, [])
-
-
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      localStorage.setItem('theme-mode', themeMode)
-    }
-  }, [themeMode])
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
-      const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
-      mediaQuery.addEventListener('change', handler)
-      return () => mediaQuery.removeEventListener('change', handler)
-    }
-  }, [])
-
-  const isDark = themeMode === 'dark' || (themeMode === 'system' && systemPrefersDark)
-  const currentTheme = isDark ? darkTheme : lightTheme
-
-  return {
-    themeMode,
-    setThemeMode,
-    currentTheme,
-    isDark
-  }
-}

Remove the redundant file javascript/grid-ui/src/hooks/useTheme.tsx. Its logic
is already implemented in javascript/grid-ui/src/contexts/ThemeContext.tsx, and
it is not used by the application.

javascript/grid-ui/src/hooks/useTheme.tsx [1-61]

-// Licensed to the Software Freedom Conservancy (SFC) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The SFC licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
+// This file should be deleted.
 
-import { useState, useEffect } from 'react'
-import { lightTheme, darkTheme } from '../theme/themes'
-
-type ThemeMode = 'light' | 'dark' | 'system'
-
-export const useTheme = () => {
-  const [themeMode, setThemeMode] = useState<ThemeMode>('system')
-  const [systemPrefersDark, setSystemPrefersDark] = useState(false)
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      const saved = localStorage.getItem('theme-mode') as ThemeMode
-      if (saved) setThemeMode(saved)
-      setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
-    }
-  }, [])
-
-
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      localStorage.setItem('theme-mode', themeMode)
-    }
-  }, [themeMode])
-
-  useEffect(() => {
-    if (typeof window !== 'undefined') {
-      const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
-      const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
-      mediaQuery.addEventListener('change', handler)
-      return () => mediaQuery.removeEventListener('change', handler)
-    }
-  }, [])
-
-  const isDark = themeMode === 'dark' || (themeMode === 'system' && systemPrefersDark)
-  const currentTheme = isDark ? darkTheme : lightTheme
-
-  return {
-    themeMode,
-    setThemeMode,
-    currentTheme,
-    isDark
-  }
-}
-

[Suggestion processed]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a redundant file (useTheme.tsx) whose logic is duplicated in ThemeContext.tsx. Removing this unused code improves maintainability and reduces confusion.

Medium
Add assertions to validate behavior
Suggestion Impact:The commit added assertions checking the presence/absence of AutoMode, LightMode, and DarkMode icons after each click, validating state transitions as suggested.

code diff:

-  // Should start with system mode
+  // Should start with system mode (AutoMode icon)
   expect(button).toHaveAttribute('aria-label', 'Toggle theme')
+  expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument()
   
   // Click to light mode
   fireEvent.click(button)
+  expect(screen.getByTestId('LightModeIcon')).toBeInTheDocument()
+  expect(screen.queryByTestId('AutoModeIcon')).not.toBeInTheDocument()
   
   // Click to dark mode
   fireEvent.click(button)
+  expect(screen.getByTestId('DarkModeIcon')).toBeInTheDocument()
+  expect(screen.queryByTestId('LightModeIcon')).not.toBeInTheDocument()
   
   // Click back to system mode
   fireEvent.click(button)
+  expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument()
+  expect(screen.queryByTestId('DarkModeIcon')).not.toBeInTheDocument()

Add assertions to the 'cycles through theme modes on click' test in
ThemeToggle.test.tsx. The test currently performs clicks without verifying the
component's state changes.

javascript/grid-ui/src/tests/components/ThemeToggle.test.tsx [36-56]

 it('cycles through theme modes on click', () => {
   render(
     <CustomThemeProvider>
       <ThemeToggle />
     </CustomThemeProvider>
   )
-  
+
   const button = screen.getByRole('button')
-  
-  // Should start with system mode
-  expect(button).toHaveAttribute('aria-label', 'Toggle theme')
-  
-  // Click to light mode
+
+  // Starts in system mode, next is light
+  expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument()
   fireEvent.click(button)
-  
-  // Click to dark mode
+
+  // Now in light mode, next is dark
+  expect(screen.getByTestId('LightModeIcon')).toBeInTheDocument()
   fireEvent.click(button)
-  
-  // Click back to system mode
+
+  // Now in dark mode, next is system
+  expect(screen.getByTestId('DarkModeIcon')).toBeInTheDocument()
   fireEvent.click(button)
+
+  // Back to system mode
+  expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument()
 })

[Suggestion processed]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that the test case is missing assertions for intermediate states, which makes it ineffective. Improving the test coverage is a valuable enhancement.

Medium
Possible issue
Fix incorrect test mock setup
Suggestion Impact:The commit removed the useTheme mock and wrapped all renders of TopBar with CustomThemeProvider, aligning the tests with actual app behavior. It also added a matchMedia stub, but the core change matches the suggestion.

code diff:

-// Mock the useTheme hook
-jest.mock('../../hooks/useTheme', () => ({
-  useTheme: () => ({
-    themeMode: 'light',
-    setThemeMode: jest.fn(),
-    currentTheme: {},
-    isDark: false
-  })
-}))
+import { CustomThemeProvider } from '../../contexts/ThemeContext'
 
 const user = userEvent.setup()
+
+beforeEach(() => {
+  Object.defineProperty(window, 'matchMedia', {
+    writable: true,
+    value: jest.fn().mockImplementation(() => ({
+      matches: false,
+      addEventListener: jest.fn(),
+      removeEventListener: jest.fn()
+    }))
+  })
+})
 
 it('renders basic information', () => {
   const subheaderText = 'Hello, world!'
   const handleClick = jest.fn()
-  render(<TopBar subheader={subheaderText} drawerOpen
-                 toggleDrawer={handleClick}/>)
+  render(
+    <CustomThemeProvider>
+      <TopBar subheader={subheaderText} drawerOpen toggleDrawer={handleClick}/>
+    </CustomThemeProvider>
+  )

In TopBar.test.tsx, remove the incorrect mock for ../../hooks/useTheme. Instead,
wrap the TopBar component with CustomThemeProvider to align the test environment
with its actual usage.

javascript/grid-ui/src/tests/components/TopBar.test.tsx [23-43]

-// Mock the useTheme hook
-jest.mock('../../hooks/useTheme', () => ({
-  useTheme: () => ({
-    themeMode: 'light',
-    setThemeMode: jest.fn(),
-    currentTheme: {},
-    isDark: false
-  })
-}))
+import { CustomThemeProvider } from '../../contexts/ThemeContext'
 
 const user = userEvent.setup()
+
+const renderWithTheme = (ui: React.ReactElement) => {
+  return render(<CustomThemeProvider>{ui}</CustomThemeProvider>)
+}
 
 it('renders basic information', () => {
   const subheaderText = 'Hello, world!'
   const handleClick = jest.fn()
-  render(<TopBar subheader={subheaderText} drawerOpen
+  renderWithTheme(<TopBar subheader={subheaderText} drawerOpen
                   toggleDrawer={handleClick}/>)
   expect(screen.getByText('Selenium Grid')).toBeInTheDocument()
   expect(screen.getByRole('img')).toHaveAttribute('alt', 'Selenium Grid Logo')
   expect(screen.getByText(subheaderText)).toBeInTheDocument()
 })

[Suggestion processed]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly points out that the test is mocking a redundant hook (useTheme) instead of using the CustomThemeProvider as the application does, leading to an incorrect test setup.

Medium
Learned
best practice
Guard browser API accesses
Suggestion Impact:The commit added guards for window.localStorage and window.matchMedia before use, and wrapped initial reads and event listener setup in these checks, aligning with the suggestion to prevent SSR/runtime errors.

code diff:

   useEffect(() => {
-    const saved = localStorage.getItem('theme-mode') as ThemeMode
-    if (saved) setThemeMode(saved)
-    setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
+    if (typeof window !== 'undefined' && window.localStorage) {
+      const saved = localStorage.getItem('theme-mode') as ThemeMode
+      if (saved) setThemeMode(saved)
+    }
+    if (typeof window !== 'undefined' && window.matchMedia) {
+      setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
+    }
   }, [])
 
   useEffect(() => {
-    localStorage.setItem('theme-mode', themeMode)
+    if (typeof window !== 'undefined' && window.localStorage) {
+      localStorage.setItem('theme-mode', themeMode)
+    }
   }, [themeMode])
 
   useEffect(() => {
-    const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
-    const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
-    mediaQuery.addEventListener('change', handler)
-    return () => mediaQuery.removeEventListener('change', handler)
+    if (typeof window !== 'undefined' && window.matchMedia) {
+      const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
+      const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
+      mediaQuery.addEventListener('change', handler)
+      return () => mediaQuery.removeEventListener('change', handler)
+    }
   }, [])

Add environment checks before using window, localStorage, and matchMedia to
avoid runtime errors in SSR/tests and ensure safe access. Fallback gracefully
when unavailable.

javascript/grid-ui/src/contexts/ThemeContext.tsx [40-55]

 useEffect(() => {
-  const saved = localStorage.getItem('theme-mode') as ThemeMode
-  if (saved) setThemeMode(saved)
-  setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches)
+  if (typeof window !== 'undefined') {
+    try {
+      const saved = window.localStorage.getItem('theme-mode') as ThemeMode
+      if (saved) setThemeMode(saved)
+      const mq = window.matchMedia?.('(prefers-color-scheme: dark)')
+      setSystemPrefersDark(!!mq && mq.matches)
+    } catch {
+      // ignore storage access errors
+    }
+  }
 }, [])
 
 useEffect(() => {
-  localStorage.setItem('theme-mode', themeMode)
+  if (typeof window !== 'undefined') {
+    try {
+      window.localStorage.setItem('theme-mode', themeMode)
+    } catch {
+      // ignore storage access errors
+    }
+  }
 }, [themeMode])
 
 useEffect(() => {
-  const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
-  const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
-  mediaQuery.addEventListener('change', handler)
-  return () => mediaQuery.removeEventListener('change', handler)
+  if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {
+    const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
+    const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches)
+    mediaQuery.addEventListener?.('change', handler)
+    return () => mediaQuery.removeEventListener?.('change', handler)
+  }
+  return
 }, [])

[Suggestion processed]

Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Validate inputs and states early to prevent logic errors; guard access to browser-only APIs (window, localStorage, matchMedia) for non-browser/test environments.

Low
  • Update

Copy link
Contributor

qodo-merge-pro bot commented Oct 1, 2025

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Ruby / Remote Tests (edge, windows) / Remote Tests (edge, windows)

Failed stage: Run Bazel [❌]

Failed test name: rb/spec/integration/selenium/webdriver/timeout-edge-remote

Failure summary:

The action failed because all 29 Ruby integration tests for Selenium WebDriver on Edge (remote)
consistently failed. Each test failed in a before(:suite) hook with:
- Exception:
Selenium::Server::Error
- Message: remote server not launched in 60 seconds
- Stack:
./rb/lib/selenium/server.rb:263:in poll_for_service, ./rb/lib/selenium/server.rb:206:in start,
rb/spec/integration/selenium/webdriver/spec_helper.rb:54

This indicates the Selenium Grid/server (JAR at .../selenium_server_deploy.jar) never became ready
within the 60-second timeout, causing every Edge-remote test target to error out before executing
any examples. Representative failures include:
-
//rb/spec/integration/selenium/webdriver:timeout-edge-remote (see logs at lines 2112–2146)
-
//rb/spec/integration/selenium/webdriver:error-edge-remote (lines 2159–2193)
- Many others across
WebDriver, Edge, and BiDi suites, all with the same server startup timeout error.

No individual test assertions failed; the underlying remote Selenium server did not start/accept
connections on Windows CI within the allotted time, leading to a cascade of pre-test failures and an
overall exit code 1.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

566:  �[32mAnalyzing:�[0m 29 targets (235 packages loaded, 1908 targets configured)
567:  �[33mDEBUG: �[0mD:/_bazel/external/aspect_rules_js+/npm/private/npm_translate_lock_state.bzl:27:14: 
568:  WARNING: `update_pnpm_lock` attribute in `npm_translate_lock(name = "npm")` is not yet supported on Windows. This feature
569:  will be disabled for this build.
570:  �[32mAnalyzing:�[0m 29 targets (240 packages loaded, 3203 targets configured)
571:  �[32mAnalyzing:�[0m 29 targets (240 packages loaded, 3744 targets configured)
572:  �[32mAnalyzing:�[0m 29 targets (241 packages loaded, 4397 targets configured)
573:  �[32mAnalyzing:�[0m 29 targets (244 packages loaded, 4413 targets configured)
574:  �[33mDEBUG: �[0mD:/_bazel/external/aspect_rules_js+/npm/private/npm_translate_lock_state.bzl:27:14: 
575:  WARNING: `update_pnpm_lock` attribute in `npm_translate_lock(name = "aspect_rules_js++npm+npm")` is not yet supported on Windows. This feature
576:  will be disabled for this build.
577:  �[32mAnalyzing:�[0m 29 targets (272 packages loaded, 4739 targets configured)
578:  �[32mAnalyzing:�[0m 29 targets (300 packages loaded, 5720 targets configured)
579:  �[33mDEBUG: �[0mD:/_bazel/external/rules_jvm_external+/private/extensions/maven.bzl:295:14: WARNING: The following maven modules appear in multiple sub-modules with potentially different versions. Consider adding one of these to your root module to ensure consistent versions:
580:  com.google.code.findbugs:jsr305
581:  com.google.errorprone:error_prone_annotations
582:  com.google.guava:guava (versions: 30.1.1-jre, 31.0.1-android)
...

624:  ==> Locally signing trusted keys in keyring...
625:  -> Locally signed 5 keys.
626:  ==> Importing owner trust values...
627:  gpg: setting ownertrust to 4
628:  gpg: setting ownertrust to 4
629:  gpg: setting ownertrust to 4
630:  gpg: setting ownertrust to 4
631:  gpg: setting ownertrust to 4
632:  ==> Disabling revoked keys in keyring...
633:  -> Disabled 4 keys.
634:  ==> Updating trust database...
635:  gpg: marginals needed: 3  completes needed: 1  trust model: pgp
636:  gpg: depth: 0  valid:   1  signed:   5  trust: 0-, 0q, 0n, 0m, 0f, 1u
637:  gpg: depth: 1  valid:   5  signed:   6  trust: 0-, 0q, 0n, 5m, 0f, 0u
638:  gpg: depth: 2  valid:   3  signed:   2  trust: 3-, 0q, 0n, 0m, 0f, 0u
639:  gpg: error retrieving '[email protected]' via WKD: No data
640:  gpg: error reading key: No data
641:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
642:  gpg: key F40D263ECA25678A: "Alexey Pavlov (Alexpux) <[email protected]>" not changed
643:  gpg: Total number processed: 1
644:  gpg:              unchanged: 1
645:  gpg: error retrieving '[email protected]' via WKD: Try again later
646:  gpg: error reading key: Try again later
647:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
648:  gpg: key 790AE56A1D3CFDDC: "David Macek (MSYS2 master key) <[email protected]>" not changed
649:  gpg: Total number processed: 1
650:  gpg:              unchanged: 1
651:  gpg: error retrieving '[email protected]' via WKD: Try again later
652:  gpg: error reading key: Try again later
653:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
654:  gpg: key DA7EF2ABAEEA755C: "Martell Malone (martell) <[email protected]>" not changed
655:  gpg: Total number processed: 1
656:  gpg:              unchanged: 1
657:  gpg: error retrieving '[email protected]' via WKD: Try again later
658:  gpg: error reading key: Try again later
659:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
660:  gpg: key 755B8182ACD22879: "Christoph Reiter (MSYS2 master key) <[email protected]>" not changed
661:  gpg: Total number processed: 1
662:  gpg:              unchanged: 1
663:  gpg: error retrieving '[email protected]' via WKD: Try again later
664:  gpg: error reading key: Try again later
665:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
666:  gpg: key 9F418C233E652008: "Ignacio Casal Quinteiro <[email protected]>" not changed
667:  gpg: Total number processed: 1
668:  gpg:              unchanged: 1
669:  gpg: error retrieving '[email protected]' via WKD: No data
670:  gpg: error reading key: No data
671:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
672:  gpg: key BBE514E53E0D0813: "Ray Donnelly (MSYS2 Developer - master key) <[email protected]>" not changed
673:  gpg: Total number processed: 1
674:  gpg:              unchanged: 1
675:  gpg: error retrieving '[email protected]' via WKD: Try again later
676:  gpg: error reading key: Try again later
677:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
678:  gpg: key 5F92EFC1A47D45A1: "Alexey Pavlov (Alexpux) <[email protected]>" not changed
679:  gpg: Total number processed: 1
680:  gpg:              unchanged: 1
681:  gpg: error retrieving '[email protected]' via WKD: Try again later
682:  gpg: error reading key: Try again later
683:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
684:  gpg: key 974C8BE49078F532: "David Macek <[email protected]>" 3 new signatures
685:  gpg: key 974C8BE49078F532: "David Macek <[email protected]>" 1 signature cleaned
686:  gpg: Total number processed: 1
687:  gpg:         new signatures: 3
688:  gpg:     signatures cleaned: 1
689:  gpg: marginals needed: 3  completes needed: 1  trust model: pgp
690:  gpg: depth: 0  valid:   1  signed:   5  trust: 0-, 0q, 0n, 0m, 0f, 1u
691:  gpg: depth: 1  valid:   5  signed:   7  trust: 0-, 0q, 0n, 5m, 0f, 0u
692:  gpg: depth: 2  valid:   4  signed:   2  trust: 4-, 0q, 0n, 0m, 0f, 0u
693:  gpg: next trustdb check due at 2025-12-16
694:  gpg: error retrieving '[email protected]' via WKD: Try again later
695:  gpg: error reading key: Try again later
696:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
697:  gpg: key FA11531AA0AA7F57: "Christoph Reiter (MSYS2 development key) <[email protected]>" not changed
698:  gpg: Total number processed: 1
699:  gpg:              unchanged: 1
700:  gpg: error retrieving '[email protected]' via WKD: Unknown host
701:  gpg: error reading key: Unknown host
702:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
703:  gpg: key 794DCF97F93FC717: "Martell Malone (martell) <[email protected]>" not changed
704:  gpg: Total number processed: 1
705:  gpg:              unchanged: 1
706:  gpg: error retrieving '[email protected]' via WKD: No data
707:  gpg: error reading key: No data
708:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
709:  gpg: key D595C9AB2C51581E: "Martell Malone (MSYS2 Developer) <[email protected]>" not changed
710:  gpg: Total number processed: 1
711:  gpg:              unchanged: 1
712:  gpg: error retrieving '[email protected]' via WKD: Try again later
713:  gpg: error reading key: Try again later
714:  gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
...

814:  �[32mAnalyzing:�[0m 29 targets (684 packages loaded, 47568 targets configured)
815:  �[32m[176 / 958]�[0m Creating source manifest for //rb/spec/integration/selenium/webdriver/bidi:browser-edge-remote; 0s local ... (3 actions, 1 running)
816:  �[32mINFO: �[0mAnalyzed 29 targets (684 packages loaded, 47568 targets configured).
817:  �[32m[240 / 1,660]�[0m [Prepa] Creating source manifest for //rb/spec/integration/selenium/webdriver/remote:element-edge-remote ... (4 actions, 0 running)
818:  �[32m[406 / 1,688]�[0m Creating source manifest for //rb/spec/integration/selenium/webdriver/remote:element-edge-remote; 0s local ... (4 actions, 3 running)
819:  �[32m[757 / 2,188]�[0m [Prepa] Writing repo mapping manifest for //rb/spec/integration/selenium/webdriver:fedcm-edge-remote
820:  �[32m[768 / 2,200]�[0m [Prepa] Creating source manifest for //rb/spec/integration/selenium/webdriver:devtools-edge-remote ... (3 actions, 1 running)
821:  �[32m[845 / 2,203]�[0m Creating source manifest for //rb/spec/integration/selenium/webdriver/edge:options-edge-remote; 0s local ... (3 actions, 1 running)
822:  �[32m[989 / 2,212]�[0m checking cached actions
823:  �[32m[1,024 / 2,218]�[0m Copying file javascript/grid-ui/src/components/TopBar/TopBar.tsx; 0s local, disk-cache ... (3 actions, 1 running)
824:  �[32m[1,087 / 2,221]�[0m Creating source manifest for //rb/spec/integration/selenium/webdriver:action_builder-edge-remote; 0s local
825:  �[32m[1,149 / 2,230]�[0m Creating source manifest for //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 0s local ... (3 actions, 2 running)
826:  �[32m[1,183 / 2,239]�[0m Extracting npm package @mui/[email protected]_536857345; 0s disk-cache ... (4 actions, 2 running)
827:  �[32mINFO: �[0mFrom Compiling absl/base/internal/raw_logging.cc [for tool]:
828:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
829:  �[32mINFO: �[0mFrom Compiling absl/base/internal/strerror.cc [for tool]:
830:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
...

1693:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1694:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
1695:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/cpp/parse_function_generator.cc [for tool]:
1696:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1697:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/cpp/service.cc [for tool]:
1698:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1699:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/cpp/tracker.cc [for tool]:
1700:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1701:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/rust/upb_helpers.cc [for tool]:
1702:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1703:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/rust/rust_field_type.cc [for tool]:
1704:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1705:  �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/rust/naming.cc [for tool]:
1706:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
1707:  �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (63 source files):
1708:  java\src\org\openqa\selenium\remote\ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1709:  private final ErrorCodes errorCodes;
1710:  ^
1711:  java\src\org\openqa\selenium\remote\ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1712:  this.errorCodes = new ErrorCodes();
1713:  ^
1714:  java\src\org\openqa\selenium\remote\ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1715:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
1716:  ^
1717:  java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1718:  ErrorCodes errorCodes = new ErrorCodes();
1719:  ^
1720:  java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1721:  ErrorCodes errorCodes = new ErrorCodes();
1722:  ^
1723:  java\src\org\openqa\selenium\remote\ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1724:  response.setStatus(ErrorCodes.SUCCESS);
1725:  ^
1726:  java\src\org\openqa\selenium\remote\ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1727:  response.setState(ErrorCodes.SUCCESS_STRING);
1728:  ^
1729:  java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1730:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
1731:  ^
1732:  java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1733:  new ErrorCodes().getExceptionType((String) rawError);
1734:  ^
1735:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1736:  private final ErrorCodes errorCodes = new ErrorCodes();
1737:  ^
1738:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1739:  private final ErrorCodes errorCodes = new ErrorCodes();
1740:  ^
1741:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1742:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
1743:  ^
1744:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1745:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1746:  ^
1747:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1748:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1749:  ^
1750:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1751:  response.setStatus(ErrorCodes.SUCCESS);
1752:  ^
1753:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1754:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1755:  ^
1756:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1757:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1758:  ^
1759:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1760:  private final ErrorCodes errorCodes = new ErrorCodes();
1761:  ^
1762:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1763:  private final ErrorCodes errorCodes = new ErrorCodes();
1764:  ^
1765:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1766:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1767:  ^
1768:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1769:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1770:  ^
1771:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1772:  response.setStatus(ErrorCodes.SUCCESS);
1773:  ^
...

1918:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/InventoryTwoTone.d.ts; 98s disk-cache ... (4 actions, 2 running)
1919:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/KeyboardArrowLeftRounded.js; 100s disk-cache ... (4 actions, 2 running)
1920:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/LiveHelpTwoTone.js; 101s disk-cache ... (4 actions, 2 running)
1921:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/MapsHomeWorkSharp.js; 102s disk-cache ... (4 actions, 2 running)
1922:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/NetworkPingSharp.d.ts; 103s disk-cache ... (4 actions, 2 running)
1923:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/OutputTwoTone.d.ts; 104s disk-cache ... (4 actions, 2 running)
1924:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/PhpRounded.d.ts; 105s disk-cache ... (4 actions, 2 running)
1925:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/RemoveDoneOutlined.d.ts; 106s disk-cache ... (4 actions, 2 running)
1926:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/SafetyCheckRounded.d.ts; 107s disk-cache ... (4 actions, 2 running)
1927:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/SettingsPhoneTwoTone.js; 108s disk-cache ... (4 actions, 2 running)
1928:  �[32m[2,137 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/SpaceDashboardTwoTone.d.ts; 109s disk-cache ... (4 actions, 2 running)
1929:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/StormOutlined.js; 110s disk-cache ... (4 actions, 2 running)
1930:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/ThreeMpSharp.js; 111s disk-cache ... (4 actions, 2 running)
1931:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/VideoCameraFrontTwoTone.js; 112s disk-cache ... (4 actions, 2 running)
1932:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/WbAutoOutlined.js; 113s disk-cache ... (4 actions, 2 running)
1933:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_437803898/node_modules/@mui/icons-material/WifiTetheringErrorTwoTone.js; 115s disk-cache ... (4 actions, 2 running)
1934:  �[32m[2,138 / 2,251]�[0m Splitting Javascript ../../../javascript/grid-ui/src/index.tsx [esbuild]; Downloading node_modules/.aspect_rules_js/@[email protected]_536857345/node_modules/@mui/material/Grid/package.json; 116s disk-cache ... (4 actions, 2 running)
...

2048:  Installing rdoc 6.14.2
2049:  Installing irb 1.15.2
2050:  Installing debug 1.11.0 with native extensions
2051:  Installing steep 1.5.3
2052:  Installing rubocop-performance 1.25.0
2053:  Installing rubocop-rake 0.7.1
2054:  Installing rubocop-rspec 3.6.0
2055:  Bundle complete! 17 Gemfile dependencies, 74 gems now installed.
2056:  Bundled gems are installed into `./bazel-out/x64_windows-fastbuild/bin/external/rules_ruby++ruby+bundle/vendor/bundle`
2057:  2 installed gems you directly depend on are looking for funding.
2058:  Run `bundle fund` for details
2059:  �[32m[2,250 / 2,251]�[0m Running bundle install (@bundle//:bundle); 479s local, disk-cache
2060:  �[32m[2,251 / 2,257]�[0m checking cached actions
2061:  �[32m[2,251 / 2,272]�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote
2062:  �[32m[2,251 / 2,273]�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote ... (4 actions, 0 running)
2063:  �[32m[2,251 / 2,273]�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:error-edge-remote ... (4 actions, 0 running)
2064:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 1s disk-cache ... (4 actions, 0 running)
2065:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 8s disk-cache ... (4 actions, 0 running)
2066:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 39s disk-cache ... (4 actions, 0 running)
2067:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 49s disk-cache ... (4 actions, 0 running)
2068:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 1s local, disk-cache ... (4 actions, 1 running)
2069:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 49s local, disk-cache ... (4 actions, 1 running)
2070:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 71s local, disk-cache ... (4 actions, 2 running)
2071:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:timeout-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test_attempts/attempt_1.log)
2072:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 72s local, disk-cache ... (4 actions, 2 running)
2073:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 109s local, disk-cache ... (4 actions, 2 running)
2074:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 142s local, disk-cache ... (4 actions, 3 running)
2075:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:error-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test_attempts/attempt_1.log)
2076:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 143s local, disk-cache ... (4 actions, 3 running)
2077:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 170s local, disk-cache ... (4 actions, 3 running)
2078:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 213s local, disk-cache ... (4 actions running)
2079:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:listener-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test_attempts/attempt_1.log)
2080:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 214s local, disk-cache ... (4 actions running)
2081:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 230s local, disk-cache ... (4 actions running)
2082:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 284s local, disk-cache ... (4 actions running)
2083:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/edge:profile-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test_attempts/attempt_1.log)
2084:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 285s local, disk-cache ... (4 actions running)
2085:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 291s local, disk-cache ... (4 actions running)
2086:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 351s local, disk-cache ... (4 actions running)
2087:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 355s local, disk-cache ... (4 actions running)
2088:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:timeout-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test_attempts/attempt_2.log)
2089:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 356s local, disk-cache ... (4 actions running)
2090:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 411s local, disk-cache ... (4 actions running)
2091:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 426s local, disk-cache ... (4 actions running)
2092:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:error-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test_attempts/attempt_2.log)
2093:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 427s local, disk-cache ... (4 actions running)
2094:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 472s local, disk-cache ... (4 actions running)
2095:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 497s local, disk-cache ... (4 actions running)
2096:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:listener-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test_attempts/attempt_2.log)
2097:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 498s local, disk-cache ... (4 actions running)
2098:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 532s local, disk-cache ... (4 actions running)
2099:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 568s local, disk-cache ... (4 actions running)
2100:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/edge:profile-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test_attempts/attempt_2.log)
2101:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 569s local, disk-cache ... (4 actions running)
2102:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 570s local, disk-cache ... (4 actions running)
2103:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 593s local, disk-cache ... (4 actions running)
2104:  �[32m[2,251 / 2,273]�[0m Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote; 639s local, disk-cache ... (4 actions running)
2105:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:timeout-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test.log)
2106:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:timeout-edge-remote (Summary)
2107:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test.log
2108:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test_attempts/attempt_1.log
2109:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/timeout-edge-remote/test_attempts/attempt_2.log
2110:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:timeout-edge-remote:
2111:  ==================== Test output for //rb/spec/integration/selenium/webdriver:timeout-edge-remote:
2112:  2025-10-01 14:02:01 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/timeout-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2113:  An error occurred in a `before(:suite)` hook.
2114:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2115:  Selenium::Server::Error:
2116:  remote server not launched in 60 seconds
2117:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2118:  # ./rb/lib/selenium/server.rb:206:in `start'
2119:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2120:  Finished in 1 minute 3.25 seconds (files took 1.04 seconds to load)
2121:  0 examples, 0 failures, 1 error occurred outside of examples
2122:  ================================================================================
2123:  ==================== Test output for //rb/spec/integration/selenium/webdriver:timeout-edge-remote:
2124:  2025-10-01 14:06:46 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/timeout-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2125:  An error occurred in a `before(:suite)` hook.
2126:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2127:  Selenium::Server::Error:
2128:  remote server not launched in 60 seconds
2129:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2130:  # ./rb/lib/selenium/server.rb:206:in `start'
2131:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2132:  Finished in 1 minute 3.25 seconds (files took 1.07 seconds to load)
2133:  0 examples, 0 failures, 1 error occurred outside of examples
2134:  ================================================================================
2135:  ==================== Test output for //rb/spec/integration/selenium/webdriver:timeout-edge-remote:
2136:  2025-10-01 14:11:30 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/timeout-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2137:  An error occurred in a `before(:suite)` hook.
2138:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2139:  Selenium::Server::Error:
2140:  remote server not launched in 60 seconds
2141:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2142:  # ./rb/lib/selenium/server.rb:206:in `start'
2143:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2144:  Finished in 1 minute 3.22 seconds (files took 1.03 seconds to load)
2145:  0 examples, 0 failures, 1 error occurred outside of examples
2146:  ================================================================================
2147:  �[32m[2,252 / 2,273]�[0m 1 / 29 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 570s local, disk-cache ... (4 actions, 3 running)
2148:  �[32m[2,252 / 2,273]�[0m 1 / 29 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 580s local, disk-cache ... (4 actions, 3 running)
2149:  �[32m[2,252 / 2,273]�[0m 1 / 29 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 590s local, disk-cache ... (4 actions, 3 running)
2150:  �[32m[2,252 / 2,273]�[0m 1 / 29 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 610s local, disk-cache ... (4 actions, 3 running)
2151:  �[32m[2,252 / 2,273]�[0m 1 / 29 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 639s local, disk-cache ... (4 actions, 3 running)
2152:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:error-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test.log)
2153:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:error-edge-remote (Summary)
2154:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test.log
2155:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test_attempts/attempt_1.log
2156:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/error-edge-remote/test_attempts/attempt_2.log
2157:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:error-edge-remote:
2158:  ==================== Test output for //rb/spec/integration/selenium/webdriver:error-edge-remote:
2159:  2025-10-01 14:03:13 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/error-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2160:  An error occurred in a `before(:suite)` hook.
2161:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2162:  Selenium::Server::Error:
2163:  remote server not launched in 60 seconds
2164:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2165:  # ./rb/lib/selenium/server.rb:206:in `start'
2166:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2167:  Finished in 1 minute 3.22 seconds (files took 1.06 seconds to load)
2168:  0 examples, 0 failures, 1 error occurred outside of examples
2169:  ================================================================================
2170:  ==================== Test output for //rb/spec/integration/selenium/webdriver:error-edge-remote:
2171:  2025-10-01 14:07:57 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/error-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2172:  An error occurred in a `before(:suite)` hook.
2173:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2174:  Selenium::Server::Error:
2175:  remote server not launched in 60 seconds
2176:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2177:  # ./rb/lib/selenium/server.rb:206:in `start'
2178:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2179:  Finished in 1 minute 3.25 seconds (files took 1.05 seconds to load)
2180:  0 examples, 0 failures, 1 error occurred outside of examples
2181:  ================================================================================
2182:  ==================== Test output for //rb/spec/integration/selenium/webdriver:error-edge-remote:
2183:  2025-10-01 14:12:41 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/error-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2184:  An error occurred in a `before(:suite)` hook.
2185:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2186:  Selenium::Server::Error:
2187:  remote server not launched in 60 seconds
2188:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2189:  # ./rb/lib/selenium/server.rb:206:in `start'
2190:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2191:  Finished in 1 minute 3.24 seconds (files took 1.05 seconds to load)
2192:  0 examples, 0 failures, 1 error occurred outside of examples
2193:  ================================================================================
2194:  �[32m[2,253 / 2,273]�[0m 2 / 29 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote; 569s local, disk-cache ... (4 actions, 2 running)
2195:  �[32m[2,253 / 2,273]�[0m 2 / 29 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote; 579s local, disk-cache ... (4 actions, 2 running)
2196:  �[32m[2,253 / 2,273]�[0m 2 / 29 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote; 587s local, disk-cache ... (4 actions, 2 running)
2197:  �[32m[2,253 / 2,273]�[0m 2 / 29 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote; 609s local, disk-cache ... (4 actions, 2 running)
2198:  �[32m[2,253 / 2,273]�[0m 2 / 29 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote; 639s local, disk-cache ... (4 actions, 2 running)
2199:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:listener-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test.log)
2200:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:listener-edge-remote (Summary)
2201:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test.log
2202:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test_attempts/attempt_1.log
2203:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/listener-edge-remote/test_attempts/attempt_2.log
2204:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:listener-edge-remote:
2205:  ==================== Test output for //rb/spec/integration/selenium/webdriver:listener-edge-remote:
2206:  2025-10-01 14:04:23 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/listener-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2207:  An error occurred in a `before(:suite)` hook.
2208:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2209:  Selenium::Server::Error:
2210:  remote server not launched in 60 seconds
2211:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2212:  # ./rb/lib/selenium/server.rb:206:in `start'
2213:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2214:  Finished in 1 minute 3.23 seconds (files took 1 second to load)
2215:  0 examples, 0 failures, 1 error occurred outside of examples
2216:  ================================================================================
2217:  ==================== Test output for //rb/spec/integration/selenium/webdriver:listener-edge-remote:
2218:  2025-10-01 14:09:07 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/listener-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2219:  An error occurred in a `before(:suite)` hook.
2220:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2221:  Selenium::Server::Error:
2222:  remote server not launched in 60 seconds
2223:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2224:  # ./rb/lib/selenium/server.rb:206:in `start'
2225:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2226:  Finished in 1 minute 3.25 seconds (files took 1.01 seconds to load)
2227:  0 examples, 0 failures, 1 error occurred outside of examples
2228:  ================================================================================
2229:  ==================== Test output for //rb/spec/integration/selenium/webdriver:listener-edge-remote:
2230:  2025-10-01 14:13:52 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/listener-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2231:  An error occurred in a `before(:suite)` hook.
2232:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2233:  Selenium::Server::Error:
2234:  remote server not launched in 60 seconds
2235:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2236:  # ./rb/lib/selenium/server.rb:206:in `start'
2237:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2238:  Finished in 1 minute 3.21 seconds (files took 1.05 seconds to load)
2239:  0 examples, 0 failures, 1 error occurred outside of examples
2240:  ================================================================================
2241:  �[32m[2,254 / 2,273]�[0m 3 / 29 tests, �[31m�[1m3 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 570s local, disk-cache ... (4 actions, 1 running)
2242:  �[32m[2,254 / 2,273]�[0m 3 / 29 tests, �[31m�[1m3 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 580s local, disk-cache ... (4 actions, 1 running)
2243:  �[32m[2,254 / 2,273]�[0m 3 / 29 tests, �[31m�[1m3 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 587s local, disk-cache ... (4 actions, 1 running)
2244:  �[32m[2,254 / 2,273]�[0m 3 / 29 tests, �[31m�[1m3 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 610s local, disk-cache ... (4 actions, 1 running)
2245:  �[32m[2,254 / 2,273]�[0m 3 / 29 tests, �[31m�[1m3 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote; 640s local, disk-cache ... (4 actions, 2 running)
2246:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/edge:profile-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test.log)
2247:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver/edge:profile-edge-remote (Summary)
2248:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test.log
2249:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test_attempts/attempt_1.log
2250:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote/test_attempts/attempt_2.log
2251:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote:
2252:  ==================== Test output for //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote:
2253:  2025-10-01 14:05:35 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2254:  An error occurred in a `before(:suite)` hook.
2255:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2256:  Selenium::Server::Error:
2257:  remote server not launched in 60 seconds
2258:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2259:  # ./rb/lib/selenium/server.rb:206:in `start'
2260:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2261:  Finished in 1 minute 3.22 seconds (files took 1.08 seconds to load)
2262:  0 examples, 0 failures, 1 error occurred outside of examples
2263:  ================================================================================
2264:  ==================== Test output for //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote:
2265:  2025-10-01 14:10:19 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2266:  An error occurred in a `before(:suite)` hook.
2267:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2268:  Selenium::Server::Error:
2269:  remote server not launched in 60 seconds
2270:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2271:  # ./rb/lib/selenium/server.rb:206:in `start'
2272:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2273:  Finished in 1 minute 3.22 seconds (files took 1.08 seconds to load)
2274:  0 examples, 0 failures, 1 error occurred outside of examples
2275:  ================================================================================
2276:  ==================== Test output for //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote:
2277:  2025-10-01 14:15:04 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/edge/profile-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2278:  An error occurred in a `before(:suite)` hook.
2279:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2280:  Selenium::Server::Error:
2281:  remote server not launched in 60 seconds
2282:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2283:  # ./rb/lib/selenium/server.rb:206:in `start'
2284:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2285:  Finished in 1 minute 3.23 seconds (files took 1.23 seconds to load)
2286:  0 examples, 0 failures, 1 error occurred outside of examples
2287:  ================================================================================
2288:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 125s ... (4 actions, 1 running)
2289:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 135s ... (4 actions, 1 running)
2290:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 142s ... (4 actions, 1 running)
2291:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 165s ... (4 actions, 1 running)
2292:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:window-edge-remote; 123s ... (4 actions, 2 running)
2293:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test_attempts/attempt_1.log)
2294:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:window-edge-remote; 124s ... (4 actions, 2 running)
2295:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:window-edge-remote; 154s ... (4 actions, 2 running)
2296:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 142s local, disk-cache ... (4 actions, 3 running)
2297:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:select-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test_attempts/attempt_1.log)
2298:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 143s local, disk-cache ... (4 actions, 3 running)
2299:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 162s local, disk-cache ... (4 actions, 3 running)
2300:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 213s local, disk-cache ... (4 actions running)
2301:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:window-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-edge-remote/test_attempts/attempt_1.log)
2302:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 214s local, disk-cache ... (4 actions running)
2303:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 215s local, disk-cache ... (4 actions running)
2304:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 223s local, disk-cache ... (4 actions running)
2305:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 283s local, disk-cache ... (4 actions running)
2306:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:driver-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/driver-edge-remote/test_attempts/attempt_1.log)
2307:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 284s local, disk-cache ... (4 actions running)
2308:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 285s local, disk-cache ... (4 actions running)
2309:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 344s local, disk-cache ... (4 actions running)
2310:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 355s local, disk-cache ... (4 actions running)
2311:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test_attempts/attempt_2.log)
2312:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 356s local, disk-cache ... (4 actions running)
2313:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 404s local, disk-cache ... (4 actions running)
2314:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 426s local, disk-cache ... (4 actions running)
2315:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:select-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test_attempts/attempt_2.log)
2316:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 428s local, disk-cache ... (4 actions running)
2317:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 465s local, disk-cache ... (4 actions running)
2318:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 497s local, disk-cache ... (4 actions running)
2319:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:window-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-edge-remote/test_attempts/attempt_2.log)
2320:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 498s local, disk-cache ... (4 actions running)
2321:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 525s local, disk-cache ... (4 actions running)
2322:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 568s local, disk-cache ... (4 actions running)
2323:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:driver-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/driver-edge-remote/test_attempts/attempt_2.log)
2324:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 570s local, disk-cache ... (4 actions running)
2325:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 586s local, disk-cache ... (4 actions running)
2326:  �[32m[2,255 / 2,273]�[0m 4 / 29 tests, �[31m�[1m4 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote; 639s local, disk-cache ... (4 actions running)
2327:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test.log)
2328:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote (Summary)
2329:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test.log
2330:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test_attempts/attempt_1.log
2331:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote/test_attempts/attempt_2.log
2332:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote:
2333:  ==================== Test output for //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote:
2334:  2025-10-01 14:16:15 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2335:  An error occurred in a `before(:suite)` hook.
2336:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2337:  Selenium::Server::Error:
2338:  remote server not launched in 60 seconds
2339:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2340:  # ./rb/lib/selenium/server.rb:206:in `start'
2341:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2342:  Finished in 1 minute 3.23 seconds (files took 1.11 seconds to load)
2343:  0 examples, 0 failures, 1 error occurred outside of examples
2344:  ================================================================================
2345:  ==================== Test output for //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote:
2346:  2025-10-01 14:20:59 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2347:  An error occurred in a `before(:suite)` hook.
2348:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2349:  Selenium::Server::Error:
2350:  remote server not launched in 60 seconds
2351:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2352:  # ./rb/lib/selenium/server.rb:206:in `start'
2353:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2354:  Finished in 1 minute 3.25 seconds (files took 1 second to load)
2355:  0 examples, 0 failures, 1 error occurred outside of examples
2356:  ================================================================================
2357:  ==================== Test output for //rb/spec/integration/selenium/webdriver:takes_screenshot-edge-remote:
2358:  2025-10-01 14:25:43 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/takes_screenshot-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2359:  An error occurred in a `before(:suite)` hook.
2360:  Failure/Error: raise Error, "remote server not launched in #{@timeout} seconds"
2361:  Selenium::Server::Error:
2362:  remote server not launched in 60 seconds
2363:  # ./rb/lib/selenium/server.rb:263:in `poll_for_service'
2364:  # ./rb/lib/selenium/server.rb:206:in `start'
2365:  # //?/D:/a/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:54:in `block (2 levels) in <top (required)>'
2366:  Finished in 1 minute 3.23 seconds (files took 1.04 seconds to load)
2367:  0 examples, 0 failures, 1 error occurred outside of examples
2368:  ================================================================================
2369:  �[32m[2,256 / 2,273]�[0m 5 / 29 tests, �[31m�[1m5 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 569s local, disk-cache ... (4 actions, 3 running)
2370:  �[32m[2,256 / 2,273]�[0m 5 / 29 tests, �[31m�[1m5 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 579s local, disk-cache ... (4 actions, 3 running)
2371:  �[32m[2,256 / 2,273]�[0m 5 / 29 tests, �[31m�[1m5 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 587s local, disk-cache ... (4 actions, 3 running)
2372:  �[32m[2,256 / 2,273]�[0m 5 / 29 tests, �[31m�[1m5 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 609s local, disk-cache ... (4 actions, 3 running)
2373:  �[32m[2,256 / 2,273]�[0m 5 / 29 tests, �[31m�[1m5 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:select-edge-remote; 639s local, disk-cache ... (4 actions, 3 running)
2374:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:select-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test.log)
2375:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:select-edge-remote (Summary)
2376:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test.log
2377:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test_attempts/attempt_1.log
2378:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/select-edge-remote/test_attempts/attempt_2.log
2379:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:select-edge-remote:
2380:  ==================== Test output for //rb/spec/integration/selenium/webdriver:select-edge-remote:
2381:  2025-10-01 14:17:26 INFO Selenium Server Location: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/select-edge-remote.cmd.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
2382:  An error occurred ...

@VietND96 VietND96 merged commit 6061c87 into trunk Oct 1, 2025
63 of 71 checks passed
@VietND96 VietND96 deleted the grid-ui-dark-mode branch October 1, 2025 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-grid Everything grid and server related Review effort 3/5
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[🚀 Feature]: UI Dark Mode
2 participants