Repository navigation
Preserve recovered draft titles and numbered title links - #311
Conversation
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
|
🤖 @codex review Please review this new follow-up to merged #308. Both reported regressions were independently reproduced. Pay particular attention to legacy browser draft/failed-create snapshot recovery, idempotent creation retries with newer typing and UTF-16 attribution, preserving current or intentionally blank H1s, and numbered title fragment aliases used by reference previews. Local validation passes: 2,623 backend examples and 33 browser examples. Screenshots are attached; current-head CI is running. This PR is not authorized for merge. |
Codex Review Summary: ✅ CompletedThis 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. |
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6537842552
ℹ️ 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".
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
|
🤖 @codex review Please review 32f04e1 after fixing the leading-blank-line finding. Three new cases reproduced the defect before the fix (ATX, Setext, and intentionally blank titles). All 36 affected browser examples now pass. The intervening test-only commit also verifies that a recovered failed-create snapshot with an emoji retains human input attribution while preserving newer typing. Fresh CI is running on this head. |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
🤖 Follow-up verification complete at 32f04e1. This is new work after merged #308; both compatibility findings were independently reproduced and fixed.
Validation: 2,623 local non-browser examples, 36 affected browser examples, and lint pass. Current-head CI is entirely green across both databases, all browser shards, all five stress runs, and security checks. The PR is mergeable, remains draft, and has not been merged. Screenshots are uploaded and verified; the PR is attached to the worker chat. Tryout remains available at http://localhost:3188/hampton/1-overview (hampton@example.com, no password). Hover and click “the overview” to verify the title preview and fragment. The saved legacy-recovery example is http://localhost:3188/hampton/recovered-rollout-notes. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32f04e1d45
ℹ️ 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".
Signed-off-by: Hampton Lintorn-Catlin <hampton@squareup.com>
|
🤖 Cleanup complete at 2b7be57. Hampton reported merge conflicts. Refreshed main and verified both GitHub mergeability and a local merge-tree check: this PR currently has no merge conflicts. GitHub reports MERGEABLE / BLOCKED because review approval remains required. The late Codex finding on 32f04e1 was valid: existing persistent fragments would miss the numbered title alias. Bumped the render-cache version from 24 to 25. A new request regression warms an old-version fragment, confirms it lacks section-1, then verifies the current version renders the anchor without a document update. It failed before the fix; all 77 affected request/helper examples and lint pass now. All 15 CI checks pass on 2b7be57, including both databases, four browser shards, and five stress runs. Both Codex findings are addressed and resolved. This one-line production correction plus its regression remains covered by the existing review; no redundant review request was posted. The earlier clean-second-review claim was premature and has been corrected in the PR description. The isolated preview is running again at http://localhost:3188/hampton/1-overview (hampton@example.com, no password). Browser verification confirmed the title alias, hover preview text, and navigation to #section-1. Existing light/dark screenshots and the chat's PR attachment are preserved. Working tree is clean. Ready-for-review state is preserved; no merge was performed. |
|
🤖 Reconciled current head e42542c with the isolated preview checkout using a fast-forward. This commit merges main; its cache-version resolution correctly advances to 29 above main's 28, retaining title-alias invalidation alongside the new rendering changes. No additional Hampton feedback was found on the PR or in this chat. All 15 current-head CI checks are green. Locally, the focused stale-cache regression and all 15 editor-recovery browser examples pass. Browser verification confirmed login, the numbered title alias, correct hover-preview text, navigation to #section-1, and the saved recovered-title example. The two existing Codex review findings remain resolved. I inspected the merge resolution and integration with the new readable-text preview code; no new issue was found. No redundant full suite or automated review request was run. Tryout remains http://localhost:3188/hampton/1-overview (hampton@example.com, no password): hover and click “the overview.” The preview runs current head in persistent tmux session coplan-pr311-preview, with existing data and screenshots preserved. Working tree is clean. GitHub reports MERGEABLE / BLOCKED with review required; ready-for-review state is unchanged. No PR merge was performed. |
|
🤖 CI follow-up: the original post-merge attempt failed Five focused Mac/MySQL runs passed, and three fresh-process runs of the exact original predecessor sequence passed (nine examples; order checked against the retained artifact). This does not explain or fix the CI failure. One failed-job-only retry passed on the unchanged merge commit. The workflow still concludes cancelled because the original fail-fast cancellations of browser shards 1 and 3 were not retried. No additional retry was requested. The consolidated post-merge/release evidence also records the original #324 failure and the independently green main runs for #305 and #321. Later greens do not erase these earlier failures or incomplete coverage. The separately reproduced math observation race has a test-only fix in PR #326; that PR does not claim to resolve this caret issue. |
What changed and why
Follow-up to merged #308. Two compatibility regressions could lose a recovered draft's title or break a numbered link to the title heading.
plan-title. Section previews resolve that alias back to the heading, so#section-1links still preview and navigate correctly. Bump the render cache version so previously cached documents receive the alias too.Evidence
Recovered legacy failed-create snapshot:
How to try it
Local preview: http://localhost:3188/hampton/1-overview. Sign in as
hampton@example.com, no password. Hover “the overview” to preview the opening section, then click it; the URL retains#section-1.Recovered document: http://localhost:3188/hampton/recovered-rollout-notes. This was created from a browser snapshot with a separate title and titleless content. The screenshot shows recovery before saving; the document shows the saved result.
Testing
Both legacy recovery examples failed before the fix; the numbered-anchor helper regression failed because
section-1was absent.bundle exec rspec --exclude-pattern 'spec/system/**/*_spec.rb': 2,623 examples, 0 failures.bundle exec rspec spec/system/editor_recovery_spec.rb spec/system/references_spec.rb spec/system/plan_title_spec.rb: 36 examples, 0 failures.bundle exec rubocop: passed after correcting test formatting.Manual light/dark preview, fragment navigation, and failed-create recovery → Done → persisted title passed on an isolated development database.
All 15 current-head CI checks pass on
e42542c7: both database suites, four browser shards, five stress runs, lint, DCO, and security checks.Two Codex review rounds completed. The first found that leading blank lines could hide a canonical H1 from the rich parser; three regressions reproduced it and now pass. The second review found a missing render-cache version bump. Fixed in
2b7be57ewith a stale-cache request regression that failed before the fix. All 77 affected request/helper examples and lint pass. Both findings are resolved; this bounded correction does not need another review round.The failed-create regression also verifies human attribution across an emoji after prepending the title, alongside preserved newer typing.
All three uploaded screenshots were verified to load from this PR.
Reconciled the merge from
mainate42542c7: render-cache version is now 29, above main's 28. The focused cache regression and all 15 recovery browser examples pass. Rechecked login, title hover preview, fragment navigation, and the saved recovery example on the persistent port 3188 preview. Existing Codex findings remain resolved; the merge resolution was inspected locally without requesting a redundant review.Added real JavaScript-enabled browser regression specs.
Added helper coverage for numbered title anchors.
Ran all non-browser specs and the affected browser suites as listed above.
Tested affected UI in light and dark mode.
Attached images demonstrating the fixes.
Generated with Codex