r
Radicle website including documentation and guides
Radicle
function getRelease(name, urlBase, releaseId, knownTimestamp) {
const releases = document.getElementById(`${releaseId}-releases`);
fetch(`${urlBase}/${releaseId}.json`)
.then(res => res.json())
.then(data => {
if (data.timestamp === knownTimestamp) {
console.info(`Release data for ${name} is up to date.`)
return;
}
const version = data.version;
const commit = data.commit;
const release = document.getElementById(`${releaseId}-release-header`);
const releaseName = document.getElementById(`${releaseId}-release-name`);
const releaseInfo = document.getElementById(`${releaseId}-release-info`);
document.querySelectorAll(`#${releaseId}-releases [data-release-binary]`).forEach((row) => {
const arch = row.dataset.releaseArch;
const binary = row.dataset.releaseBinary;
const archive = `${releaseId}-${version}-${arch}-${binary}.tar.xz`;
const url = `${urlBase}/${archive}`;
row.querySelector(".release-arch").innerText = arch;
row.querySelector(".release-url").innerText = archive;
row.querySelector(".release-sig").innerText = ".sig";
row.querySelector(".release-checksum").innerText = ".sha256";
row.querySelector(".release-url").href = url;
row.querySelector(".release-sig").href = `${url}.sig`;
row.querySelector(".release-checksum").href = `${url}.sha256`;
});
release.classList.remove("loading");
releaseName.innerText = `${name} ${version}`;
releaseInfo.innerHTML = `Built from commit <code>${commit}</code> on ${new Date(data.timestamp * 1000).toISOString()}.`;
});
}