HomePhabricator

Clear interaction after an event for it is logged in EL
b0f2f636be0cUnpublished

Authored by joakin <joaquin@chimeces.com> on May 10 2017, 11:38 AM.

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

Clear interaction after an event for it is logged in EL

Given that interactions end up with an event logged, there shouldn't be
a reason to keep an interaction active after it's corresponding final
event has been logged. See Tbayer's state graph.

This patch removes the current interaction if an event with that token
is logged, effectively finalizing it and making it impossible for the
token to be reused from the state tree again.

Additional changes:

  • Pass the logged event with the action EVENT_LOGGED so that the reducer can determine if it needs to do anything else.
  • Since the interaction is removed, when undefined, guard against actions that use state.interaction freely. (Only allow BOOT, LINK_PREVIEW, and EVENT_LOGGED)

Bug: T161769
Bug: T163198
Change-Id: I99fd5716dc17da32929b6e8ae4aa164f9d84c387