@fkn/lib 0.9.71 → 0.9.73
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/{account-DFWaytT5.cjs → account-BdwCDacQ.cjs} +1 -1
- package/{account-CXUwroRM.d.ts → account-C9w41S0_.d.ts} +1 -1
- package/{account-DF9jsI5N.js → account-URj9bMMj.js} +2 -2
- package/{account-generation-BsXJ6WWS.cjs → account-generation--7m_60Fl.cjs} +1 -1
- package/{account-generation-C0BizGmy.js → account-generation-DgK9YHiL.js} +1 -1
- package/{account-storage-B7QBr9aX.cjs → account-storage-CQ8k71N3.cjs} +1 -1
- package/{account-storage-Jgp8ycMy.js → account-storage-CcdeHbnj.js} +2 -2
- package/account.cjs +1 -1
- package/account.d.ts +2 -2
- package/account.js +1 -1
- package/api-BORAfb8e.cjs +3 -0
- package/{api-dxNQsC_v.js → api-De7vAubY.js} +117 -109
- package/{api-DhwJz0vo.d.ts → api-iKK1u-V0.d.ts} +25 -1
- package/api.cjs +1 -1
- package/api.d.ts +2 -2
- package/api.js +1 -1
- package/{broker-frame-BClLp2ZV.js → broker-frame-AQDD3D9E.js} +1 -1
- package/{broker-frame-BKHtDSjv.cjs → broker-frame-cVEhez7A.cjs} +1 -1
- package/broker-frame.cjs +1 -1
- package/broker-frame.js +1 -1
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.d.ts +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/dns.cjs +1 -1
- package/cloud/dns.d.ts +2 -2
- package/cloud/dns.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.d.ts +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs/promises.cjs +1 -1
- package/cloud/fs/promises.js +1 -1
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +2 -2
- package/cloud/http.cjs +1 -1
- package/cloud/http.d.ts +1 -1
- package/cloud/http.js +1 -1
- package/cloud/net.cjs +1 -1
- package/cloud/net.d.ts +1 -1
- package/cloud/net.js +1 -1
- package/{cloud-DRfcPLdB.d.ts → cloud-BDTtnMtj.d.ts} +5 -5
- package/{cloud-pJ8R_Dmx.cjs → cloud-Buku7KQJ.cjs} +1 -1
- package/{cloud-CyU_k-d9.js → cloud-Bv_GUwcG.js} +120 -120
- package/cloud.cjs +1 -1
- package/cloud.d.ts +6 -6
- package/cloud.js +7 -7
- package/{contract-CDdIE_Es.d.ts → contract-Cqq1vOqF.d.ts} +35 -1
- package/contract.cjs +1 -1
- package/contract.d.ts +2 -2
- package/contract.js +2 -2
- package/{dgram-BPXm8haL.cjs → dgram-BgWDRjw-.cjs} +1 -1
- package/{dgram-CPQqam5Z.d.ts → dgram-BggVwnRp.d.ts} +3 -3
- package/{dgram-B14T5Lqo.js → dgram-CYegbMMa.js} +1 -1
- package/dgram.cjs +1 -1
- package/dgram.d.ts +1 -1
- package/dgram.js +1 -1
- package/{dns-DlTvtfVk.cjs → dns-CtxN7cCj.cjs} +1 -1
- package/{dns-BQkSttLP.js → dns-DTbLD2s6.js} +1 -1
- package/{dns-_NCe2YLS.d.ts → dns-DeuTGd8C.d.ts} +1 -1
- package/dns.cjs +1 -1
- package/dns.d.ts +2 -2
- package/dns.js +1 -1
- package/{extension-Ce1wlb_F.js → extension-0RxQ4Bor.js} +9 -9
- package/{extension-veLhWipR.cjs → extension-DHx7sHE4.cjs} +1 -1
- package/extension.cjs +1 -1
- package/extension.js +2 -2
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-DxECe50Z.cjs → fs-1Q6VCx3d.cjs} +1 -1
- package/{fs-DJ4wpfml.js → fs-BJdr72O6.js} +1 -1
- package/{fs-DgPbKycT.cjs → fs-BPfRlX_R.cjs} +1 -1
- package/{fs-sR6cw1ay.js → fs-C0RZ54fk.js} +3 -3
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/{http-aUVH9bBn.js → http-D-rs8b6m.js} +1 -1
- package/{http-hIJh5XTX.cjs → http-DkvhaPVT.cjs} +1 -1
- package/{http-rzQOrCmq.d.ts → http-LhyEQ2D8.d.ts} +1 -1
- package/http.cjs +1 -1
- package/http.d.ts +1 -1
- package/http.js +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +11 -11
- package/index.js +13 -13
- package/{lib-6lykV0aT.js → lib-B4Th0aXQ.js} +514 -508
- package/lib-By2YAF1s.cjs +53 -0
- package/{net-DUyZ7_3E.cjs → net-B3SziNT3.cjs} +1 -1
- package/{net-B4IqLeN8.d.ts → net-CK_1P9_C.d.ts} +3 -3
- package/{net-DVYOBov-.js → net-C_R3PDi7.js} +1 -1
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +6 -1
- package/{packages-BTDKiQyC.cjs → packages-BwD1QMOz.cjs} +1 -1
- package/{packages-XWRhSAUe.js → packages-CNXf-8A8.js} +1 -1
- package/{packages-SwO4CxMl.d.ts → packages-FCSR6WEw.d.ts} +1 -1
- package/packages.cjs +1 -1
- package/packages.d.ts +2 -2
- package/packages.js +1 -1
- package/proxy-CgISk6T6.cjs +1 -0
- package/proxy-OrF-WHyi.js +81 -0
- package/{proxy-CzP07me0.d.ts → proxy-Xe45WiQU.d.ts} +2 -2
- package/{relay-choice-DB1F7bcn.d.ts → relay-choice-BhdjlopH.d.ts} +1 -1
- package/{rooms-CZZfCZRv.cjs → rooms-B_sM_Z93.cjs} +1 -1
- package/{rooms-CYP8Bf6L.js → rooms-Dz13jhtS.js} +1 -1
- package/{rooms-3XplwXzb.d.ts → rooms-lJGFgMXH.d.ts} +1 -1
- package/rooms.cjs +1 -1
- package/rooms.d.ts +2 -2
- package/rooms.js +1 -1
- package/{storage-DtynxQDJ.cjs → storage-B49NeC-h.cjs} +1 -1
- package/{storage-d61R3-P1.js → storage-Dd3miXPI.js} +3 -3
- package/{storage-C38adB-z.d.ts → storage-ngeijVxI.d.ts} +1 -1
- package/storage.cjs +1 -1
- package/storage.d.ts +2 -2
- package/storage.js +1 -1
- package/websocket.cjs +1 -0
- package/websocket.d.ts +48 -0
- package/websocket.js +179 -0
- package/api-b88Y1QDE.cjs +0 -3
- package/lib-C1OPIW6F.cjs +0 -53
- package/proxy-BOHZkjk-.js +0 -61
- package/proxy-vI5LhXLv.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BORAfb8e.cjs"),n=require("./account-generation--7m_60Fl.cjs");var r=e.t({info:()=>o,login:()=>i,logout:()=>a,onChange:()=>s}),i=async()=>typeof window>`u`?!1:(await t.o).account.login(location.origin).catch(()=>!1),a=async()=>{typeof window<`u`&&await(await t.o).account.logout().catch(()=>{})},o=async()=>{if(typeof window>`u`)return null;let e=await t.o.then(e=>e.account.info()).catch(()=>null);return e?{name:e.name,image:e.image,premium:e.premium,premiumUntil:e.premiumUntil?Date.parse(e.premiumUntil):null}:null},s=async e=>t.l?n.i(e):()=>{};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { l as t, o as n } from "./api-
|
|
3
|
-
import { i as r } from "./account-generation-
|
|
2
|
+
import { l as t, o as n } from "./api-De7vAubY.js";
|
|
3
|
+
import { i as r } from "./account-generation-DgK9YHiL.js";
|
|
4
4
|
// src/account.ts
|
|
5
5
|
var i = /* @__PURE__ */ e({
|
|
6
6
|
info: () => s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./api-
|
|
1
|
+
const e=require("./api-BORAfb8e.cjs");var t=0,n=new Set,r=2e3,i=null,a=e=>{let r=e?.switched!==!1;r&&(t+=1,i&&=(clearTimeout(i.timer),null));for(let e of[...n])try{e({switched:r})}catch{}},o=!1,s=0,c=()=>{let t=e.c();t&&s!==t.epoch&&(s=t.epoch,Promise.resolve(t.remote.account.onChange(a)).catch(()=>{s===t.epoch&&(s=0)}))},l=()=>{!o&&e.l&&(o=!0,e.u(c))},u=()=>t,d=e=>(n.add(e),l(),()=>{n.delete(e)}),f=e=>{if(e!==t||i?.generation===e)return;let n=setTimeout(()=>{i?.timer===n&&(i=null,t===e&&a({switched:!0}))},r);i={generation:e,timer:n}};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BORAfb8e.cjs"),n=require("./messages.cjs"),r=require("./account-generation--7m_60Fl.cjs");var i=e.t({StorageAccountChangedError:()=>c,StorageAccountPinUnsupportedError:()=>l,StorageLockedError:()=>a,StorageNotFoundError:()=>o,availability:()=>k,available:()=>w,captureAccount:()=>p,encryption:()=>L,isAccountChanged:()=>u,isInvalidPin:()=>d,isNotFound:()=>s,knownPin:()=>y,list:()=>A,pinFor:()=>b,quota:()=>j,readFile:()=>M,readFileSealed:()=>P,remove:()=>I,unlock:()=>R,writeFile:()=>F}),a=class extends Error{code=`FKN_E2E_LOCKED`;constructor(){super(`storage locked: connect the app again to open encrypted data`)}},o=class extends Error{code=n.STORAGE_NOT_FOUND;constructor(e=`storage: no object at that path`){super(e)}},s=e=>e?.code===n.STORAGE_NOT_FOUND,c=class extends Error{code=n.STORAGE_ACCOUNT_CHANGED;constructor(e=`storage: the signed-in account changed, so this call was not made`){super(e)}},l=class extends Error{code=n.STORAGE_ACCOUNT_PIN_UNSUPPORTED;constructor(e=`storage: the FKN broker cannot pin calls to an account yet, so nothing was sent`){super(e)}},u=e=>e?.code===`FKN_ACCOUNT_CHANGED`||e instanceof Error&&e.message.startsWith(`fkn:account-changed`),d=e=>e instanceof Error&&e.message.startsWith(`fkn:account-pin-invalid`),f=e=>{throw e instanceof Error&&e.message.startsWith(`fkn:e2e-locked`)?new a:s(e)?new o(e.message):u(e)?new c:e instanceof Error&&e.message.startsWith(`fkn:account-pin-unsupported`)?new l:e instanceof Error&&(/^not found$/i.test(e.message)||/\(404\)$/.test(e.message))?new o(e.message):e},p=()=>(r.n(),{generation:r.t()}),m=new Map,h=null,g=e=>typeof e?.accountPin==`function`,_=(e,t)=>{let n=Promise.resolve(t.accountPin()).then(t=>{if(typeof t!=`string`||!t)throw Error(`storage: the broker answered no account pin`);return r.t()===e&&m.set(e,t),t});return h={generation:e,pin:n},n.catch(()=>{h?.pin===n&&(h=null)}),n},v=async(e,t)=>{let n=m.get(e.generation);if(n!==void 0)return n;if(e.generation!==r.t())throw new c;let i=await(h?.generation===e.generation?h.pin:_(e.generation,t)).catch(f);if(e.generation!==r.t())throw new c;return i},y=e=>m.get(e.generation),b=async e=>{let n=(await t.o).cloud.fs;if(!g(n))throw new l;return v(e,n)},x=e=>{for(let[t,n]of m)if(n===e)return t},S=e=>e?.pin??p(),C=async(e,n)=>{let i=(await t.o).cloud.fs;if(!g(i))throw new l;let a=`pin`in e?e.pin:await v(e,i);if(!g(i))throw new l;return n(i,{accountPin:a}).catch(t=>{if(u(t)){let t=`generation`in e?e.generation:x(a);t!==void 0&&r.r(t)}return f(t)})},w=()=>t.o.then(e=>e.cloud.fs.available()).catch(()=>!1),T=8e3,E=1e3,D=!1,O=async()=>{let e=(await t.o).cloud.fs;return typeof e.availability==`function`?e.availability():await e.available()?`connected`:`disconnected`},k=async()=>{let e=D?E:T,t=await new Promise(t=>{let n=setTimeout(()=>t(`timeout`),e);O().then(e=>{clearTimeout(n),t(e)},()=>{clearTimeout(n),t(`unknown`)})});return t===`timeout`?(D=!0,`unknown`):(D=!1,t)},A=e=>C(S(e),(e,t)=>e.list(t)),j=()=>t.o.then(e=>e.cloud.fs.quota()),M=async(e,t)=>{let n=await C(S(t),(t,n)=>t.readFile(e,n));return new Blob([n])},N=e=>{if(e===null||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()},P=async(e,t)=>C(S(t),async(t,n)=>{let r=t;if(typeof r.readFileSealed!=`function`)return{data:await t.readFile(e,n),sealedAt:null};let i=await r.readFileSealed(e,n);return{data:i.bytes,sealedAt:N(i.sealedAt)}}),F=async(e,t,n)=>{let r=S(n),i=t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t;await C(r,(t,r)=>t.writeFile(e,i,n?.contentType??null,r))},I=async(e,t)=>{await C(S(t),(t,n)=>t.remove(e,n))},L=()=>t.o.then(e=>e.cloud.fs.encryption()),R=()=>t.o.then(e=>e.cloud.fs.unlock());Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return R}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { o as t } from "./api-
|
|
2
|
+
import { o as t } from "./api-De7vAubY.js";
|
|
3
3
|
import { STORAGE_ACCOUNT_CHANGED as n, STORAGE_ACCOUNT_PIN_UNSUPPORTED as r, STORAGE_NOT_FOUND as i } from "./messages.js";
|
|
4
|
-
import { n as a, r as o, t as s } from "./account-generation-
|
|
4
|
+
import { n as a, r as o, t as s } from "./account-generation-DgK9YHiL.js";
|
|
5
5
|
// src/account-storage.ts
|
|
6
6
|
var c = /* @__PURE__ */ e({
|
|
7
7
|
StorageAccountChangedError: () => f,
|
package/account.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./account-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./account-BdwCDacQ.cjs");exports.info=e.n,exports.login=e.r,exports.logout=e.i,exports.onChange=e.a;
|
package/account.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as AccountChange } from "./contract-
|
|
2
|
-
import { a as logout, i as login, o as onChange, r as info, t as AccountInfo } from "./account-
|
|
1
|
+
import { a as AccountChange } from "./contract-Cqq1vOqF.js";
|
|
2
|
+
import { a as logout, i as login, o as onChange, r as info, t as AccountInfo } from "./account-C9w41S0_.js";
|
|
3
3
|
export { type AccountChange, AccountInfo, info, login, logout, onChange };
|
package/account.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as info, r as login, i as logout, a as onChange } from "./account-
|
|
1
|
+
export { n as info, r as login, i as logout, a as onChange } from "./account-URj9bMMj.js";
|
package/api-BORAfb8e.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const e=require("./broker-frame-cVEhez7A.cjs");let t=require("osra");var n=1e4,r=16,i=e=>{let t;try{t=e.contentWindow}catch{return!0}if(!t)return!0;try{let e=t.location.href;return e!==``&&e!==`about:blank`}catch{return!0}},a=(e,t=n)=>new Promise(n=>{if(i(e))return n();let a=()=>{clearInterval(o),clearTimeout(s),e.removeEventListener(`load`,a),n()},o=setInterval(()=>{i(e)&&a()},r),s=setTimeout(a,t);e.addEventListener(`load`,a)}),o=5e3,s=9e4,c=(e,t,r)=>{let a=1,c,l=e.ownerDocument.defaultView,u=()=>{clearTimeout(c),l?.removeEventListener(`message`,m),e.removeEventListener(`load`,p)},d=()=>{if(e.isConnected){if(a>=4)return u(),console.error(`FKN @fkn/lib: ${t} did not load in ${a} tries; reload the page`);a+=1,e.contentWindow?.location.replace(t),f(s)}},f=e=>{clearTimeout(c),c=setTimeout(d,e)},p=()=>f(o),m=t=>{t.source===e.contentWindow&&t.origin===r&&u()};if(l?.addEventListener(`message`,m),e.addEventListener(`load`,p),i(e))return f(o);c=setTimeout(()=>i(e)?f(8e4):d(),n)},l=32,u=8,d=120,f=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),p=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),m=`light dark`,h=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`padding`,`0`,`important`),t.setProperty(`box-sizing`,`border-box`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,m),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},g=({x:e,y:t,width:n,height:r,radius:i})=>{if(!i)return`M${e} ${t}h${n}v${r}h${-n}Z`;let a=Math.min(n,r)/2,[o,s,c,l]=i.map(e=>Math.max(0,Math.min(e,a)));return`M${e+o} ${t}h${n-o-s}a${s} ${s} 0 0 1 ${s} ${s}v${r-s-c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n-c-l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r-l-o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`},ee=()=>f&&p,_=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],te=e=>{let t=e[0];if(!t)return[];let n=_(t)[0],r=[];return e.forEach((t,i)=>{r.push(..._(t)),i>0&&i<e.length-1&&r.push(n)}),r},ne=e=>`polygon(nonzero, ${te(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,re=({x:e,y:t,width:n,height:r,radius:i},a)=>{let o=`${t}px ${a.width-e-n}px ${a.height-t-r}px ${e}px`;return i?`inset(${o} round ${i.map(e=>`${e}px`).join(` `)})`:`inset(${o})`},ie=(e,t,n)=>{if(t)return`none`;if(e.length===0)return`inset(100%)`;let r=e.length===1?e[0]:void 0;return r?re(r,n):p&&e.length<=5&&!e.some(e=>e.radius)?ne(e):`path('${e.map(g).join(``)}')`},ae=e=>{if(e.length<2)return null;let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y));return{x:t,y:n,width:Math.max(...e.map(e=>e.x+e.width))-t,height:Math.max(...e.map(e=>e.y+e.height))-n}},oe=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,se=16,v=(e,t,n)=>t===1?e*se:t===2?e*n:e,y=(e,t,n,r,i)=>{let a=t?r:0,o=n?i:0;return a||o?{target:e,left:a,top:o}:null},ce=(e,t,n)=>{let r=document.documentElement,i=getComputedStyle(r),a=i.overflowX===`visible`&&i.overflowY===`visible`&&document.body?document.body:r;for(let r=e;r&&r!==a;r=r.parentElement){let e=getComputedStyle(r),i=/auto|scroll/.test(e.overflowX)&&r.scrollWidth>r.clientWidth,a=/auto|scroll/.test(e.overflowY)&&r.scrollHeight>r.clientHeight,o=y(r,i,a,t,n);if(o)return o}let o=document.scrollingElement,s=a===r?i:getComputedStyle(a);return o&&y(o,!/hidden|clip/.test(s.overflowX),!/hidden|clip/.test(s.overflowY),t,n)},b=null,x=null,S=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),C=e=>{if(!x||!b||!oe(x,e.clientX,e.clientY))return;let t=document.fullscreenElement;if(t&&!t.contains(b))return;let n=document.elementFromPoint(e.clientX,e.clientY);if(!n||n===b)return;let r=n.closest(`:is(:modal, :popover-open)`);if(r&&!r.contains(b))return;let i=ce(n,v(e.deltaX,e.deltaMode,window.innerWidth),v(e.deltaY,e.deltaMode,window.innerHeight));i&&(i.target.scrollBy({left:i.left,top:i.top,behavior:`instant`}),e.cancelable&&e.preventDefault())},le=e=>{let t=x!==null;x=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,C,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,C,{capture:!0}))},w=0,ue=e=>{if(e===w)return;w=e;let t=document.documentElement.style;e>0?(t.setProperty(`margin-top`,`${e}px`,`important`),t.setProperty(`--fkn-inset-top`,`${e}px`)):(t.removeProperty(`margin-top`),t.removeProperty(`--fkn-inset-top`))},T=(e,t)=>{t?(e.removeAttribute(`tabindex`),e.removeAttribute(`aria-hidden`)):(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-hidden`,`true`))},E=(e,{modal:t,rects:n,inset:r},i)=>{if(ue(r),!f){let r=t||n.length>0;T(e,r),e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=ie(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),T(e,o!==`inset(100%)`),le(t||o!==a?null:ae(n))},de=e=>{if(typeof e!=`object`||!e)return 0;let{top:t}=e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?0:Math.min(Math.round(t),d)},fe=e=>{if(Array.isArray(e)&&e.length===4&&e.every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0))return e.some(e=>e>0)?e:void 0},pe=(e,t)=>{if(typeof e!=`object`||!e)return null;let{x:n,y:r,width:i,height:a}=e;if(![n,r,i,a].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let o=t.width,s=t.height,c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(0,Math.min(Math.round(r),s)),u=Math.max(c,Math.min(Math.round(n+i),o)),d=Math.max(l,Math.min(Math.round(r+a),s)),f=fe(e.radius);return{x:c,y:l,width:u-c,height:d-l,...f?{radius:f}:{}}},D={"not-rendered":`this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout`,clipped:`it is clipped away or positioned outside the viewport`,"not-shown":`it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter`},me=e=>Array.isArray(e)?e.slice(0,u).flatMap(e=>{if(typeof e!=`object`||!e)return[];let{kind:t,cause:n,level:r}=e;return typeof t!=`string`||t.length>40||typeof n!=`string`||!(n in D)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],O=new Set,he=e=>{for(let{kind:t,cause:n,level:r}of e)O.has(t)||(O.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${D[n]}. Nobody using this page can see or answer it.
|
|
2
|
+
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.`+(r===`liveness`?`
|
|
3
|
+
This browser reports limited detail, so the cause above is a best guess.`:``)))},k=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,l):[]).map(e=>pe(e,t)).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r,hidden:me(n.hidden),inset:de(n.inset)}},ge=()=>b!==null,A=null,j=null,_e=()=>{if(!b||A===null)return;let e=S(b),t=k(A,e);t&&E(b,t,e)},ve=e=>{typeof ResizeObserver<`u`&&(j??=new ResizeObserver(_e),j.disconnect(),j.observe(e))},ye=e=>{h(e),E(e,{modal:!1,rects:[],hidden:[],inset:0},S(e)),b=e,ve(e)},be=e=>{if(!b)return;let t=S(b),n=k(e,t);n&&(A=e,E(b,n,t),he(n.hidden))},M=`https://fkn.app`,N=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,P=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,F=e.n(P),xe=`fkn-api-port`,Se=`fkn-api-port-ack`,Ce=2e3,we=()=>{if(!N||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===Se&&r(t.port1)},a=setTimeout(()=>r(void 0),Ce);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:xe},M,[t.port2])}catch{r(void 0)}})},I,Te=()=>{if(I||!N)return I;let t=N.querySelector(`iframe[src="${F}"]`);if(t)I=t;else{let t=N.createElement(`iframe`);t.setAttribute(`allow`,e.a(P)),t.src=F,N.body.appendChild(t),I=t}return c(I,F,M),ye(I),I},L=(async()=>{if(!N)return;let e=await we();if(e)return{receive:e,emit:e};let t=Te();if(t&&(await a(t),t.contentWindow))return{receive:window,emit:(e,n)=>t.contentWindow?.postMessage(e,M,n)}})(),Ee=(e,{boundRetired:t=e=>e}={})=>{let n,r=0,i=!1,a=()=>{},o=()=>new Promise(e=>{a=e}),s=o(),c=s,l=new Set,u=new Set,d=0,f=0,p=()=>{let e=[...u];u.clear();let t=Error(`FKN: the broker was replaced while this call was pending; retry it`);for(let n of e)try{n(t)}catch{}};(async()=>{for await(let t of e){let e=++r;n={remote:t,epoch:e};let i=a;s=o(),i(t),p();for(let n of[...l])try{n(t,e)}catch{}}})().catch(()=>{});let m=async(e,r)=>{let a=n?.remote??await(i?t(s):s);for(let t of e.slice(0,-1))a=a[t];let o=a[e[e.length-1]??``];d=Date.now(),f+=1;let c=()=>{},l=new Promise((e,t)=>{c=t});u.add(c);try{return await Promise.race([Promise.resolve(o.apply(a,r)),l])}finally{--f,u.delete(c),d=Date.now()}},h=new Map,g=e=>{let t=e.join(`\0`),r=h.get(t);if(r)return r;let i=new Proxy(function(){},{get:(t,r)=>{if(typeof r!=`string`||r===`then`)return;let i=n;if(i){let t=i.remote;for(let n of e)t=t?.[n];if(t?.[r]===void 0)return}return g([...e,r])},apply:(t,n,r)=>m(e,r)});return h.set(t,i),i};return{facade:g([]),first:c.then(()=>{}),current:()=>n,onEpoch:e=>{if(l.add(e),n)try{e(n.remote,n.epoch)}catch{}return()=>{l.delete(e)}},lastCall:()=>d,inFlight:()=>f,routable:()=>n?Promise.resolve():s.then(()=>{}),retire:()=>{i=!0,n=void 0,p()}}},R=!1,z=new Set,B=()=>R,De=()=>{if(!R){R=!0;for(let e of[...z])try{e()}catch{}z.clear()}},V=e=>{R?e():z.add(e)},Oe=typeof window<`u`||typeof self<`u`,H=async()=>{if(typeof window<`u`)return L;if(typeof self<`u`)return{receive:self,emit:self}},U=`fkn-api`,ke=`fkn-api-window`,Ae={async*[Symbol.asyncIterator](){let e=await H();if(!e)await new Promise(()=>{});else{if(!B()){let n=new AbortController;V(()=>n.abort());for await(let r of(0,t.expose)({},{key:U,transport:e,unregisterSignal:n.signal})){if(n.signal.aborted)break;yield r}}yield*(0,t.expose)({},{key:ke,transport:e})}}},W=!1,G=H().then(e=>new Promise(n=>{if(!e)return;let{receive:r}=e,i=e=>{(0,t.checkOsraMessageKey)(e.data,U)&&(r.removeEventListener(`message`,i),W=!0,n())};r.addEventListener(`message`,i)})),K=Ee(Ae,{boundRetired:e=>Promise.race([e,G.then(()=>Q(e,()=>new Z))])});V(()=>K.retire());var q=Promise.race([K.first,new Promise(e=>V(e))]).then(()=>K.facade),J=8e3,je=1e3,Y=!1,X=class extends Error{constructor(e,t){super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`),this.name=`BrokerUnreachableError`}},Z=class extends Error{constructor(){super(`FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload`),this.name=`OwnChannelUnavailableError`}},Q=(e,t)=>{let n=Y?je:J;return Promise.race([e,new Promise((e,r)=>setTimeout(()=>{Y=!0,r(t(n))},n))])},Me=e=>B()?Q(K.routable().then(()=>K.facade),t=>W?new Z:new X(e,t)):Q(q,t=>new X(e,t));V(()=>{G.then(()=>{let e=setTimeout(()=>console.error(new Z),J);K.routable().then(()=>clearTimeout(e))})});var $=K.onEpoch,Ne=K.current,Pe=K.lastCall,Fe=K.inFlight;$(e=>{ge()&&e.overlay.setHost(be,{exactClips:ee(),colorScheme:m}).catch(()=>{})}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as e, n as t } from "./broker-frame-AQDD3D9E.js";
|
|
2
2
|
import { checkOsraMessageKey as n, expose as r } from "osra";
|
|
3
3
|
// src/frame-ready.ts
|
|
4
4
|
var i = 1e4, a = 16, o = (e) => {
|
|
@@ -75,55 +75,66 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
75
75
|
width: Math.max(...e.map((e) => e.x + e.width)) - t,
|
|
76
76
|
height: Math.max(...e.map((e) => e.y + e.height)) - n
|
|
77
77
|
};
|
|
78
|
-
}, ce = (e, t, n) => t >= e.x && t < e.x + e.width && n >= e.y && n < e.y + e.height, le = 16, v = (e, t, n) => t === 1 ? e * le : t === 2 ? e * n : e,
|
|
79
|
-
let r =
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
78
|
+
}, ce = (e, t, n) => t >= e.x && t < e.x + e.width && n >= e.y && n < e.y + e.height, le = 16, v = (e, t, n) => t === 1 ? e * le : t === 2 ? e * n : e, y = (e, t, n, r, i) => {
|
|
79
|
+
let a = t ? r : 0, o = n ? i : 0;
|
|
80
|
+
return a || o ? {
|
|
81
|
+
target: e,
|
|
82
|
+
left: a,
|
|
83
|
+
top: o
|
|
84
|
+
} : null;
|
|
85
|
+
}, ue = (e, t, n) => {
|
|
86
|
+
let r = document.documentElement, i = getComputedStyle(r), a = i.overflowX === "visible" && i.overflowY === "visible" && document.body ? document.body : r;
|
|
87
|
+
for (let r = e; r && r !== a; r = r.parentElement) {
|
|
88
|
+
let e = getComputedStyle(r), i = /auto|scroll/.test(e.overflowX) && r.scrollWidth > r.clientWidth, a = /auto|scroll/.test(e.overflowY) && r.scrollHeight > r.clientHeight, o = y(r, i, a, t, n);
|
|
89
|
+
if (o) return o;
|
|
90
|
+
}
|
|
91
|
+
let o = document.scrollingElement, s = a === r ? i : getComputedStyle(a);
|
|
92
|
+
return o && y(o, !/hidden|clip/.test(s.overflowX), !/hidden|clip/.test(s.overflowY), t, n);
|
|
93
|
+
}, b = null, x = null, S = (e) => ({
|
|
85
94
|
width: e.offsetWidth || window.innerWidth,
|
|
86
95
|
height: e.offsetHeight || window.innerHeight
|
|
87
|
-
}),
|
|
88
|
-
if (!
|
|
96
|
+
}), C = (e) => {
|
|
97
|
+
if (!x || !b || !ce(x, e.clientX, e.clientY)) return;
|
|
89
98
|
let t = document.fullscreenElement;
|
|
90
|
-
if (t && !t.contains(
|
|
99
|
+
if (t && !t.contains(b)) return;
|
|
91
100
|
let n = document.elementFromPoint(e.clientX, e.clientY);
|
|
92
|
-
if (!n || n ===
|
|
93
|
-
let r =
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
if (!n || n === b) return;
|
|
102
|
+
let r = n.closest(":is(:modal, :popover-open)");
|
|
103
|
+
if (r && !r.contains(b)) return;
|
|
104
|
+
let i = ue(n, v(e.deltaX, e.deltaMode, window.innerWidth), v(e.deltaY, e.deltaMode, window.innerHeight));
|
|
105
|
+
i && (i.target.scrollBy({
|
|
106
|
+
left: i.left,
|
|
107
|
+
top: i.top,
|
|
97
108
|
behavior: "instant"
|
|
98
109
|
}), e.cancelable && e.preventDefault());
|
|
99
|
-
},
|
|
100
|
-
let t =
|
|
101
|
-
|
|
110
|
+
}, de = (e) => {
|
|
111
|
+
let t = x !== null;
|
|
112
|
+
x = e, t !== (e !== null) && (e ? window.addEventListener("wheel", C, {
|
|
102
113
|
capture: !0,
|
|
103
114
|
passive: !1
|
|
104
|
-
}) : window.removeEventListener("wheel",
|
|
105
|
-
},
|
|
106
|
-
if (e ===
|
|
107
|
-
|
|
115
|
+
}) : window.removeEventListener("wheel", C, { capture: !0 }));
|
|
116
|
+
}, w = 0, fe = (e) => {
|
|
117
|
+
if (e === w) return;
|
|
118
|
+
w = e;
|
|
108
119
|
let t = document.documentElement.style;
|
|
109
120
|
e > 0 ? (t.setProperty("margin-top", `${e}px`, "important"), t.setProperty("--fkn-inset-top", `${e}px`)) : (t.removeProperty("margin-top"), t.removeProperty("--fkn-inset-top"));
|
|
110
|
-
},
|
|
121
|
+
}, T = (e, t) => {
|
|
111
122
|
t ? (e.removeAttribute("tabindex"), e.removeAttribute("aria-hidden")) : (e.setAttribute("tabindex", "-1"), e.setAttribute("aria-hidden", "true"));
|
|
112
|
-
},
|
|
113
|
-
if (
|
|
123
|
+
}, E = (e, { modal: t, rects: n, inset: r }, i) => {
|
|
124
|
+
if (fe(r), !m) {
|
|
114
125
|
let r = t || n.length > 0;
|
|
115
|
-
|
|
126
|
+
T(e, r), e.style.setProperty("pointer-events", r ? "auto" : "none", "important"), e.style.setProperty("visibility", r ? "visible" : "hidden", "important");
|
|
116
127
|
return;
|
|
117
128
|
}
|
|
118
129
|
let a = oe(n, t, i), o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
|
|
119
|
-
e.style.setProperty("clip-path", o, "important"),
|
|
120
|
-
},
|
|
130
|
+
e.style.setProperty("clip-path", o, "important"), T(e, o !== "inset(100%)"), de(t || o !== a ? null : se(n));
|
|
131
|
+
}, pe = (e) => {
|
|
121
132
|
if (typeof e != "object" || !e) return 0;
|
|
122
133
|
let { top: t } = e;
|
|
123
134
|
return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? 0 : Math.min(Math.round(t), p);
|
|
124
|
-
},
|
|
135
|
+
}, me = (e) => {
|
|
125
136
|
if (Array.isArray(e) && e.length === 4 && e.every((e) => typeof e == "number" && Number.isFinite(e) && e >= 0)) return e.some((e) => e > 0) ? e : void 0;
|
|
126
|
-
},
|
|
137
|
+
}, he = (e, t) => {
|
|
127
138
|
if (typeof e != "object" || !e) return null;
|
|
128
139
|
let { x: n, y: r, width: i, height: a } = e;
|
|
129
140
|
if (![
|
|
@@ -132,7 +143,7 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
132
143
|
i,
|
|
133
144
|
a
|
|
134
145
|
].every((e) => typeof e == "number" && Number.isFinite(e))) return null;
|
|
135
|
-
let o = t.width, s = t.height, c = Math.max(0, Math.min(Math.round(n), o)), l = Math.max(0, Math.min(Math.round(r), s)), u = Math.max(c, Math.min(Math.round(n + i), o)), d = Math.max(l, Math.min(Math.round(r + a), s)), f =
|
|
146
|
+
let o = t.width, s = t.height, c = Math.max(0, Math.min(Math.round(n), o)), l = Math.max(0, Math.min(Math.round(r), s)), u = Math.max(c, Math.min(Math.round(n + i), o)), d = Math.max(l, Math.min(Math.round(r + a), s)), f = me(e.radius);
|
|
136
147
|
return {
|
|
137
148
|
x: c,
|
|
138
149
|
y: l,
|
|
@@ -140,49 +151,49 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
140
151
|
height: d - l,
|
|
141
152
|
...f ? { radius: f } : {}
|
|
142
153
|
};
|
|
143
|
-
},
|
|
154
|
+
}, D = {
|
|
144
155
|
"not-rendered": "this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout",
|
|
145
156
|
clipped: "it is clipped away or positioned outside the viewport",
|
|
146
157
|
"not-shown": "it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter"
|
|
147
|
-
},
|
|
158
|
+
}, ge = (e) => Array.isArray(e) ? e.slice(0, f).flatMap((e) => {
|
|
148
159
|
if (typeof e != "object" || !e) return [];
|
|
149
160
|
let { kind: t, cause: n, level: r } = e;
|
|
150
|
-
return typeof t != "string" || t.length > 40 || typeof n != "string" || !(n in
|
|
161
|
+
return typeof t != "string" || t.length > 40 || typeof n != "string" || !(n in D) || r !== "full" && r !== "liveness" ? [] : [{
|
|
151
162
|
kind: t,
|
|
152
163
|
cause: n,
|
|
153
164
|
level: r
|
|
154
165
|
}];
|
|
155
|
-
}) : [],
|
|
156
|
-
for (let { kind: t, cause: n, level: r } of e)
|
|
166
|
+
}) : [], O = /* @__PURE__ */ new Set(), _e = (e) => {
|
|
167
|
+
for (let { kind: t, cause: n, level: r } of e) O.has(t) || (O.add(t), console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${D[n]}. Nobody using this page can see or answer it.
|
|
157
168
|
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.` + (r === "liveness" ? "\nThis browser reports limited detail, so the cause above is a best guess." : "")));
|
|
158
|
-
},
|
|
169
|
+
}, k = (e, t) => {
|
|
159
170
|
if (typeof e != "object" || !e) return null;
|
|
160
|
-
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, d) : []).map((e) =>
|
|
171
|
+
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, d) : []).map((e) => he(e, t)).filter((e) => e !== null && e.width > 0 && e.height > 0);
|
|
161
172
|
return {
|
|
162
173
|
modal: n.modal === !0,
|
|
163
174
|
rects: r,
|
|
164
|
-
hidden:
|
|
165
|
-
inset:
|
|
175
|
+
hidden: ge(n.hidden),
|
|
176
|
+
inset: pe(n.inset)
|
|
166
177
|
};
|
|
167
|
-
},
|
|
168
|
-
if (!
|
|
169
|
-
let e =
|
|
170
|
-
t &&
|
|
178
|
+
}, ve = () => b !== null, A = null, j = null, ye = () => {
|
|
179
|
+
if (!b || A === null) return;
|
|
180
|
+
let e = S(b), t = k(A, e);
|
|
181
|
+
t && E(b, t, e);
|
|
182
|
+
}, be = (e) => {
|
|
183
|
+
typeof ResizeObserver < "u" && (j ??= new ResizeObserver(ye), j.disconnect(), j.observe(e));
|
|
171
184
|
}, xe = (e) => {
|
|
172
|
-
|
|
173
|
-
}, Se = (e) => {
|
|
174
|
-
ee(e), T(e, {
|
|
185
|
+
ee(e), E(e, {
|
|
175
186
|
modal: !1,
|
|
176
187
|
rects: [],
|
|
177
188
|
hidden: [],
|
|
178
189
|
inset: 0
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
if (!
|
|
182
|
-
let t =
|
|
183
|
-
n && (
|
|
184
|
-
},
|
|
185
|
-
if (!
|
|
190
|
+
}, S(e)), b = e, be(e);
|
|
191
|
+
}, Se = (e) => {
|
|
192
|
+
if (!b) return;
|
|
193
|
+
let t = S(b), n = k(e, t);
|
|
194
|
+
n && (A = e, E(b, n, t), _e(n.hidden));
|
|
195
|
+
}, M = "https://fkn.app", N = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, P = typeof globalThis < "u" && globalThis.crossOriginIsolated === !0, F = t(P), Ce = "fkn-api-port", we = "fkn-api-port-ack", Te = 2e3, Ee = () => {
|
|
196
|
+
if (!N || typeof window > "u" || window.parent === window) return Promise.resolve(void 0);
|
|
186
197
|
let e;
|
|
187
198
|
try {
|
|
188
199
|
e = window.parent;
|
|
@@ -197,40 +208,37 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
197
208
|
} catch {}
|
|
198
209
|
n(e);
|
|
199
210
|
}, i = (e) => {
|
|
200
|
-
e.data?.type ===
|
|
201
|
-
}, a = setTimeout(() => r(void 0),
|
|
211
|
+
e.data?.type === we && r(t.port1);
|
|
212
|
+
}, a = setTimeout(() => r(void 0), Te);
|
|
202
213
|
t.port1.addEventListener("message", i), t.port1.start();
|
|
203
214
|
try {
|
|
204
|
-
e.postMessage({ type:
|
|
215
|
+
e.postMessage({ type: Ce }, M, [t.port2]);
|
|
205
216
|
} catch {
|
|
206
217
|
r(void 0);
|
|
207
218
|
}
|
|
208
219
|
});
|
|
209
|
-
},
|
|
210
|
-
if (
|
|
211
|
-
let t =
|
|
212
|
-
if (t)
|
|
220
|
+
}, I, De = () => {
|
|
221
|
+
if (I || !N) return I;
|
|
222
|
+
let t = N.querySelector(`iframe[src="${F}"]`);
|
|
223
|
+
if (t) I = t;
|
|
213
224
|
else {
|
|
214
|
-
let t =
|
|
215
|
-
t.setAttribute("allow", e(
|
|
225
|
+
let t = N.createElement("iframe");
|
|
226
|
+
t.setAttribute("allow", e(P)), t.src = F, N.body.appendChild(t), I = t;
|
|
216
227
|
}
|
|
217
|
-
return u(
|
|
218
|
-
},
|
|
219
|
-
if (!
|
|
220
|
-
let e = await
|
|
228
|
+
return u(I, F, M), xe(I), I;
|
|
229
|
+
}, L = (async () => {
|
|
230
|
+
if (!N) return;
|
|
231
|
+
let e = await Ee();
|
|
221
232
|
if (e) return {
|
|
222
233
|
receive: e,
|
|
223
234
|
emit: e
|
|
224
235
|
};
|
|
225
|
-
let t =
|
|
226
|
-
if (
|
|
227
|
-
await s(t);
|
|
228
|
-
let n = t.contentWindow;
|
|
229
|
-
return n ? {
|
|
236
|
+
let t = De();
|
|
237
|
+
if (t && (await s(t), t.contentWindow)) return {
|
|
230
238
|
receive: window,
|
|
231
|
-
emit: n
|
|
232
|
-
}
|
|
233
|
-
})(),
|
|
239
|
+
emit: (e, n) => t.contentWindow?.postMessage(e, M, n)
|
|
240
|
+
};
|
|
241
|
+
})(), Oe = (e, { boundRetired: t = (e) => e } = {}) => {
|
|
234
242
|
let n, r = 0, i = !1, a = () => {}, o = () => new Promise((e) => {
|
|
235
243
|
a = e;
|
|
236
244
|
}), s = o(), c = s, l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = 0, f = 0, p = () => {
|
|
@@ -306,31 +314,31 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
306
314
|
i = !0, n = void 0, p();
|
|
307
315
|
}
|
|
308
316
|
};
|
|
309
|
-
},
|
|
310
|
-
if (!
|
|
311
|
-
|
|
312
|
-
for (let e of [...
|
|
317
|
+
}, R = !1, z = /* @__PURE__ */ new Set(), B = () => R, ke = () => {
|
|
318
|
+
if (!R) {
|
|
319
|
+
R = !0;
|
|
320
|
+
for (let e of [...z]) try {
|
|
313
321
|
e();
|
|
314
322
|
} catch {}
|
|
315
|
-
|
|
323
|
+
z.clear();
|
|
316
324
|
}
|
|
317
|
-
},
|
|
318
|
-
|
|
319
|
-
},
|
|
320
|
-
if (typeof window < "u") return
|
|
325
|
+
}, V = (e) => {
|
|
326
|
+
R ? e() : z.add(e);
|
|
327
|
+
}, Ae = typeof window < "u" || typeof self < "u", H = async () => {
|
|
328
|
+
if (typeof window < "u") return L;
|
|
321
329
|
if (typeof self < "u") return {
|
|
322
330
|
receive: self,
|
|
323
331
|
emit: self
|
|
324
332
|
};
|
|
325
|
-
},
|
|
326
|
-
let e = await
|
|
333
|
+
}, U = "fkn-api", je = "fkn-api-window", Me = { async *[Symbol.asyncIterator]() {
|
|
334
|
+
let e = await H();
|
|
327
335
|
if (!e) await new Promise(() => {});
|
|
328
336
|
else {
|
|
329
|
-
if (!
|
|
337
|
+
if (!B()) {
|
|
330
338
|
let t = new AbortController();
|
|
331
|
-
|
|
339
|
+
V(() => t.abort());
|
|
332
340
|
for await (let n of r({}, {
|
|
333
|
-
key:
|
|
341
|
+
key: U,
|
|
334
342
|
transport: e,
|
|
335
343
|
unregisterSignal: t.signal
|
|
336
344
|
})) {
|
|
@@ -339,43 +347,43 @@ var i = 1e4, a = 16, o = (e) => {
|
|
|
339
347
|
}
|
|
340
348
|
}
|
|
341
349
|
yield* r({}, {
|
|
342
|
-
key:
|
|
350
|
+
key: je,
|
|
343
351
|
transport: e
|
|
344
352
|
});
|
|
345
353
|
}
|
|
346
|
-
} },
|
|
354
|
+
} }, W = !1, G = H().then((e) => new Promise((t) => {
|
|
347
355
|
if (!e) return;
|
|
348
356
|
let { receive: r } = e, i = (e) => {
|
|
349
|
-
n(e.data,
|
|
357
|
+
n(e.data, U) && (r.removeEventListener("message", i), W = !0, t());
|
|
350
358
|
};
|
|
351
359
|
r.addEventListener("message", i);
|
|
352
|
-
})),
|
|
353
|
-
|
|
354
|
-
var
|
|
360
|
+
})), K = Oe(Me, { boundRetired: (e) => Promise.race([e, G.then(() => Q(e, () => new Z()))]) });
|
|
361
|
+
V(() => K.retire());
|
|
362
|
+
var q = Promise.race([K.first, new Promise((e) => V(e))]).then(() => K.facade), J = 8e3, Ne = 1e3, Y = !1, X = class extends Error {
|
|
355
363
|
constructor(e, t) {
|
|
356
364
|
super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`), this.name = "BrokerUnreachableError";
|
|
357
365
|
}
|
|
358
|
-
},
|
|
366
|
+
}, Z = class extends Error {
|
|
359
367
|
constructor() {
|
|
360
368
|
super("FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload"), this.name = "OwnChannelUnavailableError";
|
|
361
369
|
}
|
|
362
|
-
},
|
|
363
|
-
let n =
|
|
370
|
+
}, Q = (e, t) => {
|
|
371
|
+
let n = Y ? Ne : J;
|
|
364
372
|
return Promise.race([e, new Promise((e, r) => setTimeout(() => {
|
|
365
|
-
|
|
373
|
+
Y = !0, r(t(n));
|
|
366
374
|
}, n))]);
|
|
367
|
-
},
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
let e = setTimeout(() => console.error(new
|
|
371
|
-
|
|
375
|
+
}, Pe = (e) => B() ? Q(K.routable().then(() => K.facade), (t) => W ? new Z() : new X(e, t)) : Q(q, (t) => new X(e, t));
|
|
376
|
+
V(() => {
|
|
377
|
+
G.then(() => {
|
|
378
|
+
let e = setTimeout(() => console.error(new Z()), J);
|
|
379
|
+
K.routable().then(() => clearTimeout(e));
|
|
372
380
|
});
|
|
373
381
|
});
|
|
374
|
-
var
|
|
375
|
-
|
|
376
|
-
|
|
382
|
+
var $ = K.onEpoch, Fe = K.current, Ie = K.lastCall, Le = K.inFlight;
|
|
383
|
+
$((e) => {
|
|
384
|
+
ve() && e.overlay.setHost(Se, {
|
|
377
385
|
exactClips: ne(),
|
|
378
386
|
colorScheme: g
|
|
379
387
|
}).catch(() => {});
|
|
380
388
|
});
|
|
381
|
-
export { Ie as a,
|
|
389
|
+
export { Ie as a, Fe as c, ke as d, L as f, Le as i, Ae as l, X as n, q as o, Z as r, Pe as s, J as t, $ as u };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { D as RelayChoice } from "./index-HMfzm6dF.js";
|
|
2
|
-
import { D as IpFamily,
|
|
2
|
+
import { B as PickOptions, D as IpFamily, Ft as StoragePutWire, Gt as UdpDatagram, I as PackageQuery, Kt as UdpSocketOptions, N as OverlayState, Q as Resolvers, Qt as WebSocketOptions, R as PackagesErrorCode, T as InstallOptions, U as ProxyFetchInit, Ut as TcpSocketOptions, V as Placement, Vt as TcpSocketListenerOptions, W as ProxyFetchInput, _t as RoomsErrorCode, a as AccountChange, at as RoomEvent, b as FrameConsentAnswer, c as AdoptRequest, d as ConflictRequest, et as RoomClaimOptions, ft as RoomOpenOptions, gt as RoomType, jt as StorageErrorCode, l as AdoptState, lt as RoomMailbox, m as ConnectOptions, o as AccountPinOptions, p as ConnectAvailability, pt as RoomPermission, st as RoomJoinOptions, tn as WriteData, u as ConflictChoice, x as FrameConsentRequest } from "./contract-Cqq1vOqF.js";
|
|
3
3
|
import { o as TcpSocketOption, x as UdpSocketOption } from "./wire-DhmLnYEU.js";
|
|
4
4
|
import { Remote } from "osra";
|
|
5
5
|
type EpochListener<T> = (remote: T, epoch: number) => void;
|
|
@@ -166,6 +166,18 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
166
166
|
relay?: string;
|
|
167
167
|
}>;
|
|
168
168
|
};
|
|
169
|
+
websocket: (options: WebSocketOptions) => Promise<{
|
|
170
|
+
protocol: string;
|
|
171
|
+
readable: ReadableStream<string | ArrayBuffer>;
|
|
172
|
+
writable: WritableStream<string | ArrayBuffer | Blob>;
|
|
173
|
+
close: (code?: number | undefined, reason?: string | undefined) => Promise<void>;
|
|
174
|
+
closed: Promise<{
|
|
175
|
+
code: number;
|
|
176
|
+
reason: string;
|
|
177
|
+
wasClean: boolean;
|
|
178
|
+
error: boolean;
|
|
179
|
+
}>;
|
|
180
|
+
}>;
|
|
169
181
|
};
|
|
170
182
|
overlay: {
|
|
171
183
|
setHost: (push: (state: OverlayState) => unknown, options?: {
|
|
@@ -1567,6 +1579,18 @@ declare const currentApiEpoch: () => {
|
|
|
1567
1579
|
relay?: string;
|
|
1568
1580
|
}>;
|
|
1569
1581
|
};
|
|
1582
|
+
websocket: (options: WebSocketOptions) => Promise<{
|
|
1583
|
+
protocol: string;
|
|
1584
|
+
readable: ReadableStream<string | ArrayBuffer>;
|
|
1585
|
+
writable: WritableStream<string | ArrayBuffer | Blob>;
|
|
1586
|
+
close: (code?: number | undefined, reason?: string | undefined) => Promise<void>;
|
|
1587
|
+
closed: Promise<{
|
|
1588
|
+
code: number;
|
|
1589
|
+
reason: string;
|
|
1590
|
+
wasClean: boolean;
|
|
1591
|
+
error: boolean;
|
|
1592
|
+
}>;
|
|
1593
|
+
}>;
|
|
1570
1594
|
};
|
|
1571
1595
|
overlay: {
|
|
1572
1596
|
setHost: (push: (state: OverlayState) => unknown, options?: {
|
package/api.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./api-BORAfb8e.cjs");exports.API_DEADLINE_MS=e.t,exports.BrokerUnreachableError=e.n,exports.OwnChannelUnavailableError=e.r,exports.apiInFlight=e.i,exports.apiLastCall=e.a,exports.apiPromise=e.o,exports.apiWithin=e.s,exports.currentApiEpoch=e.c,exports.hasTransport=e.l,exports.onApiEpoch=e.u;
|
package/api.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as apiLastCall, c as currentApiEpoch, i as apiInFlight, l as hasTransport, n as BrokerUnreachableError, o as apiPromise, r as OwnChannelUnavailableError, s as apiWithin, t as API_DEADLINE_MS, u as onApiEpoch } from "./api-
|
|
1
|
+
import { Q as Resolvers } from "./contract-Cqq1vOqF.js";
|
|
2
|
+
import { a as apiLastCall, c as currentApiEpoch, i as apiInFlight, l as hasTransport, n as BrokerUnreachableError, o as apiPromise, r as OwnChannelUnavailableError, s as apiWithin, t as API_DEADLINE_MS, u as onApiEpoch } from "./api-iKK1u-V0.js";
|
|
3
3
|
export { API_DEADLINE_MS, BrokerUnreachableError, OwnChannelUnavailableError, type Resolvers, apiInFlight, apiLastCall, apiPromise, apiWithin, currentApiEpoch, hasTransport, onApiEpoch };
|
package/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as API_DEADLINE_MS, n as BrokerUnreachableError, r as OwnChannelUnavailableError, i as apiInFlight, a as apiLastCall, o as apiPromise, s as apiWithin, c as currentApiEpoch, l as hasTransport, u as onApiEpoch } from "./api-
|
|
1
|
+
export { t as API_DEADLINE_MS, n as BrokerUnreachableError, r as OwnChannelUnavailableError, i as apiInFlight, a as apiLastCall, o as apiPromise, s as apiWithin, c as currentApiEpoch, l as hasTransport, u as onApiEpoch } from "./api-De7vAubY.js";
|
|
@@ -8,4 +8,4 @@ var e=`fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv
|
|
|
8
8
|
frame.setAttribute('tabindex', '-1')
|
|
9
9
|
frame.setAttribute('aria-hidden', 'true')
|
|
10
10
|
document.body.appendChild(frame)
|
|
11
|
-
}`;Object.defineProperty(exports,"
|
|
11
|
+
}`;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
|
package/broker-frame.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./broker-frame-cVEhez7A.cjs");exports.brokerFrameScript=e.t,exports.brokerFrameSrc=e.n;
|
package/broker-frame.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as brokerFrameScript, n as brokerFrameSrc } from "./broker-frame-
|
|
1
|
+
export { t as brokerFrameScript, n as brokerFrameSrc } from "./broker-frame-AQDD3D9E.js";
|
package/cloud/dgram.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../dgram-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../dgram-BgWDRjw-.cjs");exports.Socket=e.t,exports.createSocket=e.n,exports.default=e.r;
|
package/cloud/dgram.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as _default, r as createSocket, t as Socket } from "../dgram-
|
|
1
|
+
import { n as _default, r as createSocket, t as Socket } from "../dgram-BggVwnRp.js";
|
|
2
2
|
export { Socket, createSocket, _default as default };
|
package/cloud/dgram.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as Socket, n as createSocket, r as default } from "../dgram-
|
|
1
|
+
export { t as Socket, n as createSocket, r as default } from "../dgram-CYegbMMa.js";
|
package/cloud/dns.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dns-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../dns-CtxN7cCj.cjs");exports.lookup=e.n;
|
package/cloud/dns.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { s as AddressLookupResult } from "../contract-
|
|
2
|
-
import { n as lookup } from "../dns-
|
|
1
|
+
import { s as AddressLookupResult } from "../contract-Cqq1vOqF.js";
|
|
2
|
+
import { n as lookup } from "../dns-DeuTGd8C.js";
|
|
3
3
|
export { type AddressLookupResult, lookup };
|
package/cloud/dns.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as lookup } from "../dns-
|
|
1
|
+
export { n as lookup } from "../dns-DTbLD2s6.js";
|
package/cloud/fetch.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../proxy-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../proxy-CgISk6T6.cjs");exports.fetch=e.t;
|