Skip to content

fix(session): handle context navigation errors - #54

Draft
DudaGod wants to merge 3 commits into
masterfrom
TESTPLANE-1114.handle_context_manager_errors
Draft

DudaGod wants to merge 3 commits into
masterfrom
TESTPLANE-1114.handle_context_manager_errors

Conversation

@DudaGod

@DudaGod DudaGod commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

I turn failures in asynchronous browsing-context listeners into test-visible errors without leaving unhandled rejections. A missing context tree now produces an explicit error.

I retain every error per browser session and expose a test-boundary check that waits for pending listener work. A command settles before its promise rejects with a context error, so it cannot keep changing state after that rejection. A pending error does not block deleteSession cleanup. Multiple failures are preserved in an AggregateError.

The test-boundary check is consumed by testplane#1335. Until that PR is used, an active or subsequent command still fails on a context error.

Validation:

  • Monorepo build passed.
  • Focused session-manager tests: 14 passed.
  • With both packages linked into a local Testplane project, the two affected tests failed with the explicit context error (including an error after the last command), and an unrelated worker passed. No unhandled rejection occurred.
  • The full WebdriverIO unit suite is not green on the current Node 24 setup: 427 tests fail, predominantly with Cannot set property duplex of #<_Request> which has only a getter. The repository's ESLint hook could not run because its eslint binary is absent from the clean install.

@pkg-pr-new

pkg-pr-new Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

@testplane/devtools

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/devtools@54

eslint-plugin-wdio

npm i https://pkg.pr.new/gemini-testing/webdriverio/eslint-plugin-wdio@54

@wdio/allure-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/allure-reporter@54

@wdio/appium-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/appium-service@54

@wdio/browser-runner

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/browser-runner@54

@wdio/browserstack-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/browserstack-service@54

@wdio/cli

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/cli@54

@wdio/concise-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/concise-reporter@54

@testplane/wdio-config

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-config@54

@wdio/cucumber-framework

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/cucumber-framework@54

@wdio/dot-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/dot-reporter@54

@wdio/firefox-profile-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/firefox-profile-service@54

@wdio/globals

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/globals@54

@wdio/jasmine-framework

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/jasmine-framework@54

@wdio/json-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/json-reporter@54

@wdio/junit-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/junit-reporter@54

@wdio/lighthouse-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/lighthouse-service@54

@wdio/local-runner

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/local-runner@54

@testplane/wdio-logger

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-logger@54

@wdio/mocha-framework

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/mocha-framework@54

@testplane/wdio-protocols

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-protocols@54

@testplane/wdio-repl

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-repl@54

@wdio/reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/reporter@54

@wdio/runner

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/runner@54

@wdio/sauce-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/sauce-service@54

@wdio/shared-store-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/shared-store-service@54

@wdio/smoke-test-cjs-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/smoke-test-cjs-service@54

@wdio/smoke-test-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/smoke-test-reporter@54

@wdio/smoke-test-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/smoke-test-service@54

@wdio/spec-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/spec-reporter@54

@wdio/static-server-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/static-server-service@54

@wdio/sumologic-reporter

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/sumologic-reporter@54

@wdio/testingbot-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/testingbot-service@54

@testplane/wdio-types

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-types@54

@testplane/wdio-utils

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/wdio-utils@54

@wdio/webdriver-mock-service

npm i https://pkg.pr.new/gemini-testing/webdriverio/@wdio/webdriver-mock-service@54

@testplane/webdriver

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/webdriver@54

@testplane/webdriverio

npm i https://pkg.pr.new/gemini-testing/webdriverio/@testplane/webdriverio@54

commit: f3f916a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant