If you want to customize your pipeline steps, you can do so by using addPipelineStep. Just remember that the step's name needs to match one of the default slots in the pipeline: authorize, preActivate, preRender, and postRender. Aurelia provides functions for creating a pipeline step for each of these slots.
The authorize step is triggered between loading the route's step and calling the canActivate function of the route view-model (if defined). The preActivate step is called between the canActivate function and the deactivate function of the previous route view-model (if defined). The preRender step occurs between the activate function of the route view-model and rendering/composing the component. Finally, the postRender step happens after the component has been rendered/composed.
So should it be public canActivate(): void {
? Or public canActivate(): boolean {
?