Hey all! We’re considering folding coroutines inte...
# coroutines
e
Hey all! We’re considering folding coroutines internal calls in the IDE console output to leave only business logic on the stacktrace thus making analysing them easier. Folding means that all the lines (including the first line that matches a given at
kotlinx.coroutines.
prefix) will not be shown unless you click on 
<3 internal lines>
. After one clicks on this caption — all the underlying folded lines will be shown to the user. Folded code:
Copy code
at my.business.Logic.f(Logic.kt:30)
at my.business.Logic.g(Logic.kt:150)
at my.business.Logic.main(Logic.kt:99) <3 internal lines>
at not.mine.but.also.BusinessLogic.main$1(BusinessLogic.kt:20)
at not.mine.but.also.BusinessLogic.main(BusinessLogic.kt:19)
Unfolded code:
Copy code
at my.business.Logic.f(Logic.kt:30)
at my.business.Logic.g(Logic.kt:150)
at my.business.Logic.main(Logic.kt:99)
at kotlinx.coroutines.invokeAsync(Coroutines:999)
at kotlinx.coroutines.applySuspend(Coroutines:18)
at kotlinx.coroutines.runBlocking(BlockingCoroutines:555)
at not.mine.but.also.BusinessLogic.main$1(BusinessLogic.kt:20)
at not.mine.but.also.BusinessLogic.main(BusinessLogic.kt:19)
To understand the possible consequences on user experience we want to know how you feel about seeing or not seeing coroutine internal stuff in your stacktraces (please note that they will be still available via clicking on <N lines folded>). And if you need them, it would be interesting to understand your specific use cases. Please, share your thoughts in the thread.
👌 12
b
This sounds awesome to me!
8
Although it might be good to somehow indicate that folded lines relate to coroutines
7
Maybe
<3 coroutines lines>
instead?
f
This fixes one of my biggest problems with coroutines
l
<x coroutines internal lines>
would be even more explicit, yet, shorter than most lines in the stacktrace.
👍 1