ugly-app 0.1.588 → 0.1.590
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/.pgdata/global/1262 +0 -0
- package/.pgdata/global/2671 +0 -0
- package/.pgdata/global/2672 +0 -0
- package/.pgdata/global/pg_control +0 -0
- package/.pgdata/pg_wal/000000010000000000000009 +0 -0
- package/.pgdata/pg_xact/0000 +0 -0
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/client/Screenshot.js +1 -1
- package/dist/client/Screenshot.js.map +1 -1
- package/dist/client/auth/startLogin.d.ts +20 -1
- package/dist/client/auth/startLogin.d.ts.map +1 -1
- package/dist/client/auth/startLogin.js +87 -1
- package/dist/client/auth/startLogin.js.map +1 -1
- package/dist/client/bootstrapApp.d.ts +8 -0
- package/dist/client/bootstrapApp.d.ts.map +1 -1
- package/dist/client/bootstrapApp.js +8 -11
- package/dist/client/bootstrapApp.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/client/Screenshot.ts +1 -1
- package/src/client/auth/startLogin.ts +82 -1
- package/src/client/bootstrapApp.tsx +16 -11
- package/src/client/index.ts +1 -1
- package/test-results/.last-run.json +24 -2
- package/test-results/test-pages--auth-demo-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-ai-runs-textGen-and-returns-a-response-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-audio-TTS-68f5e--audio-when-Play-is-clicked-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-chat-load-b9223-t-on-Workers-/342/200/224-page-mounts--chromium/error-context.md +226 -0
- package/test-results/test-pages--test-collab-lo-ae96d-t-on-Workers-/342/200/224-page-mounts--chromium/error-context.md +226 -0
- package/test-results/test-pages--test-email-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-errors-ha-fe332-rror-click-without-crashing-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-index-page-lists-the-test-suite-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-inspect-fixture-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-inspect-fixture-other-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-push-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-safe-area-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-scroll-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-search-ru-19f57-red-search-proxy-infra-TBD--chromium/error-context.md +226 -0
- package/test-results/test-pages--test-strings-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-three-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-todo-load-dbf6f-creates-a-todo-list-updates-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-ui-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-upload-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-video-room-loads-chromium/error-context.md +226 -0
- package/test-results/test-pages--test-worker-runs-a-DB-mutation-worker-round-trip-chromium/error-context.md +226 -0
package/.pgdata/global/1262
CHANGED
|
Binary file
|
package/.pgdata/global/2671
CHANGED
|
Binary file
|
package/.pgdata/global/2672
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/.pgdata/pg_xact/0000
CHANGED
|
Binary file
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.590";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screenshot.js","sourceRoot":"","sources":["../../src/client/Screenshot.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,KAAK,UAAU,qBAAqB;IAClC,IACE,OAAO,SAAS,KAAK,WAAW;QAChC,CAAC,SAAS,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"Screenshot.js","sourceRoot":"","sources":["../../src/client/Screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,25 @@ export interface StartLoginOptions {
|
|
|
11
11
|
* `redirectTo` (or `/`), where the framework's LoginPopup handles sign-in.
|
|
12
12
|
*/
|
|
13
13
|
export declare function startUglyBotLogin(opts?: StartLoginOptions): void;
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Non-blocking silent SSO for apex-domain apps (ugly.chat, ugly.press, …) that
|
|
16
|
+
* don't share ugly.bot's `auth_token` cookie. Renders nothing and blocks
|
|
17
|
+
* nothing: it drops a hidden iframe pointed at ugly.bot's `/oauth/silent`, which
|
|
18
|
+
* — if the visitor already has a ugly.bot session — posts back a one-time code
|
|
19
|
+
* we redeem via `/auth/verify`, then reloads (so the server re-renders
|
|
20
|
+
* authenticated). If the visitor isn't logged into ugly.bot (or it times out),
|
|
21
|
+
* the iframe is removed and the page stays as it rendered.
|
|
22
|
+
*
|
|
23
|
+
* Replaces the old AutoLoginGate, which blocked first paint ~4s on the handshake.
|
|
24
|
+
* Call AFTER the app has rendered. Runs at most once per tab.
|
|
25
|
+
*/
|
|
26
|
+
export declare function attemptSilentSso(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Best-effort check for an existing session (not a validity guarantee). The
|
|
29
|
+
* `auth_token` cookie is HttpOnly — invisible to `document.cookie` — so the
|
|
30
|
+
* reliable signal is the server-injected `window.__AUTH_TOKEN__` (set by the
|
|
31
|
+
* Workers/Node HTML wrapper when the cookie verifies). Fall back to a
|
|
32
|
+
* non-HttpOnly cookie for older/self-host setups.
|
|
33
|
+
*/
|
|
15
34
|
export declare function hasSessionCookie(): boolean;
|
|
16
35
|
//# sourceMappingURL=startLogin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startLogin.d.ts","sourceRoot":"","sources":["../../../src/client/auth/startLogin.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,iBAAsB,GAAG,IAAI,CAmCpE;AAED,
|
|
1
|
+
{"version":3,"file":"startLogin.d.ts","sourceRoot":"","sources":["../../../src/client/auth/startLogin.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,iBAAsB,GAAG,IAAI,CAmCpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAyDvC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C"}
|
|
@@ -53,8 +53,94 @@ export function startUglyBotLogin(opts = {}) {
|
|
|
53
53
|
};
|
|
54
54
|
window.addEventListener('message', handler);
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Non-blocking silent SSO for apex-domain apps (ugly.chat, ugly.press, …) that
|
|
58
|
+
* don't share ugly.bot's `auth_token` cookie. Renders nothing and blocks
|
|
59
|
+
* nothing: it drops a hidden iframe pointed at ugly.bot's `/oauth/silent`, which
|
|
60
|
+
* — if the visitor already has a ugly.bot session — posts back a one-time code
|
|
61
|
+
* we redeem via `/auth/verify`, then reloads (so the server re-renders
|
|
62
|
+
* authenticated). If the visitor isn't logged into ugly.bot (or it times out),
|
|
63
|
+
* the iframe is removed and the page stays as it rendered.
|
|
64
|
+
*
|
|
65
|
+
* Replaces the old AutoLoginGate, which blocked first paint ~4s on the handshake.
|
|
66
|
+
* Call AFTER the app has rendered. Runs at most once per tab.
|
|
67
|
+
*/
|
|
68
|
+
export function attemptSilentSso() {
|
|
69
|
+
if (typeof window === 'undefined' || typeof document === 'undefined')
|
|
70
|
+
return;
|
|
71
|
+
try {
|
|
72
|
+
if (sessionStorage.getItem('uglySilentSsoTried'))
|
|
73
|
+
return;
|
|
74
|
+
sessionStorage.setItem('uglySilentSsoTried', '1');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
/* private mode — proceed without the once-per-tab guard */
|
|
78
|
+
}
|
|
79
|
+
const origin = window.location.origin;
|
|
80
|
+
const iframe = document.createElement('iframe');
|
|
81
|
+
iframe.setAttribute('aria-hidden', 'true');
|
|
82
|
+
iframe.title = 'auth-check';
|
|
83
|
+
iframe.style.cssText =
|
|
84
|
+
'position:absolute;width:0;height:0;border:0;visibility:hidden;pointer-events:none';
|
|
85
|
+
iframe.src = `${UGLY_BOT_URL}/oauth/silent?origin=${encodeURIComponent(origin)}`;
|
|
86
|
+
let settled = false;
|
|
87
|
+
let timer = 0;
|
|
88
|
+
const cleanup = () => {
|
|
89
|
+
window.removeEventListener('message', handler);
|
|
90
|
+
if (timer)
|
|
91
|
+
window.clearTimeout(timer);
|
|
92
|
+
iframe.remove();
|
|
93
|
+
};
|
|
94
|
+
const handler = (event) => {
|
|
95
|
+
if (event.origin !== UGLY_BOT_URL)
|
|
96
|
+
return;
|
|
97
|
+
const data = event.data;
|
|
98
|
+
if (data?.type !== 'ugly-bot-oauth-silent')
|
|
99
|
+
return;
|
|
100
|
+
if (settled)
|
|
101
|
+
return;
|
|
102
|
+
settled = true;
|
|
103
|
+
if (!data.code) {
|
|
104
|
+
cleanup(); // not logged into ugly.bot — stay as rendered
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
void (async () => {
|
|
108
|
+
try {
|
|
109
|
+
const res = await fetch('/auth/verify', {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
headers: { 'Content-Type': 'application/json' },
|
|
112
|
+
body: JSON.stringify({ code: data.code }),
|
|
113
|
+
});
|
|
114
|
+
cleanup();
|
|
115
|
+
if (res.ok)
|
|
116
|
+
window.location.reload();
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
cleanup();
|
|
120
|
+
}
|
|
121
|
+
})();
|
|
122
|
+
};
|
|
123
|
+
window.addEventListener('message', handler);
|
|
124
|
+
timer = window.setTimeout(() => {
|
|
125
|
+
if (!settled) {
|
|
126
|
+
settled = true;
|
|
127
|
+
cleanup();
|
|
128
|
+
}
|
|
129
|
+
}, 6000);
|
|
130
|
+
document.body.appendChild(iframe);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Best-effort check for an existing session (not a validity guarantee). The
|
|
134
|
+
* `auth_token` cookie is HttpOnly — invisible to `document.cookie` — so the
|
|
135
|
+
* reliable signal is the server-injected `window.__AUTH_TOKEN__` (set by the
|
|
136
|
+
* Workers/Node HTML wrapper when the cookie verifies). Fall back to a
|
|
137
|
+
* non-HttpOnly cookie for older/self-host setups.
|
|
138
|
+
*/
|
|
57
139
|
export function hasSessionCookie() {
|
|
140
|
+
if (typeof window !== 'undefined' &&
|
|
141
|
+
window.__AUTH_TOKEN__) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
58
144
|
if (typeof document === 'undefined')
|
|
59
145
|
return false;
|
|
60
146
|
return /(?:^|;\s*)auth_token=[^;]+/.test(document.cookie);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startLogin.js","sourceRoot":"","sources":["../../../src/client/auth/startLogin.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,+DAA+D;AAE/D,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,WAAW;IAC3B,CAAC,CAAC,CAAE,MAA4C,CAAC,gBAAgB;QAC7D,kBAAkB,CAAC;IACvB,CAAC,CAAC,kBAAkB,CAAC;AASzB;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA0B,EAAE;IAC5D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,GAAG,YAAY,iBAAiB,MAAM,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,GAAG,EACH,gBAAgB,EAChB,uCAAuC,CACxC,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,mEAAmE;QACnE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,EAAE,KAAmB,EAAiB,EAAE;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+C,CAAC;QACnE,IAAI,IAAI,EAAE,IAAI,KAAK,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAC1D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;;gBACvD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,mFAAmF;
|
|
1
|
+
{"version":3,"file":"startLogin.js","sourceRoot":"","sources":["../../../src/client/auth/startLogin.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@ interface BootstrapAppOptions {
|
|
|
24
24
|
strings?: StringsProviderConfig;
|
|
25
25
|
/** Disable the framework-level KeyboardProvider wrapper. Defaults to enabled. */
|
|
26
26
|
keyboard?: false;
|
|
27
|
+
/**
|
|
28
|
+
* Apex-domain apps (ugly.chat, ugly.press, …) that use ugly.bot as their auth
|
|
29
|
+
* authority but don't share its cookie. When true, a logged-out boot attempts
|
|
30
|
+
* a non-blocking silent SSO against ugly.bot (see `attemptSilentSso`). Leave
|
|
31
|
+
* unset for `*.ugly.bot` subdomains (they already share the cookie) and for
|
|
32
|
+
* self-auth (Mode B) apps.
|
|
33
|
+
*/
|
|
34
|
+
silentSso?: boolean;
|
|
27
35
|
}
|
|
28
36
|
export declare function bootstrapApp(options: BootstrapAppOptions): void;
|
|
29
37
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapApp.d.ts","sourceRoot":"","sources":["../../src/client/bootstrapApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrapApp.d.ts","sourceRoot":"","sources":["../../src/client/bootstrapApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAUzE,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAInF,UAAU,mBAAmB;IAC3B,mFAAmF;IACnF,QAAQ,EAAE,eAAe,CAAC;IAE1B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,uDAAuD;IACvD,cAAc,EAAE,aAAa,CAAC;QAC5B,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;KACjC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,MAAM,EAAE,MAAM,YAAY,CAAC;IAE3B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAE5B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qFAAqF;IACrF,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CA8I/D"}
|
|
@@ -5,6 +5,7 @@ import { frameworkRequests } from '../shared/FrameworkRequests.js';
|
|
|
5
5
|
import { initAppApi } from './AppApi.js';
|
|
6
6
|
import { AppProvider } from './AppProvider.js';
|
|
7
7
|
import { MagicLinkCallback } from './auth/MagicLinkCallback.js';
|
|
8
|
+
import { attemptSilentSso } from './auth/startLogin.js';
|
|
8
9
|
import { KeyboardProvider } from './components/KeyboardProvider.js';
|
|
9
10
|
import { createSocket } from './createSocket.js';
|
|
10
11
|
import { installInspect } from './inspect/index.js';
|
|
@@ -39,18 +40,14 @@ export function bootstrapApp(options) {
|
|
|
39
40
|
if (oauthCode) {
|
|
40
41
|
void (async () => {
|
|
41
42
|
try {
|
|
42
|
-
|
|
43
|
+
await fetch('/auth/verify', {
|
|
43
44
|
method: 'POST',
|
|
44
45
|
headers: { 'Content-Type': 'application/json' },
|
|
45
46
|
body: JSON.stringify({ code: oauthCode }),
|
|
46
47
|
});
|
|
47
|
-
const body = await res.text().catch(() => '');
|
|
48
|
-
// eslint-disable-next-line no-console
|
|
49
|
-
console.log('[LoginBoot] verify', res.status, body.slice(0, 200));
|
|
50
48
|
}
|
|
51
|
-
catch
|
|
52
|
-
//
|
|
53
|
-
console.log('[LoginBoot] verify threw', String(e));
|
|
49
|
+
catch {
|
|
50
|
+
// Fall through — the reload renders logged-out and the user can retry.
|
|
54
51
|
}
|
|
55
52
|
// Strip the single-use code, then full-reload so the server picks up the
|
|
56
53
|
// (now set) auth cookie. `replace` keeps the code-bearing URL out of
|
|
@@ -81,10 +78,12 @@ export function bootstrapApp(options) {
|
|
|
81
78
|
? _jsx(KeyboardProvider, { children: withStrings })
|
|
82
79
|
: withStrings);
|
|
83
80
|
}
|
|
84
|
-
// eslint-disable-next-line no-console
|
|
85
|
-
console.log('[LoginBoot] boot token present?', !!token, 'cookie:', typeof document !== 'undefined' ? document.cookie.slice(0, 80) : 'n/a');
|
|
86
81
|
if (!token) {
|
|
87
82
|
renderWithRouter(false, renderApp());
|
|
83
|
+
// Apex apps: try to adopt an existing ugly.bot session in the background
|
|
84
|
+
// (non-blocking — the app has already rendered).
|
|
85
|
+
if (options.silentSso)
|
|
86
|
+
attemptSilentSso();
|
|
88
87
|
return;
|
|
89
88
|
}
|
|
90
89
|
const userId = (JSON.parse(atob(token.split('.')[1]))).sub;
|
|
@@ -110,8 +109,6 @@ export function bootstrapApp(options) {
|
|
|
110
109
|
renderWithRouter(true, _jsx(AppProvider, { socket: socket, uglyBotSocket: uglyBotSocket, userId: userId, user: user, children: renderApp() }));
|
|
111
110
|
})
|
|
112
111
|
.catch((err) => {
|
|
113
|
-
// eslint-disable-next-line no-console
|
|
114
|
-
console.log('[LoginBoot] socket.connect FAILED', String(err));
|
|
115
112
|
console.error('[bootstrapApp] socket.connect failed, clearing auth cookie:', err);
|
|
116
113
|
document.cookie = 'auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
|
|
117
114
|
renderWithRouter(false, renderApp());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapApp.js","sourceRoot":"","sources":["../../src/client/bootstrapApp.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAA8B,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrapApp.js","sourceRoot":"","sources":["../../src/client/bootstrapApp.tsx"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export { captureClientError } from './ErrorLog.js';
|
|
|
46
46
|
export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
|
|
47
47
|
export { getConsoleBuffer, initClientLogger } from './Logger.js';
|
|
48
48
|
export { LoginPopup } from './LoginPopup.js';
|
|
49
|
-
export { startUglyBotLogin, hasSessionCookie } from './auth/startLogin.js';
|
|
49
|
+
export { startUglyBotLogin, hasSessionCookie, attemptSilentSso } from './auth/startLogin.js';
|
|
50
50
|
export type { StartLoginOptions } from './auth/startLogin.js';
|
|
51
51
|
export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
|
|
52
52
|
export type { PopupHandle, PopupLayerProps, PopupOptions, RouterContextValue, } from './Router.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -30,7 +30,7 @@ export { captureClientError } from './ErrorLog.js';
|
|
|
30
30
|
export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
|
|
31
31
|
export { getConsoleBuffer, initClientLogger } from './Logger.js';
|
|
32
32
|
export { LoginPopup } from './LoginPopup.js';
|
|
33
|
-
export { startUglyBotLogin, hasSessionCookie } from './auth/startLogin.js';
|
|
33
|
+
export { startUglyBotLogin, hasSessionCookie, attemptSilentSso } from './auth/startLogin.js';
|
|
34
34
|
export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
|
|
35
35
|
export { captureElementMap, captureScreenshot } from './Screenshot.js';
|
|
36
36
|
export { installInspect } from './inspect/index.js';
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAEzH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE5F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAEzH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE5F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
package/package.json
CHANGED
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.590";
|
package/src/client/Screenshot.ts
CHANGED
|
@@ -25,7 +25,7 @@ interface UglyBridgeWindow {
|
|
|
25
25
|
async function captureViaUglyBrowser(): Promise<string | null> {
|
|
26
26
|
if (
|
|
27
27
|
typeof navigator === 'undefined' ||
|
|
28
|
-
!navigator.userAgent
|
|
28
|
+
!navigator.userAgent?.includes('UglyBrowser') ||
|
|
29
29
|
typeof window === 'undefined'
|
|
30
30
|
) {
|
|
31
31
|
return null;
|
|
@@ -63,8 +63,89 @@ export function startUglyBotLogin(opts: StartLoginOptions = {}): void {
|
|
|
63
63
|
window.addEventListener('message', handler);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Non-blocking silent SSO for apex-domain apps (ugly.chat, ugly.press, …) that
|
|
68
|
+
* don't share ugly.bot's `auth_token` cookie. Renders nothing and blocks
|
|
69
|
+
* nothing: it drops a hidden iframe pointed at ugly.bot's `/oauth/silent`, which
|
|
70
|
+
* — if the visitor already has a ugly.bot session — posts back a one-time code
|
|
71
|
+
* we redeem via `/auth/verify`, then reloads (so the server re-renders
|
|
72
|
+
* authenticated). If the visitor isn't logged into ugly.bot (or it times out),
|
|
73
|
+
* the iframe is removed and the page stays as it rendered.
|
|
74
|
+
*
|
|
75
|
+
* Replaces the old AutoLoginGate, which blocked first paint ~4s on the handshake.
|
|
76
|
+
* Call AFTER the app has rendered. Runs at most once per tab.
|
|
77
|
+
*/
|
|
78
|
+
export function attemptSilentSso(): void {
|
|
79
|
+
if (typeof window === 'undefined' || typeof document === 'undefined') return;
|
|
80
|
+
try {
|
|
81
|
+
if (sessionStorage.getItem('uglySilentSsoTried')) return;
|
|
82
|
+
sessionStorage.setItem('uglySilentSsoTried', '1');
|
|
83
|
+
} catch {
|
|
84
|
+
/* private mode — proceed without the once-per-tab guard */
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const origin = window.location.origin;
|
|
88
|
+
const iframe = document.createElement('iframe');
|
|
89
|
+
iframe.setAttribute('aria-hidden', 'true');
|
|
90
|
+
iframe.title = 'auth-check';
|
|
91
|
+
iframe.style.cssText =
|
|
92
|
+
'position:absolute;width:0;height:0;border:0;visibility:hidden;pointer-events:none';
|
|
93
|
+
iframe.src = `${UGLY_BOT_URL}/oauth/silent?origin=${encodeURIComponent(origin)}`;
|
|
94
|
+
|
|
95
|
+
let settled = false;
|
|
96
|
+
let timer = 0;
|
|
97
|
+
const cleanup = (): void => {
|
|
98
|
+
window.removeEventListener('message', handler);
|
|
99
|
+
if (timer) window.clearTimeout(timer);
|
|
100
|
+
iframe.remove();
|
|
101
|
+
};
|
|
102
|
+
const handler = (event: MessageEvent): void => {
|
|
103
|
+
if (event.origin !== UGLY_BOT_URL) return;
|
|
104
|
+
const data = event.data as { type?: string; code?: string | null } | null;
|
|
105
|
+
if (data?.type !== 'ugly-bot-oauth-silent') return;
|
|
106
|
+
if (settled) return;
|
|
107
|
+
settled = true;
|
|
108
|
+
if (!data.code) {
|
|
109
|
+
cleanup(); // not logged into ugly.bot — stay as rendered
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
void (async () => {
|
|
113
|
+
try {
|
|
114
|
+
const res = await fetch('/auth/verify', {
|
|
115
|
+
method: 'POST',
|
|
116
|
+
headers: { 'Content-Type': 'application/json' },
|
|
117
|
+
body: JSON.stringify({ code: data.code }),
|
|
118
|
+
});
|
|
119
|
+
cleanup();
|
|
120
|
+
if (res.ok) window.location.reload();
|
|
121
|
+
} catch {
|
|
122
|
+
cleanup();
|
|
123
|
+
}
|
|
124
|
+
})();
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
window.addEventListener('message', handler);
|
|
128
|
+
timer = window.setTimeout(() => {
|
|
129
|
+
if (!settled) {
|
|
130
|
+
settled = true;
|
|
131
|
+
cleanup();
|
|
132
|
+
}
|
|
133
|
+
}, 6000);
|
|
134
|
+
document.body.appendChild(iframe);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Best-effort check for an existing session (not a validity guarantee). The
|
|
139
|
+
* `auth_token` cookie is HttpOnly — invisible to `document.cookie` — so the
|
|
140
|
+
* reliable signal is the server-injected `window.__AUTH_TOKEN__` (set by the
|
|
141
|
+
* Workers/Node HTML wrapper when the cookie verifies). Fall back to a
|
|
142
|
+
* non-HttpOnly cookie for older/self-host setups.
|
|
143
|
+
*/
|
|
67
144
|
export function hasSessionCookie(): boolean {
|
|
145
|
+
if (typeof window !== 'undefined' &&
|
|
146
|
+
(window as unknown as Record<string, unknown>).__AUTH_TOKEN__) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
68
149
|
if (typeof document === 'undefined') return false;
|
|
69
150
|
return /(?:^|;\s*)auth_token=[^;]+/.test(document.cookie);
|
|
70
151
|
}
|
|
@@ -6,6 +6,7 @@ import { frameworkRequests } from '../shared/FrameworkRequests.js';
|
|
|
6
6
|
import { initAppApi } from './AppApi.js';
|
|
7
7
|
import { AppProvider } from './AppProvider.js';
|
|
8
8
|
import { MagicLinkCallback } from './auth/MagicLinkCallback.js';
|
|
9
|
+
import { attemptSilentSso } from './auth/startLogin.js';
|
|
9
10
|
import { KeyboardProvider } from './components/KeyboardProvider.js';
|
|
10
11
|
import { createSocket } from './createSocket.js';
|
|
11
12
|
import { installInspect } from './inspect/index.js';
|
|
@@ -44,6 +45,15 @@ interface BootstrapAppOptions {
|
|
|
44
45
|
|
|
45
46
|
/** Disable the framework-level KeyboardProvider wrapper. Defaults to enabled. */
|
|
46
47
|
keyboard?: false;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Apex-domain apps (ugly.chat, ugly.press, …) that use ugly.bot as their auth
|
|
51
|
+
* authority but don't share its cookie. When true, a logged-out boot attempts
|
|
52
|
+
* a non-blocking silent SSO against ugly.bot (see `attemptSilentSso`). Leave
|
|
53
|
+
* unset for `*.ugly.bot` subdomains (they already share the cookie) and for
|
|
54
|
+
* self-auth (Mode B) apps.
|
|
55
|
+
*/
|
|
56
|
+
silentSso?: boolean;
|
|
47
57
|
}
|
|
48
58
|
|
|
49
59
|
const w = typeof window !== 'undefined' ? window as unknown as Record<string, string | undefined> : {} as Record<string, string | undefined>;
|
|
@@ -89,17 +99,13 @@ export function bootstrapApp(options: BootstrapAppOptions): void {
|
|
|
89
99
|
if (oauthCode) {
|
|
90
100
|
void (async () => {
|
|
91
101
|
try {
|
|
92
|
-
|
|
102
|
+
await fetch('/auth/verify', {
|
|
93
103
|
method: 'POST',
|
|
94
104
|
headers: { 'Content-Type': 'application/json' },
|
|
95
105
|
body: JSON.stringify({ code: oauthCode }),
|
|
96
106
|
});
|
|
97
|
-
|
|
98
|
-
//
|
|
99
|
-
console.log('[LoginBoot] verify', res.status, body.slice(0, 200));
|
|
100
|
-
} catch (e) {
|
|
101
|
-
// eslint-disable-next-line no-console
|
|
102
|
-
console.log('[LoginBoot] verify threw', String(e));
|
|
107
|
+
} catch {
|
|
108
|
+
// Fall through — the reload renders logged-out and the user can retry.
|
|
103
109
|
}
|
|
104
110
|
// Strip the single-use code, then full-reload so the server picks up the
|
|
105
111
|
// (now set) auth cookie. `replace` keeps the code-bearing URL out of
|
|
@@ -151,10 +157,11 @@ export function bootstrapApp(options: BootstrapAppOptions): void {
|
|
|
151
157
|
);
|
|
152
158
|
}
|
|
153
159
|
|
|
154
|
-
// eslint-disable-next-line no-console
|
|
155
|
-
console.log('[LoginBoot] boot token present?', !!token, 'cookie:', typeof document !== 'undefined' ? document.cookie.slice(0, 80) : 'n/a');
|
|
156
160
|
if (!token) {
|
|
157
161
|
renderWithRouter(false, renderApp());
|
|
162
|
+
// Apex apps: try to adopt an existing ugly.bot session in the background
|
|
163
|
+
// (non-blocking — the app has already rendered).
|
|
164
|
+
if (options.silentSso) attemptSilentSso();
|
|
158
165
|
return;
|
|
159
166
|
}
|
|
160
167
|
|
|
@@ -189,8 +196,6 @@ export function bootstrapApp(options: BootstrapAppOptions): void {
|
|
|
189
196
|
);
|
|
190
197
|
})
|
|
191
198
|
.catch((err: unknown) => {
|
|
192
|
-
// eslint-disable-next-line no-console
|
|
193
|
-
console.log('[LoginBoot] socket.connect FAILED', String(err));
|
|
194
199
|
console.error('[bootstrapApp] socket.connect failed, clearing auth cookie:', err);
|
|
195
200
|
document.cookie = 'auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
|
|
196
201
|
renderWithRouter(false, renderApp());
|
package/src/client/index.ts
CHANGED
|
@@ -106,7 +106,7 @@ export {
|
|
|
106
106
|
} from './FeedbackContext.js';
|
|
107
107
|
export { getConsoleBuffer, initClientLogger } from './Logger.js';
|
|
108
108
|
export { LoginPopup } from './LoginPopup.js';
|
|
109
|
-
export { startUglyBotLogin, hasSessionCookie } from './auth/startLogin.js';
|
|
109
|
+
export { startUglyBotLogin, hasSessionCookie, attemptSilentSso } from './auth/startLogin.js';
|
|
110
110
|
export type { StartLoginOptions } from './auth/startLogin.js';
|
|
111
111
|
export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
|
|
112
112
|
export type {
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"status": "
|
|
3
|
-
"failedTests": [
|
|
2
|
+
"status": "failed",
|
|
3
|
+
"failedTests": [
|
|
4
|
+
"ecb270801e64470c7eb3-7bd7723f288943e8aabb",
|
|
5
|
+
"ecb270801e64470c7eb3-49f7f877f37e128d25bb",
|
|
6
|
+
"ecb270801e64470c7eb3-2f6a83dae9cb58ba3509",
|
|
7
|
+
"ecb270801e64470c7eb3-7315e9784748367c9789",
|
|
8
|
+
"ecb270801e64470c7eb3-1ae48316684d1a048871",
|
|
9
|
+
"ecb270801e64470c7eb3-f4ec10d203302497169d",
|
|
10
|
+
"ecb270801e64470c7eb3-dd7cdcd247d4756c74f0",
|
|
11
|
+
"ecb270801e64470c7eb3-d3a925b0be598e672110",
|
|
12
|
+
"ecb270801e64470c7eb3-44f9c598fd2f3c906315",
|
|
13
|
+
"ecb270801e64470c7eb3-fda4b364ebd825845b53",
|
|
14
|
+
"ecb270801e64470c7eb3-a1b79047fb2f5b90d955",
|
|
15
|
+
"ecb270801e64470c7eb3-136b79c4ef6b52d44656",
|
|
16
|
+
"ecb270801e64470c7eb3-ea688b2565bd508fd353",
|
|
17
|
+
"ecb270801e64470c7eb3-14831c0cfa8577e72c30",
|
|
18
|
+
"ecb270801e64470c7eb3-ce560dfbd14288e4991e",
|
|
19
|
+
"ecb270801e64470c7eb3-0f0a058a88f13930c372",
|
|
20
|
+
"ecb270801e64470c7eb3-558d66a362c59848c23c",
|
|
21
|
+
"ecb270801e64470c7eb3-61568ce087b558deabe2",
|
|
22
|
+
"ecb270801e64470c7eb3-80f57badf67aab48c95e",
|
|
23
|
+
"ecb270801e64470c7eb3-cdf14476971b5b9b5ed0",
|
|
24
|
+
"ecb270801e64470c7eb3-cd26a959ff20bdbfd404"
|
|
25
|
+
]
|
|
4
26
|
}
|