Just wrapped up a call with @[email protected] and @[email protected] to review their implementations of FEP 7888, specifically in relation to conversational backfill.

:heavy_check_mark: individual objects serve a context property :heavy_check_mark: that context property is a URL that resolves

One of the concerns raised was related to the OrderedCollection of items served by the context. Specifically, if the items presented in the collection were not in chronological order, NodeBB failed at importing some of the items as the inReplyTo referenced an object that did not exist.

The solution to this was to ensure that the collection items were in chronological order from oldest to newest. Once fixed:

:heavy_check_mark: the context resolved to an OrderedCollection containing objects :heavy_check_mark: NodeBB was able to pull in the entire conversation

NodeBB used to guard against this by ordering all received items by chronological order, but I realized that while this worked 99%+ of the time, there are some fun (ahem…) individuals who send objects with timestamps way in the future.

Personally I think removing the sorting just to fix one edge case was premature. At the same time, I think specifying that the OrderedCollection be sorted in chronological order should be a requirement.

cc @[email protected]

  • hikewithrichard@techhub.social
    link
    fedilink
    arrow-up
    1
    ·
    20 days ago

    @julian Are the future posts scheduled posts. Do they have a “scheduled” flag or something similar? Is timezone info included by default? Those are the two situations I can think of where this would occur with “timestamps in the future”.

      • hikewithrichard@techhub.social
        link
        fedilink
        arrow-up
        1
        ·
        20 days ago

        @julian I have a classicpress and a wordpress instance where I could test scheduled posts. It might help to check instance logs. I can test scheduled posts from classicpress with ease.