Skip to content
Compare
Choose a tag to compare
@3rd-Eden 3rd-Eden released this 17 Jun 12:17
· 100 commits to master since this release

AsyncAsset

One of the major changes in the client is the extraction and rewrite of our loader.js resource loader. It ensured that all assets were loaded on the page before we started rendering the received pagelets. We always wanted to have library moved out of the pipe.js core and released as stand alone framework as we believe it can be useful for others. When we encountered an horrible race condition when were started using one pagelet on 2 parts on a page it required a substantial refactor in order to fix this. It was the ideal moment to refactor and release it as stand alone module: https://github.com/bigpipe/async-asset

It's still a bit light on the documentation side of things, but it's a great step forward to a more modular codebase.

Client side template rendering

We've made some changes to the pagelet.render method so it will automatically render your specified views when you supply the method with an object instead of string. (Please note that you need to set streaming to true on your Pagelet instance on the server). When an error occurs while rendering your template we will automatically render the error template and use that instead.

Internal refactors

As mentioned above we ran in to some issues when loading pagelets twice on the same page. This required us to some internal refactors. The pagelets that we receive are no longer stored in an Object but in an array to prevent possible name clashes for happening.

Recursive, nested pagelets

See the 0.7 release of BigPipe for more information about this. It required some changes like making sure that nested pagelets have the correct root elements for searching for the data-pagelet placeholder attributes.