8000 Add smoke-test-derived notes (fill, AGENTS) by dominion525 · Pull Request #8 · dominion525/familiar · GitHub
[go: up one dir, main page]

Skip to content

Add smoke-test-derived notes (fill, AGENTS) - #8

Merged
dominion525 merged 2 commits into
mainfrom
docs/fill-input-textarea-note
Jun 22, 2026
Merged

dominion525 merged 2 commits into
mainfrom
docs/fill-input-textarea-note

Conversation

@dominion525
Copy link
Copy Markdown
Owner

Summary

Two small documentation notes surfaced while smoke-testing the PR #6 changes against a real Chrome.

0cdb537 — Note input strips LF in fill description (HTML spec)

  • fill description (mcp/src/tools.ts) and reference-actions.md / .ja.md gain a one-liner: <input> strips LF per HTML spec, use <textarea> if newlines must be preserved
  • jsEscape is unaffected — the LF drop happens entirely inside the browser's input element

ba62bd0 — Note data URL inline script restriction in AGENTS for smoke testing

  • AGENTS.md / AGENTS.ja.md's "Development and verification" section gains a one-liner: pages served via data: URLs do NOT execute inline <script> or under Chrome's data-URL security restrictions
  • Future smoke tests should assert against the DOM state the action itself writes, not inline-JS side effects; use file:// or a local http server if inline script execution is needed

Both are docs-only, no functional change. Companion of the real-Chrome smoke test of PR #6 changes (all 32 tools verified working).

Real-Chrome smoke test of the PR #6 changes surfaced that filling an <input> with a multi-line value loses the LFs — not a familiar bug, the HTML spec strips LF from <input> value (single-line by design). textarea retains LF correctly.

Add a one-line note to:
- mcp/src/tools.ts familiar_fill description
- skills/familiar/reference-actions.md fill entry
- skills/familiar/reference-actions.ja.md fill entry

so an LLM reading the schema or a human reading the reference is told to switch to <textarea> when newlines matter.

jsEscape itself is unaffected (it still escapes LF / CR / Tab so the value survives AppleScript's JS literal embedding) — the LF drop is purely at the input element layer in the browser.
While smoke-testing the MCP server, found that pages served via `data:` URLs do not execute inline `<script>` blocks or `` event handlers under Chrome's data-URL security restrictions. Document this in AGENTS.md / AGENTS.ja.md's "Development and verification" section so future smoke tests assert against DOM state the action itself writes (e.g. `set_checked` → `el.checked`) rather than inline-JS side effects that won't run. For inline script execution, serve from `file://` or a local http server.
@dominion525
dominion525 merged commit 308092d into main Jun 22, 2026
3 checks passed
@dominion525
dominion525 deleted the docs/fill-input-textarea-note branch June 22, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

< 2C21 /div>
0