车东 Che, Dong

Thu 02 July, 2026

14:53 v4.9.17: code review cleanup — dead code removal, abort fix, WAL safety » Recent Commits to phpman:master
v4.9.17: code review cleanup — dead code removal, abort fix, WAL safety

- Remove --skip-errors dead flag (break was removed in v4.9.8, v4.9.12)
- Remove dead $consecutiveFailures variable (never incremented/checked)
- Remove dead <u> cleanup regex patterns (no longer emitted after <span> migration)
- Remove $markdownUrl/$jsonUrl dead params from showForm() signature
- Wrap WAL checkpoint TRUNCATE in try-catch with PASSIVE fallback
- HTML abort protection already present in working tree (review diff was stale)

Fixes #207 /review findings 1–8.

Co-Authored-By: Claude <noreply@taotoken.net>
07:56 v4.9.16: desktop form single-row layout (search + modes inline) » Recent Commits to phpman:master
v4.9.16: desktop form single-row layout (search + modes inline)

fieldset flex-wrap keeps search+button+radios on one line on desktop.
Mobile override (flex-direction: column) stacks them in two rows.

Co-Authored-By: Claude <noreply@taotoken.net>
06:33 v4.9.15: two-row form layout — search+button row, radios row below » Recent Commits to phpman:master
v4.9.15: two-row form layout — search+button row, radios row below

- form HTML: split single <p> into .form-search (input+Go) and
  .form-modes (6 radio buttons), each in its own paragraph
- CSS: specific selectors for .form-search and .form-modes
- Mobile: tighter gaps (4px/2px), compact radio labels
- Fixes #207: mobile form no longer stacks everything vertically;
  search+button always on one row, radios wrap naturally below

Co-Authored-By: Claude <noreply@anthropic.com>
06:24 docs: add v4.9.11–v4.9.14 changelog entries » Recent Commits to phpman:master
docs: add v4.9.11–v4.9.14 changelog entries
06:07 v4.9.14: fix --status man emoji count — :mode was never bound » Recent Commits to phpman:master
v4.9.14: fix --status man emoji count — :mode was never bound

- showStatus(): man path skips $stmtCount->bindValue(':mode') in the
  html-count branch, leaving :mode unbound for the emoji_md/emoji_html
  queries that follow — causing COUNT(*) to return 0 for man only
- Fix: always bind :mode before emoji counts, regardless of mode

Closes #206
05:57 v4.9.13: fix --status showing 0 for man — WAL checkpoint before read » Recent Commits to phpman:master
v4.9.13: fix --status showing 0 for man — WAL checkpoint before read

- On DB open, run PRAGMA wal_checkpoint(TRUNCATE) to flush WAL writes
- Fixes: emoji counts showing 0 despite data existing (41 html + 53 md for man)
- Root cause: SQLite WAL snapshot isolation — new readers see old snapshots
  when 5 concurrent batch-enhance writers keep the WAL growing

Closes #206

Wed 01 July, 2026

15:41 v4.9.12: emoji_html LLM empty no longer aborts batch » Recent Commits to phpman:master
v4.9.12: emoji_html LLM empty no longer aborts batch

- emoji_html failures now SKIP instead of aborting (like missing pages)
- Man pages (CGI/DBI 85K chars) consistently fail emoji_html but succeed
  at emoji_md — html abort killed the entire man batch at entry 4/9600
- Only emoji_md consecutive failures (3 in a row) still trigger abort

Co-Authored-By: Claude <noreply@anthropic.com>
06:50 v4.9.11: fix callLLM() non-retryable return value bug » Recent Commits to phpman:master
v4.9.11: fix callLLM() non-retryable return value bug

- callLLMEndpoint() now returns `false` for non-retryable failures
  (was `''` which collided with valid empty-string success responses)
- callLLM() loop: checks `!== false` for success, `=== false` for abort
- Previously: 4xx/auth errors returned `''` which was indistinguishable
  from a legitimate empty LLM response — primary failures incorrectly
  returned empty string instead of trying fallbacks

Co-Authored-By: Claude <noreply@anthropic.com>
06:33 docs: add v4.9.5–v4.9.10 changelog + worktree rebase rule » Recent Commits to phpman:master
docs: add v4.9.5–v4.9.10 changelog + worktree rebase rule

- docs/01-PRODUCT.md: changelog entries for v4.9.5→v4.9.10
- CLAUDE.md: Git workflow section — worktree rebase-before-commit rule
  to prevent future silent overwrites from stale worktrees

Co-Authored-By: Claude <noreply@anthropic.com>
05:49 v4.9.10: restore Geist CSS + footer format links » Recent Commits to phpman:master
v4.9.10: restore Geist CSS + footer format links
01:12 v4.9.9: move RE_ASCII constants to config.php for CLI access » Recent Commits to phpman:master
00:45 v4.9.8: batch-enhance skip missing pages, don't abort entire batch » Recent Commits to phpman:master

Tue 30 June, 2026

21:04 fix: shorten back-to-top to 'top', align with toggle » Recent Commits to phpman:master
21:04 Merge branch 'worktree-phpman-config-check' » Recent Commits to phpman:master
20:58 fix: add *.google.co.jp to CSP connect-src » Recent Commits to phpman:master
20:58 Merge branch 'worktree-phpman-config-check' » Recent Commits to phpman:master
20:50 Merge branch 'worktree-phpman-config-check' » Recent Commits to phpman:master
20:49 feat: remove phpman breadcrumb from title/h1 » Recent Commits to phpman:master
20:43 fix: move theme toggle back to bottom-right (match v4.8.2) » Recent Commits to phpman:master
20:43 Merge branch 'worktree-phpman-config-check' » Recent Commits to phpman:master

Sat 14 February, 2026

23:20 openclaw配置飞书 channel 机器人通道 多账号 » 车东[Blog^2]