Please consider only modifying the history state and not completely overwriting it.
I haven't tested it but[1] changing this line:
|
state {:scroll-top scroll-top}] |
to:
state (assoc (js->clj (get-history-state)) :scroll-top scroll-top)]
should make Clerk play nice with other code that also makes use of the history state.
[1] I have tested it now and it seems to work.