the browser relay leaves, and /scrape stops pretending to be it

plugins/browser now owns the extension, the relay, the CDP bridge, the pairing routes and the two
panels. All of it was on disk and switched off since 2026-08-13 — nothing was recovered from history,
and nothing regressed, because none of it had been running.

What the platform keeps is /scrape, and the two were never one feature split in half. Scrape launches
a headless chromium through playwright as the OWNER and knows nobody; the plugin attaches to the
browser a person is already signed into, scoped per pairing. The permission is renamed "Scraping" so
the registry stops describing one thing in the other's words, and it drops the /browser frontend route
it could no longer serve.

Two dead screens went with it. BrowserScreen and DesktopScreen were officer-web screens rendering
panels through appType placeholders — a plugin supplies its own route and panels through
Plugins.gen.tsx, so both were redundant the moment their plugins existed. DesktopScreen was a leftover
from this morning's extraction that typechecked cleanly while rendering a panel the AppRegistry no
longer had: dead at runtime, invisible to the compiler.

The long comment in server.tsx explaining BROWSER_RELAY_PORT goes too, replaced by a pointer to where
it lives now. It was written for whoever did this extraction, and this is that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 01:05:11 +00:00
co-authored by Claude Opus 5
parent 581ec28fc5
commit e44c0c7665
31 changed files with 34 additions and 3005 deletions
+21
View File
@@ -191,6 +191,27 @@ const BUNDLED: CatalogueEntry[] = [
// favourites and the cached browse tree are this plugin's own three tables.
has: { api: true, schema: true, sidecar: true, web: true },
},
{
appName: 'browser',
publisher: 'officerdev',
version: '1.0.0',
platform: '>=1.0.0',
label: 'Browser',
summary: 'Drive your own browser from Officer — your tabs, your sessions, your logins',
icon: 'Globe',
color: '#38bdf8',
source: 'https://gitea.officer.dev/plugins/browser.git',
permissions: [
{
key: 'browser-relay',
label: 'Browser',
description: 'Pair a browser and drive its tabs — screenshots, navigation, evaluated scripts',
},
],
// No host packages: the relay is Bun, and Chrome is on whatever machine the person is sitting at
// rather than necessarily this one.
has: { api: true, schema: true, sidecar: true, web: true },
},
{
appName: 'desktop',
publisher: 'officerdev',