This commit is contained in:
Raven Scott
2026-04-22 05:09:01 -04:00
parent 2151550f3a
commit 3ee37febc8
7 changed files with 232 additions and 79 deletions
@@ -6,20 +6,24 @@ import {
BARE_HOLESAIL_STATE_GUEST,
bareHolesailManagedReadState,
bareHolesailManagedServiceIsRunning,
bareHolesailManagedSessionUsesGuestHolesailState,
bareHolesailManagedStartOne,
bareHolesailManagedWriteState
} from './bare-holesail-managed.js'
/**
* Stock **`bare-www-*`** rows belong in **guest** managed state (initd / boot), not the caller's
* `~/.holesail` file.
* Guest session: persist **`bare-www-*`** next to initd boot state. Unlocked: caller's default
* **`~/.holesail/state.json`** (same as other managed rows).
* @param {Record<string, string | undefined>} env
*/
function wwwHolesailGuestEnv(env) {
return {
.../** @type {Record<string, string | undefined>} */ (env),
BARE_OS_HOLESAIL_STATE: BARE_HOLESAIL_STATE_GUEST
function wwwHolesailManagedEnv(env) {
if (bareHolesailManagedSessionUsesGuestHolesailState(env)) {
return {
.../** @type {Record<string, string | undefined>} */ (env),
BARE_OS_HOLESAIL_STATE: BARE_HOLESAIL_STATE_GUEST
}
}
return /** @type {Record<string, string | undefined>} */ (env)
}
export const BARE_OS_WWW_HOLESAIL_CONNECTION_ID_PREFIX = 'bare-www-'
@@ -60,7 +64,7 @@ export async function ensureBareOsWwwHolesailTunnel(ctx, env, port) {
}
if (!ctx.b4a || typeof ctx.b4a.from !== 'function') return
const gEnv = wwwHolesailGuestEnv(env)
const gEnv = wwwHolesailManagedEnv(env)
const { path, state } = await bareHolesailManagedReadState(ctx, gEnv)
/** Holesail server mode requires an explicit loopback host. */
const wantHost = '127.0.0.1'