Dersom klienten kjører en annet versjon av bygget enn serveren, kjører vi nå en full re-render av dekoratøren. Skal hindre diverse feil som kan oppstå når client/server er ute av sync.
Endringer:
Setter client env var BUILD_ID til commit-sha for bygget
Rename /auth endepunktet til /client-state. Åpen for bedre forslag!
/client-state responsen inkluderer build-id'en til serveren
(Mulig at det er en bedre approach å ha build-id sjekken på et separat kall til et eget endepunkt for raskest mulig response.)
Sjekker build id fra serveren mot build id i client bundle'en. Dersom de er ulike, fetches assets for re-render fra serveren.
Kopierer csr-bundle js til filnavnene for de siste prod-deployene, slik at apper som har cachet disse versjonene tvinger til CSR.
Setter window event listeners i main init, etter sjekken på build-id, slik at vi ikke får duplikate listeners dersom CSR-funksjonen trigges.
Det slo meg også at vi egentlig ikke gjør client-side rendering her, vi får jo ferdige html-fragmenter fra serveren. Må ta en runde på terminologien! 😄
Dersom klienten kjører en annet versjon av bygget enn serveren, kjører vi nå en full re-render av dekoratøren. Skal hindre diverse feil som kan oppstå når client/server er ute av sync.
Endringer:
/auth
endepunktet til/client-state
. Åpen for bedre forslag!/client-state
responsen inkluderer build-id'en til serverenDet slo meg også at vi egentlig ikke gjør client-side rendering her, vi får jo ferdige html-fragmenter fra serveren. Må ta en runde på terminologien! 😄