test(word-addin): run the e2e suite under WebKit and gate it in CI
WHY THIS MATTERS The task pane's headline fix defends the transcript's scroll position against WKWebView, but the assertions that prove it only fail under WebKit. WebKit's scroll anchoring ignores `overflow-anchor: none` and rewrites scrollTop whenever a descendant (e.g. the collapsing "Working -> Completed in N steps" strip) resizes; Chromium honours the opt-out. A chromium-only suite therefore stays green even with the fix fully reverted -- the tests pass vacuously. WHAT IS A VACUOUS TEST A test that asserts a property the environment can never violate. It looks like coverage but can't fail, so regressions ship silently. The cure is to run the assertion in the environment where the property is actually at risk -- here, a WebKit browser, the same engine Word on macOS embeds. HOW IT WORKS - playwright.config.ts gains a `webkit` project (Desktop Safari), so `npm run test:e2e` runs every spec in both engines by default; a `test:e2e:webkit` script exists for targeted debugging. - The orphaned playwright.webkit.temp.config.ts (referenced by no script, doc, or CI, and invisible to every tsconfig) is deleted -- its only non-duplicated content was the webkit device entry. - A new path-filtered .github/workflows/word-addin.yml gates typecheck + the two-browser suite on every change under word-addin/. The webServer timeout rises 180s->300s because in CI that command performs a cold typecheck + production webpack build, and a webServer timeout aborts the run un-retried. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015U1iPxsADQ2yuksNmDuvvW
| Repository | open-legal-products/mike |
|---|---|
| Author | Amal <mamalanand3@gmail.com> |
| Authored | |
| Committed | |
| Parents | 6dd49083 |
| Stats | 4 files changed , +104 , -27 |
| Part of | Bring the Word add-in chat experience in line with the web app |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-8c0b4922.md
from inside the repo you want the change in.