Skip to content

Quote dedupe merges quotes and drops images across thread posts #65

Description

@wolfgang-aura

Impact: dedupeQuoteCards runs over the whole thread (or article) block list. Its 3-block near-duplicate window crosses thread-post boundaries, and its "image already shown in a quote" filter has no window at all.

  1. Posts 1 and 2 of a thread quote the same tweet. Post 2's card is merged into post 1's, and post 2 renders as a plain post.
  2. A later post in the thread quotes post 1. Post 1's own image is removed from post 1 and survives only inside the later quote card.

For threads, syndication re-adds the missing quote or media when that post's syndication succeeds. When it fails (404, exhausted retries) or CONFIG.useSyndication=false, the loss stands. Articles get no repair pass. The function's own comment says repeated embeds in different sections "must be kept".

Where: dedupeQuoteCards in sourcecapsule.user.js (2612-2641), called on the combined thread list (2687), the article list (2919) and after quote enrichment (8505).

Evidence: Node + jsdom repro of a two-post thread with syndication off:

--- A: both posts quote the same tweet
[post 2/2]
  P 2/ Second point, quoting again.          <- no QUOTE
--- B: post 2 quotes post 1
[post 1/2]
  P 1/ My chart, and the tweet I am answering.
  QUOTE https://x.com/critic/status/1780000000000000000     <- MyChart image gone

Environment: main 72777ef (v1.6.8). Engine loaded in Node through the module.exports guard with jsdom. No browser.

Next action: dedupe each post's blocks before combining them, stop the window at thread-marker blocks, and apply the image filter within the same post only.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions