fix(history): reconcile duplicate Claude history and prepare v4.0.3 - #49
Conversation
- Match live browser ids to unique native user ids when browsing older pages. - Preserve mounted rows, native detail identities and expanded process content. - Repair cached duplicate copies and cover pagination in Chromium and WebKit.
- Align product, installer and Web metadata at version 4.0.3. - Document history alias reconciliation and the existing update workflow.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dde60fa1c8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
- Keep established cached row positions while merging newer native or alias copies. - Cover missing and equal timestamps, reordered partial writes, and updated content. - Clarify cache ordering behavior in the v4.0.3 release notes.
|
@codex review Please review the latest head, |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
When Claude history pages contain both a native user-message ID and its browser-generated alias, loading older pages can display the same conversation twice and place later prompts above the initial greeting. Reconcile those aliases across loaded pages and cached pages while keeping the newer row's lifecycle and expanded details. Browse keeps the newer copy in its owning page; partial cache writes replace existing rows in place so missing or equal timestamps cannot move an updated middle row to the end.
Distinct messages remain separate even when their text, timestamps, or task IDs match. The change also repairs existing cached copies on read and prepares product metadata and bilingual release notes for v4.0.3. The wire protocol remains v72; native transcripts are unchanged.
Validation:
Release v4.0.3 will be tagged only after CI and AI review pass and this PR is merged.