Skip to content

Bug: BufferedActions hanging action #661

@heyltsjay

Description

@heyltsjay

BufferedActions will queue, but not handle, actions that come in while it's in the process of sending. This results in the action dangling in the buffer indefinitely until some other action comes through. This is a regression from 0.19.0

To Reproduce
Buffer Bug.zip

  1. Run the example project
  2. Press the button on ViewController
  3. Note that viewStore.send(.didLoad) is executed as expected in ViewControllerB
  4. Note that .didLoad is not handled by either reducer
  5. Dismiss ViewControllerB
  6. Note that .didLoad and didDismiss are handled by reducer in succession.

Expected behavior
.didLoad should be processed by the reducer on the runloop it was sent (or at least in a timely manner)

Environment

  • swift-composable-architecture version >= 0.20.0 (not an issue in 0.19.0)
  • Xcode 12.5

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