Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Sep 18 2019 14:08
    zainab-ali commented #57
  • Sep 18 2019 14:08

    zainab-ali on master

    Fix typo (#57) (compare)

  • Sep 18 2019 14:08
    zainab-ali closed #57
  • Sep 09 2019 09:29
    khlumzeemee opened #57
  • Sep 21 2018 06:33
    jendakol commented #56
  • Sep 20 2018 22:16
    zainab-ali commented #56
  • Sep 20 2018 08:35
    jendakol commented #56
  • Sep 19 2018 20:34
    jendakol opened #56
  • Sep 15 2018 10:12

    zainab-ali on update-readme

    (compare)

  • Sep 15 2018 10:12

    zainab-ali on master

    Update readme with notice of mo… (compare)

  • Sep 15 2018 10:12
    zainab-ali closed #55
  • Sep 15 2018 10:11
    zainab-ali opened #55
  • Sep 15 2018 10:10

    zainab-ali on update-readme

    Add relevant link (compare)

  • Sep 15 2018 10:08

    zainab-ali on update-readme

    Fix broken link (compare)

  • Sep 15 2018 10:05

    zainab-ali on update-readme

    Update README with notice of mo… (compare)

  • Sep 14 2018 22:48
    zainab-ali commented #53
  • Sep 14 2018 12:14
    zainab-ali commented #53
  • Sep 14 2018 12:13
    zainab-ali labeled #53
Fabio Labella
@SystemFw
I will post a description soon
doing a few more checks
then I'll try to find out what happened in fs2 to cause that change
Fabio Labella
@SystemFw
Ok
object Test {
  def f(n: Int) = {
    val input: Stream[IO, Int] = Stream(1, 2, 3) ++ Stream.raiseError(new Exception("BOOM"))

    def go(s: Stream[IO, Int]): Pull[IO, Int, Unit] =
      s.pull.take(n).flatMap {
        case None =>
          println("Exhausted the stream")
          Pull.done
        case Some(rem) =>
          println("Keep going")
          Pull.done
      }

      go(input).stream
    }.compile.toList.unsafeRunSync

  def M1 = """
  ---------- 1.0.0-M1

    scala> f(1)
  Keep going
  res0: List[Int] = List(1)

  scala> f(2)
  Keep going
  res1: List[Int] = List(1, 2)

  scala> f(3)
  Keep going
  res2: List[Int] = List(1, 2, 3)

  scala> f(4)
  java.lang.Exception: BOOM

  """

  def M2 = """
   ---------- 1.0.0-M2

  scala> f(1)
  Keep going
  res0: List[Int] = List(1)

  scala> f(2)
  Keep going
  res1: List[Int] = List(1, 2)

  scala> f(3)
  Exhausted the stream <----- HERE
  res2: List[Int] = List(1, 2, 3)

  scala> f(4)
  java.lang.Exception: BOOM
"""
}
the pull.take is used in StreamSubscription
Fabio Labella
@SystemFw
my guess is that the move from segment to chunk forced a rewrite of some ops
and this one got affected
but I feel like I'm past the hard part of this
Ross A. Baker
@rossabaker
So that's a bug in M2 (and M3)?
Fabio Labella
@SystemFw
yeah, I'd say so
finishing up a minimal test case
in that case I'll fix it and merge, then Michael can probably release M4 and we can keep going
Ross A. Baker
@rossabaker
:+1:
Fabio Labella
@SystemFw
although now I'm a bit wary of that commit, there might be more of these
Fabio Labella
@SystemFw
  def remainderFromTake[F[_], A](s: Stream[F, A], n: Int): Stream[F, Either[A, A]] = 
    s.pull.take(n).mapOutput(Left(_)).flatMap {
      case None => Pull.done
      case Some(rem) => rem.map(Right(_)).pull.echo
    }.stream


  def one = remainderFromTake(Stream(1,2), 1).toList
  //res0: List[Either[Int,Int]] = List(Left(1), Right(2))
  def two = remainderFromTake(Stream(1) ++ Stream(2), 1).toList
  // res1: List[Either[Int,Int]] = List(Left(1))
Fabio Labella
@SystemFw
ok fixed, it was literally <= instead of <
Ross A. Baker
@rossabaker
Nice work!
Fabio Labella
@SystemFw
:)
I always a bit guilty about not helping more with http4s :P
Zainab Ali
@zainab-ali
version 0.7.0 is out with support for fs2 1.0.0-M4 :tada: Thanks @SystemFw !
Unfortunately, some of the test failures have also crept back
Fabio Labella
@SystemFw
mm, which ones?
Zainab Ali
@zainab-ali
Looks to be a new one StreamUnicastPublisherSpec - required_spec303_mustNotAllowUnboundedRecursion
I've opened #53 for it. I'll have some time free to look at it tomorrow
Ross A. Baker
@rossabaker
:tada: thanks. We'll have a new fs2 to publish on soon after cats effect, I imagine.
Fabio Labella
@SystemFw
alright
Ross A. Baker
@rossabaker
There was talk this morning about reviving the idea of making this project an fs2 module. That would be totally up to @zainab-ali.
But it might make some sense, given that most of the maintenance is keeping up with fs2's breaking changes.
Zainab Ali
@zainab-ali
It's something I'd be in favor of - and indeed I suggested it when first creating the project
Ross A. Baker
@rossabaker
I remember. :smile:
Zainab Ali
@zainab-ali
I think it'd give it more publicity too - most people don't know that there's a reactive streams implementation for fs2
It would be great :smiley:
Ross A. Baker
@rossabaker
I understand apprehension to dependencies, but reactive streams is about as reliable a dependency as you can take on as a maintainer.
@mpilquist expressed an openness to it this week, so I'd love to see it happen.
Ross A. Baker
@rossabaker
Maybe we could release #54 as 0.8, and then send a PR over to fs2 for its next release so we don't have to do this again in a week or two.
Michael Pilquist
@mpilquist
That sounds good to me!
Zainab Ali
@zainab-ali
:smile:
Christopher Davenport
@ChristopherDavenport
#54 would unblock Http4s and I can get all my http4s downstreams up to date on the new milestones.
Zainab Ali
@zainab-ali
I'll release #54 now
Zainab Ali
@zainab-ali
0.8.0 has been released :tada:
Michael Pilquist
@mpilquist
:confetti_ball:
Fabio Labella
@SystemFw
\o/
Ross A. Baker
@rossabaker
:tada: Thank you!
Zainab Ali
@zainab-ali
Fabio Labella
@SystemFw
Nice!
Ross A. Baker
@rossabaker
Hooray! This is exciting.
Bjørn Madsen
@aeons
Awesome
Zainab Ali
@zainab-ali
It's been merged :tada: I'll now maintain it from fs2