diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -302,6 +302,19 @@ keypair bundle, or anything that looks like a user's public key. reproduced the defect in one run. Model the environment, never the code under test +- **A stylesheet does not tell you where anything lands.** The responsive tests + pinned numbers out of `style.css` and said in their own docstring that a + layout could not be measured because there was no browser in the suite. There + is one — Chrome, from the video work — and the difference is the transfers + panel: `width: 330px` was never the problem, the problem was that it is + anchored to a button which is not at the right edge of the screen, so it hung + 138 px off the left of a 320 px phone and hid the file names. No reading of + the rule would have shown that. `tests/harness/layout_probe.py` renders the + real stylesheet at a given width (in an iframe — a headless window will not go + below ~500 px) and returns rectangles; one browser measures every width, + because one apiece put three minutes on the suite. Assert on geometry, and + check the test fails with the fix removed + - **A hook cannot depend on one declared below it.** `const a = useCallback(fn, [b])` evaluates `[b]` where it is written, so a `b` further down the component is still in its temporal dead zone: `ReferenceError` on every render, before @@ -495,6 +508,7 @@ SFR residential Fedora 44 → meshbay.org OVH VPS: | Seeking (browser) | `static/app.js` | `requestSeek` → node restarts ffmpeg with `-ss`; `reinitAt` clears the buffer and sets `timestampOffset`. `-copyts` does *not* preserve position — measured — so the offset comes from the client | | Seeking (node) | `webrtc_server.py` | `start` on `stream_req`; `-ss` **before** `-i` (index seek, not decode-and-discard), clamped away from the end, echoed in `stream_init` | | Resume position | `static/app.js` | `readResumePosition` / `writeResumePosition` — localStorage, per file, per browser. No protocol, and nothing new learns what you watch | +| Layout, measured | `tests/harness/layout_probe.py` | Renders `style.css` in Chrome at any width and returns bounding boxes. Use it for layout, not `test_layout_responsive.py`, which only pins CSS values | ## meshbay.org server (état cible) |