Skip to content

fix(provider-webdriver): an orientation refused by every route reports dispatched no - #3091

Merged
thymikee merged 1 commit into
mainfrom
fix/webdriver-orientation-refusal-dispatch-no
Oct 1, 2026
Merged

thymikee merged 1 commit into
mainfrom
fix/webdriver-orientation-refusal-dispatch-no

Conversation

@thymikee

@thymikee thymikee commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

setWebDriverOrientation tries two routes and, when the driver refuses both as not implemented, threw a COMMAND_FAILED with attempts only: no reason, no dispatched. The router then stamped that failure dispatched: unknown although nothing reached the device. Found by cubic on #3090.

  • webdriver-transport.ts: the one owner of the refusal details, unsupportedRouteRefusal() (reason: webdriver_route_unsupported, dispatched: no), used by webdriverError and now by the orientation fallback's final error.
  • webdriver-orientation.ts: the every-route-refused error carries those details beside rotation and attempts.
  • Golden table: one row, webdriver.orientation.every-route-unsupported → no, driven in webdriver-orientation.test.ts (the owner map gains the webdriver.orientation. prefix). Mutation: dropping the spread fails the row and the existing both-endpoints test.

Part of #3069. +1 row (80).

Validation

webdriver-orientation.test.ts, webdriver-transport.test.ts, contracts/dispatch-disclosure.test.ts (40 tests), pnpm typecheck, check:layering, check:fallow --base 8c0edab4c7, oxfmt on the five files.

Review in cubic

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
Installed (including dependencies) 4.91 MB 4.91 MB +44 B
Package (unpacked) 4.91 MB 4.91 MB +44 B
Package (download) 1.47 MB 1.47 MB -3 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 26.4 ms 25.9 ms -0.5 ms
CLI --help 78.6 ms 78.9 ms +0.4 ms

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 5 files

Re-trigger cubic

@thymikee

thymikee commented Oct 1, 2026

Copy link
Copy Markdown
Member Author

I found no code problems at f4f2ca5. When every orientation route refuses the request, the WebDriver provider now reports dispatched no, which matches the fact that nothing reached the device.

CI is still running: Smoke Tests is in progress and has no failure so far. I did not run anything locally, so the validation list in the PR body is unverified by me. I also did not trace the request router to confirm it keeps a producer-set dispatched no instead of replacing it with unknown. The PR body and the unclassified-dispatch handling in the kernel errors module both point that way.

I did not do a hosted WebDriver run, and I do not think one is needed, because the change only adds error details on a path that never reached the device. No conflicts. Once Smoke Tests finishes green, this is ready, and I am not asking for any code change.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 1, 2026
@thymikee
thymikee merged commit c973d38 into main Oct 1, 2026
18 of 19 checks passed
@thymikee
thymikee deleted the fix/webdriver-orientation-refusal-dispatch-no branch October 1, 2026 11:10
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-01 11:10 UTC

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

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant