Repository navigation
Correct chapter 06's NonNullable and type origin, calm its hero, and tidy chapter 07 - #20
Conversation
JSX trims each line of a text block and joins the lines with one space.
The Chinese copy is wrapped across source lines throughout the course, so
it rendered with spaces between Chinese characters and around full-width
punctuation: 1,572 of them in 36 files.
- 1,548 line breaks are joined by a script that walks the TypeScript
syntax tree and touches only JSX text and JSX attribute strings, never
code samples, template literals or comments. Breaks next to Latin
letters, digits, expressions, "——" or operators keep their space.
- 24 more spaces go: 20 after full-width punctuation, 3 between Chinese
text and a tag whose text is Chinese, and one {" "} between a
full-width mark and Chinese text.
- test/zh-copy-spacing.test.ts, the check DataData and AlgoAlgo use,
scans every TSX file and fails on any new stray space; CLAUDE.md states
the rule.
Apart from the one {" "}, the diff changes nothing but whitespace. The
text every edited file renders differs from master only by deleted
spaces, each next to Chinese text, so the English copy is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… chapter 07
Chapter 06
- NonNullable is not a conditional type: since TypeScript 4.8 it is T & {} (lib.es5.d.ts).
The quiz explanation says so, while Exclude and Extract stay conditional types.
- The chapter's Order type is introduced as this chapter's type (its Size matches earlier
chapters), not as "the type from Chapter 01", where no Order exists.
- The Chinese title of the composition task names the three Order variants the task asks
for, as the English title and both task texts do.
- The hero tool carousel goes round once and stops, does not move under reduced motion and
does not advance while the page is hidden.
Chapter 07
- Copy only: 光秃秃的 T and 造一把 become formal Chinese.
Both chapters
- Formal Chinese register (认脸, 一声不吭 and the like) and quiz titles 本章测验 / Chapter quiz.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Deployment failed for project tser with the following error: Learn More: https://vercel.com/renrenmimis-projects?upgradeToPro=build-rate-limit |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4b1e2e784
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| steps += 1; | ||
| setI((v) => (v + 1) % HERO_TOOLS.length); | ||
| if (steps >= HERO_TOOLS.length) clearInterval(t); | ||
| }, 2600); |
There was a problem hiding this comment.
Add a pause control for the carousel
For users without a reduced-motion preference who still need to pause moving or updating content, this timer changes the hero at 2.6, 5.2, 7.8, and 10.4 seconds. Because the automatic sequence lasts longer than five seconds, merely stopping after the final update does not resolve the reported inability to pause it; provide a user-visible pause mechanism or shorten the entire sequence to five seconds or less.
Useful? React with 👍 / 👎.
Branches from #9 (commit
2148ad8), so it can be merged before or after it, and independently of #10–#19.It touches chapter 06 (
app/utility/page.tsx,viz.tsx,lib/utility-data.tsx) and chapter 07 (app/type-magic/page.tsx,viz.tsx,lib/type-magic-data.tsx). It does not touchLAB_TYPOorLAB_GRADER_SOLVED, which #14 owns.Summary
Fixes from the 2026-10-09 audits:
04-TSer-内容.md)T & {}since TypeScript 4.8 (lib.es5.d.ts:1635).Order"the tea shop type from Chapter 01". Chapter 01 has noOrder, and chapter 02'sOrderis a different shape./utilitycarousel,04-TSer-代码与体验.md): the hero carousel switched every 2.6 s forever. It ignored reduced motion and could not be paused.Changes
T & {}.Verification
npx tsc --noEmit --incremental false: clean.npm test: 6 files, 38 tests pass, includingzh-copy-spacing.npm run build: succeeds.next start:reducedMotion: 'reduce': it shows only Partial throughout.🤖 Generated with Claude Code