Skip to content

feat!: remove onStop callback in favor of data-binding triggers - #364

Open
mfazekas wants to merge 4 commits into
mainfrom
feat/databinding-finished-trigger
Open

feat!: remove onStop callback in favor of data-binding triggers#364
mfazekas wants to merge 4 commits into
mainfrom
feat/databinding-finished-trigger

Conversation

@mfazekas

@mfazekas mfazekas commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

Removes the onStop prop introduced in #353 (shipped only in v0.5.0-beta.1). Per the discussion with the Rive team, state-machine settling is intentionally internal — rive-android 11.8.0 already removed the public settledFlow this was built on — so app behavior shouldn't depend on it.

The replacement is a data-binding trigger fired by the state machine when the timeline completes (see this community file for the editor setup). Shipped here as a README section (including the exit-time-100% gotcha), a finished_trigger.riv asset with a "Finished Trigger" demo page in the example app, and a harness test asserting the trigger fires exactly once and only after the timeline actually plays — on all four backends, legacy included.

The Android render loop keeps the internal stop-advancing-when-settled optimization from #353; the iOS settled machinery is removed entirely (the SDK's own view already stops advancing at rest).

State-machine settling is intentionally internal in the Rive runtimes
(rive-android 11.8.0 removed the public settledFlow), so the onStop prop
shipped in 0.5.0-beta.1 is removed. Fire a data-binding trigger from the
state machine instead — see the new README section, the finished_trigger
example asset, and the Finished Trigger demo page. The Android render
loop keeps the internal stop-advancing-when-settled optimization.
…gacy

The behavioral trigger test passes on all four backends; only
getPropertiesAsync (used by the introspection test) is unimplemented on
the legacy backend, so that one is gated to the new runtime.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant