Repository navigation
Conversation
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
Preserve the original correction while regenerating the combined source package. BlueboxC
There was a problem hiding this comment.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
Recapture the existing scenes from the current gallery artifacts after upstream PR tt-a1i#1173. BlueboxC
Retain the original correction and upstream Sequence centering; bind the animation to the combined gallery artifacts. BlueboxC
Protect the fixture precondition without fixing a line count or changing the renderer, inputs, or content assertions. BlueboxC
|
Addressed the wrapping-precondition coverage note in BlueboxC |
Integrate the published DSH fixes and documentation without changing the previously reviewed correction, regression tests, Skill tree or ZIP. Use the canonical README proof from merged upstream tt-a1i#1293; all three artifact inputs and the generator match this combined source exactly. BlueboxC
Problem and value
Related: #1067 (event-title follow-up: #1067 (comment)).
Wrapping an event title containing repeated flags, skin-tone modifiers or combining characters can split one visible character across lines. Segment event titles into Unicode graphemes before wrapping, preserving the complete authored text.
The maintainer accepted this bounded scope in the scope review. PR #1032 segments header ellipses and adjusts multi-year/header layout; it does not change event-title
wrapTitle. This proposal touches only event-title wrapping and uses a distinct segmenter constant.Contributor review
The accountable contributor explicitly confirmed personal review of this candidate, its explanation and visible results on 2026-10-29.
Stability impact
Renderer behavior for the affected diagram type. The change is bounded to the behavior described above. Test-value review selected observable content/URL/acceptance regressions rather than implementation snapshots: each new regression fails on the base and passes with this fix. Existing related coverage is reused. No separate simplify-codebase refactor was needed for this local correction; no speculative abstraction or configuration is added.
Tests run
Base:
847146aeb93b492592adb78dc220f57e4a8b4636(dev). Candidate:90ba9582db3d1350de37693689934d40b930384c.Node 22.23.2, macOS arm64, zlib 1.3.1-e00f703:
node --test test/timeline-title-graphemes.test.mjs— fails, exposing the reported behavior.npm run test:focus -- test/timeline-title-graphemes.test.mjs test/timeline-rendering.test.mjs test/timeline-dst-ticks.test.mjs— passes.npm testandnpm run test:generated— pass.git diff --check— passes.bash scripts/build-zip.sh— passes; extracted ZIP smoke passes for the changed behavior.These are fixed-input regressions and scoped core/generated checks. The local results above retain their original scope. No real-repository Agent generation benchmark is claimed. The current remote CI results are recorded below.
Visual evidence
Reproduce using the fixture embedded in
test/timeline-title-graphemes.test.mjswith the CLI renderer on the base and candidate. Real Chrome at 1440×900, light theme, identical input and page state was checked separately from the Node regression.For an event title of
🇪🇸.repeat(15), the base splits a flag across line boundaries; the candidate retains complete flag graphemes and the full title. The automated regression also covers family emoji, skin-tone modifiers and combining characters.Automated/browser content checks pass. The contributor has now confirmed personal review of the visible result as well as the change and explanation.
Generated artifacts
Regenerated
archify.zipfrom the candidate source using the canonical Node/zlib toolchain. SHA-256:42334db37f467ad21984204dba78472ed00c47bd450ddf8604d312b8bc133782. The extracted distribution was exercised; no release or deployment is requested by this PR.Review status at the previously reviewed head
CI run 40764496534 on the candidate above has 16 successful jobs and no failures. The four skipped jobs are full-regression, website and the two deployment jobs, according to the existing scope policy; their coverage is not claimed as executed. Windows portability (Node 22/24), package smoke (Linux/macOS/Windows), browser shards, Node 18/20/22/24, ZIP freshness and artifact checks passed. With scope agreement and personal review confirmed, this candidate is ready for review. Integration should follow #1150 then #1151. Keep coordination with #1032 and #1067 limited to integration overlap; this event-title fix does not propose a broader Unicode/CJK layout system.
Current integration · 31 October
Head
b06becbdb999fc0b56471ab3d50aacde660b53e7includes maintainer #1173 and dev63c9263e84bd3993cab8e09b3d69888857858635. The original correction and test blobs remain byte-identical to90ba9582db3d1350de37693689934d40b930384c; the existing personal confirmation retains that scope. The combined ZIP was regenerated and checked against the complete Skill tree.Local qualification on tree
edf954e48764bb531530b5cd8b515ed4cf6e2477: generated/golden checks,19 core smoke cases,26 focused Sequence cases including Chrome, this PR's focused regression and clean-package smoke. The later integration of #1174 changes only the README GIF and receipt: the unchanged README/Gallery tests pass15 cases with one native Windows-only local skip on final treec573026c0db80a2bf017b1852afccd792c0b22c8. All three input-artifact hashes match the separately recaptured #1174 animation. Source, tests and ZIP are unchanged by that second step. The earlier README freshness failures remain visible in the previous CI runs.CI41175244794 passed on this exact public head: 17 successful jobs, 3 expected skips, no failures. The complete regression lane was skipped by the existing scope policy; it is not counted as executed. Windows path-test steps: (Node 22) skipped; (Node 24) skipped; skipped steps are not counted as native test execution. Deployment jobs were skipped. The separate generated-media PR1174 received its own explicit personal confirmation on 2026-10-31. The existing confirmation for this PR's mechanical integration is preserved through identical original correction blobs.
Test-coverage follow-up · 31 October
Current head:
f9d2d438b57eec3e6d650d90a3ca5660f1f33f1a, tree98b0ef6406c51621ceb4dea485affcd2e54bba1c. This addresses the coverage note in review5721590528; the current runtime was not found defective. A controlled renderer fault returning a single unwrapped title passed the old test. Each existing long-title fixture now requires more than one line before checking complete authored content and graphemes. All four already wrap on the correct renderer; no fixture, renderer or exact line count is changed.The amended test rejects disabled wrapping and still rejects the original code-point-splitting fault; after restoring the original renderer, all21 affected Timeline tests pass. Core19, generated/golden checks, README/Gallery15pass with one native Windows-only local skip, and diff checks also pass. The published tree matches the tested local tree. Runtime source blob
6d219323ec7c7e20b0a38c9fd61865e3f85d0917, ZIP and all generated media remain byte-identical to the preceding CI-qualified headb06becbdb999fc0b56471ab3d50aacde660b53e7. Only the existing test changes. No added abstraction, shared state, simplify refactor or generation benchmark applies.The earlier personal confirmation remains fulfilled for the original correction and previous tests. On 2026-10-31, I explicitly confirmed personal review of the new assertion in head
f9d2d438b57eec3e6d650d90a3ca5660f1f33f1a, its explanation and recorded tests, and that I can answer for this follow-up. The current contributor checkbox is fulfilled; ready for maintainer review. CI41177230857 passed on this exact head: 17 successful jobs, 3 expected skips, no failures. The complete regression lane was skipped under the existing scope policy. The green Windows scope gates skipped their path-test steps; native Windows execution is not claimed. Deployment jobs were skipped. Earlier runs retain their recorded revisions.Base integration · 9 November
Current head
e39ea6385fa55d097b00b1a91c81af70959b484dintegrates canonical dev3363580956cefa262d9930d886b8d568b6bfa1e1. Git reproduced conflicts only in the README GIF and its receipt. The README GIF/receipt now use the canonical regeneration from merged #1293; all three artifact inputs and the capture generator match this combined tree exactly. The regenerated GIF differs from the historical #1174 bytes; no fresh visual-review claim is made.The authored correction and regression-test blobs, complete Skill tree and ZIP remain identical to the preceding contributor head. The original commits, credits and fulfilled personal confirmations retain their exact scope; this mechanical integration adds no new substantive correction. Upstream workflow files are imported unchanged. The earlier validation sections above remain historical evidence at their stated revisions.
Fresh scoped local qualification on the exact published tree, using installed Node26 on macOS arm64: 19 core cases pass; generated/Viewer/brand/validator/release/golden checks pass; README/Gallery pass 15 cases with one native-Windows-only skip; diff checks pass. The canonical DSH docs contract also passes 7 cases, reused across these branches only for its identical inputs. No ZIP rebuild, new browser capture, complete local suite, native Windows run or new human visual acceptance is claimed.
Final-head CI 42622464118, attempt1, completed with
failure: 14 successful jobs, 2 failures and 4 skips. The complete regression lane and native Windows path-contract steps were skipped by the existing scope rules; green gate jobs do not establish their execution. The failed browser-regression shard2 records the existing compact automatic Sequence header-reflow assertion; its dependent WebM aggregate also fails. The separate correction is already PR #1151, not a new change in this timeline diff. On #1151's exact current head e69dbac, browser shard2 passes that same case and all 169 cases without skips. The prior reproduction and stricter #1151 regression remain preserved; no duplicate fix or identical CI rerun is included. These are fresh hosted results on the exact head above, separate from local and historical qualification. No failure or skip is converted to a pass; no identical rerun, sandbox-policy change or gate waiver was used.BlueboxC