Hello,
An important goal from the beginning of the project has been that it should not be possible to cheat. This means we do not store anything in the client that the player is not allowed to know already, like enemy troop location/numbers/ruin guardians etc...
Ill try to clarify how it works for your question

When moving into FOW area, you unit wont uncover the FOW until you get response from the server (as the client doesnt know what is in the FOW - to make it impossible to cheat). So this means you will sometimes see your unit move part of its move, and then halt and wait for the server reply before finishing the move.
When moving in your own unfogged land, you dont need to wait for server response. This is to speed up the gameplay, and also it is very rare that moves are lost by the server. (but could happen - see "end turn" below)
The client keeps track of every move you make during your turn and checks of the server response to know the move has been successful.
Ruin works the same way, the client doesnt hold the data (only the ruin status explored/unexplored). If you have no internet connection, you can not search the ruin. So no way to cheat

End turn:
When you press endturn, the client checks its log of all the moves you have made, and re-sends the moves that has not been acknowledged by the server. This is normally very seldom moves are lost this way, but if you have a bad connection it could happen, but it means at end turn your client will then re-send them so the can be executed properly as you have expected.
With this said, it is possible to "lose" moves if you have a bad connection, and make half of your turn, and then just exit the browser, your lost moves would be lost - but hopefully you would see this next time you load the turn. There is actually a save game option in the "TURN" dropdown, that will perform this same move check as end turn does, just for this purpose when you want to make half a turn and then exit. Though I doubt anyone is using that functionality
