nodejs/promises

Roadmap

balupton opened this issue · 11 comments

This thread is to consolidate the roadmap so that everyone is up to date with what the current goals are, and what the goals actually mean.

Goals:

  • Establish a WG to facilitate this roadmap — in progress
  • Create threads for each of the topics to be discussed — completed
  • Conclude whether or not promises should be in the core, if so, continue with the roadmap — in progress
  • Merge in an initial PR of an initial promise implementation (likely PR 5020 as it is most far along) — initially promises will be behind a flag, so implementation can change and break
  • Continually improve the implementation through consensus on what will be best
  • Once consensus is gained, start documentation
  • Once consensus is finalised and documentation is complete, drop the flag so it is enabled by default, backwards compatibility is now important

For the life cycle of the working group, refer to this part of the README.

@balupton Is adding promise examples for all the API to the docs part of roadmap ??

@vramana good point, updated

It seems like the progress has been stopped, hasn't it?

It has.

@benjamingr can you explain if that means that it has been decided not to include promises, or what the strategy is now?

perhaps this should be reopened as an issue in https://github.com/nodejs/ctc? Seems to fit there.

/cc @rvagg

@joshgav couldnt find anything about promises in ctc. what should we do? /cc @rvagg

rvagg commented

I'm not sure what the status is and if we can move this back to the CTC yet or not. I believe the hold-up that has lead to a pause of activity here is problems with postmortem debugging and general insight to Promises behaviour at runtime. Last update we had from the V8 team is that they are now investigating ways for us to get access to the microtask queue which has been a blocker for getting any real insight (e.g. AsyncWrap/AsyncHooks is missing any Promises support because of this). So perhaps we are coming closer to a place where some primary objections are being addressed?

@iamstarkov all those issues are about promises.

IMO it's blocked on postmortem issues that won't be fixed until we have async stack traces - we made big progress warning by default and I'd like to see "abort on GC" be a thing.

spion commented

AFAIK even with async stack traces the meaningful-core-dump requirement will not (and cannot) be fulfilled...

I mean actual async stack traces ala C# and not fake chrome like "list of functions I visited before". Async stack traces means you get the stack of everything in turn - the heap might be modified at that point but it's very negligible compared to the actually having stacks.