ugly-app 0.1.724 → 0.1.726
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/client/createSocket.d.ts +7 -0
- package/dist/client/createSocket.d.ts.map +1 -1
- package/dist/client/createSocket.js +13 -3
- package/dist/client/createSocket.js.map +1 -1
- package/dist/inspect/host-bundle.js +4 -4
- package/dist/markdown/client/MdastViewer.d.ts.map +1 -1
- package/dist/markdown/client/MdastViewer.js +160 -38
- package/dist/markdown/client/MdastViewer.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/client/createSocket.ts +19 -3
- package/src/markdown/client/MdastViewer.tsx +225 -50
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.726";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -86,6 +86,13 @@ export interface CreateSocketOptions<R extends AppRegistryBase> {
|
|
|
86
86
|
buildId?: string;
|
|
87
87
|
/** Starting focus state for hosts without `document` (e.g. Electron main). Defaults to true. */
|
|
88
88
|
initialFocus?: boolean;
|
|
89
|
+
/** Keep the socket CONNECTED + pinging even while unfocused/blurred. The default
|
|
90
|
+
* (false) disconnects on blur to save battery — correct for mobile, which the OS
|
|
91
|
+
* suspends when backgrounded. But a persistent host that keeps RUNNING while
|
|
92
|
+
* unfocused (the desktop browser, a server-side client) must stay connected, or it
|
|
93
|
+
* silently goes offline and misses every live trackDocs push until refocused. Such
|
|
94
|
+
* hosts set this true so blur no longer stops the keep-alive or idle-disconnects. */
|
|
95
|
+
keepConnectedWhenUnfocused?: boolean;
|
|
89
96
|
/** Called for any message type not handled by the framework. */
|
|
90
97
|
onCustomMessage?: (msg: {
|
|
91
98
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSocket.d.ts","sourceRoot":"","sources":["../../src/client/createSocket.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"createSocket.d.ts","sourceRoot":"","sources":["../../src/client/createSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@ export function createSocket(opts) {
|
|
|
21
21
|
let pendingReconnect = false;
|
|
22
22
|
let wasIdleDisconnect = false;
|
|
23
23
|
let isWindowFocused = opts.initialFocus ?? true;
|
|
24
|
+
// Persistent hosts (desktop browser) stay connected + pinging while unfocused so
|
|
25
|
+
// they never silently go offline and miss live trackDocs pushes (mobile keeps the
|
|
26
|
+
// default battery-saving blur-disconnect, since the OS suspends it when backgrounded).
|
|
27
|
+
const keepUnfocused = opts.keepConnectedWhenUnfocused ?? false;
|
|
24
28
|
let pingInterval = null;
|
|
25
29
|
let state = 'connecting';
|
|
26
30
|
const reconnectDelay = 1000;
|
|
@@ -133,10 +137,10 @@ export function createSocket(opts) {
|
|
|
133
137
|
// ─── Ping / keep-alive ─────────────────────────────────────────────────────
|
|
134
138
|
function startPing() {
|
|
135
139
|
stopPing();
|
|
136
|
-
if (!isWindowFocused)
|
|
140
|
+
if (!isWindowFocused && !keepUnfocused)
|
|
137
141
|
return;
|
|
138
142
|
pingInterval = setInterval(() => {
|
|
139
|
-
if (isConnected && isWindowFocused)
|
|
143
|
+
if (isConnected && (isWindowFocused || keepUnfocused))
|
|
140
144
|
socketEmit('ping', {});
|
|
141
145
|
}, pingIntervalMs);
|
|
142
146
|
}
|
|
@@ -309,6 +313,10 @@ export function createSocket(opts) {
|
|
|
309
313
|
}
|
|
310
314
|
}
|
|
311
315
|
else {
|
|
316
|
+
// Persistent host: ignore blur for connection management — keep pinging + stay
|
|
317
|
+
// connected so live pushes never stop (the ping interval already keys on keepUnfocused).
|
|
318
|
+
if (keepUnfocused)
|
|
319
|
+
return;
|
|
312
320
|
stopPing();
|
|
313
321
|
wasIdleDisconnect = true;
|
|
314
322
|
}
|
|
@@ -372,12 +380,14 @@ export function createSocket(opts) {
|
|
|
372
380
|
isConnecting = false;
|
|
373
381
|
isConnected = false;
|
|
374
382
|
stopPing();
|
|
375
|
-
if (!isWindowFocused) {
|
|
383
|
+
if (!isWindowFocused && !keepUnfocused) {
|
|
376
384
|
wasIdleDisconnect = true;
|
|
377
385
|
setState('idle-disconnected');
|
|
378
386
|
requeueOrRejectPending(true);
|
|
379
387
|
return;
|
|
380
388
|
}
|
|
389
|
+
// keepUnfocused hosts fall through to the normal reconnect path below even while
|
|
390
|
+
// unfocused, so a dropped connection self-heals (and re-snapshots) immediately.
|
|
381
391
|
setState('reconnecting', { attempt: reconnectAttempts + 1 });
|
|
382
392
|
requeueOrRejectPending(false);
|
|
383
393
|
const delay = Math.min(maxReconnectDelay, reconnectDelay * Math.pow(2, Math.min(reconnectAttempts, BACKOFF_CAP_EXP)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSocket.js","sourceRoot":"","sources":["../../src/client/createSocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createSocket.js","sourceRoot":"","sources":["../../src/client/createSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{function
|
|
2
|
-
`))!==-1;){let Se=R.slice(0,ae).replace(/\r$/,"");if(R=R.slice(ae+1),!Se.startsWith("data:"))continue;let Ee=Se.slice(5).trimStart();if(!Ee)continue;let A;try{A=JSON.parse(Ee)}catch{continue}if(A.type==="__result__"){O=A.result,ve=!0;break}if(A.type==="__error__")throw new Error(A.error??`request ${u} failed`);f(A)}}return O},getDoc(u,s){return v("request",{name:"storeGetDoc",input:{collection:u,id:s}}).then(f=>f.item)},getDocs(u,s,f){return v("request",{name:"storeGetDocs",input:{collection:u,filter:s,...f}}).then(p=>p.items)},getQuery(u,s,f){return v("request",{name:"storeGetQuery",input:{collection:u,query:s,...f}}).then(p=>p.items)},trackDoc(u,s,f){let p=o();return I.set(p,f),M.set(p,{type:"trackDoc",params:{collection:u,id:s}}),v("trackDoc",{collection:u,id:s,subId:p}).catch(w=>{console.error("[trackDoc]",w)}),()=>{I.delete(p),M.delete(p),v("unsubscribe",{subId:p}).catch(()=>{})}},trackDocs(u,s,f,p){let w=o();return I.set(w,f),p&&z.set(w,p),M.set(w,{type:"trackDocs",params:{collection:u,keys:s.keys,filter:s.filter,sort:s.sort,limit:s.limit,skip:s.skip}}),v("trackDocs",{collection:u,keys:s.keys,filter:s.filter,subId:w,sort:s.sort,limit:s.limit,skip:s.skip}).catch(T=>{console.error("[trackDocs]",T)}),()=>{I.delete(w),z.delete(w),M.delete(w),v("unsubscribe",{subId:w}).catch(()=>{})}},find(u,s,f){return v("request",{name:"storeGetDocs",input:{collection:u,filter:s,...f}}).then(p=>p.items)},trackQuery(u,s,f){let p=o();return I.set(p,f),M.set(p,{type:"trackQuery",params:{collection:u,keys:s.keys,filter:s.filter,sort:s.sort,limit:s.limit,skip:s.skip}}),v("trackQuery",{collection:u,keys:s.keys,filter:s.filter,subId:p,sort:s.sort,limit:s.limit,skip:s.skip}).catch(w=>{console.error("[trackQuery]",w)}),()=>{I.delete(p),M.delete(p),v("unsubscribe",{subId:p}).catch(()=>{})}},async uploadFile(u,s){let{uploadUrl:f,resultUrl:p}=await v("request",{name:"uploadUrl",input:{key:s,contentType:u.type}}),w=await fetch(f,{method:"PUT",body:u,headers:{"Content-Type":u.type}});if(!w.ok)throw new Error(`Upload failed: ${w.status} ${w.statusText}`);return p},emit:ke,send:we,on(u,s){let f=c.get(u);return f||(f=new Set,c.set(u,f)),f.add(s),()=>{f.delete(s),f.size===0&&c.delete(u)}},waitForConnection(u=3e4){return l?Promise.resolve():new Promise((s,f)=>{let p=setTimeout(()=>f(new Error("Connection timeout")),u);te?.then(()=>{clearTimeout(p),s()}).catch(w=>{clearTimeout(p),f(w instanceof Error?w:new Error(String(w)))})})},get connectionState(){return S},setFocused(u){be(u)},disconnect(){pt("Disconnected"),V(),i?.close(),i=null}}}var cn=new TextEncoder;function X(e){let t=/a=fingerprint:(\S+)\s+([0-9A-Fa-f:]+)/.exec(e||"");return t?`${t[1].toLowerCase()} ${t[2].toUpperCase()}`:null}function Re(e){return e??{}}function Pe(e){let t=e.rtcFactory??(g=>new RTCPeerConnection(g)),n=new Map,r=new Set,o=[];async function c(g){let a=String(g.from??"");if(!a)return;let y=String(g.sdp??""),k=String(g.origin??"");if(e.signer&&!await e.signer.verify("client",X(y)??"",String(g.fpTag??""))){e.socket.emit("rtc:error",{to:a,reason:"fingerprint-auth-failed"});return}try{n.get(a)?.pc.close()}catch{}let d=t({iceServers:e.iceServers??[]}),h={pc:d,dc:null,origin:k};n.set(a,h),d.onicecandidate=P=>{P.candidate&&e.socket.emit("rtc:ice",{to:a,candidate:P.candidate.toJSON()})},d.ondatachannel=P=>{h.dc=P.channel,P.channel.onmessage=U=>{l(h,P.channel,U.data)}},await d.setRemoteDescription({type:"offer",sdp:y});let S=await d.createAnswer();await d.setLocalDescription(S);let C=d.localDescription?.sdp??S.sdp??"",L=e.signer?await e.signer.sign("host",X(C)??""):void 0;e.socket.emit("rtc:answer",{to:a,sdp:C,fpTag:L})}async function i(g){let a=n.get(String(g.from??""));if(a)try{await a.pc.addIceCandidate(g.candidate)}catch{}}async function l(g,a,y){let k;try{k=JSON.parse(typeof y=="string"?y:new TextDecoder().decode(y))}catch{return}if(k.t==="req"&&k.id!==void 0)try{let d=await e.onInvoke(String(k.channel),k.payload,g.origin);m(a,{t:"res",id:k.id,ok:!0,result:d})}catch(d){m(a,{t:"res",id:k.id,ok:!1,error:String(d?.message??d)})}else if(k.t==="sub"&&k.id!==void 0)r.add({dc:a,event:String(k.channel??""),id:k.id}),m(a,{t:"res",id:k.id,ok:!0,result:{snapshot:null}});else if(k.t==="unsub"&&k.id!==void 0)for(let d of[...r])d.dc===a&&d.id===k.id&&r.delete(d)}function m(g,a){try{g.readyState==="open"&&g.send(JSON.stringify(a))}catch{}}return o.push(e.socket.on("rtc:offer",g=>{c(Re(g))})),o.push(e.socket.on("rtc:ice",g=>{i(Re(g))})),{stop(){for(let g of o)try{g()}catch{}for(let g of n.values())try{g.pc.close()}catch{}n.clear(),r.clear()},broadcast(g,a){for(let y of r)y.event===g&&m(y.dc,{t:"evt",event:g,data:a})},peerCount:()=>n.size}}function xe(e){return{sign:async(t,n)=>(await e.invoke("proxy.signFingerprint",{role:t,fingerprint:n})).tag,verify:async(t,n,r)=>(await e.invoke("proxy.verifyFingerprint",{role:t,fingerprint:n,tag:r})).ok}}var $=class{constructor(t){this.cap=t}cap;items=[];push(t){this.items.push(t),this.items.length>this.cap&&this.items.splice(0,this.items.length-this.cap)}since(t,n){let r=0,o=this.items.length;for(;r<o;){let c=r+o>>>1;n(this.items[c])<t?r=c+1:o=c}return this.items.slice(r)}all(){return this.items.slice()}clear(){this.items=[]}size(){return this.items.length}};var K=class{seq=0;byId=new Map;put(t){let n=`o${++this.seq}`;return this.byId.set(n,t),n}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function bt(e){return typeof Node<"u"&&typeof e=="object"&&e!==null&&e instanceof Node}function F(e,t){return e.length>t?`${e.slice(0,t)}\u2026`:e}function Ce(e){return Object.getPrototypeOf(e)?.constructor?.name}function x(e,t){switch(typeof e){case"undefined":return{type:"undefined"};case"boolean":return{type:"boolean",value:e};case"bigint":return{type:"bigint",value:`${e}n`,preview:`${e}n`};case"symbol":return{type:"symbol",value:String(e),preview:String(e)};case"string":return{type:"string",value:F(e,1e3)};case"number":return Number.isFinite(e)?{type:"number",value:e}:{type:"number",value:String(e),preview:String(e)};case"function":return{type:"function",className:"Function",preview:`\u0192 ${e.name||"(anonymous)"}()`};case"object":break;default:return{type:"object",preview:String(e)}}if(e===null)return{type:"null"};let n=e;if(bt(e))return{type:"node",className:e.nodeName??"Node",preview:Et(e),nodeId:t.nodeIdFor?.(e)};if(e instanceof Date)return{type:"date",className:"Date",preview:Rt(e)};if(e instanceof RegExp)return{type:"regexp",className:"RegExp",preview:String(e)};if(e instanceof Error)return{type:"error",className:e.name||"Error",preview:F(`${e.name}: ${e.message}`,100),objectId:t.registry.put(e)};if(Tt(e))return{type:"promise",className:"Promise",preview:"Promise",objectId:t.registry.put(e)};if(e instanceof Map)return{type:"map",className:"Map",size:e.size,objectId:t.registry.put(e),preview:`Map(${e.size})`,entries:Me(e,t)};if(e instanceof Set)return{type:"set",className:"Set",size:e.size,objectId:t.registry.put(e),preview:`Set(${e.size})`,entries:De(e,t)};if(Array.isArray(e))return{type:"array",className:"Array",size:e.length,objectId:t.registry.put(e),preview:`Array(${e.length})`,entries:Ne(e,t)};let r=Object.keys(n);return{type:"object",className:Ce(n)??"Object",size:r.length,objectId:t.registry.put(n),preview:vt(n,r),entries:ue(n,r,t)}}function Ie(e,t){if(e instanceof Map)return Me(e,t,1/0).map(n=>n.value);if(e instanceof Set)return De(e,t,1/0).map(n=>n.value);if(Array.isArray(e))return Ne(e,t,1/0).map(n=>n.value);if(e instanceof Error)return ue({name:e.name,message:e.message,stack:e.stack},["name","message","stack"],t,1/0).map(n=>n.value);if(typeof e=="object"&&e!==null){let n=Object.keys(e);return ue(e,n,t,1/0).map(r=>r.value)}return[]}function Ne(e,t,n=5){let r=[];for(let o=0;o<e.length&&o<n;o++)r.push({key:String(o),value:x(e[o],t)});return r}function ue(e,t,n,r=5){let o=[];for(let c=0;c<t.length&&c<r;c++){let i=t[c],l;try{l=e[i]}catch{l="(getter threw)"}o.push({key:i,value:x(l,n)})}return o}function Me(e,t,n=5){let r=[],o=0;for(let[c,i]of e){if(o++>=n)break;r.push({key:x(c,t),value:x(i,t)})}return r}function De(e,t,n=5){let r=[],o=0;for(let c of e){if(o++>=n)break;r.push({value:x(c,t)})}return r}function vt(e,t){let n=t.slice(0,5).map(o=>{let c;try{c=e[o]}catch{c="\u2026"}return`${o}: ${St(c)}`}),r=t.length>5?", \u2026":"";return F(`{${n.join(", ")}${r}}`,100)}function St(e){let t=typeof e;return t==="string"?`"${F(e,20)}"`:t==="object"&&e!==null?Array.isArray(e)?`Array(${e.length})`:Ce(e)??"Object":String(e)}function Et(e){let t=e;if(t.nodeType===1){let n=(t.nodeName??"").toLowerCase(),r=t.id?`#${t.id}`:"",o=typeof t.className=="string"&&t.className?`.${t.className.trim().split(/\s+/).join(".")}`:"";return F(`<${n}${r}${o}>`,100)}return t.nodeName??"Node"}function Tt(e){return typeof e?.then=="function"}function Rt(e){try{return e.toISOString()}catch{return"Invalid Date"}}var Oe=["log","info","warn","error","debug"];function Ae(e){if(typeof console>"u")return()=>{};let t=0,n={};for(let i of Oe){let l=console[i];typeof l=="function"&&(n[i]=l,console[i]=(...m)=>{try{c(i,m)}catch{}l.apply(console,m)})}let r=i=>{c("error",[i.message],{stack:D(i.error?.stack),source:{url:i.filename||"",line:i.lineno||0,col:i.colno||0}})},o=i=>{let l=i.reason;c("error",[`Unhandled rejection: ${l?.message??String(i.reason)}`],{stack:D(l?.stack)})};typeof window<"u"&&(window.addEventListener("error",r),window.addEventListener("unhandledrejection",o));function c(i,l,m){let g=l.map(k=>x(k,{registry:e.registry,nodeIdFor:e.nodeIdFor})),a=m?.stack??D(new Error().stack,1),y={seq:++t,ts:e.now(),level:i,args:g,text:Pt(l),stack:a.length?a:void 0,source:m?.source??a[0]?{url:a[0].url,line:a[0].line,col:a[0].col}:void 0};e.buffer.push(y),e.onEntry?.(y)}return()=>{for(let i of Oe){let l=n[i];l&&(console[i]=l)}typeof window<"u"&&(window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",o))}}function Pt(e){return e.map(t=>{if(typeof t=="string")return t;if(t instanceof Error)return`${t.name}: ${t.message}`;try{return JSON.stringify(t)}catch{return String(t)}}).join(" ").slice(0,2e3)}function D(e,t=0){if(!e)return[];let n=[],r=e.split(`
|
|
3
|
-
`);for(let o of r){let c=o.trim(),i=/^at\s+(.*?)\s+\((.*?):(\d+):(\d+)\)$/.exec(c)||/^at\s+(.*?):(\d+):(\d+)$/.exec(c);if(i){i.length===5?n.push({functionName:i[1],url:i[2],line:+i[3],col:+i[4]}):n.push({functionName:"(anonymous)",url:i[1],line:+i[2],col:+i[3]});continue}i=/^(.*?)@(.*?):(\d+):(\d+)$/.exec(c),i&&n.push({functionName:i[1]||"(anonymous)",url:i[2],line:+i[3],col:+i[4]})}return n.slice(t)}function
|
|
4
|
-
`)){let r=n.indexOf(":");r>0&&(t[n.slice(0,r).trim().toLowerCase()]=n.slice(r+1).trim())}return t}function qe(e){if(e!=null)return typeof e=="string"?e.slice(0,Q):typeof URLSearchParams<"u"&&e instanceof URLSearchParams?e.toString().slice(0,Q):"(binary)"}async function zt(e,t){let n=e.headers.get("content-type")||"";if(!/json|text|javascript|xml|html|csv/i.test(n)){t.responseBody={kind:"omitted"};return}try{let r=await e.clone().text();t.sizeBytes=r.length;let o=/json/i.test(n)?"json":"text";t.responseBody={kind:o,data:r.slice(0,Q)}}catch{t.responseBody={kind:"omitted"}}}function Wt(e){try{if(e.responseType===""||e.responseType==="text"){let t=e.responseText||"",n=e.getResponseHeader("content-type")||"";return{kind:/json/i.test(n)?"json":"text",data:t.slice(0,Q)}}}catch{}return{kind:"omitted"}}var G=class{seq=0;byId=new Map;idOf=new WeakMap;idFor(t){let n=this.idOf.get(t);if(n)return this.byId.set(n,t),n;let r=`n${++this.seq}`;return this.idOf.set(t,r),this.byId.set(r,t),r}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function Y(e){let t=e.getAttribute?.("data-id");if(t)return`[data-id=${t}]`;let n=e.getAttribute?.("role"),r=e.tagName.toLowerCase();return e.id?`${r}#${e.id}`:n?`${r}[role=${n}]`:r}var We="__ugly_inspect_overlay__";function Ve(e){if(typeof document>"u")return{setEnabled:()=>{},highlight:()=>{},destroy:()=>{}};let t=!1,n=null;function r(){if(n)return n;let a=document.createElement("div");return a.id=We,Object.assign(a.style,{position:"fixed",pointerEvents:"none",zIndex:"2147483647",background:"rgba(64,128,255,0.28)",border:"1px solid rgba(64,128,255,0.9)",boxSizing:"border-box",top:"0",left:"0",display:"none"}),document.documentElement.appendChild(a),n=a,a}function o(a){let y=r();if(!a){y.style.display="none";return}Object.assign(y.style,{display:"block",transform:`translate(${a.x}px, ${a.y}px)`,width:`${a.w}px`,height:`${a.h}px`})}let c=a=>{let y=l(a.clientX,a.clientY);y&&o(le(y))},i=a=>{let y=l(a.clientX,a.clientY);y&&(a.preventDefault(),a.stopPropagation(),e.setPickedNode(y),e.onPicked({nodeId:e.reg.idFor(y),selector:Y(y),rect:le(y)}),m(!1))};function l(a,y){n&&(n.style.display="none");let k=document.elementFromPoint(a,y);return k&&k.id!==We?k:null}function m(a){a!==t&&(t=a,a?(window.addEventListener("pointermove",c,!0),window.addEventListener("pointerdown",i,!0)):(window.removeEventListener("pointermove",c,!0),window.removeEventListener("pointerdown",i,!0),o(null)))}function g(a){if(!a){o(null);return}let y=e.reg.get(a);y?.nodeType===1&&o(le(y))}return{setEnabled:m,highlight:g,destroy:()=>{m(!1),n?.remove(),n=null}}}function le(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var Je=4;async function Qe(e,t){let n=t(),r=[];await new Promise(c=>{let i=()=>{r.push(Vt()),t()-n>=e?c():Xe(i)};Xe(i)});let o=t();return{startTime:n,endTime:o,durationMs:o-n,sampleCount:r.length,precise:!1,root:Xt(r)}}function Xe(e){typeof setTimeout<"u"?setTimeout(e,Je):e()}function Vt(){return D(new Error().stack,1).filter(t=>!/profile\.(js|ts)/.test(t.url)).map(t=>({url:t.url,line:t.line,col:t.col,functionName:t.functionName})).reverse()}function Xt(e){let t=0,n=Ke(t++,"(root)");for(let r of e){let o=n;o.hitCount++;for(let c of r){let i=c,l=`${i.functionName??"(anonymous)"}@${i.url}:${i.line}`,m=o.childMap.get(l);m||(m=Ke(t++,i.functionName??"(anonymous)",{url:i.url,line:i.line,col:i.col}),o.childMap.set(l,m),o.children.push(m)),m.hitCount++,o=m}}return Ge(n,e.length),Ye(n)}function Ke(e,t,n){return{id:e,functionName:t,source:n,selfTimeMs:0,totalTimeMs:0,hitCount:0,children:[],childMap:new Map}}function Ge(e,t){let n=0;for(let r of e.children)n+=Ge(r,t);return e.totalTimeMs=e.hitCount*Je,e.selfTimeMs=Math.max(0,e.totalTimeMs-n),e.totalTimeMs}function Ye(e){return{id:e.id,functionName:e.functionName,source:e.source,selfTimeMs:e.selfTimeMs,totalTimeMs:e.totalTimeMs,hitCount:e.hitCount,children:e.children.map(t=>Ye(t))}}function et(e,t,n){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=${encodeURIComponent(n)}; path=/`;return}Z(()=>e==="session"?sessionStorage:localStorage)?.setItem(t,n)}function tt(e,t){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;return}Z(()=>e==="session"?sessionStorage:localStorage)?.removeItem(t)}async function nt(){return{localStorage:Ze(Z(()=>localStorage)),sessionStorage:Ze(Z(()=>sessionStorage)),cookies:Kt(),indexedDB:await Jt()}}function Z(e){try{return e()}catch{return null}}function Ze(e){let t={};if(!e)return t;for(let n=0;n<e.length;n++){let r=e.key(n);r!=null&&(t[r]=e.getItem(r)??"")}return t}function Kt(){if(typeof document>"u"||!document.cookie)return[];let e=typeof location<"u"?location.hostname:"";return document.cookie.split("; ").filter(Boolean).map(t=>{let n=t.indexOf("="),r=n>=0?t.slice(0,n):t,o=n>=0?t.slice(n+1):"";return{name:r,value:o,domain:e,path:"/"}})}async function Jt(){if(typeof indexedDB>"u"||typeof indexedDB.databases!="function")return[];try{let e=await indexedDB.databases(),t=[];for(let n of e)n.name&&t.push({name:n.name,stores:await Qt(n.name)});return t}catch{return[]}}function Qt(e){return new Promise(t=>{try{let n=indexedDB.open(e);n.onsuccess=()=>{let r=n.result,o=Array.from(r.objectStoreNames);r.close(),t(o)},n.onerror=()=>t([])}catch{t([])}})}var Gt=40;function ot(e){let t={longTasks:[]},n=[];if(typeof PerformanceObserver>"u")return{read:()=>({...t,navigation:rt()}),stop:()=>{}};r("largest-contentful-paint",o=>{let c=o[o.length-1];if(!c)return;let i=c.element;t.lcp={valueMs:c.startTime,element:i?{nodeId:e.nodeIdFor(i),selector:Y(i),rect:Zt(i)}:void 0}}),r("paint",o=>{for(let c of o)c.name==="first-contentful-paint"&&(t.fcp=c.startTime)}),r("layout-shift",o=>{let c=t.cls??0;for(let i of o)i.hadRecentInput||(c+=i.value);t.cls=c}),r("event",o=>{let c=t.inp??0;for(let i of o){let l=i.duration;l>c&&(c=l)}t.inp=c},{durationThreshold:40}),r("longtask",o=>{for(let c of o)t.longTasks.push({ts:e.now(),durationMs:c.duration});t.longTasks.length>200&&t.longTasks.splice(0,t.longTasks.length-200)});function r(o,c,i){try{let l=new PerformanceObserver(m=>c(m.getEntries()));l.observe({type:o,buffered:!0,...i??{}}),n.push(l)}catch{}}return{read:()=>{let o=rt(),{resources:c,resourceSummary:i}=Yt(o?.domInteractiveMs??t.fcp);return{...t,longTasks:t.longTasks.slice(),navigation:o,ttfb:t.ttfb??o?.ttfbMs,resources:c,resourceSummary:i}},stop:()=>n.forEach(o=>o.disconnect())}}function Yt(e){if(typeof performance>"u"||!performance.getEntriesByType)return{};let t=performance.getEntriesByType("resource");if(!t.length)return{};let n=0,r=0;return{resources:t.map(i=>{n+=i.transferSize||0,r+=i.duration;let l=i.requestStart>0?Math.max(0,i.requestStart-i.startTime):void 0,m=e!=null&&i.responseEnd<=e&&(i.initiatorType==="link"||i.initiatorType==="css"||i.initiatorType==="script");return{name:i.name,initiatorType:i.initiatorType||"other",startMs:i.startTime,durationMs:i.duration,blockingMs:l,transferSizeBytes:i.transferSize||void 0,decodedSizeBytes:i.decodedBodySize||void 0,fromCache:i.transferSize===0&&i.decodedBodySize>0,renderBlocking:m}}).sort((i,l)=>l.durationMs-i.durationMs).slice(0,Gt),resourceSummary:{count:t.length,transferBytes:n,durationMs:r}}}function rt(){if(typeof performance>"u"||!performance.getEntriesByType)return;let e=performance.getEntriesByType("navigation")[0];if(e)return{ttfbMs:e.responseStart,domContentLoadedMs:e.domContentLoadedEventEnd,loadEventMs:e.loadEventEnd,domInteractiveMs:e.domInteractive,transferSizeBytes:e.transferSize}}function Zt(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var it=1e3;function j(){return typeof performance<"u"&&performance.now?performance.timeOrigin+performance.now():Date.now()}function en(e={}){let t=new K,n=new G,r=d=>n.idFor(d),o=new $(it),c=new $(it),i=null,l,m=Ae({buffer:o,registry:t,nodeIdFor:r,onEntry:d=>e.onConsole?.(d),now:j}),g=Ue({buffer:c,onEntry:d=>e.onNetwork?.(d),now:j}),a=ot({nodeIdFor:r,now:j}),y=Ve({reg:n,onPicked:d=>e.onPicked?.(d),setPickedNode:d=>i=d});return{meta(){return{url:typeof location<"u"?location.href:"",title:typeof document<"u"?document.title:"",isUglyApp:typeof window<"u"&&"__uglyInspect"in window,viewport:{w:typeof window<"u"?window.innerWidth:0,h:typeof window<"u"?window.innerHeight:0,dpr:typeof window<"u"&&window.devicePixelRatio||1}}},consoleBuffer:d=>d==null?o.all():o.all().filter(h=>h.seq>d),networkBuffer:d=>{let S=[...c.all(),...ze()].sort((C,L)=>C.ts-L.ts);return d==null?S:S.filter(C=>C.ts>d)},evaluate:(d,h)=>$e(d,{registry:t,nodeIdFor:r,now:j,getPicked:()=>i,getLast:()=>l,setLast:S=>l=S},h),expand:d=>({entries:Ie(t.get(d),{registry:t,nodeIdFor:r})}),domCapture:d=>_e(n,d,j),element:d=>Be(n,d),highlight:d=>y.highlight(d),setPicker:d=>y.setEnabled(d),vitals:()=>a.read(),profile:d=>Qe(d,j),storage:()=>nt(),storageSet:(d,h,S)=>et(d,h,S),storageRemove:(d,h)=>tt(d,h),reload:d=>{typeof location<"u"&&location.reload()},reset:()=>{t.clear(),n.clear(),o.clear(),c.clear(),i=null,l=void 0},stop:()=>{m(),g(),a.stop(),y.destroy()}}}function st(e){if(typeof window<"u"&&window.__uglyInspectAgent)return window.__uglyInspectAgent;let t=en(e);return typeof window<"u"&&(window.__uglyInspectAgent=t),t}var tn=new Set(["inspect.screenshot","inspect.openTarget"]);function ct(e,t,n){return{id:e,url:n.url,title:n.title,viewport:n.viewport,platform:t,isUglyApp:n.isUglyApp,open:!0}}async function at(e,t,n={}){switch(t){case"inspect.eval":return e.evaluate(String(n.expression??""),{awaitPromise:n.awaitPromise,replMode:n.replMode});case"inspect.expand":return e.expand(String(n.objectId??""));case"inspect.console.buffer":return{entries:e.consoleBuffer(n.sinceSeq)};case"inspect.network.buffer":return{entries:e.networkBuffer(n.sinceTs)};case"inspect.dom.capture":return e.domCapture(n.maxDepth);case"inspect.element":return e.element({nodeId:n.nodeId,selector:n.selector});case"inspect.dom.highlight":e.highlight(n.nodeId??null);return;case"inspect.picker.set":e.setPicker(!!n.enabled);return;case"inspect.vitals":return e.vitals();case"inspect.profile":return e.profile(Number(n.durationMs??1e3));case"inspect.storage":return e.storage();case"inspect.storage.set":e.storageSet(n.area,String(n.key??""),String(n.value??""));return;case"inspect.storage.remove":e.storageRemove(n.area,String(n.key??""));return;case"inspect.network.reload":e.reload(!!n.ignoreCache);return;case"inspect.network.setCacheDisabled":case"inspect.setThrottle":return;default:throw tn.has(t)?new Error(`inspect: ${t} is host-serviced, not an agent method`):new Error(`inspect: unknown channel ${t}`)}}var H="self";function ut(e){let t=st({onConsole:n=>e.onEvent?.(`inspect.console:${H}`,n),onNetwork:n=>e.onEvent?.(`inspect.network:${H}`,n),onPicked:n=>e.onEvent?.(`inspect.picked:${H}`,n)});return{async dispatch(n,r={}){if(n==="inspect.listTargets")return{targets:[ct(H,e.platform,t.meta())]};if(n==="inspect.screenshot"){if(!e.screenshot)throw new Error("inspect.screenshot: no native capture on this shell");return e.screenshot({...r,targetId:H})}return at(t,n,r)},stop(){t.stop()}}}function nn(e){return async()=>{let t=await e.invoke("capture.screenshot",void 0),n=typeof window<"u"?window.innerWidth:0,r=typeof window<"u"?window.innerHeight:0,o=typeof window<"u"&&window.devicePixelRatio||1;return{base64:t,width:n,height:r,dpr:o,format:"png"}}}function dt(e){let t=e.platform??e.native?.platform??"web",n=e.signer??(e.native?xe(e.native):void 0),r=e.screenshot??(e.native?nn(e.native):void 0),o={},c=ut({platform:t,screenshot:r,onEvent:(i,l)=>o.host?.broadcast(i,l)});return o.host=Pe({socket:e.socket,signer:n,iceServers:e.iceServers,rtcFactory:e.rtcFactory,onInvoke:(i,l)=>c.dispatch(i,l??{})}),{stop(){o.host?.stop(),c.stop()},peerCount:()=>o.host?.peerCount()??0}}var q=window,N=q.__uglyInspectBootstrap;if(N&&q.UglyNative&&!q.__uglyInspectHostInstalled){q.__uglyInspectHostInstalled=!0;let e=q.UglyNative,t=Te({requests:{},messages:{},url:N.wsUrl,getUrlParams:()=>({token:N.token,deviceId:N.deviceId,deviceLabel:N.deviceLabel??N.platform,inspectHost:"true",isHost:"true"})});t.connect(N.token).then(()=>dt({socket:t,native:e,platform:N.platform})).catch(()=>{})}})();
|
|
1
|
+
"use strict";(()=>{function Re(e){let t=e.url??"/ws",n=t.startsWith("/")?typeof window<"u"?`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}${t}`:`ws://localhost:${4321}${t}`:t,r=0;function o(){return String(++r)}let c=new Map,i=null,l=!1,m=!1,g=!1,a=0,y=!1,k=!1,d=e.initialFocus??!0,h=e.keepConnectedWhenUnfocused??!1,v=null,P="connecting",L=1e3,x=3e4,Z=5,fe=1e3,ee=!1,ft=3e4,te=null,pe=null,pt=null,ne=null,_=null,re=[],oe=[],b=new Map,I=new Map,U=new Map;function me(){te=new Promise((u,s)=>{pe=u,pt=s}),te.catch(()=>{})}me();function ie(u,s){P=u,typeof window<"u"&&window.dispatchEvent(new CustomEvent("ws-connection-state",{detail:{state:u,...s}}))}function mt(u){for(let{reject:s,timeout:f}of b.values())clearTimeout(f),s(new Error(u));b.clear(),I.clear(),U.clear()}function ge(u){for(let[s,f]of b)clearTimeout(f.timeout),f.retry?we(oe,s):(b.delete(s),f.reject(new Error(u?"WebSocket disconnected (idle)":"WebSocket disconnected")))}function ye(u){i.send(JSON.stringify(u))}function we(u,s){u.length>=fe&&(u.shift(),ee||(console.warn(`[socket] queue exceeded ${fe} \u2014 dropping oldest message(s)`),ee=!0)),u.push(s)}function z(u){g&&l&&i?.readyState===WebSocket.OPEN?i.send(u):we(re,u)}function ke(u,s,f=6e4,p=!0){if(typeof u=="object"&&u!==null){z(JSON.stringify(u));return}return new Promise((w,T)=>{let E=o(),R=JSON.stringify({type:u,id:E,data:s}),O=setTimeout(()=>{b.delete(E),T(new Error(`Request timeout: ${u}`))},f);b.set(E,{resolve:w,reject:T,timeout:O,serialized:R,retry:p,timeoutMs:f}),z(R)})}function he(u,s){z(JSON.stringify({type:u,data:s}))}function be(){W(),!(!d&&!h)&&(v=setInterval(()=>{l&&(d||h)&&he("ping",{})},ft))}function W(){v&&(clearInterval(v),v=null)}function gt(){for(let[u,s]of M)S(s.type,{...s.params,subId:u}).catch(f=>console.error("[resubscribe]",f))}let M=new Map;function yt(){for(;oe.length>0&&i?.readyState===WebSocket.OPEN;){let u=oe.shift(),s=b.get(u);s&&(i.send(s.serialized),s.timeoutMs!==null&&(s.timeout=setTimeout(()=>{b.delete(u),s.reject(new Error(`Timeout: retry ${u}`))},s.timeoutMs)))}}function wt(){for(;re.length>0&&i?.readyState===WebSocket.OPEN;)i.send(re.shift());yt(),e.buildId&&ke("buildId",{}).then(u=>{u!==e.buildId&&typeof window<"u"&&window.dispatchEvent(new CustomEvent("version-mismatch"))}).catch(()=>{}),y&&(gt(),y=!1)}function se(u,s){typeof window<"u"&&window.dispatchEvent(new CustomEvent(u,{detail:s}))}function kt(u){let s=JSON.parse(u.data,e.messageReviver);switch(s.type){case"ready":g=!0,wt();return;case"authFailed":se("auth-failed",{});return;case"track":s.subId&&I.get(s.subId)?.(s.data);return;case"frame":s.subId&&U.get(s.subId)?.(s.data);return;case"response":if(s.id){let f=b.get(s.id);f&&(clearTimeout(f.timeout),b.delete(s.id),f.resolve(s.data??s.result))}return;case"pushNotification":se("push-notification-received",s.data);return;case"server-draining":se("server-draining",s.data);return;default:{if(s.id&&s.type==="error"){let p=b.get(s.id);p&&(clearTimeout(p.timeout),b.delete(s.id),p.reject(new Error(s.error??"Unknown error")));return}if(s.id){let p=b.get(s.id);if(p){clearTimeout(p.timeout),b.delete(s.id),p.resolve(s.data??s.result);return}}e.onCustomMessage?.(s);let f=c.get(s.type);if(f)for(let p of f)p(s.data)}}}function S(u,s,f=6e4,p=!1){return new Promise((w,T)=>{let E=o(),R=JSON.stringify({id:E,type:u,payload:s}),O=f===null?null:setTimeout(()=>{b.delete(E),T(new Error(`Timeout: ${u}`))},f);b.set(E,{resolve:w,reject:T,timeout:O??setTimeout(()=>{},0),serialized:R,retry:p,timeoutMs:f}),z(R)})}function ve(u){if(u!==d)if(d=u,u)l?be():(a=0,ce());else{if(h)return;W(),k=!0}}typeof document<"u"&&(d=document.visibilityState==="visible",document.addEventListener("visibilitychange",()=>{ve(document.visibilityState==="visible")}));function ce(){if(m)return;m=!0,g=!1;let u=new URL(n,typeof window<"u"?window.location.href:void 0);if(e.getUrlParams)for(let[s,f]of Object.entries(e.getUrlParams()))u.searchParams.set(s,f);i=new WebSocket(u.toString()),i.addEventListener("message",kt),i.addEventListener("open",()=>{m=!1;let s=a>0,f=k;if(l=!0,y=s||f,a=0,ee=!1,k=!1,ie("connected",{wasReconnect:s,wasIdleReconnect:f}),pe?.(),d&&be(),ne){let p;_!==null&&b.has(_)?p=_:(p=o(),b.set(p,{resolve:()=>{},reject:()=>{},timeout:setTimeout(()=>b.delete(p),3e4),serialized:"",retry:!1,timeoutMs:3e4})),_=null,ye({id:p,type:"auth",payload:{token:ne}})}}),i.addEventListener("close",()=>{if(m=!1,l=!1,W(),!d&&!h){k=!0,ie("idle-disconnected"),ge(!0);return}ie("reconnecting",{attempt:a+1}),ge(!1);let s=Math.min(x,L*Math.pow(2,Math.min(a,Z)));me(),setTimeout(()=>{a++,ce()},s)}),i.addEventListener("error",()=>{})}return ce(),{connect(u){ne=u;let s=o(),f=new Promise((p,w)=>{b.set(s,{resolve:T=>{let E=T;p({user:E.user,appToken:E.appToken})},reject:w,timeout:setTimeout(()=>{b.delete(s),w(new Error("Auth timeout"))},3e4),serialized:"",retry:!1,timeoutMs:3e4})});return i?.readyState===WebSocket.OPEN?ye({id:s,type:"auth",payload:{token:u}}):_=s,f},request(u,s,f){let p=f?.timeoutMs===void 0?6e4:f.timeoutMs;return S("request",{name:u,input:s},p,f?.retry??!0)},async requestStream(u,s,f,p){let w=await fetch(`/api/${u}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},credentials:"include",body:JSON.stringify({input:s}),...p?.signal?{signal:p.signal}:{}});if(!w.ok||!w.body){let B=await w.json().catch(()=>({}));if(B.error)throw new Error(B.error);return B.result}let T=w.body.getReader(),E=new TextDecoder("utf-8"),R="",O,Se=!1;for(;!Se;){let{value:B,done:ht}=await T.read();if(ht)break;R+=E.decode(B,{stream:!0});let ae;for(;(ae=R.indexOf(`
|
|
2
|
+
`))!==-1;){let Ee=R.slice(0,ae).replace(/\r$/,"");if(R=R.slice(ae+1),!Ee.startsWith("data:"))continue;let Te=Ee.slice(5).trimStart();if(!Te)continue;let A;try{A=JSON.parse(Te)}catch{continue}if(A.type==="__result__"){O=A.result,Se=!0;break}if(A.type==="__error__")throw new Error(A.error??`request ${u} failed`);f(A)}}return O},getDoc(u,s){return S("request",{name:"storeGetDoc",input:{collection:u,id:s}}).then(f=>f.item)},getDocs(u,s,f){return S("request",{name:"storeGetDocs",input:{collection:u,filter:s,...f}}).then(p=>p.items)},getQuery(u,s,f){return S("request",{name:"storeGetQuery",input:{collection:u,query:s,...f}}).then(p=>p.items)},trackDoc(u,s,f){let p=o();return I.set(p,f),M.set(p,{type:"trackDoc",params:{collection:u,id:s}}),S("trackDoc",{collection:u,id:s,subId:p}).catch(w=>{console.error("[trackDoc]",w)}),()=>{I.delete(p),M.delete(p),S("unsubscribe",{subId:p}).catch(()=>{})}},trackDocs(u,s,f,p){let w=o();return I.set(w,f),p&&U.set(w,p),M.set(w,{type:"trackDocs",params:{collection:u,keys:s.keys,filter:s.filter,sort:s.sort,limit:s.limit,skip:s.skip}}),S("trackDocs",{collection:u,keys:s.keys,filter:s.filter,subId:w,sort:s.sort,limit:s.limit,skip:s.skip}).catch(T=>{console.error("[trackDocs]",T)}),()=>{I.delete(w),U.delete(w),M.delete(w),S("unsubscribe",{subId:w}).catch(()=>{})}},find(u,s,f){return S("request",{name:"storeGetDocs",input:{collection:u,filter:s,...f}}).then(p=>p.items)},trackQuery(u,s,f){let p=o();return I.set(p,f),M.set(p,{type:"trackQuery",params:{collection:u,keys:s.keys,filter:s.filter,sort:s.sort,limit:s.limit,skip:s.skip}}),S("trackQuery",{collection:u,keys:s.keys,filter:s.filter,subId:p,sort:s.sort,limit:s.limit,skip:s.skip}).catch(w=>{console.error("[trackQuery]",w)}),()=>{I.delete(p),M.delete(p),S("unsubscribe",{subId:p}).catch(()=>{})}},async uploadFile(u,s){let{uploadUrl:f,resultUrl:p}=await S("request",{name:"uploadUrl",input:{key:s,contentType:u.type}}),w=await fetch(f,{method:"PUT",body:u,headers:{"Content-Type":u.type}});if(!w.ok)throw new Error(`Upload failed: ${w.status} ${w.statusText}`);return p},emit:he,send:ke,on(u,s){let f=c.get(u);return f||(f=new Set,c.set(u,f)),f.add(s),()=>{f.delete(s),f.size===0&&c.delete(u)}},waitForConnection(u=3e4){return l?Promise.resolve():new Promise((s,f)=>{let p=setTimeout(()=>f(new Error("Connection timeout")),u);te?.then(()=>{clearTimeout(p),s()}).catch(w=>{clearTimeout(p),f(w instanceof Error?w:new Error(String(w)))})})},get connectionState(){return P},setFocused(u){ve(u)},disconnect(){mt("Disconnected"),W(),i?.close(),i=null}}}var an=new TextEncoder;function V(e){let t=/a=fingerprint:(\S+)\s+([0-9A-Fa-f:]+)/.exec(e||"");return t?`${t[1].toLowerCase()} ${t[2].toUpperCase()}`:null}function Pe(e){return e??{}}function xe(e){let t=e.rtcFactory??(g=>new RTCPeerConnection(g)),n=new Map,r=new Set,o=[];async function c(g){let a=String(g.from??"");if(!a)return;let y=String(g.sdp??""),k=String(g.origin??"");if(e.signer&&!await e.signer.verify("client",V(y)??"",String(g.fpTag??""))){e.socket.emit("rtc:error",{to:a,reason:"fingerprint-auth-failed"});return}try{n.get(a)?.pc.close()}catch{}let d=t({iceServers:e.iceServers??[]}),h={pc:d,dc:null,origin:k};n.set(a,h),d.onicecandidate=x=>{x.candidate&&e.socket.emit("rtc:ice",{to:a,candidate:x.candidate.toJSON()})},d.ondatachannel=x=>{h.dc=x.channel,x.channel.onmessage=Z=>{l(h,x.channel,Z.data)}},await d.setRemoteDescription({type:"offer",sdp:y});let v=await d.createAnswer();await d.setLocalDescription(v);let P=d.localDescription?.sdp??v.sdp??"",L=e.signer?await e.signer.sign("host",V(P)??""):void 0;e.socket.emit("rtc:answer",{to:a,sdp:P,fpTag:L})}async function i(g){let a=n.get(String(g.from??""));if(a)try{await a.pc.addIceCandidate(g.candidate)}catch{}}async function l(g,a,y){let k;try{k=JSON.parse(typeof y=="string"?y:new TextDecoder().decode(y))}catch{return}if(k.t==="req"&&k.id!==void 0)try{let d=await e.onInvoke(String(k.channel),k.payload,g.origin);m(a,{t:"res",id:k.id,ok:!0,result:d})}catch(d){m(a,{t:"res",id:k.id,ok:!1,error:String(d?.message??d)})}else if(k.t==="sub"&&k.id!==void 0)r.add({dc:a,event:String(k.channel??""),id:k.id}),m(a,{t:"res",id:k.id,ok:!0,result:{snapshot:null}});else if(k.t==="unsub"&&k.id!==void 0)for(let d of[...r])d.dc===a&&d.id===k.id&&r.delete(d)}function m(g,a){try{g.readyState==="open"&&g.send(JSON.stringify(a))}catch{}}return o.push(e.socket.on("rtc:offer",g=>{c(Pe(g))})),o.push(e.socket.on("rtc:ice",g=>{i(Pe(g))})),{stop(){for(let g of o)try{g()}catch{}for(let g of n.values())try{g.pc.close()}catch{}n.clear(),r.clear()},broadcast(g,a){for(let y of r)y.event===g&&m(y.dc,{t:"evt",event:g,data:a})},peerCount:()=>n.size}}function Ce(e){return{sign:async(t,n)=>(await e.invoke("proxy.signFingerprint",{role:t,fingerprint:n})).tag,verify:async(t,n,r)=>(await e.invoke("proxy.verifyFingerprint",{role:t,fingerprint:n,tag:r})).ok}}var $=class{constructor(t){this.cap=t}cap;items=[];push(t){this.items.push(t),this.items.length>this.cap&&this.items.splice(0,this.items.length-this.cap)}since(t,n){let r=0,o=this.items.length;for(;r<o;){let c=r+o>>>1;n(this.items[c])<t?r=c+1:o=c}return this.items.slice(r)}all(){return this.items.slice()}clear(){this.items=[]}size(){return this.items.length}};var X=class{seq=0;byId=new Map;put(t){let n=`o${++this.seq}`;return this.byId.set(n,t),n}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function vt(e){return typeof Node<"u"&&typeof e=="object"&&e!==null&&e instanceof Node}function F(e,t){return e.length>t?`${e.slice(0,t)}\u2026`:e}function Ie(e){return Object.getPrototypeOf(e)?.constructor?.name}function C(e,t){switch(typeof e){case"undefined":return{type:"undefined"};case"boolean":return{type:"boolean",value:e};case"bigint":return{type:"bigint",value:`${e}n`,preview:`${e}n`};case"symbol":return{type:"symbol",value:String(e),preview:String(e)};case"string":return{type:"string",value:F(e,1e3)};case"number":return Number.isFinite(e)?{type:"number",value:e}:{type:"number",value:String(e),preview:String(e)};case"function":return{type:"function",className:"Function",preview:`\u0192 ${e.name||"(anonymous)"}()`};case"object":break;default:return{type:"object",preview:String(e)}}if(e===null)return{type:"null"};let n=e;if(vt(e))return{type:"node",className:e.nodeName??"Node",preview:Tt(e),nodeId:t.nodeIdFor?.(e)};if(e instanceof Date)return{type:"date",className:"Date",preview:Pt(e)};if(e instanceof RegExp)return{type:"regexp",className:"RegExp",preview:String(e)};if(e instanceof Error)return{type:"error",className:e.name||"Error",preview:F(`${e.name}: ${e.message}`,100),objectId:t.registry.put(e)};if(Rt(e))return{type:"promise",className:"Promise",preview:"Promise",objectId:t.registry.put(e)};if(e instanceof Map)return{type:"map",className:"Map",size:e.size,objectId:t.registry.put(e),preview:`Map(${e.size})`,entries:De(e,t)};if(e instanceof Set)return{type:"set",className:"Set",size:e.size,objectId:t.registry.put(e),preview:`Set(${e.size})`,entries:Oe(e,t)};if(Array.isArray(e))return{type:"array",className:"Array",size:e.length,objectId:t.registry.put(e),preview:`Array(${e.length})`,entries:Me(e,t)};let r=Object.keys(n);return{type:"object",className:Ie(n)??"Object",size:r.length,objectId:t.registry.put(n),preview:St(n,r),entries:ue(n,r,t)}}function Ne(e,t){if(e instanceof Map)return De(e,t,1/0).map(n=>n.value);if(e instanceof Set)return Oe(e,t,1/0).map(n=>n.value);if(Array.isArray(e))return Me(e,t,1/0).map(n=>n.value);if(e instanceof Error)return ue({name:e.name,message:e.message,stack:e.stack},["name","message","stack"],t,1/0).map(n=>n.value);if(typeof e=="object"&&e!==null){let n=Object.keys(e);return ue(e,n,t,1/0).map(r=>r.value)}return[]}function Me(e,t,n=5){let r=[];for(let o=0;o<e.length&&o<n;o++)r.push({key:String(o),value:C(e[o],t)});return r}function ue(e,t,n,r=5){let o=[];for(let c=0;c<t.length&&c<r;c++){let i=t[c],l;try{l=e[i]}catch{l="(getter threw)"}o.push({key:i,value:C(l,n)})}return o}function De(e,t,n=5){let r=[],o=0;for(let[c,i]of e){if(o++>=n)break;r.push({key:C(c,t),value:C(i,t)})}return r}function Oe(e,t,n=5){let r=[],o=0;for(let c of e){if(o++>=n)break;r.push({value:C(c,t)})}return r}function St(e,t){let n=t.slice(0,5).map(o=>{let c;try{c=e[o]}catch{c="\u2026"}return`${o}: ${Et(c)}`}),r=t.length>5?", \u2026":"";return F(`{${n.join(", ")}${r}}`,100)}function Et(e){let t=typeof e;return t==="string"?`"${F(e,20)}"`:t==="object"&&e!==null?Array.isArray(e)?`Array(${e.length})`:Ie(e)??"Object":String(e)}function Tt(e){let t=e;if(t.nodeType===1){let n=(t.nodeName??"").toLowerCase(),r=t.id?`#${t.id}`:"",o=typeof t.className=="string"&&t.className?`.${t.className.trim().split(/\s+/).join(".")}`:"";return F(`<${n}${r}${o}>`,100)}return t.nodeName??"Node"}function Rt(e){return typeof e?.then=="function"}function Pt(e){try{return e.toISOString()}catch{return"Invalid Date"}}var Ae=["log","info","warn","error","debug"];function je(e){if(typeof console>"u")return()=>{};let t=0,n={};for(let i of Ae){let l=console[i];typeof l=="function"&&(n[i]=l,console[i]=(...m)=>{try{c(i,m)}catch{}l.apply(console,m)})}let r=i=>{c("error",[i.message],{stack:D(i.error?.stack),source:{url:i.filename||"",line:i.lineno||0,col:i.colno||0}})},o=i=>{let l=i.reason;c("error",[`Unhandled rejection: ${l?.message??String(i.reason)}`],{stack:D(l?.stack)})};typeof window<"u"&&(window.addEventListener("error",r),window.addEventListener("unhandledrejection",o));function c(i,l,m){let g=l.map(k=>C(k,{registry:e.registry,nodeIdFor:e.nodeIdFor})),a=m?.stack??D(new Error().stack,1),y={seq:++t,ts:e.now(),level:i,args:g,text:xt(l),stack:a.length?a:void 0,source:m?.source??a[0]?{url:a[0].url,line:a[0].line,col:a[0].col}:void 0};e.buffer.push(y),e.onEntry?.(y)}return()=>{for(let i of Ae){let l=n[i];l&&(console[i]=l)}typeof window<"u"&&(window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",o))}}function xt(e){return e.map(t=>{if(typeof t=="string")return t;if(t instanceof Error)return`${t.name}: ${t.message}`;try{return JSON.stringify(t)}catch{return String(t)}}).join(" ").slice(0,2e3)}function D(e,t=0){if(!e)return[];let n=[],r=e.split(`
|
|
3
|
+
`);for(let o of r){let c=o.trim(),i=/^at\s+(.*?)\s+\((.*?):(\d+):(\d+)\)$/.exec(c)||/^at\s+(.*?):(\d+):(\d+)$/.exec(c);if(i){i.length===5?n.push({functionName:i[1],url:i[2],line:+i[3],col:+i[4]}):n.push({functionName:"(anonymous)",url:i[1],line:+i[2],col:+i[3]});continue}i=/^(.*?)@(.*?):(\d+):(\d+)$/.exec(c),i&&n.push({functionName:i[1]||"(anonymous)",url:i[2],line:+i[3],col:+i[4]})}return n.slice(t)}function Be(e,t,n=Date.now){let r=t!=null&&t>0?t:40,o=typeof document<"u"&&document.documentElement?de(document.documentElement,e,r,0):Mt();return{documentUrl:typeof location<"u"?location.href:"",capturedAt:n(),root:o}}function de(e,t,n,r){let o={nodeId:t.idFor(e),nodeType:e.nodeType,nodeName:e.nodeName};if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE){let a=(e.textContent??"").trim();return a&&(o.textContent=a.slice(0,200)),o}if(e.nodeType!==Node.ELEMENT_NODE)return o;let c=e;if(o.attributes=It(c),o.rect=Nt(c),r>=n)return o;let i=c.shadowRoot;i&&(o.shadowRoots=Array.from(i.childNodes).filter(_e).map(a=>de(a,t,n,r+1)));let l=[],m=Le(c,"before");m&&l.push(m);for(let a of Array.from(c.childNodes))_e(a)&&l.push(de(a,t,n,r+1));let g=Le(c,"after");return g&&l.push(g),l.length&&(o.children=l),o}function Le(e,t){if(typeof getComputedStyle>"u")return;let n;try{n=getComputedStyle(e,`::${t}`).content}catch{return}if(!(!n||n==="none"||n==="normal"))return{nodeId:`${Ct(e)}::${t}`,nodeType:1,nodeName:`::${t}`,pseudo:t,textContent:n}}function Ct(e){return e.__inspectPseudoBase??e.tagName}function _e(e){return e.nodeType===Node.TEXT_NODE?!!(e.textContent??"").trim():e.nodeType===Node.ELEMENT_NODE||e.nodeType===Node.COMMENT_NODE}function It(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function Nt(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function Mt(){return{nodeId:"n0",nodeType:9,nodeName:"#document"}}function $e(e,t){let n=Dt(e,t);if(!n)throw new Error(`inspect.element: node not found (${t.nodeId??t.selector??"?"})`);let r=getComputedStyle(n),o=Ft(n);return{nodeId:e.idFor(n),tag:n.tagName.toLowerCase(),attributes:$t(n),computedStyles:Ot(r),matchedRules:At(n),boxModel:Lt(n,r,o),eventListeners:_t(n),accessibility:Bt(n),rect:o}}function Dt(e,t){if(t.nodeId){let n=e.get(t.nodeId);return n?.nodeType===1?n:null}return t.selector&&typeof document<"u"?document.querySelector(t.selector):null}function Ot(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function At(e){let t=[];if(typeof document>"u")return t;for(let n of Array.from(document.styleSheets)){let r;try{r=n.cssRules}catch{continue}let o=n.href??void 0;for(let c of Array.from(r)){if(!(c instanceof CSSStyleRule))continue;let i=!1;try{i=e.matches(c.selectorText)}catch{i=!1}i&&t.push({selector:c.selectorText,source:o?{url:o,line:0,col:0}:void 0,props:jt(c.style)})}}return t}function jt(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function Lt(e,t,n){let r=(o,c)=>({top:K(t.getPropertyValue(`${o}-top${c}`)),right:K(t.getPropertyValue(`${o}-right${c}`)),bottom:K(t.getPropertyValue(`${o}-bottom${c}`)),left:K(t.getPropertyValue(`${o}-left${c}`))});return{content:n,padding:r("padding",""),border:r("border","-width"),margin:r("margin","")}}function _t(e){let n=(typeof window<"u"?window:{}).__inspectGetEventListeners;if(!n)return[];try{let r=n(e),o=[];for(let[c,i]of Object.entries(r))for(let l of i)o.push({type:c,useCapture:l.useCapture,passive:l.passive});return o}catch{return[]}}function Bt(e){let t={};for(let o of Array.from(e.attributes))o.name.startsWith("aria-")&&(t[o.name]=o.value);let n=e.getAttribute("role")??void 0,r=e.getAttribute("aria-label")??e.title??(e.textContent??"").trim().slice(0,80)??void 0;return{role:n,name:r||void 0,properties:t}}function $t(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function Ft(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function K(e){let t=parseFloat(e);return Number.isFinite(t)?t:0}async function Fe(e,t,n){let r=t.now();try{let o=Ht(e,n?.replMode?{$0:t.getPicked(),$_:t.getLast()}:{});return n?.awaitPromise&&qt(o)&&(o=await o),t.setLast(o),{ok:!0,value:C(o,{registry:t.registry,nodeIdFor:t.nodeIdFor}),tookMs:t.now()-r}}catch(o){let c=o;return{ok:!1,exception:{text:`${c?.name??"Error"}: ${c?.message??String(o)}`,stack:D(c?.stack)},tookMs:t.now()-r}}}function Ht(e,t){let n=Object.keys(t);if(n.length===0)return(0,eval)(e);let r=new Function(...n,`return (${e});`);try{return r(...n.map(o=>t[o]))}catch(o){if(o instanceof SyntaxError)return new Function(...n,e)(...n.map(i=>t[i]));throw o}}function qt(e){return typeof e?.then=="function"}var J=64*1024;function ze(e){if(typeof window>"u")return()=>{};let t=0,n=()=>`r${++t}`,r=window.fetch?.bind(window);r&&(window.fetch=async(m,g)=>{let a=e.now(),y=(g?.method||(m instanceof Request?m.method:"GET")).toUpperCase(),k=m instanceof Request?m.url:String(m),d={id:n(),ts:a,method:y,url:k,resourceType:"fetch",requestHeaders:qe(g?.headers??(m instanceof Request?m.headers:void 0)),requestBody:Ue(g?.body),timing:{startMs:a,durationMs:0}};try{let h=await r(m,g);return d.status=h.status,d.responseHeaders=qe(h.headers),d.timing.durationMs=e.now()-a,d.fromCache=h.fromCache,await Wt(h,d),l(d),h}catch(h){throw d.failed=!0,d.timing.durationMs=e.now()-a,d.responseBody={kind:"text",data:String(h?.message??h)},l(d),h}});let o=window.XMLHttpRequest,c=o?.prototype.open,i=o?.prototype.send;o&&c&&i&&(o.prototype.open=function(g,a,...y){return this.__inspect={method:g.toUpperCase(),url:a,start:0},c.apply(this,[g,a,...y])},o.prototype.send=function(g){let a=this.__inspect;return a&&(a.start=e.now(),this.addEventListener("loadend",()=>{let y={id:n(),ts:a.start,method:a.method,url:a.url,status:this.status,resourceType:"xhr",requestHeaders:{},responseHeaders:zt(this.getAllResponseHeaders()),requestBody:Ue(g),responseBody:Vt(this),timing:{startMs:a.start,durationMs:e.now()-a.start},failed:this.status===0};l(y)})),i.apply(this,[g])});function l(m){e.buffer.push(m),e.onEntry?.(m)}return()=>{r&&(window.fetch=r),o&&c&&(o.prototype.open=c),o&&i&&(o.prototype.send=i)}}function He(e){return e.responseStatus||void 0}function We(){if(typeof performance>"u"||!performance.getEntriesByType)return[];let e=performance.timeOrigin??0,t=[],n=performance.getEntriesByType("navigation")[0];n&&t.push({id:"nav",ts:e+n.startTime,method:"GET",url:n.name||(typeof location<"u"?location.href:""),status:He(n),resourceType:"document",requestHeaders:{},timing:{startMs:e+n.startTime,durationMs:n.duration,ttfbMs:n.responseStart-n.startTime},sizeBytes:n.transferSize||void 0});for(let r of performance.getEntriesByType("resource"))r.initiatorType==="fetch"||r.initiatorType==="xmlhttprequest"||t.push({id:`res:${Math.round(r.startTime)}:${r.name}`,ts:e+r.startTime,method:"GET",url:r.name,status:He(r),resourceType:Ut(r.initiatorType),requestHeaders:{},timing:{startMs:e+r.startTime,durationMs:r.duration},sizeBytes:r.transferSize||r.decodedBodySize||void 0,fromCache:r.transferSize===0&&r.decodedBodySize>0});return t}function Ut(e){switch(e){case"img":case"image":return"img";case"css":case"link":return"css";case"script":return"script";case"font":return"font";default:return e||"other"}}function qe(e){let t={};if(!e)return t;if(typeof Headers<"u"&&e instanceof Headers)e.forEach((n,r)=>t[r]=n);else if(Array.isArray(e))for(let[n,r]of e)t[n]=r;else Object.assign(t,e);return t}function zt(e){let t={};for(let n of e.split(`\r
|
|
4
|
+
`)){let r=n.indexOf(":");r>0&&(t[n.slice(0,r).trim().toLowerCase()]=n.slice(r+1).trim())}return t}function Ue(e){if(e!=null)return typeof e=="string"?e.slice(0,J):typeof URLSearchParams<"u"&&e instanceof URLSearchParams?e.toString().slice(0,J):"(binary)"}async function Wt(e,t){let n=e.headers.get("content-type")||"";if(!/json|text|javascript|xml|html|csv/i.test(n)){t.responseBody={kind:"omitted"};return}try{let r=await e.clone().text();t.sizeBytes=r.length;let o=/json/i.test(n)?"json":"text";t.responseBody={kind:o,data:r.slice(0,J)}}catch{t.responseBody={kind:"omitted"}}}function Vt(e){try{if(e.responseType===""||e.responseType==="text"){let t=e.responseText||"",n=e.getResponseHeader("content-type")||"";return{kind:/json/i.test(n)?"json":"text",data:t.slice(0,J)}}}catch{}return{kind:"omitted"}}var Q=class{seq=0;byId=new Map;idOf=new WeakMap;idFor(t){let n=this.idOf.get(t);if(n)return this.byId.set(n,t),n;let r=`n${++this.seq}`;return this.idOf.set(t,r),this.byId.set(r,t),r}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function G(e){let t=e.getAttribute?.("data-id");if(t)return`[data-id=${t}]`;let n=e.getAttribute?.("role"),r=e.tagName.toLowerCase();return e.id?`${r}#${e.id}`:n?`${r}[role=${n}]`:r}var Ve="__ugly_inspect_overlay__";function Xe(e){if(typeof document>"u")return{setEnabled:()=>{},highlight:()=>{},destroy:()=>{}};let t=!1,n=null;function r(){if(n)return n;let a=document.createElement("div");return a.id=Ve,Object.assign(a.style,{position:"fixed",pointerEvents:"none",zIndex:"2147483647",background:"rgba(64,128,255,0.28)",border:"1px solid rgba(64,128,255,0.9)",boxSizing:"border-box",top:"0",left:"0",display:"none"}),document.documentElement.appendChild(a),n=a,a}function o(a){let y=r();if(!a){y.style.display="none";return}Object.assign(y.style,{display:"block",transform:`translate(${a.x}px, ${a.y}px)`,width:`${a.w}px`,height:`${a.h}px`})}let c=a=>{let y=l(a.clientX,a.clientY);y&&o(le(y))},i=a=>{let y=l(a.clientX,a.clientY);y&&(a.preventDefault(),a.stopPropagation(),e.setPickedNode(y),e.onPicked({nodeId:e.reg.idFor(y),selector:G(y),rect:le(y)}),m(!1))};function l(a,y){n&&(n.style.display="none");let k=document.elementFromPoint(a,y);return k&&k.id!==Ve?k:null}function m(a){a!==t&&(t=a,a?(window.addEventListener("pointermove",c,!0),window.addEventListener("pointerdown",i,!0)):(window.removeEventListener("pointermove",c,!0),window.removeEventListener("pointerdown",i,!0),o(null)))}function g(a){if(!a){o(null);return}let y=e.reg.get(a);y?.nodeType===1&&o(le(y))}return{setEnabled:m,highlight:g,destroy:()=>{m(!1),n?.remove(),n=null}}}function le(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var Qe=4;async function Ge(e,t){let n=t(),r=[];await new Promise(c=>{let i=()=>{r.push(Xt()),t()-n>=e?c():Ke(i)};Ke(i)});let o=t();return{startTime:n,endTime:o,durationMs:o-n,sampleCount:r.length,precise:!1,root:Kt(r)}}function Ke(e){typeof setTimeout<"u"?setTimeout(e,Qe):e()}function Xt(){return D(new Error().stack,1).filter(t=>!/profile\.(js|ts)/.test(t.url)).map(t=>({url:t.url,line:t.line,col:t.col,functionName:t.functionName})).reverse()}function Kt(e){let t=0,n=Je(t++,"(root)");for(let r of e){let o=n;o.hitCount++;for(let c of r){let i=c,l=`${i.functionName??"(anonymous)"}@${i.url}:${i.line}`,m=o.childMap.get(l);m||(m=Je(t++,i.functionName??"(anonymous)",{url:i.url,line:i.line,col:i.col}),o.childMap.set(l,m),o.children.push(m)),m.hitCount++,o=m}}return Ye(n,e.length),Ze(n)}function Je(e,t,n){return{id:e,functionName:t,source:n,selfTimeMs:0,totalTimeMs:0,hitCount:0,children:[],childMap:new Map}}function Ye(e,t){let n=0;for(let r of e.children)n+=Ye(r,t);return e.totalTimeMs=e.hitCount*Qe,e.selfTimeMs=Math.max(0,e.totalTimeMs-n),e.totalTimeMs}function Ze(e){return{id:e.id,functionName:e.functionName,source:e.source,selfTimeMs:e.selfTimeMs,totalTimeMs:e.totalTimeMs,hitCount:e.hitCount,children:e.children.map(t=>Ze(t))}}function tt(e,t,n){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=${encodeURIComponent(n)}; path=/`;return}Y(()=>e==="session"?sessionStorage:localStorage)?.setItem(t,n)}function nt(e,t){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;return}Y(()=>e==="session"?sessionStorage:localStorage)?.removeItem(t)}async function rt(){return{localStorage:et(Y(()=>localStorage)),sessionStorage:et(Y(()=>sessionStorage)),cookies:Jt(),indexedDB:await Qt()}}function Y(e){try{return e()}catch{return null}}function et(e){let t={};if(!e)return t;for(let n=0;n<e.length;n++){let r=e.key(n);r!=null&&(t[r]=e.getItem(r)??"")}return t}function Jt(){if(typeof document>"u"||!document.cookie)return[];let e=typeof location<"u"?location.hostname:"";return document.cookie.split("; ").filter(Boolean).map(t=>{let n=t.indexOf("="),r=n>=0?t.slice(0,n):t,o=n>=0?t.slice(n+1):"";return{name:r,value:o,domain:e,path:"/"}})}async function Qt(){if(typeof indexedDB>"u"||typeof indexedDB.databases!="function")return[];try{let e=await indexedDB.databases(),t=[];for(let n of e)n.name&&t.push({name:n.name,stores:await Gt(n.name)});return t}catch{return[]}}function Gt(e){return new Promise(t=>{try{let n=indexedDB.open(e);n.onsuccess=()=>{let r=n.result,o=Array.from(r.objectStoreNames);r.close(),t(o)},n.onerror=()=>t([])}catch{t([])}})}var Yt=40;function it(e){let t={longTasks:[]},n=[];if(typeof PerformanceObserver>"u")return{read:()=>({...t,navigation:ot()}),stop:()=>{}};r("largest-contentful-paint",o=>{let c=o[o.length-1];if(!c)return;let i=c.element;t.lcp={valueMs:c.startTime,element:i?{nodeId:e.nodeIdFor(i),selector:G(i),rect:en(i)}:void 0}}),r("paint",o=>{for(let c of o)c.name==="first-contentful-paint"&&(t.fcp=c.startTime)}),r("layout-shift",o=>{let c=t.cls??0;for(let i of o)i.hadRecentInput||(c+=i.value);t.cls=c}),r("event",o=>{let c=t.inp??0;for(let i of o){let l=i.duration;l>c&&(c=l)}t.inp=c},{durationThreshold:40}),r("longtask",o=>{for(let c of o)t.longTasks.push({ts:e.now(),durationMs:c.duration});t.longTasks.length>200&&t.longTasks.splice(0,t.longTasks.length-200)});function r(o,c,i){try{let l=new PerformanceObserver(m=>c(m.getEntries()));l.observe({type:o,buffered:!0,...i??{}}),n.push(l)}catch{}}return{read:()=>{let o=ot(),{resources:c,resourceSummary:i}=Zt(o?.domInteractiveMs??t.fcp);return{...t,longTasks:t.longTasks.slice(),navigation:o,ttfb:t.ttfb??o?.ttfbMs,resources:c,resourceSummary:i}},stop:()=>n.forEach(o=>o.disconnect())}}function Zt(e){if(typeof performance>"u"||!performance.getEntriesByType)return{};let t=performance.getEntriesByType("resource");if(!t.length)return{};let n=0,r=0;return{resources:t.map(i=>{n+=i.transferSize||0,r+=i.duration;let l=i.requestStart>0?Math.max(0,i.requestStart-i.startTime):void 0,m=e!=null&&i.responseEnd<=e&&(i.initiatorType==="link"||i.initiatorType==="css"||i.initiatorType==="script");return{name:i.name,initiatorType:i.initiatorType||"other",startMs:i.startTime,durationMs:i.duration,blockingMs:l,transferSizeBytes:i.transferSize||void 0,decodedSizeBytes:i.decodedBodySize||void 0,fromCache:i.transferSize===0&&i.decodedBodySize>0,renderBlocking:m}}).sort((i,l)=>l.durationMs-i.durationMs).slice(0,Yt),resourceSummary:{count:t.length,transferBytes:n,durationMs:r}}}function ot(){if(typeof performance>"u"||!performance.getEntriesByType)return;let e=performance.getEntriesByType("navigation")[0];if(e)return{ttfbMs:e.responseStart,domContentLoadedMs:e.domContentLoadedEventEnd,loadEventMs:e.loadEventEnd,domInteractiveMs:e.domInteractive,transferSizeBytes:e.transferSize}}function en(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var st=1e3;function j(){return typeof performance<"u"&&performance.now?performance.timeOrigin+performance.now():Date.now()}function tn(e={}){let t=new X,n=new Q,r=d=>n.idFor(d),o=new $(st),c=new $(st),i=null,l,m=je({buffer:o,registry:t,nodeIdFor:r,onEntry:d=>e.onConsole?.(d),now:j}),g=ze({buffer:c,onEntry:d=>e.onNetwork?.(d),now:j}),a=it({nodeIdFor:r,now:j}),y=Xe({reg:n,onPicked:d=>e.onPicked?.(d),setPickedNode:d=>i=d});return{meta(){return{url:typeof location<"u"?location.href:"",title:typeof document<"u"?document.title:"",isUglyApp:typeof window<"u"&&"__uglyInspect"in window,viewport:{w:typeof window<"u"?window.innerWidth:0,h:typeof window<"u"?window.innerHeight:0,dpr:typeof window<"u"&&window.devicePixelRatio||1}}},consoleBuffer:d=>d==null?o.all():o.all().filter(h=>h.seq>d),networkBuffer:d=>{let v=[...c.all(),...We()].sort((P,L)=>P.ts-L.ts);return d==null?v:v.filter(P=>P.ts>d)},evaluate:(d,h)=>Fe(d,{registry:t,nodeIdFor:r,now:j,getPicked:()=>i,getLast:()=>l,setLast:v=>l=v},h),expand:d=>({entries:Ne(t.get(d),{registry:t,nodeIdFor:r})}),domCapture:d=>Be(n,d,j),element:d=>$e(n,d),highlight:d=>y.highlight(d),setPicker:d=>y.setEnabled(d),vitals:()=>a.read(),profile:d=>Ge(d,j),storage:()=>rt(),storageSet:(d,h,v)=>tt(d,h,v),storageRemove:(d,h)=>nt(d,h),reload:d=>{typeof location<"u"&&location.reload()},reset:()=>{t.clear(),n.clear(),o.clear(),c.clear(),i=null,l=void 0},stop:()=>{m(),g(),a.stop(),y.destroy()}}}function ct(e){if(typeof window<"u"&&window.__uglyInspectAgent)return window.__uglyInspectAgent;let t=tn(e);return typeof window<"u"&&(window.__uglyInspectAgent=t),t}var nn=new Set(["inspect.screenshot","inspect.openTarget"]);function at(e,t,n){return{id:e,url:n.url,title:n.title,viewport:n.viewport,platform:t,isUglyApp:n.isUglyApp,open:!0}}async function ut(e,t,n={}){switch(t){case"inspect.eval":return e.evaluate(String(n.expression??""),{awaitPromise:n.awaitPromise,replMode:n.replMode});case"inspect.expand":return e.expand(String(n.objectId??""));case"inspect.console.buffer":return{entries:e.consoleBuffer(n.sinceSeq)};case"inspect.network.buffer":return{entries:e.networkBuffer(n.sinceTs)};case"inspect.dom.capture":return e.domCapture(n.maxDepth);case"inspect.element":return e.element({nodeId:n.nodeId,selector:n.selector});case"inspect.dom.highlight":e.highlight(n.nodeId??null);return;case"inspect.picker.set":e.setPicker(!!n.enabled);return;case"inspect.vitals":return e.vitals();case"inspect.profile":return e.profile(Number(n.durationMs??1e3));case"inspect.storage":return e.storage();case"inspect.storage.set":e.storageSet(n.area,String(n.key??""),String(n.value??""));return;case"inspect.storage.remove":e.storageRemove(n.area,String(n.key??""));return;case"inspect.network.reload":e.reload(!!n.ignoreCache);return;case"inspect.network.setCacheDisabled":case"inspect.setThrottle":return;default:throw nn.has(t)?new Error(`inspect: ${t} is host-serviced, not an agent method`):new Error(`inspect: unknown channel ${t}`)}}var H="self";function dt(e){let t=ct({onConsole:n=>e.onEvent?.(`inspect.console:${H}`,n),onNetwork:n=>e.onEvent?.(`inspect.network:${H}`,n),onPicked:n=>e.onEvent?.(`inspect.picked:${H}`,n)});return{async dispatch(n,r={}){if(n==="inspect.listTargets")return{targets:[at(H,e.platform,t.meta())]};if(n==="inspect.screenshot"){if(!e.screenshot)throw new Error("inspect.screenshot: no native capture on this shell");return e.screenshot({...r,targetId:H})}return ut(t,n,r)},stop(){t.stop()}}}function rn(e){return async()=>{let t=await e.invoke("capture.screenshot",void 0),n=typeof window<"u"?window.innerWidth:0,r=typeof window<"u"?window.innerHeight:0,o=typeof window<"u"&&window.devicePixelRatio||1;return{base64:t,width:n,height:r,dpr:o,format:"png"}}}function lt(e){let t=e.platform??e.native?.platform??"web",n=e.signer??(e.native?Ce(e.native):void 0),r=e.screenshot??(e.native?rn(e.native):void 0),o={},c=dt({platform:t,screenshot:r,onEvent:(i,l)=>o.host?.broadcast(i,l)});return o.host=xe({socket:e.socket,signer:n,iceServers:e.iceServers,rtcFactory:e.rtcFactory,onInvoke:(i,l)=>c.dispatch(i,l??{})}),{stop(){o.host?.stop(),c.stop()},peerCount:()=>o.host?.peerCount()??0}}var q=window,N=q.__uglyInspectBootstrap;if(N&&q.UglyNative&&!q.__uglyInspectHostInstalled){q.__uglyInspectHostInstalled=!0;let e=q.UglyNative,t=Re({requests:{},messages:{},url:N.wsUrl,getUrlParams:()=>({token:N.token,deviceId:N.deviceId,deviceLabel:N.deviceLabel??N.platform,inspectHost:"true",isHost:"true"})});t.connect(N.token).then(()=>lt({socket:t,native:e,platform:N.platform})).catch(()=>{})}})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdastViewer.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MdastViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,OAAO,
|
|
1
|
+
{"version":3,"file":"MdastViewer.d.ts","sourceRoot":"","sources":["../../../src/markdown/client/MdastViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,OAAO,EAYL,sBAAsB,EAKvB,MAAM,yBAAyB,CAAC;AAKjC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;AAgCtD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,GAAG,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE,mGAAmG;IACnG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA4GlD;AAwzBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;EAMvD"}
|
|
@@ -20,6 +20,7 @@ const MdastViewerContext = createContext({
|
|
|
20
20
|
scrollToView: false,
|
|
21
21
|
isDark: false,
|
|
22
22
|
onCheckboxToggle: undefined,
|
|
23
|
+
footnoteNumbers: new Map(),
|
|
23
24
|
});
|
|
24
25
|
function useMdastViewerData() {
|
|
25
26
|
return useContext(MdastViewerContext);
|
|
@@ -97,6 +98,9 @@ export function MdastViewer(props) {
|
|
|
97
98
|
};
|
|
98
99
|
}, [priorityOffset, shouldScroll, markdown, ast, scrollView]);
|
|
99
100
|
const themeClass = props.isDark ? 'prosemirror-dark' : 'prosemirror-light';
|
|
101
|
+
// Number footnotes by first-reference order so refs and the Notes list agree
|
|
102
|
+
// (the def list order in the source can differ from citation order).
|
|
103
|
+
const footnoteNumbers = useMemo(() => collectFootnoteOrder(ast), [ast]);
|
|
100
104
|
return (_jsx(MdastViewerContext.Provider, { value: {
|
|
101
105
|
width: props.width,
|
|
102
106
|
textIndex: props.textIndex ?? undefined,
|
|
@@ -106,6 +110,7 @@ export function MdastViewer(props) {
|
|
|
106
110
|
isDark: props.isDark ?? false,
|
|
107
111
|
onCheckboxToggle: props.onCheckboxToggle,
|
|
108
112
|
priorityOffset: props.priorityOffset,
|
|
113
|
+
footnoteNumbers,
|
|
109
114
|
}, children: _jsx("div", { ref: rootRef, className: `ProseMirror ${themeClass}`, style: {
|
|
110
115
|
maxWidth: props.width,
|
|
111
116
|
color: props.color,
|
|
@@ -114,6 +119,43 @@ export function MdastViewer(props) {
|
|
|
114
119
|
transformOrigin: props.scale ? 'top left' : undefined,
|
|
115
120
|
}, children: _jsx(MdastNodeRenderer, { node: ast }) }) }));
|
|
116
121
|
}
|
|
122
|
+
// --- Footnotes ---
|
|
123
|
+
/** Stable DOM ids for footnote ref <-> definition cross-linking. */
|
|
124
|
+
const footnoteDefDomId = (id) => `mdast-fn-${id}`;
|
|
125
|
+
const footnoteRefDomId = (id) => `mdast-fnref-${id}`;
|
|
126
|
+
/**
|
|
127
|
+
* Number footnotes by FIRST-REFERENCE order (the order they're cited in the
|
|
128
|
+
* body), so the inline marker and the Notes list agree even when the source
|
|
129
|
+
* lists the definitions in a different order. Notes that are defined but never
|
|
130
|
+
* referenced are appended after, so each one still gets a number.
|
|
131
|
+
*/
|
|
132
|
+
function collectFootnoteOrder(root) {
|
|
133
|
+
const order = new Map();
|
|
134
|
+
const defined = new Set();
|
|
135
|
+
const walk = (node) => {
|
|
136
|
+
if (!node || typeof node !== 'object')
|
|
137
|
+
return;
|
|
138
|
+
const n = node;
|
|
139
|
+
if (n.type === 'footnoteReference' &&
|
|
140
|
+
n.identifier &&
|
|
141
|
+
!order.has(n.identifier)) {
|
|
142
|
+
order.set(n.identifier, order.size + 1);
|
|
143
|
+
}
|
|
144
|
+
if (n.type === 'footnoteDefinition' && n.identifier) {
|
|
145
|
+
defined.add(n.identifier);
|
|
146
|
+
}
|
|
147
|
+
if (Array.isArray(n.children)) {
|
|
148
|
+
for (const child of n.children)
|
|
149
|
+
walk(child);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
walk(root);
|
|
153
|
+
for (const id of defined) {
|
|
154
|
+
if (!order.has(id))
|
|
155
|
+
order.set(id, order.size + 1);
|
|
156
|
+
}
|
|
157
|
+
return order;
|
|
158
|
+
}
|
|
117
159
|
function MdastNodeRenderer({ node, isHeader }) {
|
|
118
160
|
const state = useMdastViewerData();
|
|
119
161
|
// Early return for cropped content
|
|
@@ -167,6 +209,10 @@ function MdastNodeRenderer({ node, isHeader }) {
|
|
|
167
209
|
return _jsx(MdastMermaidRenderer, { node: node });
|
|
168
210
|
case 'html':
|
|
169
211
|
return _jsx(MdastHtmlRenderer, { node: node });
|
|
212
|
+
case 'footnoteReference':
|
|
213
|
+
return _jsx(MdastFootnoteReferenceRenderer, { node: node });
|
|
214
|
+
case 'footnoteDefinition':
|
|
215
|
+
return _jsx(MdastFootnoteDefinitionRenderer, { node: node });
|
|
170
216
|
default:
|
|
171
217
|
// Unknown node type - render children if any
|
|
172
218
|
if ('children' in node && Array.isArray(node.children)) {
|
|
@@ -184,37 +230,91 @@ function MdastNodeRenderer({ node, isHeader }) {
|
|
|
184
230
|
const ROOT_BATCH_SIZE = 30;
|
|
185
231
|
/** Number of batches to render on the first paint (viewport + buffer) */
|
|
186
232
|
const INITIAL_BATCH_COUNT = 4;
|
|
187
|
-
/**
|
|
188
|
-
|
|
233
|
+
/** Estimated batch height used to reserve space for not-yet-mounted batches
|
|
234
|
+
* (matches the content-visibility intrinsic-size estimate below). */
|
|
235
|
+
const PLACEHOLDER_HEIGHT = 600;
|
|
189
236
|
const batchStyle = {
|
|
190
237
|
contentVisibility: 'auto',
|
|
191
|
-
containIntrinsicSize:
|
|
192
|
-
};
|
|
193
|
-
const placeholderStyle = {
|
|
194
|
-
height: 600,
|
|
238
|
+
containIntrinsicSize: `auto ${PLACEHOLDER_HEIGHT}px`,
|
|
195
239
|
};
|
|
196
240
|
function MdastRoot({ node }) {
|
|
197
241
|
const state = useMdastViewerData();
|
|
198
242
|
if (!('children' in node))
|
|
199
243
|
return null;
|
|
200
|
-
const
|
|
201
|
-
if (!
|
|
244
|
+
const allChildren = node.children;
|
|
245
|
+
if (!allChildren)
|
|
202
246
|
return null;
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
|
|
247
|
+
// Pull footnote definitions out of the flow and collect them into a single
|
|
248
|
+
// "Notes" section rendered at the end (regardless of where they sit in the
|
|
249
|
+
// source), so they're numbered, ordered, and link back to the citation.
|
|
250
|
+
const children = [];
|
|
251
|
+
const footnoteDefs = [];
|
|
252
|
+
for (const child of allChildren) {
|
|
253
|
+
if (child.type === 'footnoteDefinition') {
|
|
254
|
+
footnoteDefs.push(child);
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
children.push(child);
|
|
258
|
+
}
|
|
206
259
|
}
|
|
260
|
+
// For small documents, render directly without batching overhead.
|
|
261
|
+
const body = children.length <= ROOT_BATCH_SIZE * 2 ? (_jsx(_Fragment, { children: children.map((child, i) => (_jsx(MdastNodeRenderer, { node: child }, i))) })) : (
|
|
207
262
|
// For large documents, batch top-level children and apply
|
|
208
|
-
// content-visibility: auto so the browser skips layout/paint
|
|
209
|
-
//
|
|
210
|
-
|
|
211
|
-
return (
|
|
263
|
+
// content-visibility: auto so the browser skips layout/paint for
|
|
264
|
+
// off-screen sections. Batches mount progressively to reduce render cost.
|
|
265
|
+
_jsx(MdastRootBatched, { priorityOffset: state.priorityOffset, children: children }));
|
|
266
|
+
return (_jsxs(_Fragment, { children: [body, footnoteDefs.length > 0 && _jsx(MdastFootnotesSection, { defs: footnoteDefs })] }));
|
|
267
|
+
}
|
|
268
|
+
// --- Footnote renderers ---
|
|
269
|
+
/** Inline citation marker, e.g. text[1] — links down to its Notes entry. */
|
|
270
|
+
function MdastFootnoteReferenceRenderer({ node }) {
|
|
271
|
+
const { footnoteNumbers } = useMdastViewerData();
|
|
272
|
+
const id = node.identifier;
|
|
273
|
+
const num = footnoteNumbers.get(id) ?? '?';
|
|
274
|
+
return (_jsx("sup", { id: footnoteRefDomId(id), className: "mdast-footnote-ref", children: _jsx("a", { href: `#${footnoteDefDomId(id)}`, "aria-label": `Footnote ${num}`, children: num }) }));
|
|
275
|
+
}
|
|
276
|
+
/** A standalone footnote definition (rare — they're normally grouped into the
|
|
277
|
+
* Notes section by MdastRoot). Rendered inline for completeness. */
|
|
278
|
+
function MdastFootnoteDefinitionRenderer({ node }) {
|
|
279
|
+
return _jsx(MdastFootnoteItem, { node: node });
|
|
280
|
+
}
|
|
281
|
+
/** One entry in the Notes list: number · note body · back-link to the text. */
|
|
282
|
+
function MdastFootnoteItem({ node }) {
|
|
283
|
+
const def = node;
|
|
284
|
+
const id = def.identifier;
|
|
285
|
+
return (_jsxs("li", { id: footnoteDefDomId(id), className: "mdast-footnote-def", children: [def.children?.map((child, i) => (_jsx(MdastNodeRenderer, { node: child }, i))), _jsx("a", { href: `#${footnoteRefDomId(id)}`, className: "mdast-footnote-backref", "aria-label": "Back to text", children: ' ↩' })] }));
|
|
286
|
+
}
|
|
287
|
+
/** The "Notes" section: an ordered list of definitions sorted by citation
|
|
288
|
+
* order, so the `<ol>` numbering matches the inline markers. */
|
|
289
|
+
function MdastFootnotesSection({ defs }) {
|
|
290
|
+
const { footnoteNumbers } = useMdastViewerData();
|
|
291
|
+
const ordered = [...defs].sort((a, b) => {
|
|
292
|
+
const an = footnoteNumbers.get(a.identifier) ?? 0;
|
|
293
|
+
const bn = footnoteNumbers.get(b.identifier) ?? 0;
|
|
294
|
+
return an - bn;
|
|
295
|
+
});
|
|
296
|
+
return (_jsxs("section", { className: "mdast-footnotes", "aria-label": "Notes", children: [_jsx("hr", {}), _jsx("ol", { children: ordered.map((def, i) => (_jsx(MdastFootnoteItem, { node: def }, i))) })] }));
|
|
212
297
|
}
|
|
213
298
|
function MdastRootBatched(props) {
|
|
214
299
|
const { children, priorityOffset } = props;
|
|
215
300
|
const totalBatches = Math.ceil(children.length / ROOT_BATCH_SIZE);
|
|
216
|
-
|
|
217
|
-
//
|
|
301
|
+
// Mount a batch when it nears the viewport (monotonic — once mounted it stays).
|
|
302
|
+
// The previous strategy mounted batches top-down on every idle frame, which
|
|
303
|
+
// grows the document height UNDER the user and makes the scrollbar jump when
|
|
304
|
+
// you scroll toward the bottom. Proximity-mounting settles each batch's real
|
|
305
|
+
// height ~1 viewport ahead of the scroll, so the bar stays stable.
|
|
306
|
+
const [mounted, setMounted] = useState(() => {
|
|
307
|
+
const init = new Set();
|
|
308
|
+
for (let i = 0; i < Math.min(INITIAL_BATCH_COUNT, totalBatches); i++) {
|
|
309
|
+
init.add(i);
|
|
310
|
+
}
|
|
311
|
+
return init;
|
|
312
|
+
});
|
|
313
|
+
const slotRefs = useRef([]);
|
|
314
|
+
// Real measured heights, reused as placeholder reservations so an unmounted
|
|
315
|
+
// batch never mis-estimates its height once it has been seen.
|
|
316
|
+
const heights = useRef([]);
|
|
317
|
+
// Find which batch the priority offset falls into (deep-link / search target).
|
|
218
318
|
const priorityBatchIndex = useMemo(() => {
|
|
219
319
|
if (!isDefined(priorityOffset))
|
|
220
320
|
return -1;
|
|
@@ -229,39 +329,61 @@ function MdastRootBatched(props) {
|
|
|
229
329
|
}
|
|
230
330
|
return -1;
|
|
231
331
|
}, [priorityOffset, totalBatches, children]);
|
|
232
|
-
// Progressively mount more batches during idle time
|
|
233
332
|
useEffect(() => {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
rafId = requestAnimationFrame(mountMore);
|
|
242
|
-
}
|
|
243
|
-
return next;
|
|
333
|
+
// Without IntersectionObserver (e.g. SSR/jsdom), fall back to mounting all.
|
|
334
|
+
if (typeof IntersectionObserver === 'undefined') {
|
|
335
|
+
setMounted(() => {
|
|
336
|
+
const all = new Set();
|
|
337
|
+
for (let i = 0; i < totalBatches; i++)
|
|
338
|
+
all.add(i);
|
|
339
|
+
return all;
|
|
244
340
|
});
|
|
245
|
-
|
|
246
|
-
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
343
|
+
const io = new IntersectionObserver((entries) => {
|
|
344
|
+
let added = false;
|
|
345
|
+
const next = new Set();
|
|
346
|
+
for (const entry of entries) {
|
|
347
|
+
if (!entry.isIntersecting)
|
|
348
|
+
continue;
|
|
349
|
+
const idx = Number(entry.target.dataset.batch);
|
|
350
|
+
if (!Number.isNaN(idx)) {
|
|
351
|
+
next.add(idx);
|
|
352
|
+
added = true;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
if (added)
|
|
356
|
+
setMounted((prev) => new Set([...prev, ...next]));
|
|
357
|
+
},
|
|
358
|
+
// Mount ~one viewport ahead so heights settle off-screen.
|
|
359
|
+
{ rootMargin: '1200px 0px' });
|
|
360
|
+
for (const el of slotRefs.current)
|
|
361
|
+
if (el)
|
|
362
|
+
io.observe(el);
|
|
247
363
|
return () => {
|
|
248
|
-
|
|
364
|
+
io.disconnect();
|
|
249
365
|
};
|
|
250
366
|
}, [totalBatches]);
|
|
367
|
+
// Remember each mounted batch's real height for stable placeholder sizing.
|
|
368
|
+
useEffect(() => {
|
|
369
|
+
for (let i = 0; i < slotRefs.current.length; i++) {
|
|
370
|
+
const el = slotRefs.current[i];
|
|
371
|
+
if (el && el.childElementCount > 0)
|
|
372
|
+
heights.current[i] = el.offsetHeight;
|
|
373
|
+
}
|
|
374
|
+
});
|
|
251
375
|
const batches = [];
|
|
252
376
|
for (let i = 0; i < totalBatches; i++) {
|
|
253
377
|
const start = i * ROOT_BATCH_SIZE;
|
|
254
378
|
const end = Math.min(start + ROOT_BATCH_SIZE, children.length);
|
|
255
|
-
// Mount if within the progressive count or is the priority batch (± 1 neighbor)
|
|
256
379
|
const isPriority = priorityBatchIndex >= 0 &&
|
|
257
380
|
i >= priorityBatchIndex - 1 &&
|
|
258
381
|
i <= priorityBatchIndex + 1;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
382
|
+
const show = mounted.has(i) || isPriority;
|
|
383
|
+
batches.push(_jsx("div", { "data-batch": i, ref: (el) => {
|
|
384
|
+
slotRefs.current[i] = el;
|
|
385
|
+
}, style: show ? batchStyle : { height: heights.current[i] ?? PLACEHOLDER_HEIGHT }, children: show &&
|
|
386
|
+
children.slice(start, end).map((child, j) => (_jsx(MdastNodeRenderer, { node: child }, start + j))) }, i));
|
|
265
387
|
}
|
|
266
388
|
return _jsx(_Fragment, { children: batches });
|
|
267
389
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdastViewer.js","sourceRoot":"","sources":["../../../src/markdown/client/MdastViewer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MdastViewer.js","sourceRoot":"","sources":["../../../src/markdown/client/MdastViewer.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.726",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
6
6
|
"files": [
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.726";
|
|
@@ -130,6 +130,13 @@ export interface CreateSocketOptions<R extends AppRegistryBase> {
|
|
|
130
130
|
buildId?: string;
|
|
131
131
|
/** Starting focus state for hosts without `document` (e.g. Electron main). Defaults to true. */
|
|
132
132
|
initialFocus?: boolean;
|
|
133
|
+
/** Keep the socket CONNECTED + pinging even while unfocused/blurred. The default
|
|
134
|
+
* (false) disconnects on blur to save battery — correct for mobile, which the OS
|
|
135
|
+
* suspends when backgrounded. But a persistent host that keeps RUNNING while
|
|
136
|
+
* unfocused (the desktop browser, a server-side client) must stay connected, or it
|
|
137
|
+
* silently goes offline and misses every live trackDocs push until refocused. Such
|
|
138
|
+
* hosts set this true so blur no longer stops the keep-alive or idle-disconnects. */
|
|
139
|
+
keepConnectedWhenUnfocused?: boolean;
|
|
133
140
|
/** Called for any message type not handled by the framework. */
|
|
134
141
|
onCustomMessage?: (msg: {
|
|
135
142
|
type: string;
|
|
@@ -173,6 +180,10 @@ export function createSocket<R extends AppRegistryBase>(
|
|
|
173
180
|
let pendingReconnect = false;
|
|
174
181
|
let wasIdleDisconnect = false;
|
|
175
182
|
let isWindowFocused = opts.initialFocus ?? true;
|
|
183
|
+
// Persistent hosts (desktop browser) stay connected + pinging while unfocused so
|
|
184
|
+
// they never silently go offline and miss live trackDocs pushes (mobile keeps the
|
|
185
|
+
// default battery-saving blur-disconnect, since the OS suspends it when backgrounded).
|
|
186
|
+
const keepUnfocused = opts.keepConnectedWhenUnfocused ?? false;
|
|
176
187
|
let pingInterval: ReturnType<typeof setInterval> | null = null;
|
|
177
188
|
let state: ConnectionState = 'connecting';
|
|
178
189
|
|
|
@@ -318,9 +329,9 @@ export function createSocket<R extends AppRegistryBase>(
|
|
|
318
329
|
|
|
319
330
|
function startPing() {
|
|
320
331
|
stopPing();
|
|
321
|
-
if (!isWindowFocused) return;
|
|
332
|
+
if (!isWindowFocused && !keepUnfocused) return;
|
|
322
333
|
pingInterval = setInterval(() => {
|
|
323
|
-
if (isConnected && isWindowFocused) socketEmit('ping', {});
|
|
334
|
+
if (isConnected && (isWindowFocused || keepUnfocused)) socketEmit('ping', {});
|
|
324
335
|
}, pingIntervalMs);
|
|
325
336
|
}
|
|
326
337
|
|
|
@@ -524,6 +535,9 @@ export function createSocket<R extends AppRegistryBase>(
|
|
|
524
535
|
startPing();
|
|
525
536
|
}
|
|
526
537
|
} else {
|
|
538
|
+
// Persistent host: ignore blur for connection management — keep pinging + stay
|
|
539
|
+
// connected so live pushes never stop (the ping interval already keys on keepUnfocused).
|
|
540
|
+
if (keepUnfocused) return;
|
|
527
541
|
stopPing();
|
|
528
542
|
wasIdleDisconnect = true;
|
|
529
543
|
}
|
|
@@ -593,12 +607,14 @@ export function createSocket<R extends AppRegistryBase>(
|
|
|
593
607
|
isConnected = false;
|
|
594
608
|
stopPing();
|
|
595
609
|
|
|
596
|
-
if (!isWindowFocused) {
|
|
610
|
+
if (!isWindowFocused && !keepUnfocused) {
|
|
597
611
|
wasIdleDisconnect = true;
|
|
598
612
|
setState('idle-disconnected');
|
|
599
613
|
requeueOrRejectPending(true);
|
|
600
614
|
return;
|
|
601
615
|
}
|
|
616
|
+
// keepUnfocused hosts fall through to the normal reconnect path below even while
|
|
617
|
+
// unfocused, so a dropped connection self-heals (and re-snapshots) immediately.
|
|
602
618
|
|
|
603
619
|
setState('reconnecting', { attempt: reconnectAttempts + 1 });
|
|
604
620
|
requeueOrRejectPending(false);
|
|
@@ -29,6 +29,8 @@ import {
|
|
|
29
29
|
} from '../shared/MdastParser.js';
|
|
30
30
|
import {
|
|
31
31
|
MdastCode,
|
|
32
|
+
MdastFootnoteDefinition,
|
|
33
|
+
MdastFootnoteReference,
|
|
32
34
|
MdastHeading,
|
|
33
35
|
MdastHtml,
|
|
34
36
|
MdastImage,
|
|
@@ -58,6 +60,8 @@ interface MdastViewerContextData {
|
|
|
58
60
|
isDark: boolean;
|
|
59
61
|
onCheckboxToggle?: (position: { line: number; column: number }) => void;
|
|
60
62
|
priorityOffset?: number;
|
|
63
|
+
/** GFM footnote identifier -> display number (1-based, by first reference). */
|
|
64
|
+
footnoteNumbers: Map<string, number>;
|
|
61
65
|
}
|
|
62
66
|
|
|
63
67
|
// --- Context ---
|
|
@@ -68,6 +72,7 @@ const MdastViewerContext = createContext<MdastViewerContextData>({
|
|
|
68
72
|
scrollToView: false,
|
|
69
73
|
isDark: false,
|
|
70
74
|
onCheckboxToggle: undefined,
|
|
75
|
+
footnoteNumbers: new Map(),
|
|
71
76
|
});
|
|
72
77
|
|
|
73
78
|
function useMdastViewerData() {
|
|
@@ -170,6 +175,10 @@ export function MdastViewer(props: MdastViewerProps) {
|
|
|
170
175
|
|
|
171
176
|
const themeClass = props.isDark ? 'prosemirror-dark' : 'prosemirror-light';
|
|
172
177
|
|
|
178
|
+
// Number footnotes by first-reference order so refs and the Notes list agree
|
|
179
|
+
// (the def list order in the source can differ from citation order).
|
|
180
|
+
const footnoteNumbers = useMemo(() => collectFootnoteOrder(ast), [ast]);
|
|
181
|
+
|
|
173
182
|
return (
|
|
174
183
|
<MdastViewerContext.Provider
|
|
175
184
|
value={{
|
|
@@ -181,6 +190,7 @@ export function MdastViewer(props: MdastViewerProps) {
|
|
|
181
190
|
isDark: props.isDark ?? false,
|
|
182
191
|
onCheckboxToggle: props.onCheckboxToggle,
|
|
183
192
|
priorityOffset: props.priorityOffset,
|
|
193
|
+
footnoteNumbers,
|
|
184
194
|
}}
|
|
185
195
|
>
|
|
186
196
|
<div
|
|
@@ -207,6 +217,51 @@ interface NodeRendererProps {
|
|
|
207
217
|
isHeader?: boolean;
|
|
208
218
|
}
|
|
209
219
|
|
|
220
|
+
// --- Footnotes ---
|
|
221
|
+
|
|
222
|
+
/** Stable DOM ids for footnote ref <-> definition cross-linking. */
|
|
223
|
+
const footnoteDefDomId = (id: string): string => `mdast-fn-${id}`;
|
|
224
|
+
const footnoteRefDomId = (id: string): string => `mdast-fnref-${id}`;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Number footnotes by FIRST-REFERENCE order (the order they're cited in the
|
|
228
|
+
* body), so the inline marker and the Notes list agree even when the source
|
|
229
|
+
* lists the definitions in a different order. Notes that are defined but never
|
|
230
|
+
* referenced are appended after, so each one still gets a number.
|
|
231
|
+
*/
|
|
232
|
+
function collectFootnoteOrder(
|
|
233
|
+
root: MdastNodeWithTextIndex,
|
|
234
|
+
): Map<string, number> {
|
|
235
|
+
const order = new Map<string, number>();
|
|
236
|
+
const defined = new Set<string>();
|
|
237
|
+
const walk = (node: unknown): void => {
|
|
238
|
+
if (!node || typeof node !== 'object') return;
|
|
239
|
+
const n = node as {
|
|
240
|
+
type?: string;
|
|
241
|
+
identifier?: string;
|
|
242
|
+
children?: unknown[];
|
|
243
|
+
};
|
|
244
|
+
if (
|
|
245
|
+
n.type === 'footnoteReference' &&
|
|
246
|
+
n.identifier &&
|
|
247
|
+
!order.has(n.identifier)
|
|
248
|
+
) {
|
|
249
|
+
order.set(n.identifier, order.size + 1);
|
|
250
|
+
}
|
|
251
|
+
if (n.type === 'footnoteDefinition' && n.identifier) {
|
|
252
|
+
defined.add(n.identifier);
|
|
253
|
+
}
|
|
254
|
+
if (Array.isArray(n.children)) {
|
|
255
|
+
for (const child of n.children) walk(child);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
walk(root);
|
|
259
|
+
for (const id of defined) {
|
|
260
|
+
if (!order.has(id)) order.set(id, order.size + 1);
|
|
261
|
+
}
|
|
262
|
+
return order;
|
|
263
|
+
}
|
|
264
|
+
|
|
210
265
|
function MdastNodeRenderer({ node, isHeader }: NodeRendererProps): ReactNode {
|
|
211
266
|
const state = useMdastViewerData();
|
|
212
267
|
|
|
@@ -264,6 +319,10 @@ function MdastNodeRenderer({ node, isHeader }: NodeRendererProps): ReactNode {
|
|
|
264
319
|
return <MdastMermaidRenderer node={node} />;
|
|
265
320
|
case 'html':
|
|
266
321
|
return <MdastHtmlRenderer node={node} />;
|
|
322
|
+
case 'footnoteReference':
|
|
323
|
+
return <MdastFootnoteReferenceRenderer node={node} />;
|
|
324
|
+
case 'footnoteDefinition':
|
|
325
|
+
return <MdastFootnoteDefinitionRenderer node={node} />;
|
|
267
326
|
default:
|
|
268
327
|
// Unknown node type - render children if any
|
|
269
328
|
if ('children' in node && Array.isArray(node.children)) {
|
|
@@ -291,43 +350,119 @@ const ROOT_BATCH_SIZE = 30;
|
|
|
291
350
|
/** Number of batches to render on the first paint (viewport + buffer) */
|
|
292
351
|
const INITIAL_BATCH_COUNT = 4;
|
|
293
352
|
|
|
294
|
-
/**
|
|
295
|
-
|
|
353
|
+
/** Estimated batch height used to reserve space for not-yet-mounted batches
|
|
354
|
+
* (matches the content-visibility intrinsic-size estimate below). */
|
|
355
|
+
const PLACEHOLDER_HEIGHT = 600;
|
|
296
356
|
|
|
297
357
|
const batchStyle: CSSProperties = {
|
|
298
358
|
contentVisibility: 'auto',
|
|
299
|
-
containIntrinsicSize:
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
const placeholderStyle: CSSProperties = {
|
|
303
|
-
height: 600,
|
|
359
|
+
containIntrinsicSize: `auto ${PLACEHOLDER_HEIGHT}px`,
|
|
304
360
|
};
|
|
305
361
|
|
|
306
362
|
function MdastRoot({ node }: NodeRendererProps) {
|
|
307
363
|
const state = useMdastViewerData();
|
|
308
364
|
if (!('children' in node)) return null;
|
|
309
|
-
const
|
|
310
|
-
if (!
|
|
365
|
+
const allChildren = node.children;
|
|
366
|
+
if (!allChildren) return null;
|
|
367
|
+
|
|
368
|
+
// Pull footnote definitions out of the flow and collect them into a single
|
|
369
|
+
// "Notes" section rendered at the end (regardless of where they sit in the
|
|
370
|
+
// source), so they're numbered, ordered, and link back to the citation.
|
|
371
|
+
const children: MdastNodeWithTextIndex[] = [];
|
|
372
|
+
const footnoteDefs: MdastNodeWithTextIndex[] = [];
|
|
373
|
+
for (const child of allChildren) {
|
|
374
|
+
if ((child as { type?: string }).type === 'footnoteDefinition') {
|
|
375
|
+
footnoteDefs.push(child as MdastNodeWithTextIndex);
|
|
376
|
+
} else {
|
|
377
|
+
children.push(child as MdastNodeWithTextIndex);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
311
380
|
|
|
312
|
-
// For small documents, render directly without batching overhead
|
|
313
|
-
|
|
314
|
-
|
|
381
|
+
// For small documents, render directly without batching overhead.
|
|
382
|
+
const body =
|
|
383
|
+
children.length <= ROOT_BATCH_SIZE * 2 ? (
|
|
315
384
|
<>
|
|
316
385
|
{children.map((child, i) => (
|
|
317
|
-
<MdastNodeRenderer key={i} node={child
|
|
386
|
+
<MdastNodeRenderer key={i} node={child} />
|
|
318
387
|
))}
|
|
319
388
|
</>
|
|
389
|
+
) : (
|
|
390
|
+
// For large documents, batch top-level children and apply
|
|
391
|
+
// content-visibility: auto so the browser skips layout/paint for
|
|
392
|
+
// off-screen sections. Batches mount progressively to reduce render cost.
|
|
393
|
+
<MdastRootBatched priorityOffset={state.priorityOffset}>
|
|
394
|
+
{children}
|
|
395
|
+
</MdastRootBatched>
|
|
320
396
|
);
|
|
321
|
-
}
|
|
322
397
|
|
|
323
|
-
// For large documents, batch top-level children and apply
|
|
324
|
-
// content-visibility: auto so the browser skips layout/paint
|
|
325
|
-
// for off-screen sections. Batches mount progressively to
|
|
326
|
-
// reduce initial render cost.
|
|
327
398
|
return (
|
|
328
|
-
|
|
329
|
-
{
|
|
330
|
-
|
|
399
|
+
<>
|
|
400
|
+
{body}
|
|
401
|
+
{footnoteDefs.length > 0 && <MdastFootnotesSection defs={footnoteDefs} />}
|
|
402
|
+
</>
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
// --- Footnote renderers ---
|
|
407
|
+
|
|
408
|
+
/** Inline citation marker, e.g. text[1] — links down to its Notes entry. */
|
|
409
|
+
function MdastFootnoteReferenceRenderer({ node }: NodeRendererProps) {
|
|
410
|
+
const { footnoteNumbers } = useMdastViewerData();
|
|
411
|
+
const id = (node as MdastFootnoteReference).identifier;
|
|
412
|
+
const num = footnoteNumbers.get(id) ?? '?';
|
|
413
|
+
return (
|
|
414
|
+
<sup id={footnoteRefDomId(id)} className="mdast-footnote-ref">
|
|
415
|
+
<a href={`#${footnoteDefDomId(id)}`} aria-label={`Footnote ${num}`}>
|
|
416
|
+
{num}
|
|
417
|
+
</a>
|
|
418
|
+
</sup>
|
|
419
|
+
);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/** A standalone footnote definition (rare — they're normally grouped into the
|
|
423
|
+
* Notes section by MdastRoot). Rendered inline for completeness. */
|
|
424
|
+
function MdastFootnoteDefinitionRenderer({ node }: NodeRendererProps) {
|
|
425
|
+
return <MdastFootnoteItem node={node} />;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
/** One entry in the Notes list: number · note body · back-link to the text. */
|
|
429
|
+
function MdastFootnoteItem({ node }: NodeRendererProps) {
|
|
430
|
+
const def = node as MdastNodeWithTextIndex<MdastFootnoteDefinition>;
|
|
431
|
+
const id = def.identifier;
|
|
432
|
+
return (
|
|
433
|
+
<li id={footnoteDefDomId(id)} className="mdast-footnote-def">
|
|
434
|
+
{def.children?.map((child, i) => (
|
|
435
|
+
<MdastNodeRenderer key={i} node={child as MdastNodeWithTextIndex} />
|
|
436
|
+
))}
|
|
437
|
+
<a
|
|
438
|
+
href={`#${footnoteRefDomId(id)}`}
|
|
439
|
+
className="mdast-footnote-backref"
|
|
440
|
+
aria-label="Back to text"
|
|
441
|
+
>
|
|
442
|
+
{' ↩'}
|
|
443
|
+
</a>
|
|
444
|
+
</li>
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/** The "Notes" section: an ordered list of definitions sorted by citation
|
|
449
|
+
* order, so the `<ol>` numbering matches the inline markers. */
|
|
450
|
+
function MdastFootnotesSection({ defs }: { defs: MdastNodeWithTextIndex[] }) {
|
|
451
|
+
const { footnoteNumbers } = useMdastViewerData();
|
|
452
|
+
const ordered = [...defs].sort((a, b) => {
|
|
453
|
+
const an = footnoteNumbers.get((a as MdastFootnoteDefinition).identifier) ?? 0;
|
|
454
|
+
const bn = footnoteNumbers.get((b as MdastFootnoteDefinition).identifier) ?? 0;
|
|
455
|
+
return an - bn;
|
|
456
|
+
});
|
|
457
|
+
return (
|
|
458
|
+
<section className="mdast-footnotes" aria-label="Notes">
|
|
459
|
+
<hr />
|
|
460
|
+
<ol>
|
|
461
|
+
{ordered.map((def, i) => (
|
|
462
|
+
<MdastFootnoteItem key={i} node={def} />
|
|
463
|
+
))}
|
|
464
|
+
</ol>
|
|
465
|
+
</section>
|
|
331
466
|
);
|
|
332
467
|
}
|
|
333
468
|
|
|
@@ -337,11 +472,25 @@ function MdastRootBatched(props: {
|
|
|
337
472
|
}) {
|
|
338
473
|
const { children, priorityOffset } = props;
|
|
339
474
|
const totalBatches = Math.ceil(children.length / ROOT_BATCH_SIZE);
|
|
340
|
-
const [mountedCount, setMountedCount] = useState(() =>
|
|
341
|
-
Math.min(INITIAL_BATCH_COUNT, totalBatches),
|
|
342
|
-
);
|
|
343
475
|
|
|
344
|
-
//
|
|
476
|
+
// Mount a batch when it nears the viewport (monotonic — once mounted it stays).
|
|
477
|
+
// The previous strategy mounted batches top-down on every idle frame, which
|
|
478
|
+
// grows the document height UNDER the user and makes the scrollbar jump when
|
|
479
|
+
// you scroll toward the bottom. Proximity-mounting settles each batch's real
|
|
480
|
+
// height ~1 viewport ahead of the scroll, so the bar stays stable.
|
|
481
|
+
const [mounted, setMounted] = useState<Set<number>>(() => {
|
|
482
|
+
const init = new Set<number>();
|
|
483
|
+
for (let i = 0; i < Math.min(INITIAL_BATCH_COUNT, totalBatches); i++) {
|
|
484
|
+
init.add(i);
|
|
485
|
+
}
|
|
486
|
+
return init;
|
|
487
|
+
});
|
|
488
|
+
const slotRefs = useRef<(HTMLDivElement | null)[]>([]);
|
|
489
|
+
// Real measured heights, reused as placeholder reservations so an unmounted
|
|
490
|
+
// batch never mis-estimates its height once it has been seen.
|
|
491
|
+
const heights = useRef<number[]>([]);
|
|
492
|
+
|
|
493
|
+
// Find which batch the priority offset falls into (deep-link / search target).
|
|
345
494
|
const priorityBatchIndex = useMemo(() => {
|
|
346
495
|
if (!isDefined(priorityOffset)) return -1;
|
|
347
496
|
for (let i = 0; i < totalBatches; i++) {
|
|
@@ -356,47 +505,73 @@ function MdastRootBatched(props: {
|
|
|
356
505
|
return -1;
|
|
357
506
|
}, [priorityOffset, totalBatches, children]);
|
|
358
507
|
|
|
359
|
-
// Progressively mount more batches during idle time
|
|
360
508
|
useEffect(() => {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
if (next < totalBatches) {
|
|
368
|
-
rafId = requestAnimationFrame(mountMore);
|
|
369
|
-
}
|
|
370
|
-
return next;
|
|
509
|
+
// Without IntersectionObserver (e.g. SSR/jsdom), fall back to mounting all.
|
|
510
|
+
if (typeof IntersectionObserver === 'undefined') {
|
|
511
|
+
setMounted(() => {
|
|
512
|
+
const all = new Set<number>();
|
|
513
|
+
for (let i = 0; i < totalBatches; i++) all.add(i);
|
|
514
|
+
return all;
|
|
371
515
|
});
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
516
|
+
return undefined;
|
|
517
|
+
}
|
|
518
|
+
const io = new IntersectionObserver(
|
|
519
|
+
(entries) => {
|
|
520
|
+
let added = false;
|
|
521
|
+
const next = new Set<number>();
|
|
522
|
+
for (const entry of entries) {
|
|
523
|
+
if (!entry.isIntersecting) continue;
|
|
524
|
+
const idx = Number((entry.target as HTMLElement).dataset.batch);
|
|
525
|
+
if (!Number.isNaN(idx)) {
|
|
526
|
+
next.add(idx);
|
|
527
|
+
added = true;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
if (added) setMounted((prev) => new Set([...prev, ...next]));
|
|
531
|
+
},
|
|
532
|
+
// Mount ~one viewport ahead so heights settle off-screen.
|
|
533
|
+
{ rootMargin: '1200px 0px' },
|
|
534
|
+
);
|
|
535
|
+
for (const el of slotRefs.current) if (el) io.observe(el);
|
|
375
536
|
return () => {
|
|
376
|
-
|
|
537
|
+
io.disconnect();
|
|
377
538
|
};
|
|
378
539
|
}, [totalBatches]);
|
|
379
540
|
|
|
541
|
+
// Remember each mounted batch's real height for stable placeholder sizing.
|
|
542
|
+
useEffect(() => {
|
|
543
|
+
for (let i = 0; i < slotRefs.current.length; i++) {
|
|
544
|
+
const el = slotRefs.current[i];
|
|
545
|
+
if (el && el.childElementCount > 0) heights.current[i] = el.offsetHeight;
|
|
546
|
+
}
|
|
547
|
+
});
|
|
548
|
+
|
|
380
549
|
const batches: ReactNode[] = [];
|
|
381
550
|
for (let i = 0; i < totalBatches; i++) {
|
|
382
551
|
const start = i * ROOT_BATCH_SIZE;
|
|
383
552
|
const end = Math.min(start + ROOT_BATCH_SIZE, children.length);
|
|
384
|
-
// Mount if within the progressive count or is the priority batch (± 1 neighbor)
|
|
385
553
|
const isPriority =
|
|
386
554
|
priorityBatchIndex >= 0 &&
|
|
387
555
|
i >= priorityBatchIndex - 1 &&
|
|
388
556
|
i <= priorityBatchIndex + 1;
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
557
|
+
const show = mounted.has(i) || isPriority;
|
|
558
|
+
batches.push(
|
|
559
|
+
<div
|
|
560
|
+
key={i}
|
|
561
|
+
data-batch={i}
|
|
562
|
+
ref={(el) => {
|
|
563
|
+
slotRefs.current[i] = el;
|
|
564
|
+
}}
|
|
565
|
+
style={
|
|
566
|
+
show ? batchStyle : { height: heights.current[i] ?? PLACEHOLDER_HEIGHT }
|
|
567
|
+
}
|
|
568
|
+
>
|
|
569
|
+
{show &&
|
|
570
|
+
children.slice(start, end).map((child, j) => (
|
|
393
571
|
<MdastNodeRenderer key={start + j} node={child} />
|
|
394
572
|
))}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
} else {
|
|
398
|
-
batches.push(<div key={start} style={placeholderStyle} />);
|
|
399
|
-
}
|
|
573
|
+
</div>,
|
|
574
|
+
);
|
|
400
575
|
}
|
|
401
576
|
return <>{batches}</>;
|
|
402
577
|
}
|