chore: TypeScript 7.0.2 - #74
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (2)
Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour. 📜 Recent review details
|
| Layer / File(s) | Summary |
|---|---|
Align TypeScript development dependencies package.json, dummy/web/package.json |
Both package manifests now require TypeScript ^7.0.2 for development. |
Priority: ⬇️ Low — Defer this change because it only updates the TypeScript development dependency and leaves public declarations unchanged.
Estimated code review effort: 1 (Trivial) | ~2 minutes
Merge Risk: ⚪ Minimal · up to ecd2c
The project and dummy web package now use TypeScript 7.0.2; no current merge-readiness risk remains.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | The title clearly and concisely identifies the main change: updating the project to TypeScript 7.0.2. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0… |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
✨ Finishing Touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
chore/typescript-7
A rabbit checks the TypeScript line
Two packages now align just fine
The version hops to seven
Clean tools brighten the burrow heaven
And builds nibble carrots in time
Comment @coderabbitai help to get the list of available commands.
…ejects (#75) `a persona whose credentials are wrong fails the run instead of opening it signed out` has been red on `main` since **2026-09-02** (runs 33969855127, 33647731476), timing out at exactly 30,000ms. This is the failure that was already red when #74 merged. ## The cause is the assertion, not the behaviour Awaiting a long, multi-round-trip browser flow **through the `.rejects` matcher** starves the loop driving it: every CDP call inside the pending promise then costs ~1s. This login types 20 characters and presses 6 keys, so it could never finish inside the test's 30s ceiling. Isolated with an A/B in the same process, same test file — same `performLogin`, same adapter, same page, same config, same profile dir, same log sink. Only the await differs: | how the flow is awaited | time | |---|---| | `await performLogin(...)` in try/catch | **1.4s** | | `await expect(performLogin(...)).rejects.toThrow(...)` | **31.5s** | Everything else was ruled out first by elimination: browser binary (system Chrome vs Playwright's), the log sink (real `FindingsStore` vs no-op — it receives 6 lines total), the profile dir, launch options (byte-identical), single vs double navigation, and launch order. ## Why the previous fix wasn't enough `login.ts`'s `NAVIGATION_SETTLE_MS` comment already chased this exact timeout and fixed a genuine contributor — a settle wait that could run the full 30s budget, now capped at 5s. That fix is real and stays. It just wasn't the whole cost: instrumented here, the settle wait measures **3ms** while the typing measured **32s**. ## The fix Catch the rejection and assert on the caught error, taking the flow out of the matcher. **30s timeout → 1.84s**, well inside the existing ceiling — so no timeout needed raising, which is the outcome worth having: the test is fast because the work is fast, not because it was given more room. `.rejects` is left alone everywhere else in the suite. Every other use wraps a call that fails on one round trip or none, where a single stall costs nothing. The rule is about how much work is in flight, not about the matcher — the comment in the test says so, so the next person doesn't "tidy" it back. ## Verified - the previously failing test: **1.84s, passing** - `bun test src/services` — 127/127 - `bun run lint`, `bun run typecheck` — clean The 29 failures in `browser-adapter.integration.test.ts` are pre-existing and environmental (they need the `dummy/web` fixture CI builds, which isn't built locally); they fail identically on stock `main`, before this change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015KQipy9s9tJFkGBeGWnZCX <!-- codesmith:footer --> --- <a href="https://app.blacksmith.sh/developerz-ai/codesmith/ui-debugger-mcp/pr/75"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg"><img alt="View with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"></picture></a> <a href="https://backend.blacksmith.sh/track/enable-autofix?expires=1791480803&installation_model_id=11168&pr_number=75&repository=developerz-ai%2Fui-debugger-mcp&return_to=https%3A%2F%2Fgithub.com%2Fdeveloperz-ai%2Fui-debugger-mcp%2Fpull%2F75&signature=97dd762de806072742d2e1a1e9438c8fe2d80f754f5bf3a22da972d493d523cb"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg"><img alt="Autofix with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"></picture></a> <sup>Need help on this PR? Tag <code>@codesmith-bot</code> with what you need. Autofix is disabled.</sup> <!-- codesmith:autofix:disabled --> <!-- /codesmith:footer --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Updated browser coverage for invalid credentials to verify that authentication failures are reported as the expected error type. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Bumps TypeScript. TypeScript 7 is the Go port (typescript-go) —
tscis a native binary, substantially faster.Verified: repo's own typecheck passes on the new version.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit