Describe the bug
The code in question is here
https://github.com/ether/etherpad-lite/blob/8ded04a803856f774d7839d2bd779c52156eeb3d/src/node/hooks/express/specialpages.ts#L104-L129
every time an etherpad deployment starts it generates new hashes for the same files although their content hasn't changed
imagine the following environment
ingress -> etherpad service -> multiple etherpad pods
you are using socket.io under the hood which is versatile however the plain js code is kinda bound to one pod since each pod will have their own hashes.
so if one pod serves some html references its js with its own hashes but next request goes to a pod which has other hashes this results in a 404
To Reproduce
Steps to reproduce the behavior:
- start with prod and put a breakpoint here https://github.com/ether/etherpad-lite/blob/8ded04a803856f774d7839d2bd779c52156eeb3d/src/node/hooks/express/specialpages.ts#L309
- see whats hashed
- restart
- compare new hash
Expected behavior
hashes are stable
Server (please complete the following information):
Additional context
this makes it very hard to run multiple etherpad pods at once even though socket.io already provides a nice basis
Describe the bug
The code in question is here
https://github.com/ether/etherpad-lite/blob/8ded04a803856f774d7839d2bd779c52156eeb3d/src/node/hooks/express/specialpages.ts#L104-L129
every time an etherpad deployment starts it generates new hashes for the same files although their content hasn't changed
imagine the following environment
ingress -> etherpad service -> multiple etherpad pods
you are using socket.io under the hood which is versatile however the plain js code is kinda bound to one pod since each pod will have their own hashes.
so if one pod serves some html references its js with its own hashes but next request goes to a pod which has other hashes this results in a 404
To Reproduce
Steps to reproduce the behavior:
Expected behavior
hashes are stable
Server (please complete the following information):
Additional context
this makes it very hard to run multiple etherpad pods at once even though socket.io already provides a nice basis