@jobshimo/browser-link 0.18.3 → 0.19.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.
@@ -1,4 +1,8 @@
1
- "use strict";
1
+ // idle-policy.ts IS shared with popup.ts (unlike the runtime-message shapes
2
+ // mirrored below) — both entrypoints compile to sibling files under dist/,
3
+ // so a plain relative import works the same way background.ts already
4
+ // imports settle.js/keymap.js.
5
+ import { IDLE_TTL_STORAGE_KEY, IDLE_TTL_UPDATED_AT_STORAGE_KEY, clampIdleTtlMinutes, } from './idle-policy.js';
2
6
  async function getCurrentTab() {
3
7
  const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
4
8
  return tab;
@@ -70,6 +74,74 @@ async function refreshVersionBanner() {
70
74
  const check = await send({ action: 'versionCheck' });
71
75
  renderVersionBanner(check);
72
76
  }
77
+ /**
78
+ * Idle-disconnect TTL control. Reads/writes `chrome.storage.local`
79
+ * directly — no round trip through background.ts's runtime-message
80
+ * protocol is needed, since the popup already holds the "storage"
81
+ * permission and background.ts independently reacts to the same key via
82
+ * `chrome.storage.onChanged` (see background.ts's `idleTtlMinutesCache`).
83
+ *
84
+ * Refreshed on the same periodic timer as the version banner / pending
85
+ * dialog (see the `setInterval` near the bottom of this file), so a value
86
+ * pushed by the server (`browser-link config set idle-ttl` while this
87
+ * popup happens to be open) shows up within one tick instead of only on
88
+ * the next popup open.
89
+ */
90
+ /** DOM id of the synthetic <option> injected for out-of-preset values. */
91
+ const IDLE_TTL_CUSTOM_OPTION_ID = 'idle-ttl-custom';
92
+ /**
93
+ * Make sure the select can actually DISPLAY `minutes`. The popup only
94
+ * ships a curated preset list (5/15/30/60/120/Never), but the CLI accepts
95
+ * any 1-1440 — so `browser-link config set idle-ttl 45` is a perfectly
96
+ * valid effective value with no matching <option>, which would otherwise
97
+ * leave the control rendering BLANK (selectedIndex -1) while the policy
98
+ * correctly enforces 45. Inject a synthetic "45 min (custom)" option in
99
+ * that case (kept just before "Never" so the preset order stays intact),
100
+ * and remove it again once the effective value is back on a preset.
101
+ */
102
+ function ensureIdleTtlOption(select, minutes) {
103
+ const value = String(minutes);
104
+ const custom = document.getElementById(IDLE_TTL_CUSTOM_OPTION_ID);
105
+ const hasPreset = Array.from(select.options).some((opt) => opt.id !== IDLE_TTL_CUSTOM_OPTION_ID && opt.value === value);
106
+ if (hasPreset) {
107
+ custom?.remove();
108
+ return;
109
+ }
110
+ const option = custom ?? document.createElement('option');
111
+ option.id = IDLE_TTL_CUSTOM_OPTION_ID;
112
+ option.value = value;
113
+ option.textContent = `${minutes} min (custom)`;
114
+ if (!custom) {
115
+ const neverOption = Array.from(select.options).find((opt) => opt.value === '0') ?? null;
116
+ select.insertBefore(option, neverOption);
117
+ }
118
+ }
119
+ async function refreshIdleTtlSetting() {
120
+ const select = $('idle-ttl-select');
121
+ // Never clobber a selection while the user has the dropdown focused —
122
+ // an incoming settings.update mid-edit should not yank the control out
123
+ // from under them.
124
+ if (document.activeElement === select)
125
+ return;
126
+ const data = await chrome.storage.local.get(IDLE_TTL_STORAGE_KEY);
127
+ const minutes = clampIdleTtlMinutes(data[IDLE_TTL_STORAGE_KEY]);
128
+ ensureIdleTtlOption(select, minutes);
129
+ select.value = String(minutes);
130
+ }
131
+ async function onIdleTtlChange() {
132
+ const select = $('idle-ttl-select');
133
+ const minutes = clampIdleTtlMinutes(Number(select.value));
134
+ // Reflect the clamped value back into the control immediately in case
135
+ // Number(select.value) ever disagreed with it (it won't, in practice —
136
+ // every <option> is a safe preset or a clamped CLI value the synthetic
137
+ // custom entry mirrors — but this keeps the displayed value truthful to
138
+ // what was actually persisted).
139
+ select.value = String(minutes);
140
+ await chrome.storage.local.set({
141
+ [IDLE_TTL_STORAGE_KEY]: minutes,
142
+ [IDLE_TTL_UPDATED_AT_STORAGE_KEY]: Date.now(),
143
+ });
144
+ }
73
145
  function renderPendingDialog(pending) {
74
146
  const box = $('dialog-box');
75
147
  if (pending === null) {
@@ -193,13 +265,20 @@ $('version-open-extensions').addEventListener('click', () => {
193
265
  // it does NOT re-read the filesystem).
194
266
  void chrome.tabs.create({ url: `chrome://extensions/?id=${chrome.runtime.id}` });
195
267
  });
196
- // Poll for pending dialogs AND version drift while the popup is open.
197
- // Cheap (one round trip per concern, fast paths return null/aligned) and
198
- // only runs while the popup window is visible — Chrome unloads the popup
199
- // on close.
268
+ $('idle-ttl-select').addEventListener('change', () => {
269
+ onIdleTtlChange().catch(() => {
270
+ // Best effort the next refreshIdleTtlSetting tick re-syncs the
271
+ // control to whatever actually made it into storage.
272
+ });
273
+ });
274
+ // Poll for pending dialogs, version drift, AND the idle-ttl setting while
275
+ // the popup is open. Cheap (one round trip per concern, fast paths return
276
+ // null/aligned/unchanged) and only runs while the popup window is visible
277
+ // — Chrome unloads the popup on close.
200
278
  setInterval(() => {
201
279
  void (async () => {
202
280
  await refreshVersionBanner();
281
+ await refreshIdleTtlSetting();
203
282
  const tab = await getCurrentTab();
204
283
  if (!tab?.id)
205
284
  return;
@@ -209,4 +288,7 @@ setInterval(() => {
209
288
  refresh().catch((err) => {
210
289
  setStatus('error', err instanceof Error ? err.message : String(err));
211
290
  });
291
+ refreshIdleTtlSetting().catch(() => {
292
+ // Best effort — the periodic timer above retries every 800ms regardless.
293
+ });
212
294
  //# sourceMappingURL=popup.js.map
@@ -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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"}
@@ -69,5 +69,30 @@ export interface BridgeEventMessage {
69
69
  tabId?: TabId;
70
70
  data: Record<string, unknown>;
71
71
  }
72
+ /**
73
+ * Server-pushed settings, currently just the idle-disconnect TTL
74
+ * (`browser-link config get/set idle-ttl`). The same logical setting is
75
+ * also editable from the extension's own popup, so both sides need a
76
+ * precedence rule for "who wins" when they disagree:
77
+ *
78
+ * `updatedAt` is the epoch-ms timestamp of when THIS value was written on
79
+ * the server side. The extension compares it against the `updatedAt` it
80
+ * stamped on its own last LOCAL write (from the popup) and only applies
81
+ * the incoming value when it is newer — see the extension's
82
+ * `idle-policy.ts` (`shouldAcceptIncomingSettings`) and the README's
83
+ * "Idle disconnect" section for the full precedence writeup. Comparing raw
84
+ * wall-clock timestamps across processes is safe here specifically because
85
+ * the server and the browser always run on the same machine (loopback-only
86
+ * bridge) and therefore share one clock — this would NOT be a safe pattern
87
+ * for a distributed, multi-host system.
88
+ */
89
+ export interface SettingsUpdatePayload {
90
+ idleTtlMinutes: number;
91
+ updatedAt: number;
92
+ }
93
+ export interface SettingsUpdateMessage {
94
+ kind: 'settings.update';
95
+ settings: SettingsUpdatePayload;
96
+ }
72
97
  export type ExtensionToServer = TabRegisterMessage | ToolResponseMessage | BridgeEventMessage;
73
- export type ServerToExtension = TabRegisteredMessage | ToolRequestMessage;
98
+ export type ServerToExtension = TabRegisteredMessage | ToolRequestMessage | SettingsUpdateMessage;
package/dist/server.js CHANGED
@@ -11,7 +11,7 @@ import { IpcServer } from './bridge/server.js';
11
11
  import { runProxy } from './bridge/proxy.js';
12
12
  import { BridgeEventLog } from './bridge/events.js';
13
13
  import { TabClaimRegistry } from './tools/tab-claims.js';
14
- import { WS_HOST, WS_PORT, isAddrInUse, sendToolRequest, startWsBridge, } from './bridge/ws-bridge.js';
14
+ import { WS_HOST, WS_PORT, isAddrInUse, pushSettingsToAllTabs, sendToolRequest, startWsBridge, } from './bridge/ws-bridge.js';
15
15
  export { WS_HOST, WS_PORT };
16
16
  const DEFAULT_TIMEOUT_MS = 15_000;
17
17
  function log(msg) {
@@ -219,7 +219,12 @@ async function runPrimary(cfg) {
219
219
  // behaviour identical for users who never enable the feature.
220
220
  let ipcServer = null;
221
221
  if (cfg.multiAgent === true) {
222
- ipcServer = new IpcServer(dispatchDeps);
222
+ ipcServer = new IpcServer(dispatchDeps, {
223
+ // Lets `browser-link config set idle-ttl` reach already-connected
224
+ // tabs immediately instead of waiting for their next reconnect — see
225
+ // ws-bridge.ts's pushSettingsToAllTabs and cli.ts's config command.
226
+ pushSettings: (settings) => pushSettingsToAllTabs(tabs, settings),
227
+ });
223
228
  try {
224
229
  await ipcServer.start();
225
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobshimo/browser-link",
3
- "version": "0.18.3",
3
+ "version": "0.19.0",
4
4
  "description": "MCP server that bridges Claude Code, OpenCode, GitHub Copilot CLI and other MCP clients to a Chrome tab. Per-tool permissions, multi-agent mode (multiple MCP clients sharing one bridge), persistent UI map across sessions.",
5
5
  "keywords": [
6
6
  "mcp",