w3c / w3c/webdriver

Issues with recent changes to the Release Actions endpoint

Open
#1,878 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Release Actions
Dominant language
HTML
Stars
718
Forks
228
PR merge metrics
No merged PRs in 30d

Description

We've run into a couple issues implementing https://github.com/w3c/webdriver/commit/7d8beb949159e0f7d86a34410aedd3a1af3d4b0c in the Ladybird browser.

  1. Release Actions now enqueues a token to the input state's actions queue in step 5 ("Wait for an action queue token with input state"). However, this token is not dequeued. When we try to dispatch the undo actions, the first step of "dispatch actions" again waits for an action queue token. The issue is that this wait will never complete - the token queued by Release Actions will remain the first token indefinitely.

  2. Step 3 of "dispatch actions" has an assertion which states "Assert: this returns token". This is referring to a variable named token that no longer exists in the dispatch actions algorithm; the variable has been moved to the "wait for an action queue token" algorithm. (See also: https://github.com/w3c/webdriver/pull/1853#discussion_r1901733535).

  3. The "dispatch actions" algorithm accepts an "actions by tick" parameter. This is a list of "tick actions", which itself is a list of action objects - i.e. it is essentially a list of a list of action objects. The new usage of this algorithm in Release Actions invokes it with "undo actions", which is just a singular list of action objects. So Release Actions is missing some spec step to convert that list to a list of lists.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the Release Actions and dispatch actions algorithms with commit 7d8beb949159e0f7d86a34410aedd3a1af3d4b0c, including the discussion on pull request 1853. Done means the token wait and dequeue behavior, the obsolete token assertion, and the undo-actions parameter shape are made consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.