Skip to content

Issues with recent changes to the Release Actions endpoint #1878

Open
@trflynn89

Description

@trflynn89

We've run into a couple issues implementing 7d8beb9 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: Use actions queue when dispatching undo actions from "Release Actions" #1853 (comment)).

  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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions