Skip to content

Add lifecycle-aware view transitions - #8

Closed
samuel-williams-shopify wants to merge 1 commit into
mainfrom
add-lifecycle-view-transitions
Closed

samuel-williams-shopify wants to merge 1 commit into
mainfrom
add-lifecycle-view-transitions

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a connection-scoped AbortSignal directly to ViewElement for listeners and asynchronous work
  • add the optional transitionView helper through @socketry/live/Transition
  • make transitions progressive enhancements whose updates always execute exactly once
  • skip active visual transitions when their owning view disconnects
  • document lifecycle cleanup, asynchronous readiness, stable layout, nested transitions, and reduced motion
  • test transition support, fallbacks, failure handling, cancellation, and reconnection

morph() remains synchronous; this change does not alter Live update, reply, or dispatch semantics.

Validation

  • npm test
  • package self-import of @socketry/live/Transition
  • npm pack --dry-run
  • git diff --check

@samuel-williams-shopify
samuel-williams-shopify force-pushed the add-lifecycle-view-transitions branch from 4072945 to 4bd1685 Compare September 16, 2026 05:21
Base automatically changed from add-view-transitions to main September 16, 2026 05:36
Assisted-By: devx/e18eafa2-2efa-46c8-8c94-fb459f0d557f
@samuel-williams-shopify
samuel-williams-shopify force-pushed the add-lifecycle-view-transitions branch from 4bd1685 to 9e0f438 Compare September 16, 2026 05:38
@samuel-williams-shopify

Copy link
Copy Markdown
Contributor Author

Closing this for now. The lifecycle signal and View Transition coordination can remain at the application layer until we have another concrete consumer that clarifies the right shared abstraction.

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