@jobshimo/browser-link 0.39.0 → 0.41.0
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 +23 -8
- package/dist/bridge/dispatch.js +17 -7
- package/dist/bridge/dispatch.js.map +1 -1
- package/dist/bridge/ws-bridge.d.ts +28 -3
- package/dist/bridge/ws-bridge.js +51 -7
- package/dist/bridge/ws-bridge.js.map +1 -1
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.js +10 -0
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/doctor.d.ts +24 -0
- package/dist/commands/doctor.js +62 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/free-port.d.ts +40 -1
- package/dist/commands/free-port.js +72 -7
- package/dist/commands/free-port.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/extension/background.js +100 -8
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/manifest.json +1 -1
- package/dist/extension/notice-policy.d.ts +48 -0
- package/dist/extension/notice-policy.js +83 -0
- package/dist/extension/notice-policy.js.map +1 -0
- package/dist/extension/popup.html +99 -0
- package/dist/extension/popup.js +139 -1
- package/dist/extension/popup.js.map +1 -1
- package/dist/extension/repair-policy.d.ts +60 -0
- package/dist/extension/repair-policy.js +79 -0
- package/dist/extension/repair-policy.js.map +1 -0
- package/dist/extension/version-status.d.ts +44 -0
- package/dist/extension/version-status.js +60 -0
- package/dist/extension/version-status.js.map +1 -0
- package/dist/lifecycle/election.d.ts +98 -0
- package/dist/lifecycle/election.js +187 -0
- package/dist/lifecycle/election.js.map +1 -0
- package/dist/lifecycle/processes.d.ts +67 -0
- package/dist/lifecycle/processes.js +239 -0
- package/dist/lifecycle/processes.js.map +1 -0
- package/dist/lifecycle/repair.d.ts +48 -0
- package/dist/lifecycle/repair.js +67 -0
- package/dist/lifecycle/repair.js.map +1 -0
- package/dist/lifecycle/version-endpoint.d.ts +16 -0
- package/dist/lifecycle/version-endpoint.js +50 -0
- package/dist/lifecycle/version-endpoint.js.map +1 -0
- package/dist/manual/topics.js +1 -1
- package/dist/manual/topics.js.map +1 -1
- package/dist/messages.d.ts +31 -2
- package/dist/notice.d.ts +14 -0
- package/dist/notice.js +25 -0
- package/dist/notice.js.map +1 -0
- package/dist/server.js +90 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +8 -0
- package/dist/tools/browser-dispatch.js +15 -1
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/ui/app.d.ts +4 -1
- package/dist/ui/app.js +12 -3
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/screens/about.js +3 -1
- package/dist/ui/screens/about.js.map +1 -1
- package/dist/ui/screens/free-port.js +4 -2
- package/dist/ui/screens/free-port.js.map +1 -1
- package/dist/ui/screens/index.d.ts +1 -0
- package/dist/ui/screens/index.js +1 -0
- package/dist/ui/screens/index.js.map +1 -1
- package/dist/ui/screens/notice.d.ts +6 -0
- package/dist/ui/screens/notice.js +17 -0
- package/dist/ui/screens/notice.js.map +1 -0
- package/dist/ui/start.js +2 -1
- package/dist/ui/start.js.map +1 -1
- package/dist/version.d.ts +8 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure decision and text-selection logic for the product notice in the
|
|
3
|
+
* popup — no `chrome.*` here, same split as idle-policy.ts and
|
|
4
|
+
* flow-recording-policy.ts (popup.ts owns the storage I/O and the DOM).
|
|
5
|
+
*
|
|
6
|
+
* Language: the popup has no language setting of its own (every other
|
|
7
|
+
* popup string is English), so the notice follows the browser UI
|
|
8
|
+
* language — Spanish when `navigator.language` starts with `es`, English
|
|
9
|
+
* otherwise.
|
|
10
|
+
*
|
|
11
|
+
* Why a copy of `NOTICE` lives here instead of an import: the extension is
|
|
12
|
+
* built with plain `tsc` (no bundler), so a runtime import of
|
|
13
|
+
* `@browser-link/shared` would reach Chrome as an unresolvable bare
|
|
14
|
+
* specifier (background.ts only ever imports TYPES from it). The constant
|
|
15
|
+
* below is a mechanical copy of `packages/shared/src/notice.ts`, and
|
|
16
|
+
* `notice-policy.test.ts` fails the build if it stops being value-identical
|
|
17
|
+
* to the shared source. Change both together.
|
|
18
|
+
*/
|
|
19
|
+
/** `chrome.storage.local` key set to `true` once the user confirmed the
|
|
20
|
+
* full notice before their first Connect on this browser profile. */
|
|
21
|
+
export const NOTICE_ACKNOWLEDGED_STORAGE_KEY = 'noticeAcknowledged';
|
|
22
|
+
export const NOTICE = {
|
|
23
|
+
es: {
|
|
24
|
+
title: 'Aviso importante',
|
|
25
|
+
paragraphs: [
|
|
26
|
+
'browser-link es una herramienta de desarrollo. Conecta un agente de IA a las pestañas de Chrome que usted elija, y en ellas el agente actúa con su propia sesión: ve y puede usar todo lo que el navegador tenga en esas pestañas, incluidos inicios de sesión activos, cookies y tokens, contraseñas y tarjetas de pago autocompletadas, correos, documentos y cualquier dato que la página muestre o permita enviar. Puede hacer clic, escribir, enviar formularios y descargar archivos como lo haría usted.',
|
|
27
|
+
'Conecte únicamente pestañas que un agente deba manejar, desconéctelas al terminar y no la utilice en sitios cuyos términos lo prohíban ni con datos que no pueda permitirse exponer. La decisión de a qué dar acceso, y lo que el agente haga con ese acceso, es responsabilidad exclusiva del usuario.',
|
|
28
|
+
'El software se distribuye "tal cual", sin garantía de ningún tipo, bajo licencia MIT. Los autores no se hacen responsables de pérdidas, daños o usos indebidos derivados de su utilización.',
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
en: {
|
|
32
|
+
title: 'Important notice',
|
|
33
|
+
paragraphs: [
|
|
34
|
+
'browser-link is a development tool. It connects an AI agent to the Chrome tabs you choose, and in those tabs the agent acts with your own session: it sees and can use everything the browser holds in them, including active logins, cookies and tokens, autofilled passwords and payment cards, email, documents and any data the page shows or lets you submit. It can click, type, submit forms and download files as you would.',
|
|
35
|
+
"Connect only tabs an agent should operate, disconnect them when you are done, and do not use it on sites whose terms forbid it or with data you cannot afford to expose. Deciding what to grant access to, and what the agent does with that access, is solely the user's responsibility.",
|
|
36
|
+
'The software is provided "as is", without warranty of any kind, under the MIT license. The authors accept no liability for losses, damage or misuse arising from its use.',
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
/** Spanish when the browser language starts with `es`, English otherwise
|
|
41
|
+
* (including when the language is unavailable). */
|
|
42
|
+
export function noticeLanguage(navLang) {
|
|
43
|
+
return navLang?.toLowerCase().startsWith('es') ? 'es' : 'en';
|
|
44
|
+
}
|
|
45
|
+
/** The full notice must be confirmed before Connect unless the stored
|
|
46
|
+
* acknowledgement is the literal `true` — any other value (missing,
|
|
47
|
+
* corrupted) shows it again rather than failing open. */
|
|
48
|
+
export function shouldShowNoticeBeforeConnect(stored) {
|
|
49
|
+
return stored !== true;
|
|
50
|
+
}
|
|
51
|
+
const SHORT_LINE = {
|
|
52
|
+
es: {
|
|
53
|
+
lead: 'Herramienta de desarrollo: el agente actúa con su sesión en las pestañas conectadas.',
|
|
54
|
+
link: 'Ver aviso',
|
|
55
|
+
},
|
|
56
|
+
en: {
|
|
57
|
+
lead: 'Development tool: the agent acts with your session on connected tabs.',
|
|
58
|
+
link: 'Read notice',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
/** The bottom line split for rendering: `lead` as text, `link` as the
|
|
62
|
+
* control that opens the full notice. */
|
|
63
|
+
export function noticeShortLineParts(lang) {
|
|
64
|
+
return SHORT_LINE[lang];
|
|
65
|
+
}
|
|
66
|
+
/** The popup's one-line notice, link words included. */
|
|
67
|
+
export function noticeShortLine(lang) {
|
|
68
|
+
const { lead, link } = SHORT_LINE[lang];
|
|
69
|
+
return `${lead} ${link}`;
|
|
70
|
+
}
|
|
71
|
+
/** The full notice (title + paragraphs) in `lang`. */
|
|
72
|
+
export function noticeFull(lang) {
|
|
73
|
+
return NOTICE[lang];
|
|
74
|
+
}
|
|
75
|
+
/** Label of the confirmation button shown before the first Connect. */
|
|
76
|
+
export function noticeAcknowledgeLabel(lang) {
|
|
77
|
+
return lang === 'es' ? 'Entendido' : 'I understand';
|
|
78
|
+
}
|
|
79
|
+
/** Label of the control that closes the notice opened from the bottom line. */
|
|
80
|
+
export function noticeCloseLabel(lang) {
|
|
81
|
+
return lang === 'es' ? 'Cerrar' : 'Close';
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=notice-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notice-policy.js","sourceRoot":"","sources":["../src/notice-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH;qEACqE;AACrE,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAuC;IACxD,EAAE,EAAE;QACF,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE;YACV,ifAAif;YACjf,ySAAyS;YACzS,6LAA6L;SAC9L;KACF;IACD,EAAE,EAAE;QACF,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE;YACV,saAAsa;YACta,2RAA2R;YAC3R,2KAA2K;SAC5K;KACF;CACF,CAAC;AAEF;mDACmD;AACnD,MAAM,UAAU,cAAc,CAAC,OAA2B;IACxD,OAAO,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;yDAEyD;AACzD,MAAM,UAAU,6BAA6B,CAAC,MAAe;IAC3D,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,GAA2D;IACzE,EAAE,EAAE;QACF,IAAI,EAAE,sFAAsF;QAC5F,IAAI,EAAE,WAAW;KAClB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,uEAAuE;QAC7E,IAAI,EAAE,aAAa;KACpB;CACF,CAAC;AAEF;yCACyC;AACzC,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,UAAU,CAAC,IAAoB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CAAC,IAAoB;IACzD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;AACtD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5C,CAAC"}
|
|
@@ -308,6 +308,80 @@
|
|
|
308
308
|
cursor: progress;
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
+
/* Product notice: a quiet one-liner at the bottom (with a link-styled
|
|
312
|
+
* button that opens the full text) and the in-popup panel that shows
|
|
313
|
+
* the full notice — read on demand, or confirmed once before the
|
|
314
|
+
* first Connect. Texts are filled by popup.ts from notice-policy.ts. */
|
|
315
|
+
.notice-line {
|
|
316
|
+
margin-top: 12px;
|
|
317
|
+
font-size: 11px;
|
|
318
|
+
line-height: 1.4;
|
|
319
|
+
color: var(--text-muted);
|
|
320
|
+
text-align: center;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.notice-link {
|
|
324
|
+
display: inline;
|
|
325
|
+
width: auto;
|
|
326
|
+
margin: 0;
|
|
327
|
+
padding: 0;
|
|
328
|
+
border: none;
|
|
329
|
+
background: none;
|
|
330
|
+
font: inherit;
|
|
331
|
+
font-weight: 600;
|
|
332
|
+
color: var(--brand-to);
|
|
333
|
+
text-decoration: underline;
|
|
334
|
+
cursor: pointer;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.notice-link:focus-visible {
|
|
338
|
+
outline: 2px solid var(--brand-from);
|
|
339
|
+
outline-offset: 1px;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.notice-panel {
|
|
343
|
+
margin-top: 12px;
|
|
344
|
+
padding: 12px 14px;
|
|
345
|
+
border: 1px solid var(--idle-fg);
|
|
346
|
+
background: var(--idle-soft);
|
|
347
|
+
border-radius: 10px;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.notice-title {
|
|
351
|
+
font-size: 13px;
|
|
352
|
+
font-weight: 700;
|
|
353
|
+
color: var(--text);
|
|
354
|
+
margin-bottom: 6px;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.notice-body {
|
|
358
|
+
max-height: 220px;
|
|
359
|
+
overflow-y: auto;
|
|
360
|
+
font-size: 12px;
|
|
361
|
+
line-height: 1.45;
|
|
362
|
+
color: var(--text);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.notice-body p {
|
|
366
|
+
margin: 0 0 8px;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.notice-actions {
|
|
370
|
+
display: flex;
|
|
371
|
+
gap: 8px;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.notice-actions button {
|
|
375
|
+
flex: 1;
|
|
376
|
+
margin-top: 4px;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.notice-actions button.secondary {
|
|
380
|
+
background: var(--bg-soft);
|
|
381
|
+
color: var(--text);
|
|
382
|
+
box-shadow: inset 0 0 0 1px var(--border);
|
|
383
|
+
}
|
|
384
|
+
|
|
311
385
|
.footer {
|
|
312
386
|
margin-top: 10px;
|
|
313
387
|
font-size: 10.5px;
|
|
@@ -683,6 +757,26 @@
|
|
|
683
757
|
|
|
684
758
|
<button id="action" class="primary" disabled>…</button>
|
|
685
759
|
|
|
760
|
+
<!-- Product notice, full text. Opened from the bottom notice line
|
|
761
|
+
(read mode: Close only) or, the first time Connect is pressed on
|
|
762
|
+
this browser profile, as a gate (I understand + Close): the
|
|
763
|
+
connection proceeds only after "I understand", which stores
|
|
764
|
+
`noticeAcknowledged: true` in chrome.storage.local. -->
|
|
765
|
+
<div
|
|
766
|
+
id="notice-panel"
|
|
767
|
+
class="notice-panel"
|
|
768
|
+
role="dialog"
|
|
769
|
+
aria-labelledby="notice-title"
|
|
770
|
+
hidden
|
|
771
|
+
>
|
|
772
|
+
<div id="notice-title" class="notice-title"></div>
|
|
773
|
+
<div id="notice-body" class="notice-body"></div>
|
|
774
|
+
<div class="notice-actions">
|
|
775
|
+
<button id="notice-acknowledge" class="primary" type="button" hidden></button>
|
|
776
|
+
<button id="notice-close" class="secondary" type="button"></button>
|
|
777
|
+
</div>
|
|
778
|
+
</div>
|
|
779
|
+
|
|
686
780
|
<!-- Pending dialog escape hatch.
|
|
687
781
|
Surfaces a native alert/confirm/prompt blocking the connected
|
|
688
782
|
tab so the user can answer it manually when no agent has the
|
|
@@ -805,6 +899,11 @@
|
|
|
805
899
|
Activity
|
|
806
900
|
</button>
|
|
807
901
|
|
|
902
|
+
<div class="notice-line">
|
|
903
|
+
<span id="notice-line-text"></span>
|
|
904
|
+
<button id="notice-open" class="notice-link" type="button"></button>
|
|
905
|
+
</div>
|
|
906
|
+
|
|
808
907
|
<div class="footer">manual · per-tab · loopback only</div>
|
|
809
908
|
</div>
|
|
810
909
|
|
package/dist/extension/popup.js
CHANGED
|
@@ -7,6 +7,8 @@ import { FLOW_RECORDING_STORAGE_KEY, FLOW_RECORDING_UPDATED_AT_STORAGE_KEY, norm
|
|
|
7
7
|
import { describeFlowStep } from './recording.js';
|
|
8
8
|
import { describeFlowHistoryEntry, describeFlowProgress, flowTabLabel, formatFlowDuration, } from './flow-registry.js';
|
|
9
9
|
import { CONNECT_IN_PROGRESS_ERROR } from './reconnect-policy.js';
|
|
10
|
+
import { NOTICE_ACKNOWLEDGED_STORAGE_KEY, noticeAcknowledgeLabel, noticeCloseLabel, noticeFull, noticeLanguage, noticeShortLineParts, shouldShowNoticeBeforeConnect, } from './notice-policy.js';
|
|
11
|
+
import { runningInstalledLine, shouldShowVersionBanner, } from './version-status.js';
|
|
10
12
|
async function getCurrentTab() {
|
|
11
13
|
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
|
12
14
|
return tab;
|
|
@@ -63,10 +65,11 @@ function setAction(label, variant, disabled = false) {
|
|
|
63
65
|
}
|
|
64
66
|
function renderVersionBanner(check) {
|
|
65
67
|
const banner = $('version-banner');
|
|
68
|
+
renderRunningInstalledLine(check);
|
|
66
69
|
// Hide while we have no server version yet (no tab has registered) or
|
|
67
70
|
// when both halves are aligned. The banner is purely informational —
|
|
68
71
|
// the agent flow keeps working either way, this is just a heads-up.
|
|
69
|
-
if (check
|
|
72
|
+
if (!shouldShowVersionBanner(check)) {
|
|
70
73
|
banner.hidden = true;
|
|
71
74
|
return;
|
|
72
75
|
}
|
|
@@ -74,6 +77,79 @@ function renderVersionBanner(check) {
|
|
|
74
77
|
$('version-extension').textContent = check.extension;
|
|
75
78
|
$('version-server').textContent = check.server;
|
|
76
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* "Repair connection": always visible, placed right under the Connect /
|
|
82
|
+
* Disconnect button, with its outcome on a line beneath it. Plus the
|
|
83
|
+
* "Server running X · installed Y" line above the button, shown only when
|
|
84
|
+
* the server runs a different version than the one installed on disk.
|
|
85
|
+
*
|
|
86
|
+
* Built here rather than in popup.html so the whole feature lives in one
|
|
87
|
+
* file; the elements reuse the popup's base `button` and `.explanation`
|
|
88
|
+
* styles and only override what makes the button read as secondary.
|
|
89
|
+
*/
|
|
90
|
+
function createRepairControls() {
|
|
91
|
+
const action = $('action');
|
|
92
|
+
const versionLine = document.createElement('div');
|
|
93
|
+
versionLine.id = 'version-running-installed';
|
|
94
|
+
versionLine.className = 'explanation';
|
|
95
|
+
versionLine.hidden = true;
|
|
96
|
+
versionLine.style.borderTop = 'none';
|
|
97
|
+
versionLine.style.color = 'var(--idle-fg)';
|
|
98
|
+
versionLine.style.fontWeight = '600';
|
|
99
|
+
const button = document.createElement('button');
|
|
100
|
+
button.id = 'repair-connection';
|
|
101
|
+
button.type = 'button';
|
|
102
|
+
button.textContent = REPAIR_LABEL;
|
|
103
|
+
button.title =
|
|
104
|
+
'Restart the browser-link server on the installed version, or reconnect the tabs you connected';
|
|
105
|
+
button.style.marginTop = '8px';
|
|
106
|
+
button.style.background = 'var(--bg)';
|
|
107
|
+
button.style.color = 'var(--connecting-fg)';
|
|
108
|
+
button.style.boxShadow = 'inset 0 0 0 1px var(--border)';
|
|
109
|
+
const outcome = document.createElement('div');
|
|
110
|
+
outcome.id = 'repair-outcome';
|
|
111
|
+
outcome.className = 'explanation';
|
|
112
|
+
outcome.setAttribute('role', 'status');
|
|
113
|
+
outcome.hidden = true;
|
|
114
|
+
outcome.style.borderTop = 'none';
|
|
115
|
+
outcome.style.marginTop = '6px';
|
|
116
|
+
outcome.style.paddingTop = '0';
|
|
117
|
+
action.after(versionLine, button, outcome);
|
|
118
|
+
return { versionLine, button, outcome };
|
|
119
|
+
}
|
|
120
|
+
const REPAIR_LABEL = 'Repair connection';
|
|
121
|
+
const repairControls = createRepairControls();
|
|
122
|
+
function renderRunningInstalledLine(check) {
|
|
123
|
+
const line = runningInstalledLine(check);
|
|
124
|
+
repairControls.versionLine.hidden = line === null;
|
|
125
|
+
repairControls.versionLine.textContent = line ?? '';
|
|
126
|
+
}
|
|
127
|
+
function setRepairOutcome(result) {
|
|
128
|
+
const { outcome } = repairControls;
|
|
129
|
+
outcome.hidden = false;
|
|
130
|
+
outcome.textContent = result.message;
|
|
131
|
+
outcome.style.color = result.ok ? 'var(--connected-fg)' : 'var(--error-fg)';
|
|
132
|
+
}
|
|
133
|
+
async function onRepair() {
|
|
134
|
+
const { button, outcome } = repairControls;
|
|
135
|
+
button.disabled = true;
|
|
136
|
+
button.textContent = 'Repairing…';
|
|
137
|
+
outcome.hidden = true;
|
|
138
|
+
try {
|
|
139
|
+
setRepairOutcome(await send({ action: 'repairConnection' }));
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
setRepairOutcome({ ok: false, message: err instanceof Error ? err.message : String(err) });
|
|
143
|
+
}
|
|
144
|
+
finally {
|
|
145
|
+
button.disabled = false;
|
|
146
|
+
button.textContent = REPAIR_LABEL;
|
|
147
|
+
}
|
|
148
|
+
await refresh();
|
|
149
|
+
}
|
|
150
|
+
repairControls.button.addEventListener('click', () => {
|
|
151
|
+
void onRepair();
|
|
152
|
+
});
|
|
77
153
|
async function refreshVersionBanner() {
|
|
78
154
|
const check = await send({ action: 'versionCheck' });
|
|
79
155
|
renderVersionBanner(check);
|
|
@@ -539,6 +615,45 @@ async function respondToDialog(accept) {
|
|
|
539
615
|
await send(payload);
|
|
540
616
|
await refreshPendingDialog(tab.id);
|
|
541
617
|
}
|
|
618
|
+
/**
|
|
619
|
+
* Product notice. The popup has no language setting, so the notice follows
|
|
620
|
+
* the browser UI language (see notice-policy.ts). Two modes share one
|
|
621
|
+
* panel: 'read' (opened from the bottom line, Close only) and 'gate'
|
|
622
|
+
* (before the first Connect on this profile: "I understand" stores the
|
|
623
|
+
* acknowledgement and resumes the Connect; Close cancels it).
|
|
624
|
+
*/
|
|
625
|
+
const NOTICE_LANG = noticeLanguage(navigator.language);
|
|
626
|
+
function renderNoticeLine() {
|
|
627
|
+
const { lead, link } = noticeShortLineParts(NOTICE_LANG);
|
|
628
|
+
$('notice-line-text').textContent = lead;
|
|
629
|
+
$('notice-open').textContent = link;
|
|
630
|
+
}
|
|
631
|
+
function openNotice(mode) {
|
|
632
|
+
const notice = noticeFull(NOTICE_LANG);
|
|
633
|
+
$('notice-title').textContent = notice.title;
|
|
634
|
+
const body = $('notice-body');
|
|
635
|
+
body.replaceChildren(...notice.paragraphs.map((text) => {
|
|
636
|
+
const p = document.createElement('p');
|
|
637
|
+
p.textContent = text;
|
|
638
|
+
return p;
|
|
639
|
+
}));
|
|
640
|
+
const ack = $('notice-acknowledge');
|
|
641
|
+
ack.textContent = noticeAcknowledgeLabel(NOTICE_LANG);
|
|
642
|
+
ack.hidden = mode !== 'gate';
|
|
643
|
+
$('notice-close').textContent = noticeCloseLabel(NOTICE_LANG);
|
|
644
|
+
const panel = $('notice-panel');
|
|
645
|
+
panel.hidden = false;
|
|
646
|
+
panel.scrollIntoView({ block: 'nearest' });
|
|
647
|
+
}
|
|
648
|
+
function closeNotice() {
|
|
649
|
+
$('notice-panel').hidden = true;
|
|
650
|
+
$('notice-acknowledge').hidden = true;
|
|
651
|
+
}
|
|
652
|
+
async function acknowledgeNoticeAndConnect() {
|
|
653
|
+
await chrome.storage.local.set({ [NOTICE_ACKNOWLEDGED_STORAGE_KEY]: true });
|
|
654
|
+
closeNotice();
|
|
655
|
+
await onAction();
|
|
656
|
+
}
|
|
542
657
|
async function onAction() {
|
|
543
658
|
const tab = await getCurrentTab();
|
|
544
659
|
if (!tab?.id)
|
|
@@ -547,6 +662,16 @@ async function onAction() {
|
|
|
547
662
|
action: 'status',
|
|
548
663
|
tabId: tab.id,
|
|
549
664
|
});
|
|
665
|
+
// One-time gate: the first Connect on this browser profile shows the
|
|
666
|
+
// full notice and stops here; "I understand" stores the acknowledgement
|
|
667
|
+
// and re-enters onAction. Disconnect never asks.
|
|
668
|
+
if (!status.connected) {
|
|
669
|
+
const data = await chrome.storage.local.get(NOTICE_ACKNOWLEDGED_STORAGE_KEY);
|
|
670
|
+
if (shouldShowNoticeBeforeConnect(data[NOTICE_ACKNOWLEDGED_STORAGE_KEY])) {
|
|
671
|
+
openNotice('gate');
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
550
675
|
// Transient "connecting" state — the card flips to the blue palette so
|
|
551
676
|
// the user sees something is happening even if the round-trip to the
|
|
552
677
|
// server takes a beat.
|
|
@@ -583,6 +708,18 @@ $('action').addEventListener('click', () => {
|
|
|
583
708
|
setAction('Retry', 'primary');
|
|
584
709
|
});
|
|
585
710
|
});
|
|
711
|
+
$('notice-open').addEventListener('click', () => {
|
|
712
|
+
openNotice('read');
|
|
713
|
+
});
|
|
714
|
+
$('notice-close').addEventListener('click', () => {
|
|
715
|
+
closeNotice();
|
|
716
|
+
});
|
|
717
|
+
$('notice-acknowledge').addEventListener('click', () => {
|
|
718
|
+
acknowledgeNoticeAndConnect().catch((err) => {
|
|
719
|
+
setStatus('error', err instanceof Error ? err.message : String(err));
|
|
720
|
+
setAction('Retry', 'primary');
|
|
721
|
+
});
|
|
722
|
+
});
|
|
586
723
|
$('dialog-accept').addEventListener('click', () => {
|
|
587
724
|
respondToDialog(true).catch(() => {
|
|
588
725
|
// Best effort — the dialog handler shape includes ok/error so the
|
|
@@ -687,6 +824,7 @@ document.getElementById('open-activity')?.addEventListener('click', () => {
|
|
|
687
824
|
// and the popup stays open so the user can see it did not take.
|
|
688
825
|
});
|
|
689
826
|
});
|
|
827
|
+
renderNoticeLine();
|
|
690
828
|
refresh().catch((err) => {
|
|
691
829
|
setStatus('error', err instanceof Error ? err.message : String(err));
|
|
692
830
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.js","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popup.js","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Repair connection" (popup button) decision logic. Pure: background.ts
|
|
3
|
+
* gathers the facts (is a socket open, which version the server reported,
|
|
4
|
+
* which tabs were connected) and carries out the step this module picks.
|
|
5
|
+
*
|
|
6
|
+
* - A connected server from 0.41.0 understands `bridge.repair`: it spawns the
|
|
7
|
+
* installed CLI, drops every socket uncleanly and exits, and the existing
|
|
8
|
+
* auto-reconnect (reconnect-policy.ts) brings the tabs back to the new
|
|
9
|
+
* process.
|
|
10
|
+
* - An older connected server cannot do that: the user has to stop it.
|
|
11
|
+
* - With no socket open, the remembered tabs are reconnected through the
|
|
12
|
+
* normal connect path; if none comes back, no server is running.
|
|
13
|
+
*/
|
|
14
|
+
import type { BridgeRepairResultMessage } from '@browser-link/shared';
|
|
15
|
+
/** First server version that understands `bridge.repair`. */
|
|
16
|
+
export declare const MIN_REPAIR_VERSION = "0.41.0";
|
|
17
|
+
/** How long the extension waits for `bridge.repair.result`. A healthy server
|
|
18
|
+
* answers at once, before it exits. */
|
|
19
|
+
export declare const REPAIR_TIMEOUT_MS = 3000;
|
|
20
|
+
/**
|
|
21
|
+
* `chrome.storage.session` key prefix holding the browser-link tab id a
|
|
22
|
+
* Chrome tab last registered with. Written on registration, removed on an
|
|
23
|
+
* explicit disconnect or tab removal, kept across an involuntary drop: the
|
|
24
|
+
* set of these keys IS the set of tabs the user connected, which is what a
|
|
25
|
+
* repair reconnects.
|
|
26
|
+
*/
|
|
27
|
+
export declare const PREV_TAB_ID_PREFIX = "prevTabId:";
|
|
28
|
+
export declare function prevTabIdKey(chromeTabId: number): string;
|
|
29
|
+
/** Chrome tab ids remembered in a `chrome.storage.session.get(null)` dump,
|
|
30
|
+
* ascending. Keys or values that are not what `storeTabId` writes are
|
|
31
|
+
* skipped. */
|
|
32
|
+
export declare function rememberedTabIds(stored: Record<string, unknown>): number[];
|
|
33
|
+
export type RepairPlan = {
|
|
34
|
+
step: 'ask-server-restart';
|
|
35
|
+
} | {
|
|
36
|
+
step: 'reconnect-only';
|
|
37
|
+
tabIds: number[];
|
|
38
|
+
} | {
|
|
39
|
+
step: 'manual';
|
|
40
|
+
reason: 'server-too-old' | 'no-server';
|
|
41
|
+
message: string;
|
|
42
|
+
};
|
|
43
|
+
export interface RepairInput {
|
|
44
|
+
/** At least one extension socket is open. */
|
|
45
|
+
connected: boolean;
|
|
46
|
+
/** `serverVersion` from `tab.registered`; null when unknown. */
|
|
47
|
+
serverVersion: string | null;
|
|
48
|
+
rememberedTabIds: number[];
|
|
49
|
+
minRepairVersion?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare function planRepair(input: RepairInput): RepairPlan;
|
|
52
|
+
/** What the popup shows under the button. */
|
|
53
|
+
export interface RepairOutcome {
|
|
54
|
+
ok: boolean;
|
|
55
|
+
message: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function describeRepairReply(reply: BridgeRepairResultMessage | 'timeout'): RepairOutcome;
|
|
58
|
+
export declare function describeReconnectResults(results: ReadonlyArray<{
|
|
59
|
+
ok: boolean;
|
|
60
|
+
}>): RepairOutcome;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { compareSemver } from './version-status.js';
|
|
2
|
+
/** First server version that understands `bridge.repair`. */
|
|
3
|
+
export const MIN_REPAIR_VERSION = '0.41.0';
|
|
4
|
+
/** How long the extension waits for `bridge.repair.result`. A healthy server
|
|
5
|
+
* answers at once, before it exits. */
|
|
6
|
+
export const REPAIR_TIMEOUT_MS = 3_000;
|
|
7
|
+
/**
|
|
8
|
+
* `chrome.storage.session` key prefix holding the browser-link tab id a
|
|
9
|
+
* Chrome tab last registered with. Written on registration, removed on an
|
|
10
|
+
* explicit disconnect or tab removal, kept across an involuntary drop: the
|
|
11
|
+
* set of these keys IS the set of tabs the user connected, which is what a
|
|
12
|
+
* repair reconnects.
|
|
13
|
+
*/
|
|
14
|
+
export const PREV_TAB_ID_PREFIX = 'prevTabId:';
|
|
15
|
+
export function prevTabIdKey(chromeTabId) {
|
|
16
|
+
return `${PREV_TAB_ID_PREFIX}${chromeTabId}`;
|
|
17
|
+
}
|
|
18
|
+
/** Chrome tab ids remembered in a `chrome.storage.session.get(null)` dump,
|
|
19
|
+
* ascending. Keys or values that are not what `storeTabId` writes are
|
|
20
|
+
* skipped. */
|
|
21
|
+
export function rememberedTabIds(stored) {
|
|
22
|
+
const ids = [];
|
|
23
|
+
for (const [key, value] of Object.entries(stored)) {
|
|
24
|
+
if (!key.startsWith(PREV_TAB_ID_PREFIX) || typeof value !== 'string')
|
|
25
|
+
continue;
|
|
26
|
+
const raw = key.slice(PREV_TAB_ID_PREFIX.length);
|
|
27
|
+
if (!/^\d+$/.test(raw))
|
|
28
|
+
continue;
|
|
29
|
+
ids.push(Number(raw));
|
|
30
|
+
}
|
|
31
|
+
return ids.sort((a, b) => a - b);
|
|
32
|
+
}
|
|
33
|
+
const STOP_AND_RESTART = 'run `browser-link stop` and restart your agent';
|
|
34
|
+
const NO_SERVER_MESSAGE = 'no server is running: start browser-link from your agent or a console';
|
|
35
|
+
export function planRepair(input) {
|
|
36
|
+
const min = input.minRepairVersion ?? MIN_REPAIR_VERSION;
|
|
37
|
+
if (input.connected) {
|
|
38
|
+
if (input.serverVersion !== null && compareSemver(input.serverVersion, min) >= 0) {
|
|
39
|
+
return { step: 'ask-server-restart' };
|
|
40
|
+
}
|
|
41
|
+
const label = input.serverVersion ?? '(unknown version)';
|
|
42
|
+
return {
|
|
43
|
+
step: 'manual',
|
|
44
|
+
reason: 'server-too-old',
|
|
45
|
+
message: `server ${label} cannot repair itself: ${STOP_AND_RESTART}`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// No socket and no remembered tab: there is nothing to reconnect through,
|
|
49
|
+
// so there is no live connection to repair either.
|
|
50
|
+
if (input.rememberedTabIds.length === 0) {
|
|
51
|
+
return { step: 'manual', reason: 'no-server', message: NO_SERVER_MESSAGE };
|
|
52
|
+
}
|
|
53
|
+
return { step: 'reconnect-only', tabIds: [...input.rememberedTabIds] };
|
|
54
|
+
}
|
|
55
|
+
export function describeRepairReply(reply) {
|
|
56
|
+
if (reply === 'timeout') {
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
message: `The server did not answer the repair request: ${STOP_AND_RESTART}`,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (reply.ok) {
|
|
63
|
+
return {
|
|
64
|
+
ok: true,
|
|
65
|
+
message: 'The server is restarting; connected tabs reconnect by themselves.',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return { ok: false, message: `Repair failed: ${reply.error}` };
|
|
69
|
+
}
|
|
70
|
+
export function describeReconnectResults(results) {
|
|
71
|
+
const reconnected = results.filter((r) => r.ok).length;
|
|
72
|
+
if (reconnected === 0)
|
|
73
|
+
return { ok: false, message: NO_SERVER_MESSAGE };
|
|
74
|
+
return {
|
|
75
|
+
ok: true,
|
|
76
|
+
message: `Reconnected ${reconnected} of ${results.length} tab${results.length === 1 ? '' : 's'}.`,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=repair-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair-policy.js","sourceRoot":"","sources":["../src/repair-policy.ts"],"names":[],"mappings":"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"}
|