Thank you @radekmie ,
@dthwaite just one thing: before you jump into the link "
The current state of Blaze & Async - Or: everything I learned about Blaze and Async in the last 6 Months".
That post is a bit outdated by now and I haven’t gotten around to really updating it. I’ll probably focus more on the “transition docs” in google docs here: How to convert your existing Meteor App to ASYNC & Prepare for Meteor 3.0
Which also isn’t 100% up to date, for example there’s a solution which seems to be working, at least for us, for client side stubs now (or actually maybe even two): The zodern:fix-async-stubs package & another solution by @alisnic , all to be found in this thread: [ Proposal to fix issues with async method stubs](Proposal to fix issues with async method stubs - #7 by rjdavid). Also @radekmie fixed the async attributes in the blaze templates too, which is awesome
But I really want to focus on is the Babel Plugin we developed to help out with your issue number 2:
Blaze / Async Migration Helper: Babel Plugin Tracker-Async-Enhance for the Client Side released
Which basically wraps all await calls in the client with Tracker.withComputation and makes sure the current computation is passed through in reactive contexts.
It’s not perfect, but it runs well enough for us in a large production app.