@spaethtech/svelte-ui 0.21.1-dev.128.59d3487 → 0.21.1-dev.129.7debcd5
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/CLAUDE.md +14 -2
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -162,9 +162,21 @@ host port). Get its IP with `docker inspect svelte-ui-demo-1 --format '{{range .
|
|
|
162
162
|
(`svelte-ui-caddy-1` proxies to it; `php-svelte.spaethtech.dev` → the host `:5173`). `curl` the route
|
|
163
163
|
first to confirm it serves, then point a browser at it.
|
|
164
164
|
|
|
165
|
+
**For INTERACTION / HYDRATION testing, use the Caddy route `https://svelte-ui.spaethtech.dev/<route>`
|
|
166
|
+
(Playwright `ignoreHTTPSErrors: true`), NOT the container IP.** Hitting the container IP `:5173`
|
|
167
|
+
directly serves the SSR HTML but **intermittently fails to hydrate**: vite's HMR client tries
|
|
168
|
+
`ws://<ip>:443` (refused) and the route's dynamic client module then fails to fetch, so the page stays
|
|
169
|
+
SSR-only and **all client interactivity is dead** — clicks/keyboard/`bind:`/`oninput` do nothing, and a
|
|
170
|
+
Svelte `.fill()` won't propagate to bound state. This looks exactly like a component bug but isn't; it
|
|
171
|
+
bit this project's DatePicker2-reset and Tree-lazy verifications. The Caddy origin terminates TLS on
|
|
172
|
+
`:443`, so HMR + module imports load and the page hydrates reliably. Container IP is fine for
|
|
173
|
+
**SSR-only / visual** checks (screenshots of rendered markup); use Caddy whenever you click, type, or
|
|
174
|
+
assert post-hydration state. Confirm hydration first (e.g. toggle a known control and see state flip)
|
|
175
|
+
before trusting an interaction result — don't report "verified" from a page that never hydrated.
|
|
176
|
+
|
|
165
177
|
Use the **`/playwright-cli`** workflow for browser-driven testing (navigation, snapshots/screenshots,
|
|
166
|
-
console inspection, interaction). Point it at the **
|
|
167
|
-
(e.g. `/tabstrip`). The old Chrome DevTools MCP (`.mcp.json` + `chrome-devtools-mcp`) has been removed
|
|
178
|
+
console inspection, interaction). Point it at the **Caddy route** for interaction (container IP only for
|
|
179
|
+
SSR/visual) and the relevant demo route (e.g. `/tabstrip`). The old Chrome DevTools MCP (`.mcp.json` + `chrome-devtools-mcp`) has been removed
|
|
168
180
|
in favor of this. **Browser-binary gotcha:** the Playwright in `node_modules` and the cached browser
|
|
169
181
|
revision can mismatch (e.g. it wants `headless_shell-1181` but the cache has `chromium-1229`); pass
|
|
170
182
|
`executablePath` to the installed `~/.cache/ms-playwright/chromium-*/chrome-linux64/chrome` instead of
|