0.4.0 #1199
0.4.0
#1199
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
New:
LazyRow
andLazyColumn
viarefreshing
booleanand
onRefresh
lambda. These are experimental because we expect refresh support to migrate tosome kind of future support for widget decorators so that it can be applied to any widget.
DisplayLinkClock
is available for iOS and MacOS users of Redwood.(Treehouse already had a frame clock for iOS).
WidgetValue
(orList<WidgetValue>
) produced from the generated testing function'sawaitSnapshot()
can now be converted to aSnapshotChangeList
which can be serialized to JSON.That JSON can then later be deserialized and applied to a
TreehouseView
to recreate a full viewhierarchy from any state. This is useful for unit testing widget implementations, screenshot
testing, and more.
ChangeListener
interface to receive anonEndChanges()
callback which occurs after all property or event lambda changes in that batch. This can help
reduce thrashing in response to changes to multiple properties or event lambdas at once.
LazyRow
andLazyColumn
now support aplaceholder
composable slot which will be used withTreehouse when a new item is displayed but before its content has loaded. Additionally, the size
of these widgets can now be controlled through
width
andheight
constraints.Changes:
LayoutModifier
has been renamed toModifier
.UI primitives like
Dp
,Density
, andMargin
have moved from Treehouse into the Redwoodruntime (in the
app.cash.redwood.ui
package).HostConfiguration
has moved from Treehouse into the Redwood runtime (in theapp.cash.redwood.ui
package) and is now calledUiConfiguration
.Composables running in Treehouse now run on a background thread on iOS. Previously they were
running on the main thread. Interactions with UIKit still occur on the main thread.
RedwoodContent
function for hosting a Redwood composable within Compose UI has moved into a newredwood-composeui
artifact as it will soon require a Compose UI dependency.The generated testing function now returns the value which was returned from the testing lambda.
Before:
Now:
The Redwood and Treehouse frame clocks now send actual values for the frame time instead of 0.
Fixed:
null
value when nolambda is set. Previously a
null
would only be seen after a non-null
lambda.generated by the Kotlin compiler for an error case whose occurrence was impossible.
Row
,Column
,Spacer
, andUIViewChildren
now react to size andchild view changes more accurately according to UIKit norms.
This version only works with Kotlin 1.8.20.
This discussion was created from the release 0.4.0.
Beta Was this translation helpful? Give feedback.
All reactions