Now that we dropped support for deprecated PHP versions,
we can use the same PHPUnit version on all supported PHP version.
Let’s install it as a Composer dependency to have the same
PHPUnit version on the CI as on developers’ computers.
* [FeedMerge] fix: sort items by timestamp descending
* [FeedMerge] fix: fetch 10 most recent items
This fixes a bug where the bridge e.g. fetched 10 items from the first feed and then nothing from the rest
* refactor: fix exception handling
The removed catch is never uses in php versions above 7.
The need for multiple catch statements like this is to support both php 5 and 7.
* remove traces of old exception handling
* add typehints
* dont treat exception code 0 specially
* Use ActivityPub outbox for Mastodon (et al.) feed
closes#2754
* Better description for Mastodon bridge
I mean I could rename it to ActivityPub bridge if the maintainer so pleases
* [Mastodon] Please the lint
* [Mastodon] address feedback
* [Mastodon] fix link, address spelling case bug
* refactor
* [Mastodon] add username cache, fix try-catch, rename
* [Mastodon] shorten description to satisfy the lint
* [Mastodon] address feedback
* [Mastodon] support Secure Mode instances
* [Mastodon] add config documentation
* [Mastodon] update docs
Co-authored-by: Dag <me@dvikan.no>
We are setting xmlns attributes at the root element but PHP would
still attach redundant ones to the DOM elements created with `createElementNS`.
That was because PHP reconciles namespace attributes when appending elements to DOM
but since we previously only attached the elements after all children were attached,
the reconciliation algorithm was not able to see the root element’s attributes.
To fix this, let’s attach each element to its parent immediately after it is created.
There is a lot of redundancy. Let’s not repeat ourselves.
Unfortunately, since we do not install PHPUnit as a project dependency on CI,
it does not use the composer’s PSR-4 autoloader and the tests are unable to find
the `BaseFormatTest` class.
Until we resolve that, let’s load the class explicitly.