Mirror's SyncVar behavior

I’ve come across this article which explains the best practices for using SyncVar

This doesn’t seem to be a Mirror documentation but Mirror is named multiple times in the article and the syntax is the same, so I think this might be the same with Mirror.
However, when using Mirror, these best practices don’t seem to be correct. The Mirror documentation doesn’t cover all these topics, so I’m confused now.

Here are some examples that don’t seem to be the same.

1

This doesn’t seem to be correct. If I change a SyncVar directly on the server side in Mirror, it calls the hook on the server. If I call the hook directly from the server and inside the hook I set the SyncVar to the new value (as recommended in the article) the hook gets called twice.

2

In Mirror, the hook seems to get called when the client connects late and the SyncVar is synchronized, I don’t need to call the hook manually in OnStartClient().

3
Another example is the EnsureInit method recommended in the article. I never had any problems with initializing everything in the Awake method. Awake seems to be called before any other Mirror method, but I just can’t be sure about that.

So to conclued, does anyone know how this behaves in Mirror or is there somewhere a proper documentation of this. I just don’t like the idea to make it the way it seems to work for me without knowing how it is properly done.

Thanks for your help

Unfortunately, the article doesn’t say what version of Mirror was used or even a date for when the article was written. SyncVar hook behavior has had changes a few times.

https://mirror-networking.com/docs/Articles/General/ChangeLog.html

My guess is the article was written against a different version of Mirror than you are using.

Thanks for your answer, yes the article definitely is outdated.
I have been working testing alot and have to correct my first point:

The SyncVar hook does not get called on the server, only on the clients but of course also on the host (server+client), that is what made me confused.

Points 2 and 3 seem to be correct like, the SyncVar hook gets called when the client connects late und EnsureInit is not needed.