The `useEffect` in the `PageChangeEffect` component that sets the page's hotkey scope is run 4-5 times every time the page changes. It should be executed only once when the location changes. The re-runs are due to unstable dependencies that shouldn't re-trigger the `useEffect`. This PR minimizes the re-runs of the `useEffect`. In the following video, I discuss a more global pattern. The documentation for the `useEffectEvent` hook: https://react.dev/learn/separating-events-from-effects#extracting-non-reactive-logic-out-of-effects. https://github.com/user-attachments/assets/8c0c238b-f1c4-4bbb-b083-0825f7176599