Laminar v0.13.1 & Waypoint 0.4.2
Fixes a regression in Laminar controlled inputs when filtering user input, and an unrelated issue with file:// URLs in Waypoint.
News
Kit is writing a Full Stack Scala book. Sign up to get notified about the release!
Caliban GraphQL library has a Laminar / Laminext intergration now.
Antoine's new blog post: Cross-Platform Mobile dev with Scala and Capacitor shows how you can build mobile apps with Laminar.
Kit's new Formula library lets you derive functional, reactive, Laminar forms at compile-time. It's in early stages of development, but already has significant improvements over the implementation that powered the original video.
Laminar Changes
Laminar v0.13.1 fixes a regression (#100) introduced in v0.12.2 where invalid user input caused the controlled input element to be reset to an incorrect "last valid value", usually an empty string. "Invalid" in this context means user input that has been filtered out by Laminar/Airstream means, such as a string containing non-digit characters in a zip input like this:
input(
controlled(
value <-- stateVar.signal.map(_.zip),
onInput.mapToValue.filter(_.forall(Character.isDigit)) --> zipWriter
)
)
Latest Laminar works as expected in this case, resetting the input's value to the correct/expected "last valid value", essentially preventing invalid input.
Waypoint Changes
Waypoint v0.4.2 fixes a bug caused by apparently inconsistent browser behaviour around location.origin
. The issue was specific to file://
URLs in Firefox, so it doesn't affect production. More details here.
Note: Waypoint v0.4.1 release is the same as v0.4.2 but had a typo in the new error message. You didn't miss anything.
Thank You
Laminar & Airstream development is sponsored by people like you.
GOLD sponsors supporting this release:
Thank you for supporting me! ❤️