Timeline/Spread/ReplySpread.php
public function process(ActionInterface $action, EntryCollection $collection): void
    {
        $post = $action->getComponent('directComplement')->getData();
        $parent = $post->getParent();

        // Spread to authors of posts in the thread.
        $posts = array_merge([$parent], $parent->getChildren()->toArray());
        $done = [];
        foreach ($posts as $check) {
            // Load the author, spread if they have not been spread to yet.
            $author = $this->user_provider->loadUserByUsername($check->getAuthor());
            if (!$author instanceof UserInterface
                || isset($done[$author->getUsername()])) {
                continue;
            }

            $done[$author->getUsername()] = true;
            $collection->add(new EntryUnaware(get_class($author), $author->getId()));
        }
    }
public function process(ActionInterface $action, EntryCollection $collection): void
    {
        $post = $action->getComponent('directComplement')->getData();
        $parent = $post->getParent();

        // Spread to authors of posts in the thread.
        $posts = array_merge([$parent], $parent->getChildren()->toArray());
        $done = [];
        foreach ($posts as $check) {
            // Load the author, spread if they have not been spread to yet.
            $author = $this->user_provider->loadUserByUsername($check->getAuthor());
            if (!$author instanceof UserInterface
                || isset($done[$author->getUsername()])) {
                continue;
            }

            $done[$author->getUsername()] = true;
            $collection->add(new EntryUnaware(get_class($author), $author->getId()));
        }
    }
{@inheritdoc}

@param ActionInterface $action     The action to spread.
@param EntryCollection $collection The current spreads.

@return void