Skip to content

fix(app): clear lint warnings breaking EAS deploy#1828

Merged
CraigBuckmaster merged 1 commit into
masterfrom
claude/fix-lint-eas-deploy
Jun 17, 2026
Merged

fix(app): clear lint warnings breaking EAS deploy#1828
CraigBuckmaster merged 1 commit into
masterfrom
claude/fix-lint-eas-deploy

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Problem

master is red: App Deploy (EAS) / Lint and publish EAS update failed. That job runs npm run lint (eslint src/ --max-warnings 0), which tripped on three warnings introduced by the code-review changes in #1827. The standalone PR lint check didn't gate on warnings the same way, so they slipped through on that PR.

Fixes (3 warnings → 0)

  • useChapterData.ts — synchronous setIsLoading(false) in the no-bookId effect branch tripped react-hooks/set-state-in-effect. Disabled inline, matching how the rest of the codebase handles intentional cases of this rule.
  • useDifficultPassages.ts — the effect cleanup mutates the live genRef.current to invalidate an in-flight load, which react-hooks/exhaustive-deps flags as a ref-in-cleanup risk. The live ref is intentional (a copied value wouldn't invalidate the running load); disabled inline with a rationale comment.
  • connectivity.ts — removed the now-unused _polling flag (the start guard became _started in the duplicate-listener fix), clearing @typescript-eslint/no-unused-vars.

Verification

npm run lint → exit 0, tsc --noEmit clean, and the affected test suites (useChapterData, useDifficultPassages, connectivity) pass.

🤖 Generated with Claude Code


Generated by Claude Code

The App Deploy (EAS) workflow runs `npm run lint` (eslint --max-warnings 0)
and failed on three warnings introduced by the review changes:

- useChapterData.ts: synchronous setIsLoading(false) in the no-bookId
  effect branch tripped react-hooks/set-state-in-effect — disabled inline,
  matching how the rest of the codebase handles intentional cases.
- useDifficultPassages.ts: the cleanup mutates the live genRef.current to
  invalidate an in-flight load, which react-hooks/exhaustive-deps flags as
  a ref-in-cleanup risk; the live ref is intentional here — disabled inline
  with a rationale comment.
- connectivity.ts: removed the now-unused _polling flag (the start guard is
  _started after the duplicate-listener fix), clearing no-unused-vars.

These surfaced on master because EAS deploy's lint gate uses --max-warnings 0.
npm run lint, tsc, and the affected tests are all green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LjYFnGX1vcGk4h5Lz3xmng
@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

Passed Failed Total
Tests ✅ 3939 ❌ 0 3939
Suites ✅ 516 ❌ 0 516

Coverage

Statements Branches Functions Lines

⏱️ Duration: 88.6s

@CraigBuckmaster CraigBuckmaster merged commit 8fa2171 into master Jun 17, 2026
6 checks passed
@CraigBuckmaster CraigBuckmaster deleted the claude/fix-lint-eas-deploy branch June 17, 2026 18:53
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.

2 participants