question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[2.0.0] API improvements and other fixes

See original GitHub issue

There are some APIs that can be improved/simplified. This issue is to collect all the cases. This is also a good place to raise and discuss any proposals or concerns.

  • flatMap - add default value for the maxConcurrency argument, remove flatMap variants without the maxConcurrency argument
  • flatMap with resultSelector - reorder arguments in the following way: resultSelector, maxConcurrency, mapper
  • observableInterval - put startDelayMillis after periodMillis and add default value startDelayMillis: Long = periodMillis, remove another observableInterval variant
  • Observable.replay - add default for bufferSize argument, remove the variant without arguments
  • Completable.asMaybe and Completable.asObservable - remove the generic parameter and make the return generic type Nothing
  • doOnAfterSuccess - rename action argument to consumer
  • remove all deprecated code
  • repeat(count: Int = -1) - the argument name should be times, for consistency with retry and RxJava. The type should be Long, and the default value should be Long.MAX_VALUE.
  • repeat with value 0 should return empty Observable, repeat with value 1 should subscribe only once, and so on. For consistency with RxJava.
  • retry(times: Int) - the argument type should be Long, and the default value should be Long.MAX_VALUE.
  • Observable.scan(getSeed, accumulate) and Observable.scan(accumulate), - the accumulate argument should be renamed to accumulator for consistency with RxJava.
  • Observable.throttle - should accept a Scheduler for timings instead of using Clock implicitly, for better testing on the client side.
  • Review all ExperimentalReaktiveApi, perhaps we can stabilise something.
  • Add collect overload with collection supplier
  • Convert all millis durations to the new Duration API, if it becomes stable
  • Wait for Multiple Receivers to become stable and extract all subscribeXyz extensions from DisposableScope, and also T.scope(dispose: (T) -> Unit)
  • Stabilize the Plugins API
  • Remove the old memory model support, optimize for the new memory model
  • All limit arguments in Observable.buffer operators should be of type Int

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
arkivanovcommented, Nov 27, 2021

@plusmobileapps yes, we have this in the task list for v2. I will investigate and provide updates here.

0reactions
arkivanovcommented, Feb 11, 2022

@galdp Yes it is. threadLocal is useful for as long as the Kotlin/Native strict memory model is used. If you opt-in to the new relaxed memory model, then you can avoid using threadLocal. Also as a side note, it is not quite related to the version of coroutines.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Semantic Versioning 2.0.0 | Semantic Versioning
Bug fixes not affecting the API increment the patch version, backwards compatible API additions/changes increment the minor version, and backwards incompatible ...
Read more >
Release notes — pandas 2.0.0.dev0+958.g083d030d47 ...
This is the list of changes to pandas between each release. ... Enhancements · Notable bug fixes · Backwards incompatible API changes ·...
Read more >
WorkManager - Android Developers
API Changes. Remove @ExperimentalExpeditedWork APIs given the underlying platform APIs for Android 12 (S) are stable. (aosp/1792806). Bug Fixes.
Read more >
Change log | Unity Transport | 2.0.0-pre.3
Status codes NetworkHeaderInvalid and NetworkArgumentMismatch are now marked as obsolete. Nothing in the API returns these status codes anymore. Fixes. Fixed ...
Read more >
Changelog Highlights — Locust 2.0.0b4 documentation
Allow workers to bypass version check by sending -1 as version (2.0.0) https://github.com/locustio/locust/pull/ ... Other various bug fixes as improvements ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found