fix(website): drop a duplicate Modal import that broke every build - #6924
fix(website): drop a duplicate Modal import that broke every build#6924iamwhatever wants to merge 1 commit into
Conversation
ChannelPage.tsx imported Modal twice, at lines 2 and 16, so tsc reported TS2300 Duplicate identifier 'Modal'. Every build and typecheck lane runs tsc, so one line broke Frontend Lint & Type Check, Build Wheel, both Build Desktop jobs and E2E -- on main and therefore on every open pull request. The second import arrived in 07eaab9 (fix(channels): name errors with shared modal) next to the DetailPanel import, while line 2 already had it. Removed the later one; line 2 is the original and keeps the import block's existing order.
UX Review (Fable 5) — ✅ PASSUX-level review of The diff is a one-line removal of a duplicate UX-Verdict: PASS Build-fix only — deletes a duplicate import; zero change to any rendered surface, string, or flow. [UX-REVIEWED] aba11fa |
Design Review (Fable 5) — ✅ PASSDesign-level review of Design-Verdict: PASS Minimal, correctly-scoped one-line fix for a verified base-branch build breakage; no design surface to question. [DESIGN-REVIEWED] aba11fa |
First Principles Review (Fable 5) — ✅ PASSPremise-level review of The checkout at HEAD confirms the fix: First-Principles-Verdict: PASS Deletes the second of two identical What this change shipsIntent: make
The inventory is a single item and it is the fix. The zero option leaves TS2300 on the merge base failing five lanes on every PR — a reported, reproducible defect ( [FIRST-PRINCIPLES-REVIEWED] aba11fa |
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
Opus 4.8 Review — ✅ no blocking findingsReviewed Review details
No findings. [OPUS-REVIEWED] aba11fa Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
|
Super quick test fix about duplicate imports. I will merge directly to unblock other PRs. |
Problem
website/src/pages/ChannelPage.tsximportsModaltwice — line 2 and line 16 —so the TypeScript compiler reports:
This is on
main(ba65da1e8), not on a feature branch.Why it matters
Every build and typecheck lane runs
tsc, so this single line fails five checksat once — Frontend Lint & Type Check, Build Wheel, Build Desktop
(
ubuntu-22.04), Build Desktop (ubuntu-22.04-arm) and E2E — onmainandtherefore on every open pull request in the repository, none of which can
reach a green state until it is fixed. I hit it as an unrelated README-only
change showing five build failures.
Fix
Symptom: five unrelated-looking build failures on a diff that touches no
TypeScript. Root cause: not the diff at all —
tscruns in every one of thoselanes, so one duplicate identifier on the merge base fans out across the whole
matrix. Delete one of the two identical imports.
git logshows how it got there: line 2 already had the import, and07eaab978(fix(channels): name errors with shared modal) added a second onenext to the
DetailPanelimport. Removed the later one, so line 2 — the original— stays and the import block keeps its existing order.
Tests
tsc --noEmit— clean (was 2 errors).eslint src/pages/ChannelPage.tsx --max-warnings 0— clean.vitest runon the four ChannelPage suites(
ChannelPage.clearContext,ChannelPage.ime,ChannelPage.menuKeyboard,ChannelPageCoverage) — 84 passed.Manual verification
grep -n "components/Modal" website/src/pages/ChannelPage.tsxbefore: lines 2and 16. After: line 2 only.
origin/mainitself, so this is abase-branch breakage rather than a merge artifact.
Why no screenshot: the diff deletes a second
import Modal from '../components/Modal'— the identical import of the identical module that line 2already performs — so the binding
Modalrefers to the same component before andafter, no JSX changes, and the emitted bundle is unchanged. The file only tripped
the frontend-surface path filter; there is no rendered state to capture, and a
screenshot of ChannelPage would be evidence of nothing.