* feat: rebuild plugin pages with host rendering and native settings * fix(plugins): contain host-view errors, isolate editing, and migrate fixtures * fix(plugins): migrate remaining permission fixture hosts
Prepare the public Rfam read-only acceptance sample
This is a public third-party acceptance candidate, separate from the owned MariaDB fixture. It uses the existing generic byte-stream capability. No host database business, server-specific production API, or endpoint-policy exception is added.
Rfam's official database documentation
lists mysql-rfam-public.ebi.ac.uk:4497, database Rfam, public user rfamro,
and no password. The sample sends only SELECT 1 AS value. It does not read Rfam
tables and offers no query, host, database, or credential input. The documented
public account name is compiled into the example. No private credential is used
or persisted, and the sample has no storage or secret permission.
Build the candidate without connecting
Use the integration head and locked dependencies:
npm run build:plugin-runtime-deps
node examples/plugins/database-rfam-readonly/prepare.mjs tcp://mysql-rfam-public.ebi.ac.uk:4497 /tmp/database-rfam-readonly.ncpkg
node packages/plugin-cli/dist/cli.js validate /tmp/database-rfam-readonly.ncpkg
sha256sum /tmp/database-rfam-readonly.ncpkg
The separate preparation command accepts only that exact endpoint. It performs no DNS lookup, connection, query, plugin installation, or permission activation. It creates five files: a manifest, browser bundle, and three panel assets. The owned fixture's preparation command still rejects public hostnames.
Package identity and permission scope:
- ID:
com.netcatty.database-rfam-readonly, version0.1.0. - Runtime: browser only. Required feature:
network.byte-streams. - Required permissions:
commandsandviewsfor its own callbacks and panel. - Optional permission:
network.stream, resource exactlytcp://mysql-rfam-public.ebi.ac.uk:4497. - Five-file package: 11,003 bytes. Two builds matched byte for byte with SHA-256
aaca586669db454e91d61487e576ed524d1b7190eed182bc2cd0035e59caa0d3. This is the dedicated acceptance candidate's package, rebuilt with its SDK. The earlier #3993 archive had a different hash; do not reuse an earlier artifact's authorization for this package. - Expected result after a separately authorized compatible run:
{"columns":["value"],"rows":[["1"]]}.
Obtain authorization before native acceptance
Record the exact integration commit, package hash, ID, version, and permissions. The parent must obtain authorization for that specific package and public endpoint before installation, enabling permissions, or querying the service. No connection or query has been performed as part of preparing this candidate.
After authorization, use the available native desktop and a disposable profile. Record the local-import source, exact endpoint prompt, denial, retry, fixed result, cancellation, and post-revocation recovery. Opening the panel only reads its endpoint metadata. A connection starts only from Run fixed public query. Do not treat this public service as an isolated synthetic fixture or evidence of database TLS or native sandbox certification.
Stop if the protocol is unsupported
The reused example protocol supports only protocol 4.1 and
mysql_native_password. It uses plain TCP and does not implement MySQL STARTTLS,
auth-plugin switching, or other authentication methods. The service's current
authentication and TLS requirements remain unverified. An unsupported greeting
or server rejection fails closed and closes the byte stream. Record a sanitized
failure and stop. Do not add an authentication fallback or TLS bypass for QA.
Offline protocol tests inspect synthetic packet bytes for the two fixed profiles and reject an unsupported auth plugin. They do not contact Rfam or activate plugin permissions:
npm run test:plugin-examples
The owned MariaDB regression remains at
examples/plugins/database-minimal/protocol.live.test.cjs. Its explicit Docker
opt-in, isolated network, temporary account, SELECT result, and server-side write
denial remain separate from this public-service candidate.