retire-provenance: superseded Q b/ objects (sha256 CAS, HOLO-LEAN-RESOLVER P1.3)
Browse files
sha256/047fcce22cc780193ec6dd21ff10bb7624ae43a29a695d0360de3dbc38955998
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
sha256/c21ccc79e2a89964baf21fa139b5ee1fab024174dfabef28cd5754270c17ba55
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"@context":["https://www.w3.org/ns/did/v1","https://w3id.org/security/data-integrity/v2",{"dcterms":"http://purl.org/dc/terms/","links":{"@container":"@set","@id":"schema:hasPart"},"prov":"http://www.w3.org/ns/prov#","rel":"schema:additionalType","schema":"https://schema.org/"},{"holstr":"https://hologram.os/ns/strand#"}],"@type":["prov:Entity","holstr:Entry"],"holstr:kind":"release","holstr:op":"did:holo:sha256:87599792c7b13fad9d6c57d3b89d2cef35e4715869f5cde597ab60ca92699f0b","holstr:payload":{"apps":{"carry":"9f44164b17e6b7e37f39623bb445d49b6608da5f2b04cef8b1a8b183362a6b9a","hello":"66c1ada5ac08a2d4f73851bbe7458ad5fb6e2226c5a131c3829abfe715900fed","holo-messenger":"0a65550d027ecaf8ee3e58e6c9221a09c376a3ea4cd8283e6376baeae525bab6","jellyfin":"f5e5604c1c08be8d5833fbf61d4ff2fd563b411443f10fef13ca346df44af1ab","resolve":"23aec66382775f5773693615338f37c37a5f58257ec95aece33a664baa6fe0db","self":"0511772584510f0888d97dd5a72bf986ad6791bd8e305063ddd8a82c39888a70","spaces":"d8aebefb67e7fc7802e757b9a7d95bb881e6d75b4a9bc4bd4227634541757e51","yourspace":"1f6ff113f116c374d1ed9eafe17bf3e3a7cbc810c060e3d77fb438876a24fb3e"},"boot":{"entry":"holo-portal.mjs","sha256":"caeb3e57b6eeab09bee6d67c022145a8e2dae610c929a7f51bc169898625e7e8"},"closure":"9fdaf30185cd8bf615a90588035c13339017aae716f17bc64b2d43c0dd95434e","manifest":"8bd00282804b748cc852f8ad5fc7a583144ecbbcd715b333421445ed1d6fe3cc","runtime":{"apps/q/pkg/holospaces_web.js":"b9f8a887de588c5193dc65ca9ce206a70c6df53595b848e0ce0299c2d88a5753","apps/q/pkg/holospaces_web_bg.wasm":"9d90b4ea8bccee8c239073c7ec7dd5158c6d11f1f668487570d17475d79e661e","apps/workspace/pkg/holospaces_web.js":"8c30aa5582dffe4548d27fa7863163eba689ed65126be472c003f5884fc8e534","usr/lib/holo/holowhat/holospaces_web.js":"a5b5d9c559a1d2812c33e9d7a4b1c24bb03059482503a23356e4c9c32d4d8b88","usr/lib/holo/holowhat/holospaces_web_bg.wasm":"00cfa4960b319ba1ba7291cddb20dea130a407ce8b42426218854f4f68f4dcd7","usr/lib/pkg/holospaces_web.js":"8c30aa5582dffe4548d27fa7863163eba689ed65126be472c003f5884fc8e534","usr/lib/pkg/holospaces_web_bg.wasm":"3370b22070b56218a57df6406e2e4ba7cc171e942d4d1f2ae4297ea2c4c08d9c"},"shell":"97ca1ee6446f04c1d395d318e759c5a9ffdf4a27c26ef6ce9a5001dc49b2fd70"},"holstr:prev":"did:holo:sha256:ea46f6374992c380e9a797b28dfa213fbe488cc40ff6c724bc09d7876ac7bd08","holstr:seq":250,"prov:generatedAtTime":"2026-07-13T16:00:58.336Z"}
|
sha256/f5e5604c1c08be8d5833fbf61d4ff2fd563b411443f10fef13ca346df44af1ab
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
| 2 |
+
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
| 3 |
+
<title>Hologram κ — media server with no server</title>
|
| 4 |
+
<style>html,body{margin:0;height:100%;background:#101010;color:#eee;font:15px/1.5 system-ui,sans-serif}
|
| 5 |
+
.boot{display:grid;place-items:center;height:100%;text-align:center;gap:.6rem}
|
| 6 |
+
.boot small{color:#888}.boot b{font-size:1.1rem;font-weight:700}</style>
|
| 7 |
+
<script>
|
| 8 |
+
// The κ-Jellyfin wrapper (SHIP D1/D2/D3): register OUR Service Worker at THIS app's scope
|
| 9 |
+
// (/Q/apps/jellyfin/ live · / in the harness) — it becomes the media server — then hand off to
|
| 10 |
+
// jellyfin-web. Evict any foreign SW (jellyfin-web ships its own PWA worker at /web/ that would hijack
|
| 11 |
+
// the scope). The built SW is a CLASSIC script (Firefox has no module SWs; evicted imports 404) — so no
|
| 12 |
+
// { type:"module" } here. Same-origin only; degrades to a message if SWs are unavailable.
|
| 13 |
+
(function () {
|
| 14 |
+
var base = location.pathname.replace(/index\.html$/, ""); // this app's root = the SW scope
|
| 15 |
+
var swUrl = base + "holo-jellyfin-sw.js";
|
| 16 |
+
var mine = function (u) { return /holo-jellyfin-sw/.test(u || ""); };
|
| 17 |
+
function fail(m) { document.title = "SW FAILED: " + m; var e = document.getElementById("msg"); if (e) e.textContent = "Couldn’t start the media server: " + m; }
|
| 18 |
+
if (!("serviceWorker" in navigator)) { return fail("this browser has no Service Workers"); }
|
| 19 |
+
var ctl = navigator.serviceWorker.controller;
|
| 20 |
+
if (ctl && mine(ctl.scriptURL)) { location.replace(base + "web/index.html"); return; } // already ours → go
|
| 21 |
+
navigator.serviceWorker.getRegistrations()
|
| 22 |
+
.then(function (rs) { return Promise.all(rs.filter(function (r) { return !mine(r.active && r.active.scriptURL); }).map(function (r) { return r.unregister(); })); })
|
| 23 |
+
.then(function () { return navigator.serviceWorker.register(swUrl, { scope: base }); })
|
| 24 |
+
.then(function (reg) {
|
| 25 |
+
var go = function () { location.replace(base + "web/index.html"); };
|
| 26 |
+
if (reg.active && navigator.serviceWorker.controller) return go();
|
| 27 |
+
navigator.serviceWorker.addEventListener("controllerchange", go);
|
| 28 |
+
var w = reg.installing || reg.waiting || reg.active;
|
| 29 |
+
if (w) w.addEventListener("statechange", function (e) { if (e.target.state === "activated") setTimeout(go, 60); });
|
| 30 |
+
setTimeout(go, 2500); // belt-and-braces: control usually lands < 1s
|
| 31 |
+
})
|
| 32 |
+
.catch(function (e) { fail(e && e.message || String(e)); });
|
| 33 |
+
})();
|
| 34 |
+
</script></head>
|
| 35 |
+
<body><div class="boot"><b>Hologram κ</b><small id="msg">Starting your media server…</small></div></body></html>
|