Skip to content

Releases: eliekarouz/FeedbackTree

0.16.0

11 Aug 10:24
Compare
Choose a tag to compare

Drop support of ViewModal

The concept of ViewModal has been extracted from the core library of FeedbackTree. It's now integrated into the sample application. This arrangement allows developers to draw inspiration from this code and devise their own solutions. As the FeedbackTree core library might not encompass all scenarios for every individual, this approach opens avenues for tailored implementations.

Flow Id

Introduction of FlowId

0.15.0

05 Mar 16:17
dfdd250
Compare
Choose a tag to compare

We are not any more enqueing UI events coming from the bind feedback.
If an event is emitted while rendering, the event will be processed immediately but a new rendering pass will kickstart after the current one ends.

0.14.0

20 Feb 06:02
Compare
Choose a tag to compare
  • Upgrade Kotlin 1.7.20
  • Modify gradle build scripts, github workflows and publishing

0.11.1 - Kotlin 1.4.10

12 Sep 15:14
Compare
Choose a tag to compare

New changes
Upgrade to Kotlin 1.4.10

Bug Fixes
[#1] Removing the backHandler when unsubscribing from View.backPresses()

0.11 - Kotlin 1.4

12 Sep 15:10
Compare
Choose a tag to compare

Upgrade to Kotlin 1.4

0.10.2 - Bug Fixes...

21 Aug 05:18
Compare
Choose a tag to compare

Fix a bug when trying to render back to back modals with custom content.

0.10.1 - Bug Fixes...

21 Aug 05:17
Compare
Choose a tag to compare

Fix a bug that occurs when you are trying to render multiple flows.

0.10.0 - On the Multiplatform track

21 Aug 05:14
31077d8
Compare
Choose a tag to compare

You don't inherit from Flow anymore. The Flow is now a data class and you just have to provide the lambdas necessary to run the flow like the initialState, stepper, and, render functions.

We are planning to make this library compatible with Kotlin Native. Step and Stepper Factory were moved to Kotlin-Multiplatform module.

We are currently building a documentation website that you can find here.

0.9.1 - Bug fixes...

29 May 11:35
Compare
Choose a tag to compare
0.9.1 - Bug fixes... Pre-release
Pre-release

Fix a bug in the way we are computing the screen height... The bug appears only on some devices.

0.9 - Goodbye Reducers... Welcome Steppers...

27 May 18:30
Compare
Choose a tag to compare

This release includes breaking changes...

Steppers replacing reducers

When the State is sealed class, you had to add a completed or terminal state in order to complete the flow. The ugliest part was that in the render method you had to take care of that terminal state although the render function will never be called when you reach the end state.

Reducers, i.e. (State, Event) -> State, are now deprecated and are replaced with the concept of Steppers, i.e. (State, Event) -> Step<State, Output>.
A Step will be either a new State or the Output. When a State is returned, we move forward with the Flow and when an Output is returned, the Flow completes and Output is passed to the parent Flow.

Two utility methods are provided to simplify the creation of a Step:

  • NewState(...).advance()
  • endFlowWith(Output)

Check out the StepperFactory.create to see how to build Steppers using Kotlin DSL

bind vs bindWithScheduler

In case you don't need the Scheduler of the Flow when creating a Binding feedback, use bind as it immediately gives you the stream of States/ViewModels. In case, you need the Scheduler to control the cancelation of effects, you can usebindWithScheduler...