@fkn/lib 0.9.60 → 0.9.61
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-generation-DIsOqkSQ.cjs → account-generation-CVWVhbkh.cjs} +1 -1
- package/{account-generation-2ZvMy2tZ.js → account-generation-MjW8usme.js} +1 -1
- package/{account-storage-Cmzz-67T.js → account-storage-D98wfGuJ.js} +2 -2
- package/{account-storage-CPTct4Vz.cjs → account-storage-a_-uiS1N.cjs} +1 -1
- package/account.cjs +1 -1
- package/account.js +2 -2
- package/{api-C-N5AVos.js → api-C1lxKsM1.js} +77 -75
- package/api-D7Sbm8Oj.cjs +3 -0
- package/api.cjs +1 -1
- package/api.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +1 -1
- package/{cloud-7Ghfp7X2.js → cloud-DCPXtbOK.js} +2 -2
- package/{cloud-CwWzWhRW.cjs → cloud-EdApZuYQ.cjs} +1 -1
- package/cloud.cjs +1 -1
- package/cloud.js +2 -2
- package/dgram.cjs +1 -1
- package/dgram.js +1 -1
- package/dns.cjs +1 -1
- package/dns.js +1 -1
- package/{extension-M8bUhlML.cjs → extension-B2YksUWv.cjs} +1 -1
- package/{extension-AidgSVhb.js → extension-CvgbgNZX.js} +2 -2
- package/extension.cjs +1 -1
- package/extension.js +1 -1
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-BlRxCJQW.cjs → fs-B8V-40ft.cjs} +1 -1
- package/{fs-C_RmxWk9.js → fs-nKDF2pOY.js} +2 -2
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/index.cjs +1 -1
- package/index.js +4 -4
- package/net.cjs +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/packages.cjs +1 -1
- package/packages.js +1 -1
- package/{proxy-C1RlnrDC.js → proxy-BJ1hSZgi.js} +1 -1
- package/{proxy-CII2NFYV.cjs → proxy-CiIj4vA1.cjs} +1 -1
- package/rooms.cjs +1 -1
- package/rooms.js +1 -1
- package/storage.cjs +1 -1
- package/storage.js +3 -3
- package/api-ibGqkmtA.cjs +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./api-
|
|
1
|
+
const e=require("./api-D7Sbm8Oj.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,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import { o as t } from "./api-
|
|
2
|
+
import { o as t } from "./api-C1lxKsM1.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-MjW8usme.js";
|
|
5
5
|
//#region src/account-storage.ts
|
|
6
6
|
var c = /* @__PURE__ */ e({
|
|
7
7
|
StorageAccountChangedError: () => f,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-D7Sbm8Oj.cjs"),n=require("./messages.cjs"),r=require("./account-generation-CVWVhbkh.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}});
|
package/account.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-D7Sbm8Oj.cjs"),n=require("./account-generation-CVWVhbkh.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):()=>{};exports.info=o,exports.login=i,exports.logout=a,exports.onChange=s,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
|
package/account.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.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-C1lxKsM1.js";
|
|
3
|
+
import { i as r } from "./account-generation-MjW8usme.js";
|
|
4
4
|
//#region src/account.ts
|
|
5
5
|
var i = /* @__PURE__ */ e({
|
|
6
6
|
info: () => s,
|
|
@@ -22,47 +22,49 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
22
22
|
i(e) && a();
|
|
23
23
|
}, r), s = setTimeout(a, t);
|
|
24
24
|
e.addEventListener("load", a);
|
|
25
|
-
}), o = 5e3, s = (e, t, n) => {
|
|
26
|
-
let r = 1, a,
|
|
25
|
+
}), o = 5e3, s = 9e4, c = (e, t, n) => {
|
|
26
|
+
let r = 1, a, c = e.ownerDocument.defaultView, l = () => {
|
|
27
|
+
clearTimeout(a), c?.removeEventListener("message", f), e.removeEventListener("load", d);
|
|
28
|
+
}, u = (n) => {
|
|
27
29
|
clearTimeout(a), a = setTimeout(() => {
|
|
28
30
|
if (e.isConnected) {
|
|
29
|
-
if (r >= 4) return console.error(`FKN @fkn/lib: ${t} did not load in ${r} tries; reload the page`);
|
|
30
|
-
r += 1, e.contentWindow?.location.replace(t);
|
|
31
|
+
if (r >= 4) return l(), console.error(`FKN @fkn/lib: ${t} did not load in ${r} tries; reload the page`);
|
|
32
|
+
r += 1, e.contentWindow?.location.replace(t), u(s);
|
|
31
33
|
}
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
t.source === e.contentWindow && t.origin === n &&
|
|
34
|
+
}, n);
|
|
35
|
+
}, d = () => u(o), f = (t) => {
|
|
36
|
+
t.source === e.contentWindow && t.origin === n && l();
|
|
35
37
|
};
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
+
c?.addEventListener("message", f), e.addEventListener("load", d), u(i(e) ? o : s);
|
|
39
|
+
}, 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) => {
|
|
38
40
|
let t = e.style;
|
|
39
|
-
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",
|
|
40
|
-
},
|
|
41
|
+
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");
|
|
42
|
+
}, g = ({ x: e, y: t, width: n, height: r, radius: i }) => {
|
|
41
43
|
if (!i) return `M${e} ${t}h${n}v${r}h${-n}Z`;
|
|
42
44
|
let a = Math.min(n, r) / 2, [o, s, c, l] = i.map((e) => Math.max(0, Math.min(e, a)));
|
|
43
45
|
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`;
|
|
44
|
-
},
|
|
46
|
+
}, ee = () => f && p, _ = ({ x: e, y: t, width: n, height: r }) => [
|
|
45
47
|
[e, t],
|
|
46
48
|
[e + n, t],
|
|
47
49
|
[e + n, t + r],
|
|
48
50
|
[e, t + r],
|
|
49
51
|
[e, t]
|
|
50
|
-
],
|
|
52
|
+
], te = (e) => {
|
|
51
53
|
let t = e[0];
|
|
52
54
|
if (!t) return [];
|
|
53
55
|
let n = _(t)[0], r = [];
|
|
54
56
|
return e.forEach((t, i) => {
|
|
55
57
|
r.push(..._(t)), i > 0 && i < e.length - 1 && r.push(n);
|
|
56
58
|
}), r;
|
|
57
|
-
},
|
|
59
|
+
}, 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) => {
|
|
58
60
|
let o = `${t}px ${a.width - e - n}px ${a.height - t - r}px ${e}px`;
|
|
59
61
|
return i ? `inset(${o} round ${i.map((e) => `${e}px`).join(" ")})` : `inset(${o})`;
|
|
60
|
-
},
|
|
62
|
+
}, ie = (e, t, n) => {
|
|
61
63
|
if (t) return "none";
|
|
62
64
|
if (e.length === 0) return "inset(100%)";
|
|
63
65
|
let r = e.length === 1 ? e[0] : void 0;
|
|
64
|
-
return r ?
|
|
65
|
-
},
|
|
66
|
+
return r ? re(r, n) : p && e.length <= 5 && !e.some((e) => e.radius) ? ne(e) : `path('${e.map(g).join("")}')`;
|
|
67
|
+
}, ae = (e) => {
|
|
66
68
|
if (e.length < 2) return null;
|
|
67
69
|
let t = Math.min(...e.map((e) => e.x)), n = Math.min(...e.map((e) => e.y));
|
|
68
70
|
return {
|
|
@@ -71,51 +73,51 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
71
73
|
width: Math.max(...e.map((e) => e.x + e.width)) - t,
|
|
72
74
|
height: Math.max(...e.map((e) => e.y + e.height)) - n
|
|
73
75
|
};
|
|
74
|
-
},
|
|
76
|
+
}, 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, ce = (e, t, n) => {
|
|
75
77
|
let r = getComputedStyle(e);
|
|
76
78
|
return n !== 0 && /auto|scroll/.test(r.overflowY) && e.scrollHeight > e.clientHeight ? !0 : t !== 0 && /auto|scroll/.test(r.overflowX) && e.scrollWidth > e.clientWidth;
|
|
77
|
-
},
|
|
78
|
-
for (let r = e; r; r = r.parentElement) if (
|
|
79
|
+
}, le = (e, t, n) => {
|
|
80
|
+
for (let r = e; r; r = r.parentElement) if (ce(r, t, n)) return r;
|
|
79
81
|
return document.scrollingElement;
|
|
80
82
|
}, y = null, b = null, x = (e) => ({
|
|
81
83
|
width: e.offsetWidth || window.innerWidth,
|
|
82
84
|
height: e.offsetHeight || window.innerHeight
|
|
83
85
|
}), S = (e) => {
|
|
84
|
-
if (!b || !y || !
|
|
86
|
+
if (!b || !y || !oe(b, e.clientX, e.clientY)) return;
|
|
85
87
|
let t = document.elementFromPoint(e.clientX, e.clientY);
|
|
86
88
|
if (!t || t === y) return;
|
|
87
|
-
let n = v(e.deltaX, e.deltaMode, window.innerWidth), r = v(e.deltaY, e.deltaMode, window.innerHeight), i =
|
|
89
|
+
let n = v(e.deltaX, e.deltaMode, window.innerWidth), r = v(e.deltaY, e.deltaMode, window.innerHeight), i = le(t, n, r);
|
|
88
90
|
i && (i.scrollBy({
|
|
89
91
|
left: n,
|
|
90
92
|
top: r,
|
|
91
93
|
behavior: "instant"
|
|
92
94
|
}), e.cancelable && e.preventDefault());
|
|
93
|
-
},
|
|
95
|
+
}, ue = (e) => {
|
|
94
96
|
let t = b !== null;
|
|
95
97
|
b = e, t !== (e !== null) && (e ? window.addEventListener("wheel", S, {
|
|
96
98
|
capture: !0,
|
|
97
99
|
passive: !1
|
|
98
100
|
}) : window.removeEventListener("wheel", S, { capture: !0 }));
|
|
99
|
-
}, C = 0,
|
|
101
|
+
}, C = 0, de = (e) => {
|
|
100
102
|
if (e === C) return;
|
|
101
103
|
C = e;
|
|
102
104
|
let t = document.documentElement.style;
|
|
103
105
|
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"));
|
|
104
106
|
}, w = (e, { modal: t, rects: n, inset: r }, i) => {
|
|
105
|
-
if (
|
|
107
|
+
if (de(r), !f) {
|
|
106
108
|
let r = t || n.length > 0;
|
|
107
109
|
e.style.setProperty("pointer-events", r ? "auto" : "none", "important"), e.style.setProperty("visibility", r ? "visible" : "hidden", "important");
|
|
108
110
|
return;
|
|
109
111
|
}
|
|
110
|
-
let a =
|
|
111
|
-
e.style.setProperty("clip-path", o, "important"),
|
|
112
|
-
},
|
|
112
|
+
let a = ie(n, t, i), o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
|
|
113
|
+
e.style.setProperty("clip-path", o, "important"), ue(t || o !== a ? null : ae(n));
|
|
114
|
+
}, fe = (e) => {
|
|
113
115
|
if (typeof e != "object" || !e) return 0;
|
|
114
116
|
let { top: t } = e;
|
|
115
|
-
return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? 0 : Math.min(Math.round(t),
|
|
116
|
-
},
|
|
117
|
+
return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? 0 : Math.min(Math.round(t), d);
|
|
118
|
+
}, pe = (e) => {
|
|
117
119
|
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;
|
|
118
|
-
},
|
|
120
|
+
}, me = (e, t) => {
|
|
119
121
|
if (typeof e != "object" || !e) return null;
|
|
120
122
|
let { x: n, y: r, width: i, height: a } = e;
|
|
121
123
|
if (![
|
|
@@ -124,7 +126,7 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
124
126
|
i,
|
|
125
127
|
a
|
|
126
128
|
].every((e) => typeof e == "number" && Number.isFinite(e))) return null;
|
|
127
|
-
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 =
|
|
129
|
+
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 = pe(e.radius);
|
|
128
130
|
return {
|
|
129
131
|
x: c,
|
|
130
132
|
y: l,
|
|
@@ -136,7 +138,7 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
136
138
|
"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",
|
|
137
139
|
clipped: "it is clipped away or positioned outside the viewport",
|
|
138
140
|
"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"
|
|
139
|
-
},
|
|
141
|
+
}, he = (e) => Array.isArray(e) ? e.slice(0, u).flatMap((e) => {
|
|
140
142
|
if (typeof e != "object" || !e) return [];
|
|
141
143
|
let { kind: t, cause: n, level: r } = e;
|
|
142
144
|
return typeof t != "string" || t.length > 40 || typeof n != "string" || !(n in T) || r !== "full" && r !== "liveness" ? [] : [{
|
|
@@ -144,36 +146,36 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
144
146
|
cause: n,
|
|
145
147
|
level: r
|
|
146
148
|
}];
|
|
147
|
-
}) : [], E = /* @__PURE__ */ new Set(),
|
|
149
|
+
}) : [], E = /* @__PURE__ */ new Set(), ge = (e) => {
|
|
148
150
|
for (let { kind: t, cause: n, level: r } of e) E.has(t) || (E.add(t), console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${T[n]}. Nobody using this page can see or answer it.
|
|
149
151
|
@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." : "")));
|
|
150
152
|
}, D = (e, t) => {
|
|
151
153
|
if (typeof e != "object" || !e) return null;
|
|
152
|
-
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0,
|
|
154
|
+
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, l) : []).map((e) => me(e, t)).filter((e) => e !== null && e.width > 0 && e.height > 0);
|
|
153
155
|
return {
|
|
154
156
|
modal: n.modal === !0,
|
|
155
157
|
rects: r,
|
|
156
|
-
hidden:
|
|
157
|
-
inset:
|
|
158
|
+
hidden: he(n.hidden),
|
|
159
|
+
inset: fe(n.inset)
|
|
158
160
|
};
|
|
159
|
-
},
|
|
161
|
+
}, _e = () => y !== null, O = null, k = null, ve = () => {
|
|
160
162
|
if (!y || O === null) return;
|
|
161
163
|
let e = x(y), t = D(O, e);
|
|
162
164
|
t && w(y, t, e);
|
|
163
|
-
}, ve = (e) => {
|
|
164
|
-
typeof ResizeObserver < "u" && (k ??= new ResizeObserver(_e), k.disconnect(), k.observe(e));
|
|
165
165
|
}, ye = (e) => {
|
|
166
|
-
|
|
166
|
+
typeof ResizeObserver < "u" && (k ??= new ResizeObserver(ve), k.disconnect(), k.observe(e));
|
|
167
|
+
}, be = (e) => {
|
|
168
|
+
h(e), w(e, {
|
|
167
169
|
modal: !1,
|
|
168
170
|
rects: [],
|
|
169
171
|
hidden: [],
|
|
170
172
|
inset: 0
|
|
171
|
-
}, x(e)), y = e,
|
|
172
|
-
},
|
|
173
|
+
}, x(e)), y = e, ye(e);
|
|
174
|
+
}, xe = (e) => {
|
|
173
175
|
if (!y) return;
|
|
174
176
|
let t = x(y), n = D(e, t);
|
|
175
|
-
n && (O = e, w(y, n, t),
|
|
176
|
-
},
|
|
177
|
+
n && (O = e, w(y, n, t), ge(n.hidden));
|
|
178
|
+
}, Se = /* @__PURE__ */ "fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev".split(","), A = (e) => e.toLowerCase().replace(/\.+$/, ""), Ce = ["79.127.204.69", "152.233.49.59"], we = (e) => {
|
|
177
179
|
let t;
|
|
178
180
|
try {
|
|
179
181
|
t = new URL(`http://${e.includes(":") && !e.startsWith("[") ? `[${e}]` : e}/`).hostname;
|
|
@@ -191,29 +193,29 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
191
193
|
].join(".");
|
|
192
194
|
}
|
|
193
195
|
return /^\d+\.\d+\.\d+\.\d+$/.test(t) ? t : void 0;
|
|
194
|
-
}, we = (e) => {
|
|
195
|
-
let t = A(e);
|
|
196
|
-
return xe.some((e) => t === e || t.endsWith(`.${e}`));
|
|
197
196
|
}, Te = (e) => {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return t !== void 0 && Se.includes(t);
|
|
197
|
+
let t = A(e);
|
|
198
|
+
return Se.some((e) => t === e || t.endsWith(`.${e}`));
|
|
201
199
|
}, Ee = (e) => {
|
|
200
|
+
if (Te(e)) return !0;
|
|
201
|
+
let t = we(A(e));
|
|
202
|
+
return t !== void 0 && Ce.includes(t);
|
|
203
|
+
}, De = (e) => {
|
|
202
204
|
let t = typeof e == "string" ? e : e instanceof URL ? e.href : e.url, n;
|
|
203
205
|
try {
|
|
204
206
|
n = new URL(t);
|
|
205
207
|
} catch {
|
|
206
208
|
return;
|
|
207
209
|
}
|
|
208
|
-
if (
|
|
209
|
-
},
|
|
210
|
+
if (Ee(n.hostname)) throw Error(`fetch refuses FKN platform domains (${n.hostname})`);
|
|
211
|
+
}, Oe = /* @__PURE__ */ "autoplay.fullscreen.picture-in-picture.encrypted-media.screen-wake-lock.speaker-selection.captured-surface-control.camera.microphone.display-capture.geolocation.midi.usb.serial.hid.bluetooth.gamepad.keyboard-map.xr-spatial-tracking.accelerometer.gyroscope.magnetometer.ambient-light-sensor.compute-pressure.clipboard-read.clipboard-write.storage-access.window-management.local-fonts.idle-detection.web-share.sync-xhr.unload.payment.publickey-credentials-get.publickey-credentials-create.otp-credentials.identity-credentials-get.digital-credentials-get.local-network.local-network-access.loopback-network".split("."), ke = () => {
|
|
210
212
|
try {
|
|
211
213
|
let e = globalThis.document?.featurePolicy?.features?.();
|
|
212
214
|
return e === void 0 ? void 0 : new Set(e);
|
|
213
215
|
} catch {
|
|
214
216
|
return;
|
|
215
217
|
}
|
|
216
|
-
}, j = (e = !0, t =
|
|
218
|
+
}, j = (e = !0, t = ke()) => [...Oe, ...e ? ["cross-origin-isolated"] : []].filter((e) => t === void 0 || t.has(e)).join("; "), M = "https://fkn.app", N = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, P = typeof globalThis < "u" && globalThis.crossOriginIsolated === !0, F = `${M}/api${P ? "?coi=1" : ""}`, Ae = "fkn-api-port", je = "fkn-api-port-ack", Me = 2e3, Ne = () => {
|
|
217
219
|
if (!N || typeof window > "u" || window.parent === window) return Promise.resolve(void 0);
|
|
218
220
|
let e;
|
|
219
221
|
try {
|
|
@@ -229,16 +231,16 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
229
231
|
} catch {}
|
|
230
232
|
n(e);
|
|
231
233
|
}, i = (e) => {
|
|
232
|
-
e.data?.type ===
|
|
233
|
-
}, a = setTimeout(() => r(void 0),
|
|
234
|
+
e.data?.type === je && r(t.port1);
|
|
235
|
+
}, a = setTimeout(() => r(void 0), Me);
|
|
234
236
|
t.port1.addEventListener("message", i), t.port1.start();
|
|
235
237
|
try {
|
|
236
|
-
e.postMessage({ type:
|
|
238
|
+
e.postMessage({ type: Ae }, M, [t.port2]);
|
|
237
239
|
} catch {
|
|
238
240
|
r(void 0);
|
|
239
241
|
}
|
|
240
242
|
});
|
|
241
|
-
}, I,
|
|
243
|
+
}, I, Pe = () => {
|
|
242
244
|
if (I || !N) return I;
|
|
243
245
|
let e = N.querySelector(`iframe[src="${F}"]`);
|
|
244
246
|
if (e) I = e;
|
|
@@ -246,15 +248,15 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
246
248
|
let e = N.createElement("iframe");
|
|
247
249
|
e.setAttribute("allow", j(P)), e.src = F, N.body.appendChild(e), I = e;
|
|
248
250
|
}
|
|
249
|
-
return
|
|
251
|
+
return c(I, F, M), be(I), I;
|
|
250
252
|
}, L = (async () => {
|
|
251
253
|
if (!N) return;
|
|
252
|
-
let e = await
|
|
254
|
+
let e = await Ne();
|
|
253
255
|
if (e) return {
|
|
254
256
|
receive: e,
|
|
255
257
|
emit: e
|
|
256
258
|
};
|
|
257
|
-
let t =
|
|
259
|
+
let t = Pe();
|
|
258
260
|
if (!t) return;
|
|
259
261
|
await a(t);
|
|
260
262
|
let n = t.contentWindow;
|
|
@@ -262,7 +264,7 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
262
264
|
receive: window,
|
|
263
265
|
emit: n
|
|
264
266
|
} : void 0;
|
|
265
|
-
})(),
|
|
267
|
+
})(), Fe = (e, { boundRetired: t = (e) => e } = {}) => {
|
|
266
268
|
let n, r = 0, i = !1, a = () => {}, o = () => new Promise((e) => {
|
|
267
269
|
a = e;
|
|
268
270
|
}), s = o(), c = s, l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = 0, f = 0, p = () => {
|
|
@@ -338,7 +340,7 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
338
340
|
i = !0, n = void 0, p();
|
|
339
341
|
}
|
|
340
342
|
};
|
|
341
|
-
}, R = !1, z = /* @__PURE__ */ new Set(), B = () => R,
|
|
343
|
+
}, R = !1, z = /* @__PURE__ */ new Set(), B = () => R, Ie = () => {
|
|
342
344
|
if (!R) {
|
|
343
345
|
R = !0;
|
|
344
346
|
for (let e of [...z]) try {
|
|
@@ -348,13 +350,13 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
348
350
|
}
|
|
349
351
|
}, V = (e) => {
|
|
350
352
|
R ? e() : z.add(e);
|
|
351
|
-
},
|
|
353
|
+
}, Le = typeof window < "u" || typeof self < "u", H = async () => {
|
|
352
354
|
if (typeof window < "u") return L;
|
|
353
355
|
if (typeof self < "u") return {
|
|
354
356
|
receive: self,
|
|
355
357
|
emit: self
|
|
356
358
|
};
|
|
357
|
-
}, U = "fkn-api",
|
|
359
|
+
}, U = "fkn-api", Re = "fkn-api-window", ze = { async *[Symbol.asyncIterator]() {
|
|
358
360
|
let e = await H();
|
|
359
361
|
if (!e) {
|
|
360
362
|
await new Promise(() => {});
|
|
@@ -373,7 +375,7 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
373
375
|
}
|
|
374
376
|
}
|
|
375
377
|
yield* t({}, {
|
|
376
|
-
key:
|
|
378
|
+
key: Re,
|
|
377
379
|
transport: e
|
|
378
380
|
});
|
|
379
381
|
} }, W = !1, G = H().then((t) => new Promise((n) => {
|
|
@@ -382,9 +384,9 @@ var n = 1e4, r = 16, i = (e) => {
|
|
|
382
384
|
e(t.data, U) && (r.removeEventListener("message", i), W = !0, n());
|
|
383
385
|
};
|
|
384
386
|
r.addEventListener("message", i);
|
|
385
|
-
})), K =
|
|
387
|
+
})), K = Fe(ze, { boundRetired: (e) => Promise.race([e, G.then(() => Q(e, () => new Z()))]) });
|
|
386
388
|
V(() => K.retire());
|
|
387
|
-
var q = Promise.race([K.first, new Promise((e) => V(e))]).then(() => K.facade), J = 8e3,
|
|
389
|
+
var q = Promise.race([K.first, new Promise((e) => V(e))]).then(() => K.facade), J = 8e3, Be = 1e3, Y = !1, X = class extends Error {
|
|
388
390
|
constructor(e, t) {
|
|
389
391
|
super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`), this.name = "BrokerUnreachableError";
|
|
390
392
|
}
|
|
@@ -393,23 +395,23 @@ var q = Promise.race([K.first, new Promise((e) => V(e))]).then(() => K.facade),
|
|
|
393
395
|
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";
|
|
394
396
|
}
|
|
395
397
|
}, Q = (e, t) => {
|
|
396
|
-
let n = Y ?
|
|
398
|
+
let n = Y ? Be : J;
|
|
397
399
|
return Promise.race([e, new Promise((e, r) => setTimeout(() => {
|
|
398
400
|
Y = !0, r(t(n));
|
|
399
401
|
}, n))]);
|
|
400
|
-
},
|
|
402
|
+
}, Ve = (e) => B() ? Q(K.routable().then(() => K.facade), (t) => W ? new Z() : new X(e, t)) : Q(q, (t) => new X(e, t));
|
|
401
403
|
V(() => {
|
|
402
404
|
G.then(() => {
|
|
403
405
|
let e = setTimeout(() => console.error(new Z()), J);
|
|
404
406
|
K.routable().then(() => clearTimeout(e));
|
|
405
407
|
});
|
|
406
408
|
});
|
|
407
|
-
var $ = K.onEpoch,
|
|
409
|
+
var $ = K.onEpoch, He = K.current, Ue = K.lastCall, We = K.inFlight;
|
|
408
410
|
$((e) => {
|
|
409
|
-
|
|
410
|
-
exactClips:
|
|
411
|
-
colorScheme:
|
|
411
|
+
_e() && e.overlay.setHost(xe, {
|
|
412
|
+
exactClips: ee(),
|
|
413
|
+
colorScheme: m
|
|
412
414
|
}).catch(() => {});
|
|
413
415
|
});
|
|
414
416
|
//#endregion
|
|
415
|
-
export {
|
|
417
|
+
export { Ue as a, He as c, Ie as d, L as f, We as i, Le as l, j as m, X as n, q as o, De as p, Z as r, Ve as s, J as t, $ as u };
|
package/api-D7Sbm8Oj.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
let e=require("osra");var t=1e4,n=16,r=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}},i=(e,i=t)=>new Promise(t=>{if(r(e))return t();let a=()=>{clearInterval(o),clearTimeout(s),e.removeEventListener(`load`,a),t()},o=setInterval(()=>{r(e)&&a()},n),s=setTimeout(a,i);e.addEventListener(`load`,a)}),a=5e3,o=9e4,s=(e,t,n)=>{let i=1,s,c=e.ownerDocument.defaultView,l=()=>{clearTimeout(s),c?.removeEventListener(`message`,f),e.removeEventListener(`load`,d)},u=n=>{clearTimeout(s),s=setTimeout(()=>{if(e.isConnected){if(i>=4)return l(),console.error(`FKN @fkn/lib: ${t} did not load in ${i} tries; reload the page`);i+=1,e.contentWindow?.location.replace(t),u(o)}},n)},d=()=>u(a),f=t=>{t.source===e.contentWindow&&t.origin===n&&l()};c?.addEventListener(`message`,f),e.addEventListener(`load`,d),u(r(e)?a:o)},c=32,l=8,u=120,d=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),f=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),p=`light dark`,m=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`,p),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},h=({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`},g=()=>d&&f,_=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],ee=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},te=e=>`polygon(nonzero, ${ee(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,ne=({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})`},re=(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?ne(r,n):f&&e.length<=5&&!e.some(e=>e.radius)?te(e):`path('${e.map(h).join(``)}')`},ie=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}},ae=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,oe=16,v=(e,t,n)=>t===1?e*oe:t===2?e*n:e,se=(e,t,n)=>{let r=getComputedStyle(e);return n!==0&&/auto|scroll/.test(r.overflowY)&&e.scrollHeight>e.clientHeight?!0:t!==0&&/auto|scroll/.test(r.overflowX)&&e.scrollWidth>e.clientWidth},ce=(e,t,n)=>{for(let r=e;r;r=r.parentElement)if(se(r,t,n))return r;return document.scrollingElement},y=null,b=null,x=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),S=e=>{if(!b||!y||!ae(b,e.clientX,e.clientY))return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t||t===y)return;let n=v(e.deltaX,e.deltaMode,window.innerWidth),r=v(e.deltaY,e.deltaMode,window.innerHeight),i=ce(t,n,r);i&&(i.scrollBy({left:n,top:r,behavior:`instant`}),e.cancelable&&e.preventDefault())},le=e=>{let t=b!==null;b=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,S,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,S,{capture:!0}))},C=0,ue=e=>{if(e===C)return;C=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`))},w=(e,{modal:t,rects:n,inset:r},i)=>{if(ue(r),!d){let r=t||n.length>0;e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=re(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),le(t||o!==a?null:ie(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),u)},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}:{}}},T={"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,l).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 T)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],E=new Set,he=e=>{for(let{kind:t,cause:n,level:r}of e)E.has(t)||(E.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${T[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.`:``)))},D=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,c):[]).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=()=>y!==null,O=null,k=null,_e=()=>{if(!y||O===null)return;let e=x(y),t=D(O,e);t&&w(y,t,e)},ve=e=>{typeof ResizeObserver<`u`&&(k??=new ResizeObserver(_e),k.disconnect(),k.observe(e))},ye=e=>{m(e),w(e,{modal:!1,rects:[],hidden:[],inset:0},x(e)),y=e,ve(e)},be=e=>{if(!y)return;let t=x(y),n=D(e,t);n&&(O=e,w(y,n,t),he(n.hidden))},xe=`fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev`.split(`,`),A=e=>e.toLowerCase().replace(/\.+$/,``),Se=[`79.127.204.69`,`152.233.49.59`],Ce=e=>{let t;try{t=new URL(`http://${e.includes(`:`)&&!e.startsWith(`[`)?`[${e}]`:e}/`).hostname}catch{return}let n=/^\[(?:::ffff:|64:ff9b::)([0-9a-f]{1,4}):([0-9a-f]{1,4})\]$/.exec(t);if(n){let e=parseInt(n[1],16),t=parseInt(n[2],16);return[e>>8,e&255,t>>8,t&255].join(`.`)}return/^\d+\.\d+\.\d+\.\d+$/.test(t)?t:void 0},we=e=>{let t=A(e);return xe.some(e=>t===e||t.endsWith(`.${e}`))},Te=e=>{if(we(e))return!0;let t=Ce(A(e));return t!==void 0&&Se.includes(t)},Ee=e=>{let t=typeof e==`string`?e:e instanceof URL?e.href:e.url,n;try{n=new URL(t)}catch{return}if(Te(n.hostname))throw Error(`fetch refuses FKN platform domains (${n.hostname})`)},De=`autoplay.fullscreen.picture-in-picture.encrypted-media.screen-wake-lock.speaker-selection.captured-surface-control.camera.microphone.display-capture.geolocation.midi.usb.serial.hid.bluetooth.gamepad.keyboard-map.xr-spatial-tracking.accelerometer.gyroscope.magnetometer.ambient-light-sensor.compute-pressure.clipboard-read.clipboard-write.storage-access.window-management.local-fonts.idle-detection.web-share.sync-xhr.unload.payment.publickey-credentials-get.publickey-credentials-create.otp-credentials.identity-credentials-get.digital-credentials-get.local-network.local-network-access.loopback-network`.split(`.`),Oe=()=>{try{let e=globalThis.document?.featurePolicy?.features?.();return e===void 0?void 0:new Set(e)}catch{return}},j=(e=!0,t=Oe())=>[...De,...e?[`cross-origin-isolated`]:[]].filter(e=>t===void 0||t.has(e)).join(`; `),M=`https://fkn.app`,N=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,P=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,F=`${M}/api${P?`?coi=1`:``}`,ke=`fkn-api-port`,Ae=`fkn-api-port-ack`,je=2e3,Me=()=>{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===Ae&&r(t.port1)},a=setTimeout(()=>r(void 0),je);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:ke},M,[t.port2])}catch{r(void 0)}})},I,Ne=()=>{if(I||!N)return I;let e=N.querySelector(`iframe[src="${F}"]`);if(e)I=e;else{let e=N.createElement(`iframe`);e.setAttribute(`allow`,j(P)),e.src=F,N.body.appendChild(e),I=e}return s(I,F,M),ye(I),I},L=(async()=>{if(!N)return;let e=await Me();if(e)return{receive:e,emit:e};let t=Ne();if(!t)return;await i(t);let n=t.contentWindow;return n?{receive:window,emit:n}:void 0})(),Pe=(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,Fe=()=>{if(!R){R=!0;for(let e of[...z])try{e()}catch{}z.clear()}},V=e=>{R?e():z.add(e)},Ie=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`,Le=`fkn-api-window`,Re={async*[Symbol.asyncIterator](){let t=await H();if(!t){await new Promise(()=>{});return}if(!B()){let n=new AbortController;V(()=>n.abort());for await(let r of(0,e.expose)({},{key:U,transport:t,unregisterSignal:n.signal})){if(n.signal.aborted)break;yield r}}yield*(0,e.expose)({},{key:Le,transport:t})}},W=!1,G=H().then(t=>new Promise(n=>{if(!t)return;let{receive:r}=t,i=t=>{(0,e.checkOsraMessageKey)(t.data,U)&&(r.removeEventListener(`message`,i),W=!0,n())};r.addEventListener(`message`,i)})),K=Pe(Re,{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,ze=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?ze:J;return Promise.race([e,new Promise((e,r)=>setTimeout(()=>{Y=!0,r(t(n))},n))])},Be=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,Ve=K.current,He=K.lastCall,Ue=K.inFlight;$(e=>{ge()&&e.overlay.setHost(be,{exactClips:g(),colorScheme:p}).catch(()=>{})}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}});
|
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-D7Sbm8Oj.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.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./api-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./api-C1lxKsM1.js";
|
|
2
2
|
export { c as API_DEADLINE_MS, i as BrokerUnreachableError, o as OwnChannelUnavailableError, n as apiInFlight, e as apiLastCall, a as apiPromise, s as apiWithin, t as currentApiEpoch, r as hasTransport, l as onApiEpoch };
|
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-CiIj4vA1.cjs");exports.fetch=e.t;
|
package/cloud/fetch.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../proxy-
|
|
1
|
+
import { t as e } from "../proxy-BJ1hSZgi.js";
|
|
2
2
|
export { e as fetch };
|
package/cloud/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-BIInC43l.cjs"),t=require("../node-fs-vsWuoMGa.cjs"),n=require("../messages.cjs"),r=require("../account-storage-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-BIInC43l.cjs"),t=require("../node-fs-vsWuoMGa.cjs"),n=require("../messages.cjs"),r=require("../account-storage-a_-uiS1N.cjs");var i=e.t({STORAGE_ACCOUNT_CHANGED:()=>n.STORAGE_ACCOUNT_CHANGED,STORAGE_ACCOUNT_PIN_UNSUPPORTED:()=>n.STORAGE_ACCOUNT_PIN_UNSUPPORTED,STORAGE_NOT_FOUND:()=>n.STORAGE_NOT_FOUND,StorageAccountChangedError:()=>r.t,StorageAccountPinUnsupportedError:()=>r.n,StorageLockedError:()=>r.r,StorageNotFoundError:()=>r.i,availability:()=>r.o,available:()=>a,encryption:()=>r.c,isAccountChanged:()=>r.l,isNotFound:()=>r.d,list:()=>h,mkdir:()=>d,promises:()=>m,quota:()=>r.h,readFile:()=>o,readFileSealed:()=>g,readdir:()=>u,rename:()=>l,rm:()=>f,stat:()=>p,unlink:()=>c,unlock:()=>r.y,writeFile:()=>s}),{available:a,readFile:o,writeFile:s,unlink:c,rename:l,readdir:u,mkdir:d,rm:f,stat:p,promises:m}=t.t(r.a,{memfs:!1}),h=()=>r.p(),g=e=>r._(e);exports.STORAGE_ACCOUNT_CHANGED=n.STORAGE_ACCOUNT_CHANGED,exports.STORAGE_ACCOUNT_PIN_UNSUPPORTED=n.STORAGE_ACCOUNT_PIN_UNSUPPORTED,exports.STORAGE_NOT_FOUND=n.STORAGE_NOT_FOUND,exports.StorageAccountChangedError=r.t,exports.StorageAccountPinUnsupportedError=r.n,exports.StorageLockedError=r.r,exports.StorageNotFoundError=r.i,exports.availability=r.o,exports.available=a,exports.encryption=r.c,exports.isAccountChanged=r.l,exports.isNotFound=r.d,exports.list=h,exports.mkdir=d,exports.promises=m,exports.quota=r.h,exports.readFile=o,exports.readFileSealed=g,exports.readdir=u,exports.rename=l,exports.rm=f,exports.stat=p,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}}),exports.unlink=c,exports.unlock=r.y,exports.writeFile=s;
|
package/cloud/fs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "../rolldown-runtime-Dy4uBu1J.js";
|
|
2
2
|
import { t } from "../node-fs-DY2fO5zd.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 { _ as a, a as o, c as s, d as c, h as l, i as u, l as d, n as f, o as p, p as m, r as h, t as g, y as _ } from "../account-storage-
|
|
4
|
+
import { _ as a, a as o, c as s, d as c, h as l, i as u, l as d, n as f, o as p, p as m, r as h, t as g, y as _ } from "../account-storage-D98wfGuJ.js";
|
|
5
5
|
//#region src/cloud/fs.ts
|
|
6
6
|
var v = /* @__PURE__ */ e({
|
|
7
7
|
STORAGE_ACCOUNT_CHANGED: () => n,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
2
|
import { D as t, E as n, N as r, O as i, T as a, _ as o, c as s, f as c, ft as l, g as u, h as d, j as f, k as p, l as m, m as h, o as g, p as _, s as v, u as y, x as b, y as x } from "./lib-BGAmzIcU.js";
|
|
3
3
|
import { c as S, m as C, t as w } from "./hosts-t7CKGTRz.js";
|
|
4
|
-
import { l as T, m as E, n as D, o as O, s as k } from "./api-
|
|
4
|
+
import { l as T, m as E, n as D, o as O, s as k } from "./api-C1lxKsM1.js";
|
|
5
5
|
import { r as A } from "./busy-DsMWrSzc.js";
|
|
6
6
|
import { ATTACH_FRAME_KEY as j, ATTACH_WINDOW_KEY as ee, ATTACH_WINDOW_MESSAGE as M, RELAY_CHOICE_UNSUPPORTED as N, WINDOW_HANDSHAKE_TIMEOUT_MS as te } from "./contract.js";
|
|
7
7
|
import { a as P, i as F, t as I } from "./relay-choice-BGwXRC5d.js";
|
|
8
|
-
import { t as L } from "./proxy-
|
|
8
|
+
import { t as L } from "./proxy-BJ1hSZgi.js";
|
|
9
9
|
import { frameFetchVerdict as R } from "./attach-policy.js";
|
|
10
10
|
import { t as ne } from "./dns.js";
|
|
11
11
|
import { t as re } from "./cloud/fs.js";
|