Skip to content

[Bug]: Doubao export is non-deterministic on virtual-scroll conversations in Ophel Atlas 1.1.5 #780

Description

@AstraVanX

Essential Checklist

  • I have searched for existing issues and confirmed this is not a duplicate
  • I understand that the issue may be closed if missing reproduction steps or environment info
  • I have starred the project 🌟
  • I am willing to contribute a Pull Request for this

Installation Type

Browser Extension

Userscript Manager

None

Ophel Version

1.1.5

AI Platform

Doubao (www.doubao.com)

Browser

Chrome

Browser Version

No response

Operating System

Windows

Bug Description

Repeated exports of two unchanged Doubao conversations are not deterministic.

  • Short sample: both runs contained 19 messages (9 user / 10 assistant) and the same role+content multiset, but the final two records swapped (LCS 18; file SHA-256 differed).
  • Long virtual-scroll sample: 343 vs 425 messages (169/174 vs 212/213 user/assistant); role+content multiset intersection 298, run-1-only 45, run-2-only 127, LCS 288. First/last records, role counts, image references, and file SHA-256 all differed. Duplicate role+content records were 2 vs 3.
  • No manual scrolling; each run refreshed the same conversation and exported independently.
  • Message objects contained only role and content: no stable message ID, timestamp, parent, branch, or regenerate field.
  • JSON retained external references but created no local asset bundle. Long-run image references differed (5 vs 9).
  • A Markdown export stayed at Preparing export for at least 296.22 seconds and produced no file.

Privacy: no raw export, title, conversation ID/URL, account data, or message text is attached. Aggregate statistics were recomputed locally.

Steps to Reproduce

  1. Open a Doubao conversation.
  2. Export it as JSON with Ophel Atlas.
  3. Refresh the same conversation.
  4. Export again with identical settings.
  5. Compare role, content hashes, message order, and asset references.

Expected vs Actual Behavior

Expected: Repeated exports of an unchanged conversation produce the same complete, normalized first-to-last sequence; no random omissions, reordering, or duplicates; promised assets are traceable offline; failures show an explicit error.

Actual: The short sample swaps its final two records. The long sample changes from 343 to 425 messages with only a partial stable intersection, and asset references drift. A Markdown export can remain at Preparing export for at least 296 seconds without producing a file.

Screenshots

No response

Console Errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfeedback-wantedActively looking for user feedback and use cases

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions