When is SharedJS evaluated?

At what point is SharedJS evaluated?

SharedJS evaluates when the app boots up. It also evaluates when applying an app update.

Note: this implies that asynchronous operations that might delay initialization (eg. DB operations like user.save()) should not be executed on the top-level (outside of a function). Such operations should be in a function and executed from the main view's init().