The common-HASH.js files contain, among other things, a variant of this code (line breaks added to make it easier to read):
The four keys in DATASTORE_REDIS_ARGS appear in random order; there are 4! = 24 possibilities, and each run of compile_resources.sh will randomly choose one; as a consequence, the MD5 hash used in the file name changes, too. Since each frontend Docker container makes its own random choice, there are always multiple almost identical files in use, and a browsing user is likely to see all of them within twenty or so requests. Each time, a new copy of the same JS is stored in the cache.
Is it even necessary to store this information (and also the RENDERER_PORT) in client-side JS? It can’t access Redis or the renderer anyway. If it is necessary, the order of the elements in DATASTORE_REDIS_ARGS needs to be made consistent (e.g. lexicographical order of the keys).
Today, the following variants are in use, with the given key order: