@dudousxd/nestjs-agent-dashboard 0.13.0 → 0.13.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-open-console.d.ts","sourceRoot":"","sources":["../../src/react/use-open-console.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,KAAK,kBAAkB,EAGxB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,uEAAuE;IACvE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,kBAAuB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"use-open-console.d.ts","sourceRoot":"","sources":["../../src/react/use-open-console.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,KAAK,kBAAkB,EAGxB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,uEAAuE;IACvE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,kBAAuB,GAAG,oBAAoB,CA2D1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,kBAAuB,GAAG;IACjF,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAKA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useRef, useState } from 'react';
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import { ConsoleSessionError, agentConsoleSessionUrl, openAgentConsole, } from '../client/console-session.js';
|
|
3
3
|
export function useOpenAgentConsole(options = {}) {
|
|
4
4
|
const [isPending, setIsPending] = useState(false);
|
|
@@ -15,6 +15,9 @@ export function useOpenAgentConsole(options = {}) {
|
|
|
15
15
|
// Deliberately NOT clearing `isPending` on success: the navigation is already underway and
|
|
16
16
|
// this component is about to be torn down. Flipping the button back to idle first produces
|
|
17
17
|
// a visible flicker of "ready to click again" on a page that is leaving.
|
|
18
|
+
//
|
|
19
|
+
// "About to be torn down" is true only until the user presses Back — see the `pageshow`
|
|
20
|
+
// effect below, which is the other half of this decision.
|
|
18
21
|
})
|
|
19
22
|
.catch((cause) => {
|
|
20
23
|
setError(cause instanceof ConsoleSessionError
|
|
@@ -25,6 +28,27 @@ export function useOpenAgentConsole(options = {}) {
|
|
|
25
28
|
setIsPending(false);
|
|
26
29
|
});
|
|
27
30
|
}, []);
|
|
31
|
+
// The success path above leaves `isPending` stuck on purpose, which is only correct while the
|
|
32
|
+
// page really is dying. It often isn't: `openAgentConsole` navigates with `location.assign`, and
|
|
33
|
+
// a browser back/forward-cache hit FREEZES this page instead of destroying it — pressing Back
|
|
34
|
+
// restores this component with the React state it fell asleep with, so the launcher wakes up
|
|
35
|
+
// showing a spinner on a button that is disabled forever. Only a bfcache restore fires `pageshow`
|
|
36
|
+
// with `persisted: true`, which makes it the one signal that distinguishes "you came back" from
|
|
37
|
+
// "you loaded"; keying off anything looser (a plain `pageshow`, `visibilitychange`, `focus`)
|
|
38
|
+
// would also fire while a mint is genuinely in flight and reintroduce the flicker the comment
|
|
39
|
+
// above exists to prevent. So: clear it here, and ONLY here.
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
// Guarded rather than assumed: this hook ships in a published package and hosts render it
|
|
42
|
+
// through SSR, where `window` does not exist. (`window` is never touched at module scope.)
|
|
43
|
+
if (typeof window === 'undefined')
|
|
44
|
+
return;
|
|
45
|
+
const onPageShow = (event) => {
|
|
46
|
+
if (event.persisted)
|
|
47
|
+
setIsPending(false);
|
|
48
|
+
};
|
|
49
|
+
window.addEventListener('pageshow', onPageShow);
|
|
50
|
+
return () => window.removeEventListener('pageshow', onPageShow);
|
|
51
|
+
}, []);
|
|
28
52
|
const reset = useCallback(() => setError(null), []);
|
|
29
53
|
return { open, isPending, error, reset };
|
|
30
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-open-console.js","sourceRoot":"","sources":["../../src/react/use-open-console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-open-console.js","sourceRoot":"","sources":["../../src/react/use-open-console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAqBtC,MAAM,UAAU,mBAAmB,CAAC,UAA8B,EAAE;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAErE,kGAAkG;IAClG,wFAAwF;IACxF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;aACtC,IAAI,CAAC,GAAG,EAAE;YACT,2FAA2F;YAC3F,2FAA2F;YAC3F,yEAAyE;YACzE,EAAE;YACF,wFAAwF;YACxF,0DAA0D;QAC5D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,QAAQ,CACN,KAAK,YAAY,mBAAmB;gBAClC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,mFAAmF;oBACnF,qFAAqF;oBACrF,IAAI,mBAAmB,CACrB,MAAM,CAAC,KAAK,CAAC,EACb,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpD,CACN,CAAC;YACF,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,8FAA8F;IAC9F,iGAAiG;IACjG,8FAA8F;IAC9F,6FAA6F;IAC7F,kGAAkG;IAClG,gGAAgG;IAChG,6FAA6F;IAC7F,8FAA8F;IAC9F,6DAA6D;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,0FAA0F;QAC1F,2FAA2F;QAC3F,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,MAAM,UAAU,GAAG,CAAC,KAA0B,EAAE,EAAE;YAChD,IAAI,KAAK,CAAC,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAAC,UAA8B,EAAE;IAI9E,OAAO;QACL,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAU;QAC5E,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|