@buoy-gg/js-top 7.0.40 → 7.0.42
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/README.md +12 -67
- package/lib/commonjs/index.js +1 -97
- package/lib/commonjs/js-top/components/BusySparkline.js +1 -56
- package/lib/commonjs/js-top/components/JsTopHudOverlay.js +1 -79
- package/lib/commonjs/js-top/components/JsTopModal.js +1 -349
- package/lib/commonjs/js-top/components/TaskDetailView.js +1 -330
- package/lib/commonjs/js-top/components/TaskTable.js +1 -360
- package/lib/commonjs/js-top/engine/JsTopController.js +1 -350
- package/lib/commonjs/js-top/engine/aggregator.js +1 -148
- package/lib/commonjs/js-top/engine/busyProbe.js +1 -101
- package/lib/commonjs/js-top/engine/frameStack.js +1 -133
- package/lib/commonjs/js-top/engine/longtasks.js +1 -141
- package/lib/commonjs/js-top/engine/now.js +1 -38
- package/lib/commonjs/js-top/engine/originRegistry.js +1 -402
- package/lib/commonjs/js-top/engine/patches/bridge.js +1 -60
- package/lib/commonjs/js-top/engine/patches/microtasks.js +1 -27
- package/lib/commonjs/js-top/engine/patches/promises.js +1 -65
- package/lib/commonjs/js-top/engine/patches/timers.js +1 -66
- package/lib/commonjs/js-top/engine/state.js +1 -63
- package/lib/commonjs/js-top/engine/symbolicate.js +1 -95
- package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js +1 -74
- package/lib/commonjs/js-top/types/index.js +1 -46
- package/lib/commonjs/js-top/utils/preferences.js +1 -31
- package/lib/commonjs/preset.js +1 -75
- package/lib/module/index.js +1 -47
- package/lib/module/js-top/components/BusySparkline.js +1 -52
- package/lib/module/js-top/components/JsTopHudOverlay.js +1 -75
- package/lib/module/js-top/components/JsTopModal.js +1 -345
- package/lib/module/js-top/components/TaskDetailView.js +1 -326
- package/lib/module/js-top/components/TaskTable.js +1 -353
- package/lib/module/js-top/engine/JsTopController.js +1 -347
- package/lib/module/js-top/engine/aggregator.js +1 -136
- package/lib/module/js-top/engine/busyProbe.js +1 -94
- package/lib/module/js-top/engine/frameStack.js +1 -126
- package/lib/module/js-top/engine/longtasks.js +1 -133
- package/lib/module/js-top/engine/now.js +1 -33
- package/lib/module/js-top/engine/originRegistry.js +1 -388
- package/lib/module/js-top/engine/patches/bridge.js +1 -56
- package/lib/module/js-top/engine/patches/microtasks.js +1 -23
- package/lib/module/js-top/engine/patches/promises.js +1 -62
- package/lib/module/js-top/engine/patches/timers.js +1 -62
- package/lib/module/js-top/engine/state.js +1 -54
- package/lib/module/js-top/engine/symbolicate.js +1 -91
- package/lib/module/js-top/sync/jsTopSyncAdapter.js +1 -70
- package/lib/module/js-top/types/index.js +1 -42
- package/lib/module/js-top/utils/preferences.js +1 -26
- package/lib/module/preset.js +1 -71
- package/lib/web/index.mjs +2 -0
- package/package.json +39 -5
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/js-top/components/BusySparkline.js.map +0 -1
- package/lib/commonjs/js-top/components/JsTopHudOverlay.js.map +0 -1
- package/lib/commonjs/js-top/components/JsTopModal.js.map +0 -1
- package/lib/commonjs/js-top/components/TaskDetailView.js.map +0 -1
- package/lib/commonjs/js-top/components/TaskTable.js.map +0 -1
- package/lib/commonjs/js-top/engine/JsTopController.js.map +0 -1
- package/lib/commonjs/js-top/engine/aggregator.js.map +0 -1
- package/lib/commonjs/js-top/engine/busyProbe.js.map +0 -1
- package/lib/commonjs/js-top/engine/frameStack.js.map +0 -1
- package/lib/commonjs/js-top/engine/longtasks.js.map +0 -1
- package/lib/commonjs/js-top/engine/now.js.map +0 -1
- package/lib/commonjs/js-top/engine/originRegistry.js.map +0 -1
- package/lib/commonjs/js-top/engine/patches/bridge.js.map +0 -1
- package/lib/commonjs/js-top/engine/patches/microtasks.js.map +0 -1
- package/lib/commonjs/js-top/engine/patches/promises.js.map +0 -1
- package/lib/commonjs/js-top/engine/patches/timers.js.map +0 -1
- package/lib/commonjs/js-top/engine/state.js.map +0 -1
- package/lib/commonjs/js-top/engine/symbolicate.js.map +0 -1
- package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js.map +0 -1
- package/lib/commonjs/js-top/types/index.js.map +0 -1
- package/lib/commonjs/js-top/utils/preferences.js.map +0 -1
- package/lib/commonjs/preset.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/js-top/components/BusySparkline.js.map +0 -1
- package/lib/module/js-top/components/JsTopHudOverlay.js.map +0 -1
- package/lib/module/js-top/components/JsTopModal.js.map +0 -1
- package/lib/module/js-top/components/TaskDetailView.js.map +0 -1
- package/lib/module/js-top/components/TaskTable.js.map +0 -1
- package/lib/module/js-top/engine/JsTopController.js.map +0 -1
- package/lib/module/js-top/engine/aggregator.js.map +0 -1
- package/lib/module/js-top/engine/busyProbe.js.map +0 -1
- package/lib/module/js-top/engine/frameStack.js.map +0 -1
- package/lib/module/js-top/engine/longtasks.js.map +0 -1
- package/lib/module/js-top/engine/now.js.map +0 -1
- package/lib/module/js-top/engine/originRegistry.js.map +0 -1
- package/lib/module/js-top/engine/patches/bridge.js.map +0 -1
- package/lib/module/js-top/engine/patches/microtasks.js.map +0 -1
- package/lib/module/js-top/engine/patches/promises.js.map +0 -1
- package/lib/module/js-top/engine/patches/timers.js.map +0 -1
- package/lib/module/js-top/engine/state.js.map +0 -1
- package/lib/module/js-top/engine/symbolicate.js.map +0 -1
- package/lib/module/js-top/sync/jsTopSyncAdapter.js.map +0 -1
- package/lib/module/js-top/types/index.js.map +0 -1
- package/lib/module/js-top/utils/preferences.js.map +0 -1
- package/lib/module/preset.js.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/js-top/components/BusySparkline.d.ts.map +0 -1
- package/lib/typescript/js-top/components/JsTopHudOverlay.d.ts.map +0 -1
- package/lib/typescript/js-top/components/JsTopModal.d.ts.map +0 -1
- package/lib/typescript/js-top/components/TaskDetailView.d.ts.map +0 -1
- package/lib/typescript/js-top/components/TaskTable.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/JsTopController.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/aggregator.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/busyProbe.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/frameStack.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/longtasks.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/now.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/originRegistry.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/patches/bridge.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/patches/microtasks.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/patches/promises.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/patches/timers.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/state.d.ts.map +0 -1
- package/lib/typescript/js-top/engine/symbolicate.d.ts.map +0 -1
- package/lib/typescript/js-top/sync/jsTopSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/js-top/types/index.d.ts.map +0 -1
- package/lib/typescript/js-top/utils/preferences.d.ts.map +0 -1
- package/lib/typescript/preset.d.ts.map +0 -1
|
@@ -1,91 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Dev-only origin symbolication via Metro's /symbolicate endpoint (the same
|
|
5
|
-
* one LogBox uses). Hermes stacks give function names + bundle offsets; for
|
|
6
|
-
* anonymous scheduling sites (the typical `useEffect(() => setInterval(…))`)
|
|
7
|
-
* that leaves an unreadable label. Metro maps the offset back to the real
|
|
8
|
-
* source file — so a row can say `setInterval ← ChatScreen.tsx:42`, which is
|
|
9
|
-
* component-level attribution in practice.
|
|
10
|
-
*
|
|
11
|
-
* Fire-and-forget with hard caps: one attempt per origin, few in flight,
|
|
12
|
-
* silent on any failure (release builds, tunnels, Metro gone). The origin's
|
|
13
|
-
* label/file/line are upgraded in place when the answer lands — the table
|
|
14
|
-
* re-renders every tick and picks it up.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
const MAX_IN_FLIGHT = 3;
|
|
18
|
-
let inFlight = 0;
|
|
19
|
-
function isDev() {
|
|
20
|
-
return typeof __DEV__ !== "undefined" && __DEV__;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/** Last two path segments of a source path — "screens/ChatScreen.tsx". */
|
|
24
|
-
function tailPath(file) {
|
|
25
|
-
const clean = file.split("?")[0] ?? file;
|
|
26
|
-
const parts = clean.split("/").filter(Boolean);
|
|
27
|
-
return parts.slice(-2).join("/");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** True for names like ChatScreen / PokemonScreen — reads as a component. */
|
|
31
|
-
function looksLikeComponent(name) {
|
|
32
|
-
return /^[A-Z][A-Za-z0-9]*$/.test(name);
|
|
33
|
-
}
|
|
34
|
-
export function buoyJsTopSymbolicateOrigin(o, apiLabelText) {
|
|
35
|
-
if (!isDev()) return;
|
|
36
|
-
if (o.symbolicated || !o.frames || o.frames.length === 0) return;
|
|
37
|
-
if (inFlight >= MAX_IN_FLIGHT) return; // retried implicitly? no — one shot
|
|
38
|
-
o.symbolicated = true;
|
|
39
|
-
const top = o.frames[0];
|
|
40
|
-
if (!top || !/^https?:\/\//.test(top.file)) return;
|
|
41
|
-
let endpoint;
|
|
42
|
-
try {
|
|
43
|
-
endpoint = `${new URL(top.file).origin}/symbolicate`;
|
|
44
|
-
} catch {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
inFlight++;
|
|
48
|
-
const body = JSON.stringify({
|
|
49
|
-
stack: o.frames.map(f => ({
|
|
50
|
-
file: f.file,
|
|
51
|
-
lineNumber: f.line,
|
|
52
|
-
column: f.col,
|
|
53
|
-
methodName: ""
|
|
54
|
-
}))
|
|
55
|
-
});
|
|
56
|
-
fetch(endpoint, {
|
|
57
|
-
method: "POST",
|
|
58
|
-
body
|
|
59
|
-
}).then(res => res.ok ? res.json() : null).then(data => {
|
|
60
|
-
let frame = data?.stack?.find(f => f.file && !f.file.includes("node_modules")) ?? data?.stack?.[0];
|
|
61
|
-
// Some Metro configs (serialized source maps) reject full
|
|
62
|
-
// symbolication but still NAME the module in the error — that file
|
|
63
|
-
// path is exactly the scheduling site, so harvest it.
|
|
64
|
-
if (!frame?.file && data?.error) {
|
|
65
|
-
const m = /found: (\/.+)$/.exec(data.error);
|
|
66
|
-
if (m) frame = {
|
|
67
|
-
file: m[1]
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
if (!frame?.file) return;
|
|
71
|
-
const file = tailPath(frame.file);
|
|
72
|
-
const line = frame.lineNumber;
|
|
73
|
-
const method = frame.methodName && frame.methodName !== "<unknown>" ? frame.methodName : undefined;
|
|
74
|
-
o.file = file;
|
|
75
|
-
o.line = line ?? o.line;
|
|
76
|
-
// The existing label is name-anchored — append the source site
|
|
77
|
-
// once, and promote a component-looking method name.
|
|
78
|
-
const site = `${file.split("/").pop()}${line != null ? `:${line}` : ""}`;
|
|
79
|
-
if (method && looksLikeComponent(method) && !o.caller) {
|
|
80
|
-
o.caller = method;
|
|
81
|
-
o.label = `${o.label} ← <${method}> · ${site}`;
|
|
82
|
-
} else {
|
|
83
|
-
o.label = `${o.label} · ${site}`;
|
|
84
|
-
}
|
|
85
|
-
}).catch(() => {
|
|
86
|
-
// Symbolication is best-effort decoration — never surface failures.
|
|
87
|
-
}).finally(() => {
|
|
88
|
-
inFlight--;
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=symbolicate.js.map
|
|
1
|
+
"use strict";const d=3;let o=0;function h(){return typeof __DEV__!=="undefined"&&__DEV__}function p(e){const c=e.split("?")[0]??e;const i=c.split("/").filter(Boolean);return i.slice(-2).join("/")}function b(e){return/^[A-Z][A-Za-z0-9]*$/.test(e)}export function buoyJsTopSymbolicateOrigin(e,c){if(!h())return;if(e.symbolicated||!e.frames||e.frames.length===0)return;if(o>=d)return;e.symbolicated=true;const i=e.frames[0];if(!i||!/^https?:\/\//.test(i.file))return;let f;try{f=`${new URL(i.file).origin}/symbolicate`}catch{return}o++;const m=JSON.stringify({stack:e.frames.map(t=>({file:t.file,lineNumber:t.line,column:t.col,methodName:""}))});fetch(f,{method:"POST",body:m}).then(t=>t.ok?t.json():null).then(t=>{let n=t?.stack?.find(l=>l.file&&!l.file.includes("node_modules"))??t?.stack?.[0];if(!n?.file&&t?.error){const l=/found: (\/.+)$/.exec(t.error);if(l)n={file:l[1]}}if(!n?.file)return;const a=p(n.file);const s=n.lineNumber;const r=n.methodName&&n.methodName!=="<unknown>"?n.methodName:void 0;e.file=a;e.line=s??e.line;const u=`${a.split("/").pop()}${s!=null?`:${s}`:""}`;if(r&&b(r)&&!e.caller){e.caller=r;e.label=`${e.label} \u2190 <${r}> \xB7 ${u}`}else{e.label=`${e.label} \xB7 ${u}`}}).catch(()=>{}).finally(()=>{o--})}
|
|
@@ -1,70 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Sync adapter for the JS TOP tool, consumed by @buoy-gg/external-sync's
|
|
5
|
-
* `useExternalSync` (structurally matches its ToolSyncAdapter interface so
|
|
6
|
-
* this package doesn't need a dependency on it — same pattern as
|
|
7
|
-
* perf-monitor's adapter).
|
|
8
|
-
*
|
|
9
|
-
* `subscribe` is only called while a dashboard is watching, and subscribing
|
|
10
|
-
* to JsTopController is exactly what starts the engine — so a desktop
|
|
11
|
-
* watcher auto-starts sampling and closing the desktop tool stops it. The
|
|
12
|
-
* snapshot IS the live channel; there is no heavy persisted state.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import { JsTopController } from "../engine/JsTopController";
|
|
16
|
-
export const jsTopSyncAdapter = {
|
|
17
|
-
version: 1,
|
|
18
|
-
getSnapshot: () => ({
|
|
19
|
-
live: JsTopController.getSnapshot(),
|
|
20
|
-
// "enabled" mirrors perf-monitor semantics: is the device sampling for
|
|
21
|
-
// any viewer (its own HUD/modal or a desktop's silent remote sampling).
|
|
22
|
-
enabled: JsTopController.isEnabled() || JsTopController.isRemoteSampling()
|
|
23
|
-
}),
|
|
24
|
-
subscribe: onChange => {
|
|
25
|
-
const unsubSnapshot = JsTopController.subscribe(() => onChange());
|
|
26
|
-
const unsubEnabled = JsTopController.subscribeEnabled(() => onChange());
|
|
27
|
-
return () => {
|
|
28
|
-
unsubSnapshot();
|
|
29
|
-
unsubEnabled();
|
|
30
|
-
};
|
|
31
|
-
},
|
|
32
|
-
actions: {
|
|
33
|
-
/**
|
|
34
|
-
* Silent sampling for a desktop viewer: streams snapshots without
|
|
35
|
-
* showing the device's own HUD. (Subscribing via `subscribe` already
|
|
36
|
-
* runs the engine while watched; this exists so MCP / scripted callers
|
|
37
|
-
* can force sampling on without a watch.)
|
|
38
|
-
*/
|
|
39
|
-
setEnabled: params => {
|
|
40
|
-
const enabled = params.enabled;
|
|
41
|
-
JsTopController.setRemoteSampling(enabled);
|
|
42
|
-
},
|
|
43
|
-
pause: () => JsTopController.pause(),
|
|
44
|
-
resume: () => JsTopController.resume(),
|
|
45
|
-
clear: () => JsTopController.clear(),
|
|
46
|
-
/** Full detail for one origin (desktop tap-through parity). */
|
|
47
|
-
getOriginDetail: params => JsTopController.getOriginDetail(params.key),
|
|
48
|
-
/**
|
|
49
|
-
* One-shot sample for MCP/automation: ensure the engine is running,
|
|
50
|
-
* observe for `durationMs` (default 3s, capped 30s), return the
|
|
51
|
-
* resulting snapshot. `clearFirst` resets all stats before sampling so
|
|
52
|
-
* the result attributes exactly one interaction/window. Leaves sampling
|
|
53
|
-
* in its prior state.
|
|
54
|
-
*/
|
|
55
|
-
sample: async params => {
|
|
56
|
-
const p = params;
|
|
57
|
-
const durationMs = Math.min(Math.max(p?.durationMs ?? 3000, 250), 30_000);
|
|
58
|
-
const wasSampling = JsTopController.isRemoteSampling() || JsTopController.isEnabled();
|
|
59
|
-
if (!wasSampling) JsTopController.setRemoteSampling(true);
|
|
60
|
-
if (p?.clearFirst) JsTopController.clear();
|
|
61
|
-
try {
|
|
62
|
-
await new Promise(resolve => setTimeout(resolve, durationMs));
|
|
63
|
-
return JsTopController.getSnapshot();
|
|
64
|
-
} finally {
|
|
65
|
-
if (!wasSampling) JsTopController.setRemoteSampling(false);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=jsTopSyncAdapter.js.map
|
|
1
|
+
"use strict";import{JsTopController as e}from"../engine/JsTopController";export const jsTopSyncAdapter={version:1,getSnapshot:()=>({live:e.getSnapshot(),enabled:e.isEnabled()||e.isRemoteSampling()}),subscribe:s=>{const t=e.subscribe(()=>s());const a=e.subscribeEnabled(()=>s());return()=>{t();a()}},actions:{setEnabled:s=>{const t=s.enabled;e.setRemoteSampling(t)},pause:()=>e.pause(),resume:()=>e.resume(),clear:()=>e.clear(),getOriginDetail:s=>e.getOriginDetail(s.key),sample:async s=>{const t=s;const a=Math.min(Math.max(t?.durationMs??3e3,250),3e4);const n=e.isRemoteSampling()||e.isEnabled();if(!n)e.setRemoteSampling(true);if(t?.clearFirst)e.clear();try{await new Promise(i=>setTimeout(i,a));return e.getSnapshot()}finally{if(!n)e.setRemoteSampling(false)}}}};
|
|
@@ -1,42 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* JS TOP — live Task Manager for the React Native JS thread.
|
|
5
|
-
*
|
|
6
|
-
* Attribution model: the engine wraps every JS-thread entry point it can
|
|
7
|
-
* reach (timers, rAF, microtasks, Promise reactions, legacy-bridge call-ins)
|
|
8
|
-
* and books EXCLUSIVE time per "origin" (the place a callback was scheduled
|
|
9
|
-
* from). A high-frequency probe measures true thread occupancy; the gap
|
|
10
|
-
* between measured busy time and attributed time is surfaced honestly as an
|
|
11
|
-
* "unattributed" row rather than hidden.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/** Which entry-point API a task came through. */
|
|
15
|
-
|
|
16
|
-
/** One captured stack frame from an origin's scheduling site (dev-readable). */
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Which coverage tiers are live on this device. UIs gray out / banner what a
|
|
20
|
-
* runtime can't see (e.g. bridge call-ins don't exist on bridgeless).
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/** One row of the live table — a task origin ("process" in Task Manager terms). */
|
|
24
|
-
|
|
25
|
-
/** A 50ms+ blocking task reported by the runtime, with our best attribution. */
|
|
26
|
-
|
|
27
|
-
/** The JSON-serializable live snapshot (device UI + external-sync payload). */
|
|
28
|
-
|
|
29
|
-
/** Everything the engine knows about one origin — the tap-through detail. */
|
|
30
|
-
|
|
31
|
-
/** Engine tuning constants — exported for tests. */
|
|
32
|
-
export const BUCKET_MS = 250;
|
|
33
|
-
/** Rolling "recent" window: 20 buckets = 5s. */
|
|
34
|
-
export const WINDOW_BUCKETS = 20;
|
|
35
|
-
/** Global busy history ring: 120 buckets = 30s. */
|
|
36
|
-
export const HISTORY_BUCKETS = 120;
|
|
37
|
-
export const MAX_ORIGINS = 500;
|
|
38
|
-
/** Promotion thresholds: capture a scheduling stack once an origin is hot. */
|
|
39
|
-
export const PROMOTE_MIN_CALLS = 25;
|
|
40
|
-
export const PROMOTE_MIN_TOTAL_MS = 50;
|
|
41
|
-
export const SNAPSHOT_ROWS = 30;
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";export const BUCKET_MS=250;export const WINDOW_BUCKETS=20;export const HISTORY_BUCKETS=120;export const MAX_ORIGINS=500;export const PROMOTE_MIN_CALLS=25;export const PROMOTE_MIN_TOTAL_MS=50;export const SNAPSHOT_ROWS=30;
|
|
@@ -1,26 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Persisted JS TOP preferences. Same load-then-save contract as
|
|
5
|
-
* perf-monitor's hudPreferences: rehydrate async, and only persist
|
|
6
|
-
* user-driven changes after the load resolves so defaults never clobber
|
|
7
|
-
* last session's state.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { definePersistedSetting } from "@buoy-gg/shared-ui";
|
|
11
|
-
const KEY = "@react_buoy/js-top/prefs";
|
|
12
|
-
const DEFAULTS = {
|
|
13
|
-
enabled: false
|
|
14
|
-
};
|
|
15
|
-
const prefs = definePersistedSetting(KEY, DEFAULTS, {
|
|
16
|
-
sanitize: merged => ({
|
|
17
|
-
enabled: merged.enabled === true
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
export async function loadJsTopPrefs() {
|
|
21
|
-
return prefs.load();
|
|
22
|
-
}
|
|
23
|
-
export async function saveJsTopPrefs(next) {
|
|
24
|
-
await prefs.save(next);
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=preferences.js.map
|
|
1
|
+
"use strict";import{definePersistedSetting as t}from"@buoy-gg/shared-ui";const n="@react_buoy/js-top/prefs";const o={enabled:false};const s=t(n,o,{sanitize:e=>({enabled:e.enabled===true})});export async function loadJsTopPrefs(){return s.load()}export async function saveJsTopPrefs(e){await s.save(e)}
|
package/lib/module/preset.js
CHANGED
|
@@ -1,71 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Pre-configured JS TOP tools for FloatingDevTools.
|
|
5
|
-
*
|
|
6
|
-
* Two presets:
|
|
7
|
-
* - jsTopPreset: toggle-only chip that turns the floating busy% pill on/off.
|
|
8
|
-
* - jsTopModalPreset: opens the Task Manager window (ranked live table).
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* import { jsTopPreset, jsTopModalPreset } from '@buoy-gg/js-top';
|
|
13
|
-
*
|
|
14
|
-
* <FloatingDevTools apps={[jsTopPreset, jsTopModalPreset]} />
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import { useEffect, useState } from "react";
|
|
19
|
-
import { Activity } from "@buoy-gg/shared-ui";
|
|
20
|
-
import { JsTopController } from "./js-top/engine/JsTopController";
|
|
21
|
-
import { JsTopModal } from "./js-top/components/JsTopModal";
|
|
22
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
|
-
export const JS_TOP_ENABLED_COLOR = "#34D399";
|
|
24
|
-
export const JS_TOP_DISABLED_COLOR = "#6B7280";
|
|
25
|
-
function JsTopToggleIcon({
|
|
26
|
-
size
|
|
27
|
-
}) {
|
|
28
|
-
const [enabled, setEnabled] = useState(() => JsTopController.isEnabled());
|
|
29
|
-
useEffect(() => JsTopController.subscribeEnabled(setEnabled), []);
|
|
30
|
-
return /*#__PURE__*/_jsx(Activity, {
|
|
31
|
-
size: size,
|
|
32
|
-
color: enabled ? JS_TOP_ENABLED_COLOR : JS_TOP_DISABLED_COLOR
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
function EmptyComponent() {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/** Toggle-only preset: show/hide the floating busy% pill. */
|
|
40
|
-
export const jsTopPreset = {
|
|
41
|
-
id: "js-top",
|
|
42
|
-
name: "JS TOP",
|
|
43
|
-
description: "Toggle the floating JS-thread busy pill",
|
|
44
|
-
slot: "row",
|
|
45
|
-
icon: JsTopToggleIcon,
|
|
46
|
-
component: EmptyComponent,
|
|
47
|
-
props: {},
|
|
48
|
-
launchMode: "toggle-only",
|
|
49
|
-
onPress: () => {
|
|
50
|
-
JsTopController.setEnabled(!JsTopController.isEnabled());
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
/** Modal preset: the live Task Manager window. */
|
|
55
|
-
export const jsTopModalPreset = {
|
|
56
|
-
id: "js-top-modal",
|
|
57
|
-
name: "TASKS",
|
|
58
|
-
description: "Live Task Manager for the JS thread",
|
|
59
|
-
slot: "both",
|
|
60
|
-
icon: ({
|
|
61
|
-
size
|
|
62
|
-
}) => /*#__PURE__*/_jsx(Activity, {
|
|
63
|
-
size: size,
|
|
64
|
-
color: JS_TOP_ENABLED_COLOR
|
|
65
|
-
}),
|
|
66
|
-
component: JsTopModal,
|
|
67
|
-
props: {
|
|
68
|
-
enableSharedModalDimensions: false
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
//# sourceMappingURL=preset.js.map
|
|
1
|
+
"use strict";import{useEffect as i,useState as l}from"react";import{Activity as t}from"@buoy-gg/shared-ui";import{JsTopController as o}from"./js-top/engine/JsTopController";import{JsTopModal as p}from"./js-top/components/JsTopModal";import{jsx as s}from"react/jsx-runtime";export const JS_TOP_ENABLED_COLOR="#34D399";export const JS_TOP_DISABLED_COLOR="#6B7280";function a({size:e}){const[n,r]=l(()=>o.isEnabled());i(()=>o.subscribeEnabled(r),[]);return s(t,{size:e,color:n?JS_TOP_ENABLED_COLOR:JS_TOP_DISABLED_COLOR})}function c(){return null}export const jsTopPreset={id:"js-top",name:"JS TOP",description:"Toggle the floating JS-thread busy pill",slot:"row",icon:a,component:c,props:{},launchMode:"toggle-only",onPress:()=>{o.setEnabled(!o.isEnabled())}};export const jsTopModalPreset={id:"js-top-modal",name:"TASKS",description:"Live Task Manager for the JS thread",slot:"both",icon:({size:e})=>s(t,{size:e,color:JS_TOP_ENABLED_COLOR}),component:p,props:{enableSharedModalDimensions:false}};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";var Ve=Object.defineProperty;var Tt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var At=(e,t)=>{for(var r in t)Ve(e,r,{get:t[r],enumerable:true})},Ne=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ct(t))!zt.call(e,o)&&o!==r&&Ve(e,o,{get:()=>t[o],enumerable:!(n=Tt(t,o))||n.enumerable});return e},Bt=(e,t,r)=>(Ne(e,t,"default"),r&&Ne(r,t,"default"));var Y=process.env.NODE_ENV!=="production";typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);var je={};At(je,{AccessibilityInfo:()=>Ot,ActivityIndicator:()=>zr,Alert:()=>Rr,Animated:()=>It,AppRegistry:()=>$t,AppState:()=>qe,Appearance:()=>Pt,BackHandler:()=>Lt,Button:()=>Ar,CheckBox:()=>Xt,Clipboard:()=>Wt,DeviceEventEmitter:()=>pr,Dimensions:()=>Dt,Easing:()=>Ht,FlatList:()=>er,I18nManager:()=>Vt,Image:()=>tr,ImageBackground:()=>rr,InteractionManager:()=>jt,Keyboard:()=>Nt,KeyboardAvoidingView:()=>nr,LayoutAnimation:()=>qt,Linking:()=>Jt,LogBox:()=>mr,Modal:()=>Tr,NativeEventEmitter:()=>Kt,NativeModules:()=>Ft,PanResponder:()=>Ut,Picker:()=>or,PixelRatio:()=>_t,Platform:()=>Qt,Pressable:()=>kr,ProgressBar:()=>ir,RefreshControl:()=>ar,SafeAreaView:()=>sr,ScrollView:()=>pe,SectionList:()=>lr,Share:()=>Gt,StatusBar:()=>cr,StyleSheet:()=>D,Switch:()=>Cr,Text:()=>c,TextInput:()=>wr,Touchable:()=>ur,TouchableHighlight:()=>Sr,TouchableNativeFeedback:()=>dr,TouchableOpacity:()=>Z,TouchableWithoutFeedback:()=>vr,UIManager:()=>Yt,Vibration:()=>Zt,View:()=>f,VirtualizedList:()=>hr,YellowBox:()=>fr,findNodeHandle:()=>Br,unstable_createElement:()=>Et,useColorScheme:()=>br,useLocaleContext:()=>gr,useWindowDimensions:()=>yr});Bt(je,Rt);import*as Rt from"react-native-web";import{unstable_createElement as Et,NativeModules as Ft,AccessibilityInfo as Ot,Animated as It,Appearance as Pt,AppRegistry as $t,AppState as qe,BackHandler as Lt,Clipboard as Wt,Dimensions as Dt,Easing as Ht,I18nManager as Vt,Keyboard as Nt,InteractionManager as jt,LayoutAnimation as qt,Linking as Jt,NativeEventEmitter as Kt,PanResponder as Ut,PixelRatio as _t,Platform as Qt,Share as Gt,StyleSheet as D,UIManager as Yt,Vibration as Zt,CheckBox as Xt,FlatList as er,Image as tr,ImageBackground as rr,KeyboardAvoidingView as nr,Picker as or,ProgressBar as ir,RefreshControl as ar,SafeAreaView as sr,SectionList as lr,StatusBar as cr,Touchable as ur,TouchableNativeFeedback as dr,VirtualizedList as hr,YellowBox as fr,LogBox as mr,DeviceEventEmitter as pr,useColorScheme as br,useLocaleContext as gr,useWindowDimensions as yr}from"react-native-web";import*as A from"react-native-web";import{createElement as Mr,forwardRef as xr}from"react";function E(e){let t=xr((n,o)=>{let{accessibilityState:i,accessibilityValue:a,...s}=n;for(let l of["busy","checked","disabled","expanded","selected"])i?.[l]!==void 0&&s[`aria-${l}`]===void 0&&(s[`aria-${l}`]=i[l]);for(let[l,u]of Object.entries({min:"valuemin",max:"valuemax",now:"valuenow",text:"valuetext"}))a?.[l]!==void 0&&s[`aria-${u}`]===void 0&&(s[`aria-${u}`]=a[l]);return Mr(e,{...s,ref:o})}),r=e.State;return r&&Object.assign(t,{State:r}),t.displayName=e.displayName??e.name??"NativeWebView",t}var f=E(A.View),c=E(A.Text),wr=E(A.TextInput),Z=E(A.TouchableOpacity),Sr=E(A.TouchableHighlight),vr=E(A.TouchableWithoutFeedback),kr=E(A.Pressable),pe=E(A.ScrollView),Tr=E(A.Modal),Cr=E(A.Switch),zr=E(A.ActivityIndicator),Ar=E(A.Button),Br=A.findNodeHandle,Rr={alert(e,t,r,n){if(typeof document>"u")return;let o=document.createElement("dialog");o.dataset.buoyRoot="",o.setAttribute("aria-label",e),o.style.cssText="position:fixed;inset:0;margin:auto;width:min(440px,90vw);padding:24px;border:1px solid #475569;border-radius:14px;background:#17212e;color:#f1f5f9;font:14px system-ui;box-shadow:0 20px 80px #0008;z-index:2147483647";let i=document.createElement("h2");if(i.textContent=e,i.style.cssText="font-size:18px;margin:0 0 12px",o.appendChild(i),t){let u=document.createElement("p");u.textContent=t,u.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",o.appendChild(u)}let a=document.createElement("div");a.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let s=r?.length?r:[{text:"OK"}],l=()=>{o.close?.(),o.remove()};for(let u of s){let M=document.createElement("button");M.type="button",M.textContent=u.text??"OK",M.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${u.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,M.onclick=()=>{l(),u.onPress?.()},a.appendChild(M)}o.addEventListener("cancel",u=>{u.preventDefault(),n?.cancelable!==false&&(l(),n?.onDismiss?.())}),o.appendChild(a),document.body.appendChild(o),o.showModal?o.showModal():o.setAttribute("open","")}};var ae=typeof globalThis<"u"?globalThis:void 0,Er=(()=>{if(typeof ae?.nativePerformanceNow=="function"){let e=ae.nativePerformanceNow;return()=>e()}if(typeof ae?.performance?.now=="function"){let e=ae.performance;return()=>e.now()}return()=>Date.now()})(),Fr=Er;function I(){return Fr()}var h=typeof globalThis<"u"?globalThis:{},Je=false;function V(){return Je}function se(e){Je=e}var be=null;function ge(){return be||(be={setTimeout:h.setTimeout?.bind(h),setInterval:h.setInterval?.bind(h),clearInterval:h.clearInterval?.bind(h),clearTimeout:h.clearTimeout?.bind(h),setImmediate:h.setImmediate?.bind(h),requestAnimationFrame:h.requestAnimationFrame?.bind(h),queueMicrotask:h.queueMicrotask?.bind(h)}),be}function le(){return ge()}var S=Symbol.for("buoy.jsTop.patched"),Ke=Symbol.for("buoy.jsTop.wrapped");var q=new Float64Array(120),X=new Float64Array(120),ye=new Float64Array(120),J=new Float64Array(120).fill(-1);function P(e){return Math.floor(e/250)}function Or(e){let t=e%120;return J[t]!==e&&(J[t]=e,q[t]=0,X[t]=0,ye[t]=0),t}function Me(e,t,r){if(!(t>e))return;let n=Math.max(e,t-3e4),o=P(n),i=P(t),a=n;for(;o<=i;){let s=(o+1)*250,l=Math.min(t,s),u=l-a;u>0&&r(Or(o),u),a=l,o++}}function Ir(e,t){Me(e,t,(r,n)=>{q[r]=Math.min(250,q[r]+n)})}function Pr(e,t,r){let n=t-e;if(!(n>0)||!(r>0))return;let o=Math.min(1,r/n);Me(e,t,(i,a)=>{X[i]=Math.min(250,X[i]+a*o)})}function $r(e,t){Me(e,t,(r,n)=>{ye[r]=Math.min(250,ye[r]+n)})}function Ue(e,t,r){let n=P(t),o=0;for(let i=n-r+1;i<=n;i++){let a=i%120;a>=0&&J[a]===i&&(o+=e[a])}return o}function _e(e){return Ue(q,e,20)}function Lr(e){return Ue(X,e,20)}function Wr(e){let t=P(e),r=[];for(let n=t-20+1;n<=t;n++){let o=n%120;o>=0&&J[o]===n?r.push(Math.max(0,Math.round((q[o]-X[o])*10)/10)):r.push(0)}return r}function Dr(e){let t=P(e),r=[];for(let o=t-120+1;o<=t;o++){let i=o%120;i>=0&&J[i]===o?r.push(Math.round(q[i]/250*100)):r.push(0)}let n=0;for(;n<r.length&&r[n]===0;)n++;return r.slice(Math.max(0,Math.min(n,r.length-1)))}function Hr(){J.fill(-1)}var xe=0;function Vr(){return typeof Y<"u"&&Y}function Nr(e){return(e.split("?")[0]??e).split("/").filter(Boolean).slice(-2).join("/")}function jr(e){return/^[A-Z][A-Za-z0-9]*$/.test(e)}function qr(e,t){if(!Vr()||e.symbolicated||!e.frames||e.frames.length===0||xe>=3)return;e.symbolicated=true;let r=e.frames[0];if(!r||!/^https?:\/\//.test(r.file))return;let n;try{n=`${new URL(r.file).origin}/symbolicate`}catch{return}xe++;let o=JSON.stringify({stack:e.frames.map(i=>({file:i.file,lineNumber:i.line,column:i.col,methodName:""}))});fetch(n,{method:"POST",body:o}).then(i=>i.ok?i.json():null).then(i=>{let a=i?.stack?.find(F=>F.file&&!F.file.includes("node_modules"))??i?.stack?.[0];if(!a?.file&&i?.error){let F=/found: (\/.+)$/.exec(i.error);F&&(a={file:F[1]})}if(!a?.file)return;let s=Nr(a.file),l=a.lineNumber,u=a.methodName&&a.methodName!=="<unknown>"?a.methodName:void 0;e.file=s,e.line=l??e.line;let M=`${s.split("/").pop()}${l!=null?`:${l}`:""}`;u&&jr(u)&&!e.caller?(e.caller=u,e.label=`${e.label} \u2190 <${u}> \xB7 ${M}`):e.label=`${e.label} \xB7 ${M}`}).catch(()=>{}).finally(()=>{xe--})}var Jr=500,Kr=20,k=new Map,Qe="other",Ge=0,we=0;function Se(e,t,r){return{key:e,api:t,label:r,calls:0,totalMs:0,maxMs:0,scheduleCount:0,lastSeenAt:0,promoted:false,lastCaptureAt:0,ring:new Float64Array(20),ringStamps:new Float64Array(20).fill(-1)}}function Ye(e,t){let r=P(t),n=0;for(let o=r-20+1;o<=r;o++){let i=o%20;i>=0&&e.ringStamps[i]===o&&(n+=e.ring[i])}return n}function Ze(e){let t=null,r=1/0;for(let o of k.values()){if(o.key===Qe)continue;let i=Ye(o,e)*1e6+o.lastSeenAt;i<r&&(r=i,t=o)}if(!t)return;let n=Ur(Qe,"other","other (evicted origins)");n.calls+=t.calls,n.totalMs+=t.totalMs,n.maxMs=Math.max(n.maxMs,t.maxMs),n.lastSeenAt=Math.max(n.lastSeenAt,t.lastSeenAt),k.delete(t.key)}function Ur(e,t,r){let n=k.get(e);return n||(n=Se(e,t,r),k.set(e,n)),n}function _r(e){let t=[],r,n=e.split(`
|
|
2
|
+
`);for(let o of n){let i=/at\s+(.*?)\s+\((?:address at\s+)?(.*?):(\d+):(\d+)\)/.exec(o)??/at\s+()(.*?):(\d+):(\d+)$/.exec(o.trim());if(!i)continue;let a=i[1]??"";if(a.includes("buoyJsTop")||a==="Error"||i[2]?.includes("/js-top/"))continue;t.push({file:i[2]??"",line:Number(i[3]),col:Number(i[4])});let s=/^(react_stack_bottom_frame|runWithFiberInDEV|commitHookEffectList|flushPassive|performWork|renderWithHooks|safelyCall)/.test(a)||/^(then|catch|finally|resolve|reject|fulfilled|rejected|step|tryCallOne|tryCallTwo|tryCatch|invokeCallback|notify)$/.test(a);if(!r&&a&&a!=="anonymous"&&!s&&(r=a),t.length>=3)break}return{caller:r,frames:t}}function Qr(e,t){return t-e.lastCaptureAt<Jr||(t-Ge>1e3&&(Ge=t,we=0),we>=Kr)?false:(we++,e.lastCaptureAt=t,true)}function ve(e){if(!e)return;let t=(e.split("?")[0]??e).replace(/\/\/&.*$/,""),r=/^[a-z]+:\/\/[^/]+\/(.*)$/.exec(t);return(r?r[1]:t).split("/").slice(-2).join("/")}function Gr(e){return k.has(e)}function ke(e,t,r,n=true){let o=t,i=typeof o.displayName=="string"&&o.displayName||typeof o.name=="string"&&o.name||"anonymous",a=`${e}|${i}`,s=k.get(a);if(s||(k.size>=500&&Ze(r),s=Se(a,e,i==="anonymous"?ee(e):`${ee(e)} ${i}`),k.set(a,s)),s.scheduleCount++,!s.promoted&&(s.scheduleCount>=25||s.totalMs>=50)&&(s.promoted=true),(s.promoted||e==="interval")&&n&&Qr(s,r)){let{caller:l,frames:u}=_r(new Error().stack??""),M=u[0];if(M||l){let F=M?`${ve(M.file)??"?"}:${M.line}`:"?",p=`${a}@${l??"?"}:${F}`,g=k.get(p);if(!g){k.size>=500&&Ze(r);let C=i==="anonymous"?ee(e):`${ee(e)} ${i}`;g=Se(p,e,l?`${C} \u2190 ${l}`:i==="anonymous"?`${C} @ ${ve(M?.file??"")??"?"}`:C),g.caller=l,g.file=M?ve(M.file):void 0,g.line=M?.line,g.frames=u,g.promoted=true,g.calls=s.calls,g.totalMs=s.totalMs,g.maxMs=s.maxMs,g.scheduleCount=s.scheduleCount,g.lastSeenAt=s.lastSeenAt,g.ring.set(s.ring),g.ringStamps.set(s.ringStamps),s.calls=0,s.totalMs=0,s.maxMs=0,s.ring.fill(0),s.ringStamps.fill(-1),k.set(p,g),qr(g,ee(e))}s.activeRefinedKey=p}}return s.activeRefinedKey??a}function ee(e){switch(e){case"timeout":return"setTimeout";case"interval":return"setInterval";case"immediate":return"setImmediate";case"raf":return"requestAnimationFrame";case"microtask":return"queueMicrotask";case"then":return"Promise.then";case"bridge":return"bridge";default:return e}}function Yr(e,t,r,n){let o=k.get(e);if(!o)return;o.calls++,o.totalMs+=t,t>o.maxMs&&(o.maxMs=t),o.lastSeenAt=n,!o.promoted&&o.totalMs>=50&&(o.promoted=true);let i=n-r,a=i>0?Math.min(1,t/i):1,s=Math.max(r,n-5e3),l=P(s),u=P(n),M=s;for(;l<=u;){let F=(l+1)*250,p=Math.min(n,F),g=p-M;if(g>0){let C=l%20;C>=0&&(o.ringStamps[C]!==l&&(o.ringStamps[C]=l,o.ring[C]=0),o.ring[C]+=i>0?g*a:t)}M=p,l++}Pr(r,n,t)}function Zr(e){return k.get(e)?.label??null}function Xr(e,t,r){let n=[];for(let a of k.values()){let s=Ye(a,e);s<=0&&a.totalMs<1||n.push({key:a.key,label:a.label,api:a.api,file:a.file,line:a.line,windowMs:Math.round(s*10)/10,pctOfBusy:t>0?Math.min(100,Math.round(s/t*1e3)/10):0,totalMs:Math.round(a.totalMs*10)/10,calls:a.calls,avgMs:a.calls>0?Math.round(a.totalMs/a.calls*100)/100:0,maxMs:Math.round(a.maxMs*100)/100,lastSeenAgoMs:a.lastSeenAt>0?Math.max(0,e-a.lastSeenAt):0,freezes:0,worstFreezeMs:0})}n.sort((a,s)=>s.windowMs-a.windowMs||s.totalMs-a.totalMs);let o=[],i=[];for(let a of n)(a.windowMs>=1||a.pctOfBusy>=.5||a.freezes>0?o:i).push(a);return i.length>=2?(o.push({key:"minor",label:`${i.length} minor origins (\u22641ms each)`,api:"other",windowMs:Math.round(i.reduce((a,s)=>a+s.windowMs,0)*10)/10,pctOfBusy:Math.round(i.reduce((a,s)=>a+s.pctOfBusy,0)*10)/10,totalMs:Math.round(i.reduce((a,s)=>a+s.totalMs,0)*10)/10,calls:i.reduce((a,s)=>a+s.calls,0),avgMs:0,maxMs:Math.max(0,...i.map(a=>a.maxMs)),lastSeenAgoMs:Math.min(...i.map(a=>a.lastSeenAgoMs)),freezes:0,worstFreezeMs:0}),o.slice(0,r)):n.slice(0,r)}function en(e,t,r){let n=k.get(e);if(!n)return null;let o=P(t),i=[],a=0;for(let s=o-20+1;s<=o;s++){let l=s%20,u=l>=0&&n.ringStamps[l]===s?Math.round(n.ring[l]*10)/10:0;i.push(u),a+=u}return{key:n.key,label:n.label,api:n.api,caller:n.caller,file:n.file,line:n.line,frames:n.frames,promoted:n.promoted,scheduleCount:n.scheduleCount,calls:n.calls,totalMs:Math.round(n.totalMs*10)/10,avgMs:n.calls>0?Math.round(n.totalMs/n.calls*100)/100:0,maxMs:Math.round(n.maxMs*100)/100,windowMs:Math.round(a*10)/10,pctOfBusy:r>0?Math.min(100,Math.round(a/r*1e3)/10):0,lastSeenAgoMs:n.lastSeenAt>0?Math.max(0,t-n.lastSeenAt):0,buckets:i}}function tn(){k.clear()}var rn=32,K=[],nn=20,Xe=64,et=new Array(Xe).fill(null),Te=0;function on(){return et}function tt(e,t){let r=I(),n=K.length>0?K[K.length-1]:null,o=null;K.length<rn&&(o={originKey:e,start:r,childrenMs:0},K.push(o));try{return t()}finally{try{if(o){K.pop();let i=I(),a=i-r,s=Math.max(0,a-o.childrenMs);n&&(n.childrenMs+=a),Yr(e,s,r,i),!n&&a>=nn&&(et[Te]={originKey:e,start:r,end:i},Te=(Te+1)%Xe)}}catch{}}}function U(e,t){if(typeof e!="function"||e[Ke])return e;let r=V()?ke(t,e,I()):null,n=function(...o){return V()?((r===null||!Gr(r))&&(r=ke(t,e,I(),false)),tt(r,()=>e.apply(this,o))):e.apply(this,o)};return n[Ke]=true,n}function rt(e,t,r){if(!V())return r();let n=ke(e,{name:t},I());return tt(n,r)}function nt(){let e=ge();if(typeof h.setTimeout=="function"&&!h.setTimeout[S]){let t=function(r,n,...o){let i=U(r,"timeout");return e.setTimeout(i,n,...o)};t[S]=true,h.setTimeout=t}if(typeof h.setInterval=="function"&&!h.setInterval[S]){let t=function(r,n,...o){let i=U(r,"interval");return e.setInterval(i,n,...o)};t[S]=true,h.setInterval=t}if(typeof h.setImmediate=="function"&&!h.setImmediate[S]&&e.setImmediate){let t=function(r,...n){let o=U(r,"immediate");return e.setImmediate(o,...n)};t[S]=true,h.setImmediate=t}if(typeof h.requestAnimationFrame=="function"&&!h.requestAnimationFrame[S]&&e.requestAnimationFrame){let t=function(r){let n=U(r,"raf");return e.requestAnimationFrame(n)};t[S]=true,h.requestAnimationFrame=t}}function ot(){let e=ge();if(typeof h.queueMicrotask=="function"&&!h.queueMicrotask[S]&&e.queueMicrotask){let t=function(r){let n=U(r,"microtask");return e.queueMicrotask(n)};t[S]=true,h.queueMicrotask=t}}var Ce=16,an=100,sn=3,ln=8,te=null,re=0,ce=false,ne=[],_=1/0,Q=0,ze=Ce;function cn(){let e=I(),t=re>0?e-re:0;if(re=e,ce){ce=false,_=1/0,Q=e;return}if(t<=0)return;t<an&&(t<_&&(_=t),Q===0&&(Q=e),e-Q>=1e3&&(ne.push(_),ne.length>sn&&ne.shift(),ze=Math.max(ln,Math.min(...ne)),_=1/0,Q=e));let r=t-ze;r>1&&Ir(e-r,e)}function it(){if(te!=null)return;let e=le();re=I(),ce=false,ne=[],_=1/0,Q=0,ze=Ce,te=e.setInterval(cn,Ce)}function at(){te!=null&&(le().clearInterval(te),te=null),re=0}function un(){ce=true}import{definePersistedSetting as dn}from"@buoy-gg/shared-ui/web";var hn="@react_buoy/js-top/prefs",fn={enabled:false},st=dn(hn,fn,{sanitize:e=>({enabled:e.enabled===true})});async function mn(){return st.load()}async function pn(e){await st.save(e)}var bn=250,gn=class{constructor(){this.enabled=false;this.enabledLoaded=false;this.paused=false;this.remoteSampling=false;this.engineRunning=false;this.tiers={timers:false,promises:false,bridge:false,longtask:false};this.notifyHandle=null;this.appStateSub=null;this.snapshot=this.buildSnapshot();this.subscribers=new Set;this.enabledSubscribers=new Set;this.tierInstallers=[];this.longtaskProvider=null;this.freezeStatsProvider=null;this.clearHooks=[];mn().then(e=>{this.enabledLoaded=true,e.enabled&&!this.enabled&&this.setEnabled(true)})}subscribe(e){return this.subscribers.add(e),this.syncEngineState(),e(this.snapshot),()=>{this.subscribers.delete(e),this.syncEngineState()}}subscribeEnabled(e){return this.enabledSubscribers.add(e),e(this.enabled),()=>{this.enabledSubscribers.delete(e)}}setEnabled(e){this.enabled!==e&&(this.enabled=e,this.enabledLoaded&&pn({enabled:e}),this.enabledSubscribers.forEach(t=>{try{t(e)}catch(r){Y&&console.error("[js-top] enabled subscriber threw",r)}}),this.syncEngineState())}isEnabled(){return this.enabled}setRemoteSampling(e){this.remoteSampling!==e&&(this.remoteSampling=e,this.syncEngineState())}isRemoteSampling(){return this.remoteSampling}getStatus(){return this.engineRunning?this.paused?"paused":"running":"disabled"}pause(){this.paused||(this.paused=true,se(false),at(),this.emitSnapshot())}resume(){this.paused&&(this.paused=false,this.engineRunning&&(se(true),it()),this.emitSnapshot())}clear(){tn(),Hr();for(let e of this.clearHooks)try{e()}catch{}this.emitSnapshot()}registerClearHook(e){this.clearHooks.push(e)}getSnapshot(){return this.snapshot}getOriginDetail(e){let t=I(),r=_e(t),n=this.freezeStatsProvider?.(Date.now())?.byOrigin[e];if(e==="unattributed"){let i=Wr(t),a=Math.round(i.reduce((s,l)=>s+l,0)*10)/10;return{key:e,label:"unattributed (events / React / native call-ins)",api:"unattributed",promoted:false,scheduleCount:0,calls:0,totalMs:0,avgMs:0,maxMs:0,windowMs:a,pctOfBusy:r>0?Math.min(100,Math.round(a/r*1e3)/10):0,lastSeenAgoMs:0,buckets:i,freezes:n?.count??0,worstFreezeMs:Math.round(n?.maxMs??0)}}let o=en(e,t,r);return o?{...o,freezes:n?.count??0,worstFreezeMs:Math.round(n?.maxMs??0)}:null}registerTierInstaller(e){this.tierInstallers.push(e),this.engineRunning&&Object.assign(this.tiers,this.runInstaller(e))}registerLongtaskProvider(e){this.longtaskProvider=e}registerFreezeStatsProvider(e){this.freezeStatsProvider=e}shouldRun(){return this.subscribers.size>0||this.remoteSampling}syncEngineState(){let e=this.shouldRun();e&&!this.engineRunning?this.startEngine():!e&&this.engineRunning&&this.stopEngine()}runInstaller(e){try{return e()}catch(t){return Y&&console.error("[js-top] tier installer threw",t),{}}}startEngine(){this.engineRunning=true,nt(),ot(),this.tiers={timers:true,promises:false,bridge:false,longtask:false};for(let e of this.tierInstallers)Object.assign(this.tiers,this.runInstaller(e));se(!this.paused),this.paused||it();try{this.appStateSub=qe.addEventListener("change",()=>{un()})}catch{this.appStateSub=null}this.notifyHandle=le().setInterval(()=>this.emitSnapshot(),bn),this.emitSnapshot()}stopEngine(){if(this.engineRunning=false,se(false),at(),this.notifyHandle!=null&&(le().clearInterval(this.notifyHandle),this.notifyHandle=null),this.appStateSub){try{this.appStateSub.remove()}catch{}this.appStateSub=null}}buildSnapshot(){let e=I(),t=_e(e),r=Lr(e),n=Math.max(0,t-r),o=Xr(e,t,30);n>=1&&(o.push({key:"unattributed",label:"unattributed (events / React / native call-ins)",api:"unattributed",windowMs:Math.round(n*10)/10,pctOfBusy:t>0?Math.min(100,Math.round(n/t*1e3)/10):0,totalMs:0,calls:0,avgMs:0,maxMs:0,lastSeenAgoMs:0,freezes:0,worstFreezeMs:0}),o.sort((s,l)=>l.windowMs-s.windowMs||l.totalMs-s.totalMs));let i=this.freezeStatsProvider?.(Date.now())??{count:0,worstMs:0,byOrigin:{}};for(let s of o){let l=i.byOrigin[s.key];l&&(s.freezes=l.count,s.worstFreezeMs=Math.round(l.maxMs))}let a=5e3;return{ts:Date.now(),paused:this.paused,busyPct:Math.min(100,Math.round(t/a*1e3)/10),busyHistory:Dr(e),tiers:{...this.tiers},rows:o,totals:{attributedWindowMs:Math.round(r*10)/10,unattributedWindowMs:Math.round(n*10)/10,windowMs:a},freezeSummary:{count:i.count,worstMs:Math.round(i.worstMs)},longtasks:this.longtaskProvider?this.longtaskProvider():[]}}emitSnapshot(){this.snapshot=this.buildSnapshot(),this.subscribers.forEach(e=>{try{e(this.snapshot)}catch(t){Y&&console.error("[js-top] snapshot subscriber threw",t)}})}isEngineActive(){return V()}},d=new gn;function Ae(e,t){let r=e[t];if(typeof r!="function")return false;if(r[S])return true;let n=function(...o){for(let i=0;i<o.length;i++)typeof o[i]=="function"&&(o[i]=U(o[i],"then"));return r.apply(this,o)};return n[S]=true,Object.defineProperty(n,"name",{value:t,configurable:true}),e[t]=n,true}function yn(){let e=h.Promise?.prototype;if(!e)return{promises:false};let t=Ae(e,"then");return Ae(e,"catch"),Ae(e,"finally"),{promises:t}}function Mn(){let e=h.__fbBatchedBridge;if(!e)return{bridge:false};let t=false;if(typeof e.callFunctionReturnFlushedQueue=="function"&&!e.callFunctionReturnFlushedQueue[S]){let n=e.callFunctionReturnFlushedQueue.bind(e),o=function(i,a,s){return V()?rt("bridge",`${i}.${a}`,()=>n(i,a,s)):n(i,a,s)};o[S]=true,e.callFunctionReturnFlushedQueue=o,t=true}if(typeof e.invokeCallbackAndReturnFlushedQueue=="function"&&!e.invokeCallbackAndReturnFlushedQueue[S]){let n=e.invokeCallbackAndReturnFlushedQueue.bind(e),o=function(i,a){return V()?rt("bridge","nativeModuleCallback",()=>n(i,a)):n(i,a)};o[S]=true,e.invokeCallbackAndReturnFlushedQueue=o,t=true}let r=e.callFunctionReturnFlushedQueue?.[S]===true;return{bridge:t||r}}var xn=40,wn=6e4,Sn="unattributed",lt=false,ue=false,G=[];function vn(e,t){let r=e+t,n=null,o=0;for(let i of on()){if(!i)continue;let a=Math.min(r,i.end)-Math.max(e,i.start);a>o&&(o=a,n=i.originKey)}return n}function kn(){if(lt)return{longtask:ue};lt=true;let e=h.PerformanceObserver;if(typeof e!="function")return{longtask:false};try{new e(t=>{if(V())try{for(let r of t.getEntries()){if(r.entryType!=="longtask")continue;let n=r.startTime,o=r.duration;$r(n,n+o),G.push({start:n,duration:o,at:Date.now(),originKey:vn(n,o)}),G.length>xn&&G.shift()}}catch{}}).observe({entryTypes:["longtask"]}),ue=true}catch{ue=false}return{longtask:ue}}function Tn(){return G.map(e=>({start:e.start,duration:e.duration,at:e.at,originLabel:e.originKey?Zr(e.originKey):null}))}function Cn(e){let t={},r=0,n=0;for(let o of G){if(o.at>0&&e-o.at>wn)continue;r++,o.duration>n&&(n=o.duration);let i=o.originKey??Sn,a=t[i];a?(a.count++,o.duration>a.maxMs&&(a.maxMs=o.duration)):t[i]={count:1,maxMs:o.duration}}return{count:r,worstMs:n,byOrigin:t}}function zn(){G.length=0}var An={version:1,getSnapshot:()=>({live:d.getSnapshot(),enabled:d.isEnabled()||d.isRemoteSampling()}),subscribe:e=>{let t=d.subscribe(()=>e()),r=d.subscribeEnabled(()=>e());return()=>{t(),r()}},actions:{setEnabled:e=>{let t=e.enabled;d.setRemoteSampling(t)},pause:()=>d.pause(),resume:()=>d.resume(),clear:()=>d.clear(),getOriginDetail:e=>d.getOriginDetail(e.key),sample:async e=>{let t=e,r=Math.min(Math.max(t?.durationMs??3e3,250),3e4),n=d.isRemoteSampling()||d.isEnabled();n||d.setRemoteSampling(true),t?.clearFirst&&d.clear();try{return await new Promise(o=>setTimeout(o,r)),d.getSnapshot()}finally{n||d.setRemoteSampling(false)}}}};import{useCallback as Bn,useEffect as Rn,useMemo as En,useState as ct}from"react";import{Activity as Fn,JsModal as On,macOSColors as O,night as z,ModalHeader as oe,Pause as In,Play as Pn,Trash2 as $n}from"@buoy-gg/shared-ui/web";import{memo as Ln}from"react";import{macOSColors as Be}from"@buoy-gg/shared-ui/web";import{jsx as ut}from"react/jsx-runtime";var Wn=60;function Dn(e){return e>=80?Be.semantic.error:e>=40?Be.semantic.warning:Be.semantic.success}var Hn=Ln(function({history:e}){let t=e.slice(-Wn);return ut(f,{style:dt.row,pointerEvents:"none",children:t.map((r,n)=>ut(f,{style:[dt.bar,{height:Math.max(2,r/100*28),backgroundColor:Dn(r)}]},`b${n}`))})}),dt=D.create({row:{flexDirection:"row",alignItems:"flex-end",gap:1,height:28,alignSelf:"stretch"},bar:{flex:1,maxWidth:6,borderRadius:1,opacity:.9}});import{memo as Vn,useState as Nn}from"react";import{macOSColors as de,night as w}from"@buoy-gg/shared-ui/web";import{jsx as B,jsxs as $}from"react/jsx-runtime";var jn=[{key:"windowMs",title:"RECENT"},{key:"calls",title:"CALLS"},{key:"avgMs",title:"AVG"},{key:"maxMs",title:"MAX"},{key:"totalMs",title:"TOTAL"}],ht={timeout:{text:"TIMEOUT",color:"#38BDF8",prefix:"setTimeout"},interval:{text:"INTERVAL",color:"#22D3EE",prefix:"setInterval"},immediate:{text:"IMMED",color:"#60A5FA",prefix:"setImmediate"},raf:{text:"RAF",color:"#34D399",prefix:"requestAnimationFrame"},microtask:{text:"MICRO",color:"#A78BFA",prefix:"queueMicrotask"},then:{text:"PROMISE",color:"#BF5AF2",prefix:"Promise.then"},bridge:{text:"BRIDGE",color:"#FBBF24",prefix:"bridge"},unattributed:{text:"SYSTEM",color:"#8E8E93"},other:{text:"OTHER",color:"#8E8E93",prefix:"other"}};function Re(e){return ht[e]??ht.other}function ft(e){if(e.api==="unattributed")return"events \xB7 React \xB7 native call-ins";if(e.api==="other")return"evicted cold origins";let t=Re(e.api).prefix,r=e.label;return t&&r.startsWith(t)&&(r=r.slice(t.length)),r=r.replace(/^[\s←@]+/,"").trim(),r.length>0?r:"anonymous"}function ie(e){return e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e>=100?`${Math.round(e)}`:`${Math.round(e*10)/10}`}function qn(e){return e.calls<=0?"measured by probe \xB7 not reachable from JS":`${ie(e.calls)} calls \xB7 avg ${ie(e.avgMs)} \xB7 max ${ie(e.maxMs)} \xB7 total ${ie(e.totalMs)} ms`}var Jn=Vn(function({row:e,rank:t,onPress:r}){let n=Re(e.api);return $(r?Z:f,{style:T.row,...r?{onPress:()=>r(e),activeOpacity:.6}:{},children:[$(f,{style:T.topLine,children:[B(c,{style:T.rank,children:t}),B(f,{style:[T.badge,{borderColor:n.color,backgroundColor:`${n.color}1A`}],children:B(c,{style:[T.badgeText,{color:n.color}],children:n.text})}),B(c,{style:T.name,numberOfLines:1,children:ft(e)}),e.freezes>0&&$(c,{style:[T.freezeBadge,e.worstFreezeMs>=100&&T.freezeBadgeSevere],children:["\u26A0 \xD7",e.freezes]}),$(c,{style:[T.windowMs,e.api!=="unattributed"&&e.pctOfBusy>=25&&{color:e.pctOfBusy>=50?de.semantic.error:de.semantic.warning}],children:[ie(e.windowMs),B(c,{style:T.unit,children:" ms"})]}),$(c,{style:[T.pct,e.api==="unattributed"&&T.pctMuted],children:[Math.round(e.pctOfBusy),"%"]})]}),$(f,{style:T.subLine,children:[B(f,{style:T.barTrack,children:B(f,{style:[T.barFill,{width:`${Math.min(100,e.pctOfBusy)}%`,backgroundColor:n.color}]})}),B(c,{style:T.stats,numberOfLines:1,children:qn(e)})]})]})},(e,t)=>e.rank===t.rank&&e.onPress===t.onPress&&e.row.key===t.row.key&&e.row.windowMs===t.row.windowMs&&e.row.calls===t.row.calls&&e.row.maxMs===t.row.maxMs&&e.row.totalMs===t.row.totalMs&&e.row.pctOfBusy===t.row.pctOfBusy&&e.row.freezes===t.row.freezes&&e.row.worstFreezeMs===t.row.worstFreezeMs);function Kn({rows:e,onSelectRow:t}){let[r,n]=Nn("windowMs"),o=r==="windowMs"?e:[...e].sort((i,a)=>a[r]-i[r]);return $(f,{style:L.root,children:[$(f,{style:L.sortRow,children:[B(c,{style:L.sortLabel,children:"SORT"}),jn.map(i=>B(Z,{onPress:()=>n(i.key),style:[L.sortChip,r===i.key&&L.sortChipOn],children:B(c,{style:[L.sortChipText,r===i.key&&L.sortChipTextOn],children:i.title})},i.key))]}),$(pe,{style:L.body,children:[o.map((i,a)=>B(Jn,{row:i,rank:a+1,onPress:t},i.key)),o.length===0&&B(c,{style:L.empty,children:"No tasks observed yet \u2014 interact with the app."})]})]})}var L=D.create({root:{flex:1,minHeight:0},sortRow:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:10,paddingVertical:6,borderBottomWidth:1,borderBottomColor:w.color.border,backgroundColor:w.color.surface},sortLabel:{color:w.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.5,marginRight:2},sortChip:{borderWidth:1,borderColor:w.color.border,borderRadius:4,paddingHorizontal:7,paddingVertical:3},sortChipOn:{borderColor:w.color.accentBorderStrong,backgroundColor:w.color.accentSoft},sortChipText:{color:w.color.textTertiary,fontSize:9,fontWeight:"600",fontVariant:["tabular-nums"]},sortChipTextOn:{color:w.color.accent},body:{flex:1},empty:{color:w.color.textTertiary,fontSize:12,textAlign:"center",paddingVertical:24}}),T=D.create({row:{paddingHorizontal:10,paddingVertical:8,borderBottomWidth:D.hairlineWidth,borderBottomColor:w.color.border,gap:5},topLine:{flexDirection:"row",alignItems:"center",gap:6},rank:{width:16,color:w.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},badge:{borderWidth:1,borderRadius:3,paddingHorizontal:4,paddingVertical:1},badgeText:{fontSize:8,fontWeight:"700",letterSpacing:.4},name:{flex:1,color:w.color.text,fontSize:13,fontWeight:"500"},freezeBadge:{color:de.semantic.warning,fontSize:10,fontWeight:"700",fontVariant:["tabular-nums"]},freezeBadgeSevere:{color:de.semantic.error},windowMs:{color:w.color.text,fontSize:13,fontWeight:"700",fontVariant:["tabular-nums"]},unit:{color:w.color.textTertiary,fontSize:10,fontWeight:"400"},pct:{width:38,textAlign:"right",color:w.color.textSecondary,fontSize:12,fontWeight:"600",fontVariant:["tabular-nums"]},pctMuted:{color:w.color.textTertiary},subLine:{flexDirection:"row",alignItems:"center",gap:8,paddingLeft:22},barTrack:{width:72,height:4,borderRadius:2,backgroundColor:w.color.fillSecondary,overflow:"hidden"},barFill:{height:4,borderRadius:2,opacity:.85},stats:{flex:1,color:w.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]}});import{memo as Un}from"react";import{macOSColors as he,night as v,useSafeAreaInsets as _n}from"@buoy-gg/shared-ui/web";import{Fragment as mt,jsx as y,jsxs as R}from"react/jsx-runtime";var pt={timeout:"Work scheduled with setTimeout. Time shown is the callback's exclusive run time on the JS thread.",interval:"A repeating setInterval. One scheduling site, many runs \u2014 a hot interval is the classic silent JS-FPS killer.",immediate:"Work scheduled with setImmediate \u2014 runs at the end of the current event-loop turn.",raf:"requestAnimationFrame work \u2014 runs once per frame while scheduled. Cost here directly trades against 60fps.",microtask:"queueMicrotask work \u2014 runs after the current task, before the thread yields.",then:"Promise reaction (.then/.catch/.finally). Named by the function that attached the reaction. Note: async/await bodies bypass .then and land in the System row instead.",bridge:"A native\u2192JS call-in over the legacy bridge (events, module callbacks), measured as its un-nested remainder.",unattributed:"Thread time the probe measured but no JS wrapper could claim: touch handlers, React commits, native call-ins, and async/await bodies. High here on New Architecture is normal \u2014 it's where UI work lives.",other:"Origins evicted from the table when the registry hit its cap \u2014 their totals are preserved here."};function Qn(e){return pt[e]??pt.other}function N(e){return e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e>=100?`${Math.round(e)}`:`${Math.round(e*100)/100}`}function Gn(e){if(e<=0)return"\u2014";let t=e/1e3;return t<1?"just now":t<60?`${Math.round(t)}s ago`:`${Math.floor(t/60)}m ago`}function H({label:e,value:t,accent:r}){return R(f,{style:m.stat,children:[y(c,{style:m.statLabel,children:e}),y(c,{style:[m.statValue,r?{color:r}:null],children:t})]})}var Yn=Un(function({detail:e}){let t=Re(e.api),r=_n({minBottom:12}),n=Math.max(1,...e.buckets);return R(pe,{style:m.root,contentContainerStyle:{paddingBottom:r.bottom},children:[R(f,{style:m.identityRow,children:[y(f,{style:[m.badge,{borderColor:t.color,backgroundColor:`${t.color}1A`}],children:y(c,{style:[m.badgeText,{color:t.color}],children:t.text})}),y(c,{style:m.name,numberOfLines:2,children:ft(e)})]}),y(c,{style:m.explainer,children:Qn(e.api)}),y(c,{style:m.sectionTitle,children:"ACTIVITY \xB7 LAST 5S"}),y(f,{style:m.chartRow,children:e.buckets.map((o,i)=>y(f,{style:m.chartBarSlot,children:y(f,{style:[m.chartBar,{height:Math.max(2,o/n*44),backgroundColor:t.color}]})},`bk${i}`))}),R(f,{style:m.chartLegend,children:[R(c,{style:m.chartLegendText,children:[N(e.windowMs)," ms in window \xB7 ",e.pctOfBusy.toFixed(1),"% of busy time"]}),R(c,{style:m.chartLegendText,children:["peak ",N(n)," ms/250ms"]})]}),y(c,{style:m.sectionTitle,children:"STATS \xB7 SINCE START"}),R(f,{style:m.statGrid,children:[y(H,{label:"RUNS",value:e.calls>0?N(e.calls):"\u2014"}),y(H,{label:"SCHEDULED",value:e.scheduleCount>0?N(e.scheduleCount):"\u2014"}),y(H,{label:"AVG / RUN",value:e.calls>0?`${N(e.avgMs)} ms`:"\u2014"}),y(H,{label:"MAX / RUN",value:e.maxMs>0?`${N(e.maxMs)} ms`:"\u2014",accent:e.maxMs>=50?he.semantic.warning:void 0}),y(H,{label:"TOTAL",value:e.totalMs>0?`${N(e.totalMs)} ms`:"\u2014"}),y(H,{label:"LAST RUN",value:Gn(e.lastSeenAgoMs)}),y(H,{label:"FREEZES \xB7 60S",value:e.freezes>0?`${e.freezes}`:"0",accent:e.freezes>0?he.semantic.error:void 0}),y(H,{label:"WORST FREEZE",value:e.worstFreezeMs>0?`${e.worstFreezeMs} ms`:"\u2014",accent:e.worstFreezeMs>=100?he.semantic.error:e.worstFreezeMs>0?he.semantic.warning:void 0})]}),(e.caller||(e.frames?.length??0)>0)&&R(mt,{children:[y(c,{style:m.sectionTitle,children:"SCHEDULED FROM"}),R(f,{style:m.siteCard,children:[e.caller&&R(c,{style:m.siteCaller,children:[e.caller,"()"]}),e.file&&R(c,{style:m.siteFile,children:[e.file,e.line!=null?`:${e.line}`:""]}),e.frames?.map((o,i)=>R(c,{style:m.siteFrame,numberOfLines:1,children:[o.file,":",o.line,":",o.col]},`fr${i}`)),y(c,{style:m.siteNote,children:"Frames are bundle offsets (Hermes) \u2014 the caller name above is the readable part. Captured once when this origin got hot."})]})]}),!e.caller&&(e.frames?.length??0)===0&&e.api!=="unattributed"&&e.api!=="other"&&R(mt,{children:[y(c,{style:m.sectionTitle,children:"SCHEDULED FROM"}),y(c,{style:m.sitePending,children:e.promoted?"Stack capture pending \u2014 next schedule from this site will record it.":"Not hot enough yet \u2014 the scheduling stack is captured once an origin passes 25 schedules or 50ms total."})]})]})}),m=D.create({root:{flex:1,backgroundColor:"transparent",paddingHorizontal:12},identityRow:{flexDirection:"row",alignItems:"center",gap:8,paddingTop:12},badge:{borderWidth:1,borderRadius:3,paddingHorizontal:5,paddingVertical:2},badgeText:{fontSize:9,fontWeight:"700",letterSpacing:.4},name:{flex:1,color:v.color.text,fontSize:15,fontWeight:"600"},explainer:{color:v.color.textTertiary,fontSize:11,lineHeight:15,marginTop:6,marginBottom:4},sectionTitle:{color:v.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.5,marginTop:14,marginBottom:6},chartRow:{flexDirection:"row",alignItems:"flex-end",height:48,gap:2,backgroundColor:v.color.surface,borderRadius:6,borderWidth:1,borderColor:v.color.border,paddingHorizontal:6,paddingTop:2},chartBarSlot:{flex:1,alignItems:"center",justifyContent:"flex-end"},chartBar:{width:"70%",borderTopLeftRadius:2,borderTopRightRadius:2,opacity:.9},chartLegend:{flexDirection:"row",justifyContent:"space-between",marginTop:4},chartLegendText:{color:v.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},statGrid:{flexDirection:"row",flexWrap:"wrap",gap:8},stat:{width:"23%",minWidth:76,flexGrow:1,backgroundColor:v.color.surface,borderWidth:1,borderColor:v.color.border,borderRadius:6,paddingHorizontal:8,paddingVertical:6},statLabel:{color:v.color.textTertiary,fontSize:8,fontWeight:"700",letterSpacing:.4,marginBottom:3},statValue:{color:v.color.text,fontSize:13,fontWeight:"600",fontVariant:["tabular-nums"]},siteCard:{backgroundColor:v.color.surface,borderWidth:1,borderColor:v.color.border,borderRadius:6,padding:10,gap:3},siteCaller:{color:v.color.text,fontSize:13,fontWeight:"600"},siteFile:{color:v.color.info,fontSize:11},siteFrame:{color:v.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},siteNote:{color:v.color.textTertiary,fontSize:9,opacity:.8,marginTop:4},sitePending:{color:v.color.textTertiary,fontSize:11}});import{Fragment as Zn,jsx as b,jsxs as W}from"react/jsx-runtime";function bt(e){return e>=80?O.semantic.error:e>=40?O.semantic.warning:O.semantic.success}function Ee(e){return e>=100?O.semantic.error:O.semantic.warning}function Xn(e){let t=e.rows.find(r=>r.api!=="unattributed"&&r.api!=="other");return t&&t.pctOfBusy>=25&&e.busyPct>=15?{color:t.pctOfBusy>=50?O.semantic.error:O.semantic.warning,icon:"\u25B2",text:`${t.label} is eating ${Math.round(t.pctOfBusy)}% of thread time \u2014 start there.`}:e.freezeSummary.count>0?{color:Ee(e.freezeSummary.worstMs),icon:"\u25B2",text:`${e.freezeSummary.count} freeze${e.freezeSummary.count===1?"":"s"} in the last 60s (worst ${e.freezeSummary.worstMs}ms) \u2014 check rows marked \u26A0.`}:e.busyPct>=80?{color:O.semantic.warning,icon:"\u25B2",text:"Thread saturated by UI/React work \u2014 open Highlight Updates to find re-renders."}:{color:O.semantic.success,icon:"\u25CF",text:`Thread healthy at ${Math.round(e.busyPct)}% load \u2014 nothing worth chasing.`}}function gt({visible:e,onClose:t,onBack:r,onMinimize:n,initialModalState:o,minimizeTargetPosition:i,remoteSnapshot:a,remoteActions:s,embedded:l=false}){let u=a!==void 0,[M,F]=ct(null);Rn(()=>{if(!(u||!e))return d.subscribe(F)},[u,e]);let p=u?a:M,g=En(()=>s??{pause:()=>d.pause(),resume:()=>d.resume(),clear:()=>d.clear()},[s]),C=p?.paused??false,fe=(p?.rows.length??0)>0,[me,$e]=ct(null),kt=Bn(j=>$e(j.key),[]),Le=!u&&me?d.getOriginDetail(me):null,We=me!==null,De=W(oe,{children:[We?b(oe.Navigation,{onBack:()=>$e(null)}):r?b(oe.Navigation,{onBack:r}):null,b(oe.Content,{title:"",noMargin:true,children:W(f,{style:x.titleRow,children:[b(Fn,{size:14,color:"#34D399"}),b(c,{style:x.title,children:"JS Top"}),p&&b(f,{style:[x.busyPill,{borderColor:bt(p.busyPct)}],children:W(c,{style:[x.busyText,{color:bt(p.busyPct)}],children:[p.busyPct.toFixed(0),"% BUSY"]})}),p&&p.freezeSummary.count>0&&b(f,{style:[x.busyPill,{borderColor:Ee(p.freezeSummary.worstMs)}],children:W(c,{style:[x.busyText,{color:Ee(p.freezeSummary.worstMs)}],children:["\u26A0 ",p.freezeSummary.count," \xB7"," ",p.freezeSummary.worstMs,"ms"]})})]})}),W(oe.Actions,{children:[b(Z,{onPress:C?g.resume:g.pause,style:[x.actionBtn,C&&x.actionBtnActive],accessibilityLabel:C?"Resume sampling":"Pause sampling",children:C?b(Pn,{size:14,color:z.color.accent}):b(In,{size:14,color:z.color.textSecondary})}),b(Z,{onPress:g.clear,disabled:!fe,style:[x.actionBtn,!fe&&x.actionBtnDisabled],accessibilityLabel:"Clear stats",children:b($n,{size:14,color:fe?z.color.textTertiary:z.color.textTertiary})})]})]}),He=b(f,{style:x.body,children:We?Le?b(Yn,{detail:Le}):b(c,{style:x.waiting,children:"This origin is no longer tracked (cleared or evicted)."}):p?W(Zn,{children:[(()=>{let j=Xn(p);return W(f,{style:[x.diagnosis,{borderLeftColor:j.color}],children:[b(c,{style:[x.diagnosisIcon,{color:j.color}],children:j.icon}),b(c,{style:x.diagnosisText,children:j.text})]})})(),W(f,{style:x.sparklineRow,children:[b(c,{style:x.sparklineCaption,children:"JS THREAD LOAD \xB7 LAST 30s"}),b(Hn,{history:p.busyHistory})]}),!p.tiers.bridge&&b(c,{style:x.tierBanner,children:"\u201CSystem\u201D rows are UI/React/native work pure JS can\u2019t name \u2014 timers, rAF and Promise chains are fully attributed."}),b(Kn,{rows:p.rows,onSelectRow:u?void 0:kt})]}):b(c,{style:x.waiting,children:u?"Waiting for device\u2026":"Starting engine\u2026"})});return l?W(f,{style:x.embeddedRoot,children:[b(f,{style:x.embeddedHeader,children:De}),He]}):b(On,{visible:e,onClose:t,onMinimize:n,minimizeTargetPosition:i,initialModalState:o,header:{showToggleButton:true,customContent:De},persistenceKey:"buoy-js-top-modal",enablePersistence:true,initialMode:"bottomSheet",disableScrollWrapper:true,children:He})}var x=D.create({titleRow:{flexDirection:"row",alignItems:"center",gap:8},title:{color:z.color.text,fontSize:14,fontWeight:"500"},busyPill:{borderWidth:1,borderRadius:4,paddingHorizontal:6,paddingVertical:2},busyText:{fontSize:10,fontWeight:"700",fontVariant:["tabular-nums"]},actionBtn:{width:32,height:32,borderRadius:8,backgroundColor:z.color.buttonSurface,borderWidth:1,borderColor:z.color.border,alignItems:"center",justifyContent:"center"},actionBtnActive:{backgroundColor:z.color.accentSoft,borderColor:z.color.accentBorderStrong},actionBtnDisabled:{opacity:.55},body:{flex:1,minHeight:0,backgroundColor:"transparent"},diagnosis:{flexDirection:"row",alignItems:"center",gap:8,marginHorizontal:10,marginTop:8,paddingHorizontal:10,paddingVertical:8,backgroundColor:z.color.surface,borderRadius:6,borderLeftWidth:3},diagnosisIcon:{fontSize:11,fontWeight:"700"},diagnosisText:{flex:1,color:z.color.text,fontSize:12,lineHeight:16},sparklineRow:{paddingHorizontal:10,paddingVertical:8,gap:4},sparklineCaption:{color:z.color.textTertiary,fontSize:8,fontWeight:"700",letterSpacing:.5},tierBanner:{color:z.color.textTertiary,fontSize:10,paddingHorizontal:10,paddingBottom:6},waiting:{color:z.color.textTertiary,fontSize:12,textAlign:"center",paddingVertical:32},embeddedRoot:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:O.background.base},embeddedHeader:{borderBottomWidth:1,borderBottomColor:O.border.default}});import{useEffect as yt,useState as Mt}from"react";import{macOSColors as Fe,night as Oe}from"@buoy-gg/shared-ui/web";import{jsx as eo,jsxs as xt}from"react/jsx-runtime";function to(e){return e>=80?Fe.semantic.error:e>=40?Fe.semantic.warning:Fe.semantic.success}function ro(){let[e,t]=Mt(()=>d.isEnabled()),[r,n]=Mt(null);if(yt(()=>d.subscribeEnabled(t),[]),yt(()=>{if(!e){n(null);return}return d.subscribe(n)},[e]),!e||!r)return null;let o=r.rows.find(i=>i.api!=="unattributed");return xt(f,{style:Ie.pill,pointerEvents:"none",children:[xt(c,{style:[Ie.busy,{color:to(r.busyPct)}],children:[r.busyPct.toFixed(0),"%"]}),o&&eo(c,{style:Ie.label,numberOfLines:1,children:o.label})]})}var Ie=D.create({pill:{position:"absolute",top:60,left:8,flexDirection:"row",alignItems:"center",gap:6,backgroundColor:Oe.color.buttonSurface,borderWidth:1,borderColor:Oe.color.border,borderRadius:6,paddingHorizontal:8,paddingVertical:4,maxWidth:220},busy:{fontSize:11,fontWeight:"700",fontVariant:["tabular-nums"]},label:{color:Oe.color.textSecondary,fontSize:10,flexShrink:1}});import{useEffect as no,useState as oo}from"react";import{Activity as wt}from"@buoy-gg/shared-ui/web";import{jsx as St}from"react/jsx-runtime";var Pe="#34D399",vt="#6B7280";function io({size:e}){let[t,r]=oo(()=>d.isEnabled());return no(()=>d.subscribeEnabled(r),[]),St(wt,{size:e,color:t?Pe:vt})}function ao(){return null}var so={id:"js-top",name:"JS TOP",description:"Toggle the floating JS-thread busy pill",slot:"row",icon:io,component:ao,props:{},launchMode:"toggle-only",onPress:()=>{d.setEnabled(!d.isEnabled())}},lo={id:"js-top-modal",name:"TASKS",description:"Live Task Manager for the JS thread",slot:"both",icon:({size:e})=>St(wt,{size:e,color:Pe}),component:gt,props:{enableSharedModalDimensions:false}};d.registerTierInstaller(yn);d.registerTierInstaller(Mn);d.registerTierInstaller(kn);d.registerLongtaskProvider(Tn);d.registerFreezeStatsProvider(Cn);d.registerClearHook(zn);try{typeof window<"u"&&(nt(),ot())}catch{}export{vt as JS_TOP_DISABLED_COLOR,Pe as JS_TOP_ENABLED_COLOR,d as JsTopController,ro as JsTopHudOverlay,gt as JsTopModal,lo as jsTopModalPreset,so as jsTopPreset,An as jsTopSyncAdapter};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/js-top",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.42",
|
|
4
4
|
"description": "Inspect instrumented JavaScript timers, promises and callbacks to investigate work on the React Native JS thread.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
],
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@buoy-gg/shared-ui": "^7.0.
|
|
15
|
+
"@buoy-gg/shared-ui": "^7.0.42"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"react": "*",
|
|
19
|
-
"react-native": ">=0.76.0"
|
|
19
|
+
"react-native": ">=0.76.0",
|
|
20
|
+
"react-native-web": "^0.21.0",
|
|
21
|
+
"react-dom": ">=18"
|
|
20
22
|
},
|
|
21
23
|
"devDependencies": {
|
|
22
24
|
"@types/react": "^19.1.0",
|
|
@@ -62,10 +64,42 @@
|
|
|
62
64
|
"js-thread",
|
|
63
65
|
"task-manager"
|
|
64
66
|
],
|
|
67
|
+
"exports": {
|
|
68
|
+
".": {
|
|
69
|
+
"browser": {
|
|
70
|
+
"types": "./lib/typescript/index.d.ts",
|
|
71
|
+
"default": "./lib/web/index.mjs"
|
|
72
|
+
},
|
|
73
|
+
"import": {
|
|
74
|
+
"types": "./lib/typescript/index.d.ts",
|
|
75
|
+
"default": "./lib/module/index.js"
|
|
76
|
+
},
|
|
77
|
+
"require": {
|
|
78
|
+
"types": "./lib/typescript/index.d.ts",
|
|
79
|
+
"default": "./lib/commonjs/index.js"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"./web": {
|
|
83
|
+
"types": "./lib/typescript/index.d.ts",
|
|
84
|
+
"default": "./lib/web/index.mjs"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"peerDependenciesMeta": {
|
|
88
|
+
"react-native": {
|
|
89
|
+
"optional": true
|
|
90
|
+
},
|
|
91
|
+
"react-native-web": {
|
|
92
|
+
"optional": true
|
|
93
|
+
},
|
|
94
|
+
"react-dom": {
|
|
95
|
+
"optional": true
|
|
96
|
+
}
|
|
97
|
+
},
|
|
65
98
|
"scripts": {
|
|
66
|
-
"build": "bob build",
|
|
99
|
+
"build": "bob build && pnpm run build:web",
|
|
67
100
|
"typecheck": "tsc --noEmit",
|
|
68
101
|
"clean": "rimraf lib",
|
|
69
|
-
"test": "pnpm run typecheck"
|
|
102
|
+
"test": "pnpm run typecheck",
|
|
103
|
+
"build:web": "node ../../scripts/build-web.mjs js-top"
|
|
70
104
|
}
|
|
71
105
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_JsTopController","require","_promises","_bridge","_timers","_microtasks","_longtasks","_jsTopSyncAdapter","_JsTopModal","_JsTopHudOverlay","_preset","JsTopController","registerTierInstaller","installPromisePatches","installBridgePatch","installLongtaskObserver","registerLongtaskProvider","getLongtasks","registerFreezeStatsProvider","getFreezeStats","registerClearHook","clearLongtasks","installTimerPatches","installMicrotaskPatches"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AA4BA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAKA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcAU,gCAAe,CAACC,qBAAqB,CAACC,+BAAqB,CAAC;AAC5DF,gCAAe,CAACC,qBAAqB,CAACE,0BAAkB,CAAC;AACzDH,gCAAe,CAACC,qBAAqB,CAACG,kCAAuB,CAAC;AAC9DJ,gCAAe,CAACK,wBAAwB,CAACC,uBAAY,CAAC;AACtDN,gCAAe,CAACO,2BAA2B,CAACC,yBAAc,CAAC;AAC3DR,gCAAe,CAACS,iBAAiB,CAACC,yBAAc,CAAC;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;EACF,IAAAC,2BAAmB,EAAC,CAAC;EACrB,IAAAC,mCAAuB,EAAC,CAAC;AAC3B,CAAC,CAAC,MAAM;EACN;AAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_jsxRuntime","MAX_POINTS","barColor","pct","macOSColors","semantic","error","warning","success","BusySparkline","exports","memo","history","points","slice","jsx","View","style","styles","row","pointerEvents","children","map","i","bar","height","Math","max","backgroundColor","StyleSheet","create","flexDirection","alignItems","gap","alignSelf","flex","maxWidth","borderRadius","opacity"],"sourceRoot":"../../../../src","sources":["js-top/components/BusySparkline.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAiD,IAAAG,WAAA,GAAAH,OAAA;AAPjD;AACA;AACA;AACA;;AAMA,MAAMI,UAAU,GAAG,EAAE;AAErB,SAASC,QAAQA,CAACC,GAAW,EAAU;EACrC,IAAIA,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACC,KAAK;EAChD,IAAIH,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACE,OAAO;EAClD,OAAOH,qBAAW,CAACC,QAAQ,CAACG,OAAO;AACrC;AAEO,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,aAAaA,CAAC;EACvDG;AAGF,CAAC,EAAE;EACD,MAAMC,MAAM,GAAGD,OAAO,CAACE,KAAK,CAAC,CAACb,UAAU,CAAC;EACzC,oBACE,IAAAD,WAAA,CAAAe,GAAA,EAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,GAAI;IAACC,aAAa,EAAC,MAAM;IAAAC,QAAA,EAC1CR,MAAM,CAACS,GAAG,CAAC,CAACnB,GAAG,EAAEoB,CAAC,kBACjB,IAAAvB,WAAA,CAAAe,GAAA,EAACjB,YAAA,CAAAkB;IACC;IACA;IACA;IAAA;MAEAC,KAAK,EAAE,CACLC,MAAM,CAACM,GAAG,EACV;QACEC,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAGxB,GAAG,GAAG,GAAG,GAAI,EAAE,CAAC;QACrCyB,eAAe,EAAE1B,QAAQ,CAACC,GAAG;MAC/B,CAAC;IACD,GAPG,IAAIoB,CAAC,EAQX,CACF;EAAC,CACE,CAAC;AAEX,CAAC,CAAC;AAEF,MAAML,MAAM,GAAGW,uBAAU,CAACC,MAAM,CAAC;EAC/BX,GAAG,EAAE;IACHY,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,UAAU;IACtBC,GAAG,EAAE,CAAC;IACNR,MAAM,EAAE,EAAE;IACVS,SAAS,EAAE;EACb,CAAC;EACDV,GAAG,EAAE;IACHW,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,CAAC;IACXC,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_JsTopController","_jsxRuntime","busyColor","pct","macOSColors","semantic","error","warning","success","JsTopHudOverlay","enabled","setEnabled","useState","JsTopController","isEnabled","snapshot","setSnapshot","useEffect","subscribeEnabled","subscribe","top","rows","find","r","api","jsxs","View","style","styles","pill","pointerEvents","children","Text","busy","color","busyPct","toFixed","jsx","label","numberOfLines","StyleSheet","create","position","left","flexDirection","alignItems","gap","backgroundColor","night","buttonSurface","borderWidth","borderColor","border","borderRadius","paddingHorizontal","paddingVertical","maxWidth","fontSize","fontWeight","fontVariant","textSecondary","flexShrink"],"sourceRoot":"../../../../src","sources":["js-top/components/JsTopHudOverlay.tsx"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAH,OAAA;AAA4D,IAAAI,WAAA,GAAAJ,OAAA;AAX5D;AACA;AACA;AACA;AACA;AACA;;AAQA,SAASK,SAASA,CAACC,GAAW,EAAU;EACtC,IAAIA,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACC,KAAK;EAChD,IAAIH,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACE,OAAO;EAClD,OAAOH,qBAAW,CAACC,QAAQ,CAACG,OAAO;AACrC;AAEO,SAASC,eAAeA,CAAA,EAAG;EAChC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMC,gCAAe,CAACC,SAAS,CAAC,CAAC,CAAC;EACzE,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAuB,IAAI,CAAC;EAEpE,IAAAK,gBAAS,EAAC,MAAMJ,gCAAe,CAACK,gBAAgB,CAACP,UAAU,CAAC,EAAE,EAAE,CAAC;EAEjE,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACP,OAAO,EAAE;MACZM,WAAW,CAAC,IAAI,CAAC;MACjB;IACF;IACA,OAAOH,gCAAe,CAACM,SAAS,CAACH,WAAW,CAAC;EAC/C,CAAC,EAAE,CAACN,OAAO,CAAC,CAAC;EAEb,IAAI,CAACA,OAAO,IAAI,CAACK,QAAQ,EAAE,OAAO,IAAI;EAEtC,MAAMK,GAAG,GAAGL,QAAQ,CAACM,IAAI,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAK,cAAc,CAAC;EAE/D,oBACE,IAAAvB,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAA4B,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAACC,aAAa,EAAC,MAAM;IAAAC,QAAA,gBAC5C,IAAA9B,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAkC,IAAI;MAACL,KAAK,EAAE,CAACC,MAAM,CAACK,IAAI,EAAE;QAAEC,KAAK,EAAEhC,SAAS,CAACa,QAAQ,CAACoB,OAAO;MAAE,CAAC,CAAE;MAAAJ,QAAA,GAChEhB,QAAQ,CAACoB,OAAO,CAACC,OAAO,CAAC,CAAC,CAAC,EAAC,GAC/B;IAAA,CAAM,CAAC,EACNhB,GAAG,iBACF,IAAAnB,WAAA,CAAAoC,GAAA,EAACvC,YAAA,CAAAkC,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACU,KAAM;MAACC,aAAa,EAAE,CAAE;MAAAR,QAAA,EACzCX,GAAG,CAACkB;IAAK,CACN,CACP;EAAA,CACG,CAAC;AAEX;AAEA,MAAMV,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IACJa,QAAQ,EAAE,UAAU;IACpBtB,GAAG,EAAE,EAAE;IACPuB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,CAAC;IACNC,eAAe,EAAEC,eAAK,CAACd,KAAK,CAACe,aAAa;IAC1CC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEH,eAAK,CAACd,KAAK,CAACkB,MAAM;IAC/BC,YAAY,EAAE,CAAC;IACfC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDvB,IAAI,EAAE;IACJwB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE,CAAC,cAAc;EAC9B,CAAC;EACDrB,KAAK,EAAE;IACLJ,KAAK,EAAEc,eAAK,CAACd,KAAK,CAAC0B,aAAa;IAChCH,QAAQ,EAAE,EAAE;IACZI,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_JsTopController","_BusySparkline","_TaskTable","_TaskDetailView","_jsxRuntime","busyColor","pct","macOSColors","semantic","error","warning","success","freezeColor","worstMs","diagnose","s","culprit","rows","find","r","api","pctOfBusy","busyPct","color","icon","text","label","Math","round","freezeSummary","count","JsTopModal","visible","onClose","onBack","onMinimize","initialModalState","minimizeTargetPosition","remoteSnapshot","remoteActions","embedded","isRemote","undefined","localSnapshot","setLocalSnapshot","useState","useEffect","JsTopController","subscribe","snapshot","actions","useMemo","pause","resume","clear","paused","hasData","length","detailKey","setDetailKey","onSelectRow","useCallback","row","key","detail","getOriginDetail","inDetail","headerContent","jsxs","ModalHeader","children","jsx","Navigation","Content","title","noMargin","View","style","styles","titleRow","Activity","size","Text","busyPill","borderColor","busyText","toFixed","Actions","TouchableOpacity","onPress","actionBtn","actionBtnActive","accessibilityLabel","Play","night","accent","Pause","textSecondary","disabled","actionBtnDisabled","Trash2","textTertiary","body","TaskDetailView","waiting","Fragment","d","diagnosis","borderLeftColor","diagnosisIcon","diagnosisText","sparklineRow","sparklineCaption","BusySparkline","history","busyHistory","tiers","bridge","tierBanner","TaskTable","embeddedRoot","embeddedHeader","JsModal","header","showToggleButton","customContent","persistenceKey","enablePersistence","initialMode","disableScrollWrapper","StyleSheet","create","flexDirection","alignItems","gap","fontSize","fontWeight","borderWidth","borderRadius","paddingHorizontal","paddingVertical","fontVariant","width","height","backgroundColor","buttonSurface","border","justifyContent","accentSoft","accentBorderStrong","opacity","flex","minHeight","marginHorizontal","marginTop","surface","borderLeftWidth","lineHeight","letterSpacing","paddingBottom","textAlign","position","top","left","right","bottom","background","base","borderBottomWidth","borderBottomColor","default"],"sourceRoot":"../../../../src","sources":["js-top/components/JsTopModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_TaskTable","_jsxRuntime","API_EXPLAINER","timeout","interval","immediate","raf","microtask","then","bridge","unattributed","other","explainerFor","api","fmt","n","Math","round","toFixed","agoFmt","ms","sec","floor","Stat","label","value","accent","jsxs","View","style","styles","stat","children","jsx","Text","statLabel","statValue","color","TaskDetailView","exports","memo","detail","badge","badgeFor","insets","useSafeAreaInsets","minBottom","maxBucket","max","buckets","ScrollView","root","contentContainerStyle","paddingBottom","bottom","identityRow","borderColor","backgroundColor","badgeText","text","name","numberOfLines","displayName","explainer","sectionTitle","chartRow","map","i","chartBarSlot","chartBar","height","chartLegend","chartLegendText","windowMs","pctOfBusy","statGrid","calls","scheduleCount","avgMs","maxMs","macOSColors","semantic","warning","undefined","totalMs","lastSeenAgoMs","freezes","error","worstFreezeMs","caller","frames","length","Fragment","siteCard","siteCaller","file","siteFile","line","f","siteFrame","col","siteNote","sitePending","promoted","StyleSheet","create","flex","paddingHorizontal","flexDirection","alignItems","gap","paddingTop","borderWidth","borderRadius","paddingVertical","fontSize","fontWeight","letterSpacing","night","textTertiary","lineHeight","marginTop","marginBottom","surface","border","justifyContent","width","borderTopLeftRadius","borderTopRightRadius","opacity","fontVariant","flexWrap","minWidth","flexGrow","padding","info"],"sourceRoot":"../../../../src","sources":["js-top/components/TaskDetailView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_jsxRuntime","SORT_OPTIONS","key","title","API_BADGE","exports","timeout","text","color","prefix","interval","immediate","raf","microtask","then","bridge","unattributed","other","badgeFor","api","displayName","row","name","label","startsWith","slice","length","replace","trim","fmt","n","Math","round","toFixed","statsLine","calls","avgMs","maxMs","totalMs","TaskRow","memo","rank","onPress","badge","Wrapper","TouchableOpacity","View","jsxs","style","rowStyles","activeOpacity","children","topLine","jsx","Text","borderColor","backgroundColor","badgeText","numberOfLines","freezes","freezeBadge","worstFreezeMs","freezeBadgeSevere","windowMs","pctOfBusy","macOSColors","semantic","error","warning","unit","pct","pctMuted","subLine","barTrack","barFill","width","min","stats","prev","next","TaskTable","rows","onSelectRow","sortKey","setSortKey","useState","sorted","sort","a","b","styles","root","sortRow","sortLabel","map","o","sortChip","sortChipOn","sortChipText","sortChipTextOn","ScrollView","body","i","empty","StyleSheet","create","flex","minHeight","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","night","border","surface","textTertiary","fontSize","fontWeight","letterSpacing","marginRight","borderWidth","borderRadius","accentBorderStrong","accentSoft","fontVariant","accent","textAlign","hairlineWidth","textSecondary","paddingLeft","height","fillSecondary","overflow","opacity"],"sourceRoot":"../../../../src","sources":["js-top/components/TaskTable.tsx"],"mappings":"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","ignoreList":[]}
|