R2D2 wakes up because he has the map copied from the empire’s archives. He notices that the missing piece is finally downloaded to the local computer and wakes up.
OK so all movies are cannon… show me a Jedi with a child. That was Yoda’s warning to Anakin, no personal attachments because that creates emotions that lead to the dark side.
In the last fight, yes … Rey is angry, but she finds peace and fights the feeling off. Read the novelization of the movie. So not only she wins against Kylo Ren, she also fights off the dark side.