Fixed ugly bug with not-waiting for the #deferred block to complete before considering widget template rendered.
Refactoring:
* "Futurized" almost all remaining internal logic of the core
* removed some unused code
* added comments with descriptions to the most tricky core methods
Refactoring:
* merged and renamed Widget::injectAction() and Widget::_injectRender() into Widget::inject()
* cleaned up Widget::browserInit() a little
Little refactoring of StructureTemplate.
Added Future.catch() to conform JS standard "thenable"
Future improvements:
* fixed error handing in Future.require() in case of errors caused by the Future callbacks
* added new Future.try() - synchronous to Future converter to conveniently compose Futures with synchronous functions that throw exceptions
improved DomInfo debugging support
and refactored Behaviour::render() a little
Added Future::catchIf() syntax-sugar method
Implemented protection from performing several page transitions concurrently
Big Widget::setParams() refactoring
* prevented performing setParams() concurrently with widget template rendering to preserve context consistency
* because of the previous setParams() become asynchronous
* setParams() rejects with the special error if it's called for the sentenced widget or it is collapsed due to overlapping with subsequent setParams() call
* introduced custom exception types
Merge branch 'master' into transit-queue
Fix defaultTimeoutTemplateString
Merge branch 'master' into transit-queue
Merge branch 'release'
One param for release cache
Merge remote-tracking branch 'origin/master'
API fix refresh token
Merge branch 'master' of https://github.com/cordjs/core
Merge branch 'release'
Renamed Widget methods to avoid confusion:
* setParams -> setParamsSafe --- should be used only when setting params to widget from outside (internal core usage)
* _setParams0 -> setParams --- synchronous params setting, must be used by widget developers when it's necessary to set params from inside the widget. Using setParamsSafe in this case may cause deadlock.
Fix collection