From 52a249349558b572b170cbfa7a609bdbcc30a03f Mon Sep 17 00:00:00 2001 From: ZiyaZhang Date: Sun, 19 Jul 2026 05:39:04 -0700 Subject: [PATCH] feat(desktop): nav hiddenPages config + optional pages opt-in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hiddenPages three-state config (undefined default / [] show-all / [list] custom) with Playground and Missions default-hidden. Nav is now opt-in via Settings > Optional pages section with immediate toggle rendering (no restart). Change surface: nav-config-model.js (new, 64 lines), main.js (+24), preload.js (+9), renderer.js (+41), index.html (+27/-1), settings-page.js (+87), style.css (+49), and test/nav-config-model.test.js (new 22 tests, +291). docs/qa-nav-optional/*.png × 3 capture the three states. 12 files, +846/-1. Test count on mainline: 1806 total / 1806 pass / 0 fail. --- .../qa-nav-optional/01-default-hidden.png | Bin 0 -> 70905 bytes .../docs/qa-nav-optional/02-empty-array.png | Bin 0 -> 79877 bytes .../docs/qa-nav-optional/03-custom-list.png | Bin 0 -> 75082 bytes .../scripts/qa-cdp-shoot-nav-optional.mjs | 255 +++++++++++++++ examples/desktop/src/main/main.js | 24 ++ examples/desktop/src/preload/preload.js | 9 + examples/desktop/src/renderer/index.html | 27 +- .../desktop/src/renderer/nav-config-model.js | 64 ++++ examples/desktop/src/renderer/renderer.js | 41 +++ .../desktop/src/renderer/settings-page.js | 87 ++++++ examples/desktop/src/renderer/style.css | 49 +++ .../desktop/test/nav-config-model.test.js | 291 ++++++++++++++++++ 12 files changed, 846 insertions(+), 1 deletion(-) create mode 100644 examples/desktop/docs/qa-nav-optional/01-default-hidden.png create mode 100644 examples/desktop/docs/qa-nav-optional/02-empty-array.png create mode 100644 examples/desktop/docs/qa-nav-optional/03-custom-list.png create mode 100644 examples/desktop/scripts/qa-cdp-shoot-nav-optional.mjs create mode 100644 examples/desktop/src/renderer/nav-config-model.js create mode 100644 examples/desktop/test/nav-config-model.test.js diff --git a/examples/desktop/docs/qa-nav-optional/01-default-hidden.png b/examples/desktop/docs/qa-nav-optional/01-default-hidden.png new file mode 100644 index 0000000000000000000000000000000000000000..545b4a403d61fc194b4ef4f56af6ed597867604e GIT binary patch literal 70905 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 isolates Chromium userdata. +// 2. DSH_DESKTOP_HOME= isolates main-process config root so we +// never write into ~/.dsh-desktop. +// +// Why three passes not one boot with hot reloads: the hidden-page filter +// reads config.json through IPC at renderer init; we could plumb a +// window.__dshNavFilter.apply() to re-read after we mutate the file, +// but the point of the shoot is to prove the boot-time filter honors +// the file as-shipped. So we relaunch three times with different +// on-disk configs — a clean-room reproduction of the three cases a +// researcher would actually hit. + +import { spawn } from 'node:child_process' +import { existsSync, mkdirSync, writeFileSync, rmSync } from 'node:fs' +import { resolve, join } from 'node:path' +import { setTimeout as sleep } from 'node:timers/promises' +import { tmpdir } from 'node:os' + +const WORKTREE = resolve(process.env.DSH_WORKTREE || process.cwd()) +const PARENT = resolve(process.env.DSH_REPO || '/Users/ziya/harness/dsh-desktop-demo') +const ELECTRON = join(PARENT, 'node_modules/.bin/electron') +// One CDP port per case — Electron helper processes can linger past the +// main process death and hold the debug port bound, which quietly forces +// case-2/3 to attach to case-1's DevTools endpoint. Isolating ports side- +// steps the whole race. +const CDP_PORT_BASE = Number(process.env.DSH_NAV_OPTIONAL_PORT || 9272) +const OUTDIR = join(WORKTREE, 'docs/qa-nav-optional') + +if (!existsSync(ELECTRON)) { + console.error(`electron binary not found at ${ELECTRON}`) + process.exit(2) +} +mkdirSync(OUTDIR, { recursive: true }) + +// Three fixture cases per task spec: +// • case-1: config.json missing hiddenPages → default (playground+mission hidden) +// • case-2: hiddenPages = [] → all pages visible +// • case-3: hiddenPages = ["prs","growth"] → PRs + Growth hidden +const CASES = [ + { + name: '01-default-hidden', + label: 'missing hiddenPages → default (playground+mission hidden)', + config: { role: 'coding', approvalMode: 'never' }, + }, + { + name: '02-empty-array', + label: 'hiddenPages=[] → everything visible', + config: { role: 'coding', approvalMode: 'never', hiddenPages: [] }, + }, + { + name: '03-custom-list', + label: 'hiddenPages=["prs","growth"] → PRs+Growth hidden', + config: { role: 'coding', approvalMode: 'never', hiddenPages: ['prs', 'growth'] }, + }, +] + +function seedHome(dshHome, cfg) { + // Every fresh boot writes a minimal overlay + config.json + .onboarded + // sentinel so the first-run modal doesn't fire and rewrite our seed. + const seedOverlay = [ + '# QA nav-optional-shoot seed overlay (tmp, per-run).', + 'plugins:', + ` - "@cordisjs/plugin-include":`, + ` path: ${join(WORKTREE, 'config/daemon-echo.yml')}`, + '', + ].join('\n') + writeFileSync(join(dshHome, 'user-overlay.cordis.yml'), seedOverlay) + writeFileSync(join(dshHome, 'config.json'), JSON.stringify(cfg, null, 2)) + writeFileSync(join(dshHome, '.onboarded'), new Date().toISOString()) +} + +async function bootElectron(dshHome, userData, port) { + const child = spawn(ELECTRON, [ + `--remote-debugging-port=${port}`, + `--user-data-dir=${userData}`, + '--disable-gpu', + '--no-sandbox', + '.', + ], { + cwd: WORKTREE, + env: { + ...process.env, + DSH_DESKTOP_HOME: dshHome, + DSH_MAXIMIZE: '1', + // Deliberately NOT setting DSH_QA=1: qa-harness.js §11 clicks every + // onboarding button on boot including the skip path, which triggers + // onboarding:apply and rewrites config.json without our seeded + // hiddenPages. See main.js:763 — `writeShellConfig({role,approvalMode,createdAt})` + // drops any other fields on the floor. + }, + stdio: ['ignore', 'pipe', 'pipe'], + }) + const logs = [] + child.stdout.on('data', d => { const s = String(d); logs.push(s); if (s.includes('[nav:')) process.stdout.write('MAIN_STDOUT: ' + s) }) + child.stderr.on('data', d => { const s = String(d); logs.push(s); if (s.includes('[nav:')) process.stdout.write('MAIN_STDERR: ' + s) }) + for (let i = 0; i < 40; i++) { + await sleep(500) + try { + const r = await fetch(`http://localhost:${port}/json/list`) + if (r.ok) return { child, logs } + } catch {} + } + child.kill('SIGKILL') + console.error('electron CDP did not come up in 20s. logs:\n' + logs.join('')) + process.exit(3) +} + +async function newCdp(port) { + const targets = await (await fetch(`http://localhost:${port}/json/list`)).json() + const target = targets.find(t => t.type === 'page') + if (!target) throw new Error('no page target on port ' + port) + const ws = new WebSocket(target.webSocketDebuggerUrl) + await new Promise((ok, err) => { ws.onopen = ok; ws.onerror = e => err(e) }) + let id = 1 + const pending = new Map() + const chunks = [] + ws.onmessage = ev => { + const data = typeof ev.data === 'string' ? ev.data : String(ev.data) + let msg + try { msg = JSON.parse(data) } catch { chunks.push(data); return } + if (msg.id != null && pending.has(msg.id)) { + const [ok, err] = pending.get(msg.id); pending.delete(msg.id) + if (msg.error) err(new Error(msg.error.message)); else ok(msg.result) + } + } + const call = (m, p = {}, ms = 15000) => new Promise((ok, err) => { + const _id = id++ + const t = setTimeout(() => { pending.delete(_id); err(new Error('cdp timeout: ' + m)) }, ms) + pending.set(_id, [v => { clearTimeout(t); ok(v) }, e => { clearTimeout(t); err(e) }]) + ws.send(JSON.stringify({ id: _id, method: m, params: p })) + }) + const evj = async expr => { + const r = await call('Runtime.evaluate', { + expression: `(async()=>{try{return (${expr})}catch(e){return {__err:String(e)}}})()`, + returnByValue: true, awaitPromise: true, + }) + if (r.exceptionDetails) throw new Error(r.exceptionDetails.exception?.description || r.exceptionDetails.text) + return r.result?.value + } + return { ws, call, evj } +} + +async function runCase(kase, idx) { + const port = CDP_PORT_BASE + idx + const dshHome = join(tmpdir(), `dsh-nav-optional-home-${kase.name}`) + const userData = join(tmpdir(), `dsh-nav-optional-userdata-${kase.name}`) + for (const dir of [dshHome, userData]) { + try { rmSync(dir, { recursive: true, force: true }) } catch {} + mkdirSync(dir, { recursive: true }) + } + seedHome(dshHome, kase.config) + console.log(`[${kase.name}] booting on port ${port}: ${kase.label}`) + const { child } = await bootElectron(dshHome, userData, port) + try { + // Give the renderer a beat to run applyNavHiddenPages. + await sleep(1500) + const { call, evj } = await newCdp(port) + await call('Page.enable') + + // Diagnostics before assertion: prove the IPC path is reachable and + // the model resolves the fixture case we expect. Without this, a + // race between the applyNavHiddenPages await and the shot capture + // leaves us reading DOM that hasn't been filtered yet. + const diag = await evj(` + (async () => { + const M = window.__dshNavConfigModel || null + const raw = window.dsh && window.dsh.nav && typeof window.dsh.nav.getHiddenPages === 'function' + ? await window.dsh.nav.getHiddenPages() + : '' + const resolved = M ? M.resolveHiddenPages(raw || {}) : '' + // Force-run the filter now so the DOM is definitely up-to-date + // before we assert. This is what the settings-page.js checkbox + // path calls on toggle too. + if (window.__dshNavFilter && typeof window.__dshNavFilter.apply === 'function') { + await window.__dshNavFilter.apply() + } + return { hasModel: !!M, ipcResult: raw, resolved } + })() + `) + console.log(` diag :`, JSON.stringify(diag)) + + // Assert the DOM matches expectation before we capture — cheap + // sanity so a broken build fails loud instead of shipping a bad shot. + const visible = await evj(` + Array.from(document.querySelectorAll('.sidebar-nav .tab-btn')) + .filter(b => !b.classList.contains('nav-item--hidden')) + .map(b => b.dataset.tab) + `) + const hidden = await evj(` + Array.from(document.querySelectorAll('.sidebar-nav .tab-btn')) + .filter(b => b.classList.contains('nav-item--hidden')) + .map(b => b.dataset.tab) + `) + console.log(` visible:`, visible) + console.log(` hidden :`, hidden) + + // Screenshot: clip to the left sidebar so we get a tight frame of + // the nav filter effect (not a giant chat pane full of empty state). + const clip = await evj(` + (() => { + const s = document.querySelector('.sidebar') + if (!s) return null + const r = s.getBoundingClientRect() + return { x: r.x, y: r.y, width: r.width, height: r.height, scale: 1 } + })() + `) + const shotArgs = { format: 'png', captureBeyondViewport: true } + if (clip) shotArgs.clip = clip + const shot = await call('Page.captureScreenshot', shotArgs, 30000) + if (!shot || !shot.data) throw new Error('captureScreenshot returned no data') + const outPath = join(OUTDIR, `${kase.name}.png`) + writeFileSync(outPath, Buffer.from(shot.data, 'base64')) + console.log(` wrote ${outPath}`) + return { visible, hidden, path: outPath } + } finally { + try { child.kill('SIGKILL') } catch {} + // Aggressively wait for the CDP port to actually free — Electron + // spawns a helper process (GPU / renderer) that can linger after the + // main process death, keeping the port bound. Poll until /json/list + // stops answering (or 10s cap). + for (let i = 0; i < 20; i++) { + await sleep(500) + try { + await fetch(`http://localhost:${port}/json/list`) + } catch { + break // port is free + } + } + } +} + +async function main() { + const results = [] + for (let i = 0; i < CASES.length; i++) { + const kase = CASES[i] + const r = await runCase(kase, i) + results.push({ name: kase.name, label: kase.label, ...r }) + } + console.log('\n--- SUMMARY ---') + for (const r of results) { + console.log(`${r.name}: ${r.label}`) + console.log(` visible: ${JSON.stringify(r.visible)}`) + console.log(` hidden : ${JSON.stringify(r.hidden)}`) + console.log(` shot : ${r.path}`) + } +} + +main().catch(err => { console.error(err); process.exit(1) }) diff --git a/examples/desktop/src/main/main.js b/examples/desktop/src/main/main.js index 25130fc684..07786e5be0 100644 --- a/examples/desktop/src/main/main.js +++ b/examples/desktop/src/main/main.js @@ -784,6 +784,30 @@ app.whenReady().then(async () => { return { ok: true } }) + // -- left-nav hidden-pages config (lane-nav-optional) --------------------- + // Reads/writes the `hiddenPages` array on ~/.dsh-desktop/config.json so a + // researcher can hide any left-nav page by id (matches the `data-tab` + // attribute in index.html). Missing field falls through to the two-page + // default (Playground shim + Missions) so fresh installs surface fewer + // demo-tier pages up front. Renderer honors the returned list on init + + // whenever the Settings > Optional pages checkboxes flip. + ipcMain.handle('nav:getHiddenPages', () => { + const cfg = P.readShellConfig() || {} + return { hiddenPages: cfg.hiddenPages } + }) + ipcMain.handle('nav:setHiddenPages', (_e, { hiddenPages } = {}) => { + if (!Array.isArray(hiddenPages)) { + return { ok: false, reason: 'hiddenPages must be an array of pageId strings' } + } + // Defensive filter — the caller should already have cleaned this, but + // dropping non-strings here means an accidental `null` in the payload + // can't corrupt the on-disk config for the next boot. + const cleaned = hiddenPages.filter((x) => typeof x === 'string' && x.length > 0) + const existing = P.readShellConfig() || {} + P.writeShellConfig({ ...existing, hiddenPages: cleaned }) + return { ok: true, hiddenPages: cleaned } + }) + // Growth log — the append-only jsonl of runtime-shaping events that the // Growth page reads. Returns entries + a hint on the installedAt anchor // (config.json.createdAt, when onboarding wrote it) so the renderer can diff --git a/examples/desktop/src/preload/preload.js b/examples/desktop/src/preload/preload.js index b5c541e3f6..8b485e487c 100644 --- a/examples/desktop/src/preload/preload.js +++ b/examples/desktop/src/preload/preload.js @@ -142,6 +142,15 @@ contextBridge.exposeInMainWorld('dsh', { apply: (role, approvalMode) => ipcRenderer.invoke('onboarding:apply', { role, approvalMode }), reset: () => ipcRenderer.invoke('onboarding:reset'), }, + // -- left-nav hidden-pages config (lane-nav-optional) --------------------- + // Read + write the `hiddenPages` array in ~/.dsh-desktop/config.json. + // Returned value follows the same three-state semantic the renderer + // filter honors: `undefined` = default (playground+mission hidden), + // `[]` = show everything, non-empty array = honored as-is. + nav: { + getHiddenPages: () => ipcRenderer.invoke('nav:getHiddenPages'), + setHiddenPages: (hiddenPages) => ipcRenderer.invoke('nav:setHiddenPages', { hiddenPages }), + }, // -- growth log (self-evolution audit trail) ------------------------------- // The main process appends jsonl entries at ~/.dsh-desktop/growth-log.jsonl // on runtime-shaping events (plugin add/toggle, overlay apply, vibe diff --git a/examples/desktop/src/renderer/index.html b/examples/desktop/src/renderer/index.html index a011a6a3ce..381845d2cf 100644 --- a/examples/desktop/src/renderer/index.html +++ b/examples/desktop/src/renderer/index.html @@ -1116,6 +1116,27 @@ + +
+
+

Optional pages

+
+ Enable extra pages in the left sidebar. Hidden by default + to reduce the first-run surface; toggles persist to + ~/.dsh-desktop/config.json under + hiddenPages. Advanced users can hide any page + by adding its id to that array manually (e.g. + ["prs","growth"]). +
+
+
    +
    @@ -1418,7 +1439,11 @@ + settings-page so the DOM controller finds the pure module. + nav-config-model is loaded here too so settings-page can list + the Optional pages checkboxes and renderer.js can filter the + sidebar on init. --> + diff --git a/examples/desktop/src/renderer/nav-config-model.js b/examples/desktop/src/renderer/nav-config-model.js new file mode 100644 index 0000000000..9b1003c5e7 --- /dev/null +++ b/examples/desktop/src/renderer/nav-config-model.js @@ -0,0 +1,64 @@ +// nav-config-model.js — pure config helpers for the left-nav hidden-page +// filter. Two responsibilities: +// • DEFAULT_HIDDEN — the two demo-tier pages we now hide out of the box +// (Playground shim, Missions) so a fresh install shows fewer surfaces +// up front. Users opt these in from Settings > Optional pages. +// • resolveHiddenPages(cfg) — coerces a shell-config blob into the final +// hidden-page array following these rules: +// - `hiddenPages` missing entirely → default hidden set +// - `hiddenPages` is an empty array → nothing hidden (all pages show) +// - `hiddenPages` is a non-empty array of strings → honored as-is +// - anything else (non-array, garbage) → default hidden set (safe) +// +// The renderer applies the result by iterating `.tab-btn[data-tab=…]` +// and toggling a `.nav-item--hidden` class. Kept as a pure module so the +// three fixture cases (missing / empty / custom) are unit-testable +// without spinning up Electron. Wrapped in an IIFE (like settings-model) +// so no top-level bindings leak into the shared renderer global scope +// (test/renderer-collisions.test.js enforces this). + +'use strict' +;(function () { + +const DEFAULT_HIDDEN = Object.freeze(['playground-shim', 'mission']) + +// Page ids that a user can opt into from the Settings > Optional pages +// section. Kept as a small explicit list rather than "everything in the +// default hidden set" because the Settings section is meant to be a +// curated on/off surface for the demo-tier pages we hide by default — +// arbitrary custom hidden pages (via manual config.json edit) are still +// honored by resolveHiddenPages, they just don't get a Settings toggle. +// Label is what the checkbox shows; the id must match a `data-tab` +// value in index.html so the renderer filter can find the button. +const OPTIONAL_PAGES = Object.freeze([ + Object.freeze({ id: 'playground-shim', label: 'Playground', hint: 'Demo playground shim (opens Plugins tab).' }), + Object.freeze({ id: 'mission', label: 'Missions', hint: 'Mission Control — task graph over sessions.' }), +]) + +function resolveHiddenPages(cfg) { + if (!cfg || typeof cfg !== 'object') return DEFAULT_HIDDEN.slice() + const raw = cfg.hiddenPages + if (raw === undefined) return DEFAULT_HIDDEN.slice() + if (!Array.isArray(raw)) return DEFAULT_HIDDEN.slice() + // Explicit empty array means "show everything" — the user has opted + // every optional page in. Filter out non-strings/blanks defensively so + // a malformed entry can't crash the renderer filter. + const cleaned = raw.filter((x) => typeof x === 'string' && x.length > 0) + return cleaned +} + +// Small helper the Settings page uses to compute the next hiddenPages +// array given a checkbox flip. `enable=true` means "the user wants this +// page visible" so we remove it from hidden; `enable=false` adds it back. +function toggleOptionalPage(current, pageId, enable) { + const set = new Set(Array.isArray(current) ? current : []) + if (enable) set.delete(pageId) + else set.add(pageId) + return Array.from(set) +} + +const navConfigApi = { DEFAULT_HIDDEN, OPTIONAL_PAGES, resolveHiddenPages, toggleOptionalPage } +if (typeof module !== 'undefined' && module.exports) module.exports = navConfigApi +if (typeof window !== 'undefined') window.__dshNavConfigModel = navConfigApi + +})(); diff --git a/examples/desktop/src/renderer/renderer.js b/examples/desktop/src/renderer/renderer.js index 87c24af7ec..873a1e2d8a 100644 --- a/examples/desktop/src/renderer/renderer.js +++ b/examples/desktop/src/renderer/renderer.js @@ -7530,6 +7530,47 @@ async function bootUi() { }) window.__dshTabs = { switchTo } + // Left-nav hidden-pages filter (lane-nav-optional). Reads the shell + // config's `hiddenPages` array through the nav IPC and toggles a + // `nav-item--hidden` class on every `.tab-btn[data-tab=id]` in the + // hidden set. Also hides the enclosing `.nav-group` when every button + // inside it is hidden so an empty group header doesn't linger. If the + // active tab has been hidden by the flip, we fall back to Chat so + // the shell never lands on a pane whose entry point is invisible. + async function applyNavHiddenPages() { + const M = window.__dshNavConfigModel + if (!M) return + let cfg = {} + try { + if (window.dsh && window.dsh.nav && typeof window.dsh.nav.getHiddenPages === 'function') { + cfg = await window.dsh.nav.getHiddenPages() || {} + } + } catch (_) { /* absent IPC (unit test / stripped preload) → fall through to defaults */ } + const hidden = M.resolveHiddenPages(cfg) + const hiddenSet = new Set(hidden) + for (const btn of document.querySelectorAll('.sidebar-nav .tab-btn')) { + const id = btn.dataset.tab + btn.classList.toggle('nav-item--hidden', hiddenSet.has(id)) + } + for (const group of document.querySelectorAll('.sidebar-nav .nav-group')) { + const buttons = group.querySelectorAll('.tab-btn') + if (buttons.length === 0) continue + const everyHidden = Array.from(buttons).every((b) => b.classList.contains('nav-item--hidden')) + group.classList.toggle('nav-group--hidden', everyHidden) + } + // If a hidden tab was the active one, fall back to Chat so the + // main pane isn't left showing a surface whose button is gone. + const activeBtn = document.querySelector('.sidebar-nav .tab-btn.active') + if (activeBtn && activeBtn.classList.contains('nav-item--hidden')) { + switchTo('chat') + } + return hidden + } + window.__dshNavFilter = { apply: applyNavHiddenPages } + // Kick the filter after tab wiring lands so a fresh boot doesn't + // paint Playground/Missions before the hide toggles for one frame. + void applyNavHiddenPages() + // Rate-trajectory button — opens the annotation drawer scoped // to the current chat session. Falls back to a fixture-session picker // when there is no active session (first-run demo shape). diff --git a/examples/desktop/src/renderer/settings-page.js b/examples/desktop/src/renderer/settings-page.js index e845281a45..14a3d3cf97 100644 --- a/examples/desktop/src/renderer/settings-page.js +++ b/examples/desktop/src/renderer/settings-page.js @@ -170,6 +170,62 @@ } } + // Optional pages (lane-nav-optional). Render a checkbox row for each + // page listed in nav-config-model's OPTIONAL_PAGES. `checked=true` + // means the page is CURRENTLY VISIBLE (not in the hiddenPages array). + // On toggle, write the updated array back through window.dsh.nav.set + // and ask the renderer to re-apply the sidebar filter so the change + // takes effect without a reload. + async function readCurrentHidden() { + try { + if (window.dsh && window.dsh.nav && typeof window.dsh.nav.getHiddenPages === 'function') { + const res = await window.dsh.nav.getHiddenPages() + const M = window.__dshNavConfigModel + return M ? M.resolveHiddenPages(res || {}) : (Array.isArray(res && res.hiddenPages) ? res.hiddenPages : []) + } + } catch (_) { /* fall through */ } + const M = window.__dshNavConfigModel + return M ? M.DEFAULT_HIDDEN.slice() : [] + } + + function renderOptionalRow(page, isVisible) { + const li = document.createElement('li') + li.className = 'settings-optional-row' + li.dataset.pageId = page.id + const checkbox = document.createElement('input') + checkbox.type = 'checkbox' + checkbox.checked = !!isVisible + checkbox.id = `settings-optional-${page.id}` + checkbox.dataset.pageId = page.id + const label = document.createElement('label') + label.className = 'settings-optional-label' + label.setAttribute('for', checkbox.id) + const name = document.createElement('span') + name.className = 'settings-optional-name' + name.textContent = page.label + const hint = document.createElement('span') + hint.className = 'settings-optional-hint muted' + hint.textContent = page.hint + label.appendChild(name) + label.appendChild(hint) + li.appendChild(checkbox) + li.appendChild(label) + return li + } + + async function renderOptionalPages(container) { + const list = container.querySelector('[data-settings-optional-list]') + if (!list) return + const M = window.__dshNavConfigModel + if (!M) return + const currentHidden = await readCurrentHidden() + const hiddenSet = new Set(currentHidden) + list.innerHTML = '' + for (const page of M.OPTIONAL_PAGES) { + list.appendChild(renderOptionalRow(page, !hiddenSet.has(page.id))) + } + } + async function readKeyPresence() { // Only DEEPSEEK is knowable today because the main process spawns // stdio-deepseek with that key threaded through the profile. Other @@ -202,6 +258,7 @@ if (!root) return const priceContainer = root.querySelector('[data-settings-pricing]') const keysContainer = root.querySelector('[data-settings-keys]') + const optionalContainer = root.querySelector('[data-settings-optional-pages]') const model = window.__dshSettingsModel if (!model) return if (priceContainer) { @@ -221,6 +278,9 @@ const rows = model.classifyKeys(presence) renderKeys(keysContainer, rows) } + if (optionalContainer) { + await renderOptionalPages(optionalContainer) + } } function attachListeners(root) { @@ -260,6 +320,33 @@ void refresh(root) }) } + // Optional pages checkbox listener — one delegated handler for all + // rows. The bound flag guards a double-bind if show() runs twice + // (which happens when the researcher visits Settings after having + // opened it once already, since renderer.js:switchTo('settings') + // calls show() unconditionally). + const optionalList = root.querySelector('[data-settings-optional-list]') + if (optionalList && !optionalList.__dshBound) { + optionalList.__dshBound = true + optionalList.addEventListener('change', async (ev) => { + const t = ev.target + if (!(t instanceof HTMLInputElement) || t.type !== 'checkbox') return + const pageId = t.dataset.pageId + const M = window.__dshNavConfigModel + if (!pageId || !M) return + // Read current, compute next, persist, re-apply filter. + const current = await readCurrentHidden() + const next = M.toggleOptionalPage(current, pageId, t.checked) + try { + if (window.dsh && window.dsh.nav && typeof window.dsh.nav.setHiddenPages === 'function') { + await window.dsh.nav.setHiddenPages(next) + } + } catch (_) { /* IPC absent — the DOM class flip below still updates the sidebar for this session */ } + if (window.__dshNavFilter && typeof window.__dshNavFilter.apply === 'function') { + await window.__dshNavFilter.apply() + } + }) + } } async function show() { diff --git a/examples/desktop/src/renderer/style.css b/examples/desktop/src/renderer/style.css index 318726c5d8..e30fe6a6c2 100644 --- a/examples/desktop/src/renderer/style.css +++ b/examples/desktop/src/renderer/style.css @@ -12700,3 +12700,52 @@ button.artifact-version:hover { } .artifact-timeline-open:hover { color: var(--accent); background: var(--accent-soft); } + +/* ---- lane-nav-optional: hiddenPages filter + Optional pages Settings ---- + `.nav-item--hidden` is added by renderer.js's applyNavHiddenPages() for + every left-nav button whose data-tab id appears in the shell config's + `hiddenPages` array (or the default set: playground-shim + mission). + `.nav-group--hidden` collapses the enclosing group header when every + button inside got hidden — otherwise a lonely "iteration" label would + sit above an empty column. */ +.sidebar .sidebar-nav .nav-item--hidden, +.sidebar .sidebar-nav .nav-group--hidden { + display: none !important; +} + +/* Optional pages checkbox list in Settings > Optional pages. Compact + two-line rows (label + hint) so the section stays skimmable and does + not fight the pricing/keys tables above it. */ +.settings-optional-list { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: var(--space-2); +} +.settings-optional-row { + display: flex; + align-items: flex-start; + gap: var(--space-2); + padding: var(--space-2) 0; + border-top: 1px solid var(--border); +} +.settings-optional-row:first-child { border-top: none; } +.settings-optional-row input[type="checkbox"] { + margin-top: 4px; + flex-shrink: 0; +} +.settings-optional-label { + display: flex; + flex-direction: column; + gap: 2px; + cursor: pointer; +} +.settings-optional-name { + font-weight: 600; +} +.settings-optional-hint { + color: var(--text-tertiary); + font-size: var(--fs-small, 12px); +} diff --git a/examples/desktop/test/nav-config-model.test.js b/examples/desktop/test/nav-config-model.test.js new file mode 100644 index 0000000000..b5a346ecd0 --- /dev/null +++ b/examples/desktop/test/nav-config-model.test.js @@ -0,0 +1,291 @@ +// nav-config-model.test.js — pure config helpers + static HTML gates for +// the left-nav hiddenPages filter (lane-nav-optional). +// +// Three fixture cases (task spec): +// • config.json missing `hiddenPages` → default hidden set (Playground + Missions) +// • config.json has empty array → nothing hidden (all pages show) +// • config.json has custom list → honored as-is (e.g. ["prs","growth"]) +// +// Plus DOM-shape assertions on index.html so a future rewrite of the +// sidebar can't silently strip the Optional pages section. + +'use strict' + +const test = require('node:test') +const assert = require('node:assert') +const fs = require('node:fs') +const path = require('node:path') + +const M = require('../src/renderer/nav-config-model.js') + +// -- resolveHiddenPages ---------------------------------------------------- + +test('resolveHiddenPages: no config → default hidden set', () => { + assert.deepStrictEqual(M.resolveHiddenPages(null), ['playground-shim', 'mission']) + assert.deepStrictEqual(M.resolveHiddenPages(undefined), ['playground-shim', 'mission']) + assert.deepStrictEqual(M.resolveHiddenPages({}), ['playground-shim', 'mission']) +}) + +test('resolveHiddenPages: hiddenPages missing on partial config → default set', () => { + const cfg = { role: 'engineer', approvalMode: 'ask', createdAt: 1234 } + assert.deepStrictEqual(M.resolveHiddenPages(cfg), ['playground-shim', 'mission']) +}) + +test('resolveHiddenPages: empty array → show everything', () => { + assert.deepStrictEqual(M.resolveHiddenPages({ hiddenPages: [] }), []) +}) + +test('resolveHiddenPages: custom list → honored as-is', () => { + assert.deepStrictEqual( + M.resolveHiddenPages({ hiddenPages: ['prs', 'growth'] }), + ['prs', 'growth'] + ) +}) + +test('resolveHiddenPages: non-array garbage → falls back to defaults (safe)', () => { + assert.deepStrictEqual(M.resolveHiddenPages({ hiddenPages: 'playground' }), ['playground-shim', 'mission']) + assert.deepStrictEqual(M.resolveHiddenPages({ hiddenPages: 42 }), ['playground-shim', 'mission']) + assert.deepStrictEqual(M.resolveHiddenPages({ hiddenPages: { pages: [] } }), ['playground-shim', 'mission']) +}) + +test('resolveHiddenPages: filters out non-string / blank entries', () => { + assert.deepStrictEqual( + M.resolveHiddenPages({ hiddenPages: ['prs', '', null, 42, 'growth'] }), + ['prs', 'growth'] + ) +}) + +test('resolveHiddenPages: returns a fresh array (mutation safety)', () => { + const a = M.resolveHiddenPages({}) + a.push('sneaky') + const b = M.resolveHiddenPages({}) + assert.deepStrictEqual(b, ['playground-shim', 'mission'], + 'a subsequent call must not see the mutation of a prior return') +}) + +// -- toggleOptionalPage ----------------------------------------------------- + +test('toggleOptionalPage: enable removes the id from hidden', () => { + assert.deepStrictEqual( + M.toggleOptionalPage(['playground-shim', 'mission'], 'playground-shim', true).sort(), + ['mission'] + ) +}) + +test('toggleOptionalPage: disable adds the id to hidden', () => { + assert.deepStrictEqual( + M.toggleOptionalPage(['mission'], 'playground-shim', false).sort(), + ['mission', 'playground-shim'] + ) +}) + +test('toggleOptionalPage: idempotent — disable an already-hidden page = no change', () => { + assert.deepStrictEqual( + M.toggleOptionalPage(['mission'], 'mission', false).sort(), + ['mission'] + ) +}) + +test('toggleOptionalPage: idempotent — enable an already-visible page = no change', () => { + assert.deepStrictEqual( + M.toggleOptionalPage(['mission'], 'playground-shim', true).sort(), + ['mission'] + ) +}) + +test('toggleOptionalPage: non-array current is tolerated (start fresh)', () => { + assert.deepStrictEqual( + M.toggleOptionalPage(undefined, 'mission', false).sort(), + ['mission'] + ) + assert.deepStrictEqual( + M.toggleOptionalPage(null, 'mission', true).sort(), + [] + ) +}) + +// -- OPTIONAL_PAGES shape --------------------------------------------------- + +test('OPTIONAL_PAGES: matches DEFAULT_HIDDEN 1:1 by id', () => { + const optIds = M.OPTIONAL_PAGES.map((p) => p.id).sort() + const defIds = M.DEFAULT_HIDDEN.slice().sort() + assert.deepStrictEqual(optIds, defIds, + 'every default-hidden page should have a Settings checkbox and vice versa') +}) + +test('OPTIONAL_PAGES: every entry has id/label/hint strings', () => { + for (const page of M.OPTIONAL_PAGES) { + assert.ok(typeof page.id === 'string' && page.id.length > 0, `id: ${JSON.stringify(page)}`) + assert.ok(typeof page.label === 'string' && page.label.length > 0, `label: ${JSON.stringify(page)}`) + assert.ok(typeof page.hint === 'string' && page.hint.length > 0, `hint: ${JSON.stringify(page)}`) + } +}) + +// -- static HTML gate: Optional pages section -------------------------------- + +const HTML = fs.readFileSync( + path.resolve(__dirname, '..', 'src/renderer/index.html'), + 'utf8' +) + +test('Optional pages section is declared in the Settings pane', () => { + assert.match(HTML, /data-settings-optional-pages/, + 'Optional pages section marker present') + assert.match(HTML, /data-settings-optional-list/, + 'Optional pages list hook present') + assert.match(HTML, /Optional pages/, + 'Section title copy present') +}) + +test('Optional pages section lives inside the Settings pane (not orphaned)', () => { + // Grab settings-pane block through its closing tag and assert the + // Optional marker sits inside. Guards against a merge that moves the + // block out of the pane by accident. + const paneMatch = HTML.match(/id="settings-pane"[\s\S]*?<\/section>\s*<\/section>/) + assert.ok(paneMatch, 'settings-pane block found') + assert.match(paneMatch[0], /data-settings-optional-pages/, + 'Optional pages section must live inside #settings-pane') +}) + +test('nav-config-model.js is loaded before settings-page.js', () => { + const navMatch = HTML.match(/]*src="\.\/nav-config-model\.js"/) + const settingsMatch = HTML.match(/]*src="\.\/settings-page\.js"/) + assert.ok(navMatch, 'nav-config-model.js script tag present') + assert.ok(settingsMatch, 'settings-page.js script tag present') + const navIdx = HTML.indexOf(navMatch[0]) + const settingsIdx = HTML.indexOf(settingsMatch[0]) + assert.ok(settingsIdx > navIdx, + 'nav-config-model must load before settings-page so OPTIONAL_PAGES is defined at render time') +}) + +test('Playground-shim + mission buttons expose the data-tab ids the filter matches', () => { + // These two ids are the default-hidden set — if a lane renames either + // without also updating nav-config-model.DEFAULT_HIDDEN, the filter + // would silently no-op and both buttons would show up on fresh installs. + assert.match(HTML, /data-tab="playground-shim"/, + 'playground-shim button id must match DEFAULT_HIDDEN entry') + assert.match(HTML, /data-tab="mission"/, + 'mission button id must match DEFAULT_HIDDEN entry') +}) + +// -- DOM-level filter proof (three fixture cases) -------------------------- +// Mirror the loop inside renderer.js:applyNavHiddenPages() against a tiny +// shim so each fixture case is proven end-to-end: config in → +// hiddenPages resolved → class toggled on matching button. Using a +// hand-rolled shim rather than jsdom (not a dev-dep) or the full +// renderer-harness (evals 8k lines of renderer.js for a one-loop check). + +function makeSidebar() { + const buttons = [] + const groups = [] + function makeBtn(dataTab) { + return { + dataset: { tab: dataTab }, + classList: { + _s: new Set(), + toggle(n, force) { + if (force) this._s.add(n); else this._s.delete(n) + return force + }, + contains(n) { return this._s.has(n) }, + }, + } + } + function makeGroup(btns) { + const g = { + classList: { + _s: new Set(), + toggle(n, force) { + if (force) this._s.add(n); else this._s.delete(n) + return force + }, + contains(n) { return this._s.has(n) }, + }, + _btns: btns, + } + for (const b of btns) buttons.push(b) + groups.push(g) + return g + } + makeGroup([ + makeBtn('chat'), + makeBtn('tree'), + makeBtn('context'), + makeBtn('tracing'), + ]) + // "iteration" group — playground-shim (default hidden) sits here. + makeGroup([ + makeBtn('playground-shim'), + makeBtn('hub'), + makeBtn('bench'), + ]) + // "runtime" group — mission (default hidden) sits here. + makeGroup([ + makeBtn('rubrics'), + makeBtn('plugins'), + makeBtn('runtimes'), + makeBtn('mission'), + makeBtn('growth'), + makeBtn('prs'), + ]) + return { buttons, groups } +} + +function applyFilter(sidebar, cfg) { + const hidden = new Set(M.resolveHiddenPages(cfg)) + for (const b of sidebar.buttons) { + b.classList.toggle('nav-item--hidden', hidden.has(b.dataset.tab)) + } + for (const g of sidebar.groups) { + const allHidden = g._btns.every((b) => b.classList.contains('nav-item--hidden')) + g.classList.toggle('nav-group--hidden', allHidden) + } +} + +test('DOM filter (case 1): missing hiddenPages → playground-shim + mission hidden, others visible', () => { + const sb = makeSidebar() + applyFilter(sb, {}) + const hidden = sb.buttons.filter((b) => b.classList.contains('nav-item--hidden')) + assert.deepStrictEqual( + hidden.map((b) => b.dataset.tab).sort(), + ['mission', 'playground-shim'] + ) +}) + +test('DOM filter (case 2): empty array → nothing hidden (all pages show)', () => { + const sb = makeSidebar() + applyFilter(sb, { hiddenPages: [] }) + const hidden = sb.buttons.filter((b) => b.classList.contains('nav-item--hidden')) + assert.strictEqual(hidden.length, 0, 'no buttons should be hidden with []') + const groupHidden = sb.groups.filter((g) => g.classList.contains('nav-group--hidden')) + assert.strictEqual(groupHidden.length, 0, 'no groups should be collapsed with []') +}) + +test('DOM filter (case 3): custom list → matching buttons hidden, others untouched', () => { + const sb = makeSidebar() + applyFilter(sb, { hiddenPages: ['prs', 'growth'] }) + const hidden = sb.buttons.filter((b) => b.classList.contains('nav-item--hidden')) + assert.deepStrictEqual( + hidden.map((b) => b.dataset.tab).sort(), + ['growth', 'prs'] + ) + // Playground + mission are NOT hidden because the researcher opted them in + // via an explicit list; only the ids in the list are hidden. + const play = sb.buttons.find((b) => b.dataset.tab === 'playground-shim') + const mission = sb.buttons.find((b) => b.dataset.tab === 'mission') + assert.ok(!play.classList.contains('nav-item--hidden'), 'playground-shim visible on custom list') + assert.ok(!mission.classList.contains('nav-item--hidden'), 'mission visible on custom list') +}) + +test('DOM filter: group collapses when every button inside is hidden', () => { + const sb = makeSidebar() + // Hide every button in the iteration group. + applyFilter(sb, { hiddenPages: ['playground-shim', 'hub', 'bench'] }) + const iterGroup = sb.groups[1] // second group is "iteration" + assert.ok(iterGroup.classList.contains('nav-group--hidden'), + 'iteration group should be collapsed when all its buttons are hidden') + // The other groups still have visible members. + assert.ok(!sb.groups[0].classList.contains('nav-group--hidden')) + assert.ok(!sb.groups[2].classList.contains('nav-group--hidden')) +}) +