freddie 0.0.63 → 0.0.65
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.
- package/AGENTS.md +1 -0
- package/package.json +1 -1
- package/src/web/app.js +1 -1
- package/src/web/index.html +2 -2
package/AGENTS.md
CHANGED
|
@@ -246,6 +246,7 @@ All 12 test.js named groups passing: home+config+skin, sessions+FTS5, tools+tool
|
|
|
246
246
|
- **anentrypoint-design v0.0.27 source/dist skew** — Published npm package lags behind source in C:/dev/anentrypoint-design. New components (EmptyState, etc.) present in source but missing from dist/247420.js until rebuild. Run `node scripts/build.mjs` in the design repo (emits dist/247420.js ~441KB + 247420.css; build ~150ms); warning "[247420] missing css: vendor/rippleui-1.12.1.css" is benign. Skip rebuild and browser-witness new component usage: silent pageerror "component is not a function" kills app mount with no output in #app. freddie/package.json uses `file:../anentrypoint-design` so npm install always mirrors rebuilt dist without publish cycles.
|
|
247
247
|
- **Live page rerender caveat** — AppState.body caching (page computed once at navigation, body saved) breaks for live routes like #/chat where AppState is mutated mid-flight (SSE pushes new messages). Fix: detect live routes in rerender(), recompute body: `if (AppState.hash === '#/chat') { Promise.resolve(PAGES['#/chat']()).then(b => { AppState.body = b; _mount() }); return }`. Any future live-streaming pages (cron output, traces) need the same treatment.
|
|
248
248
|
- **libuv spawn caveat** — Spawning createDashboard() from exec:nodejs and keeping process alive triggers libuv UV_HANDLE_CLOSING crash on shutdown. Reliable alternative: boot via `node bin/freddie.js dashboard --port <port>`. Liveness checks: exec:browser → page.goto → window.__debug.dashboard() returns {booted, ts, framework, route}; window.__debug.chat() exposes {messages, streaming, draft}; window.__debug.sendChat(text) drives round-trips.
|
|
249
|
+
- **anentrypoint-design theme token descendant selector fix** (2026-05-04) — SDK CSS scopes light/dark theme variables under descendant selectors `.ds-247420 [data-theme="dark"]` and `.ds-247420 [data-theme="light"]`. Placing both `class="ds-247420"` and `data-theme="dark"` on the same node (e.g. `<html>`) breaks theming: the descendant selector does NOT match when both attributes are on the same element. Fix: scope `class="ds-247420"` on `<html>` and `data-theme="dark"` on `<body>`. Theme toggle must write to `document.body`, not `document.documentElement`. Browser-witnessed commit 17dfce0: pre-fix dark/light backgrounds identical (rgb 26,27,30); post-fix dark=rgb(26,27,30), light=rgb(245,240,228). Symptom: toggle theme in dashboard, page background does not change.
|
|
249
250
|
|
|
250
251
|
## Website theme + YAML caveats (2026-05-03)
|
|
251
252
|
|
package/package.json
CHANGED
package/src/web/app.js
CHANGED
|
@@ -41,7 +41,7 @@ const AppState = {
|
|
|
41
41
|
batch: { results: null, running: false },
|
|
42
42
|
agents: { count: 0, active: null },
|
|
43
43
|
}
|
|
44
|
-
function applyTheme() { document.
|
|
44
|
+
function applyTheme() { document.body.setAttribute('data-theme', AppState.theme) }
|
|
45
45
|
applyTheme()
|
|
46
46
|
window.__debug.state = () => AppState
|
|
47
47
|
|
package/src/web/index.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en" class="ds-247420"
|
|
2
|
+
<html lang="en" class="ds-247420">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
@@ -13,7 +13,7 @@ html, body { margin: 0; padding: 0; min-height: 100vh; }
|
|
|
13
13
|
#app { padding: 16px 20px; box-sizing: border-box; }
|
|
14
14
|
</style>
|
|
15
15
|
</head>
|
|
16
|
-
<body>
|
|
16
|
+
<body data-theme="dark">
|
|
17
17
|
<div id="app"></div>
|
|
18
18
|
<script type="module" src="./app.js"></script>
|
|
19
19
|
</body>
|