Enable metainfo version hashes in the GUI

Closes #1135 (closed). Enables the GUI to handle schema urls that have version hashes in them ("frozen schemas"). Frozen schemas are fetched using a special api endpoint, which fetches an entire frozen version of a package containing the versionHash requested. During parsing, all loaded frozen definitions are stored in a cache, indexed by the version hash, which is used when resolving references. For now, this cache just accumulates definitions, and is never cleared (as the frozen schemas should be static, the only reason we might want to clear the cache is if we want to save memory, but the schemas should hopefully not take up much memory). The reason for not clearing the cache is that we want to keep the current python schema hashes in the cache.

The merge has no real effect unless the version hash functionality is enabled in config.py.

Edited by David Sikter

Merge request reports