* fix: Call to a member function parent() on null
* fix: notice
fixes Trying to get property plaintext of non-object at bridges/WikiLeaksBridge.php line 96
* fix: CommonDreamsBridge
* Adds new Bridge for kitso.io episode feed
* linter fixes, changed item titles
* more linter fixes
* fix bridge uri
* linter fixes
* added sorting of items by timestamp, added parameters to spicify show
* trying to fix linter again
* linter doesnt like tenary operators
* fix whitespace
* [core] Add html/convertLazyLoading($dom)
Looks for lazy-loading attributes such as 'data-src' and converts
them back to regular ones such as 'src', easier for RSS readers.
It also converts <picture> elements to plain <img> elements.
* [core] Document html/stripRecursiveHTMLSection()
Add documentation for that function (no code changes).
* [WordPressBridge] Use convertLazyLoading()
* [WordPressBridge] Unwrap image figures
<img> inside <figure> may not display on RSS readers.
This converts them back to <img>, without losing caption if present.
* [ZDNet] Convert lazy loading images
* [code] html/stripRecursiveHTMLSection: Fix typo
* [OLXBridge] new bridge
* [OLXBridge] option to limit to shipping offers only
* [OLXBridge] set the feed title according to search query
* [OLXBridge] Fix PHP notices
* [OLXBridge] Remove trailing slash from the URL
* [OLXBridge] filter out the imposed additional search categories
* [OLXBridge] limit search to 'new' OLX platform variants
* [OLXBridge] Parse date, add ID, description
Deep-crawl all results. Penalty is low, as we were doing this for almost all of the results, anyway, yet it allows to obtain a unique ID, an uncomplicated Date string and a description.
Requires ext-intl for parsing the date according to locale.
* [OLXBridge] Parse date, add ID, description
Deep-crawl all results. Penalty is low, as we were doing this for almost all of the results, anyway, yet it allows to obtain a unique ID, an uncomplicated Date string and a description.
Requires ext-intl for parsing the date according to locale.
* [OLXBridge] Images are optional, handle appropriately
* [OLXBridge] handle the ID coming from sibling auto-moto portal
* [OLXBridge] handle the photos coming from sibling auto-moto portal
* [OLXBridge] use meta property to find img URL
* [OLXBridge] handle the date coming from sibling auto-moto portal
* [OLXBridge] use simplified syntax to retrieve content attribute value
* [OLXBridge] handle the description coming from sibling auto-moto portal
* [OLXBridge] fix phpcs complaints
* [OLXBridge] add categories
* [OLXBridge] handle the categories coming from sibling auto-moto portal
* [OLXBridge] hint image MIME type
OLX images have no obvious extension
* [OLXBridge] Fix content formatting
* [OLXBridge] URL is pattern-checked, so no need to check again
* [OLXBridge] return actual search query as URI
* fix: Call to a member function find() on bool
Happens when defaultLinkTo() is passed the empty string.
* fix: prevent exception in defaultLinkTo() when passed the empty string
* refactor
* fix: notice
* fix: Trying to get property content of non-object at bridges/PcGamerBridge.php line 36
* fix: better exception message
* fix: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior
* [ARDAudiothekBridge] added bridge ARDAudiothek.de
ARD, the union of Germany's regional public-service broadcasters, operates a video and an audio streaming service. The video streaming service is ARDMediathek, for which a bridge already exists. The audio streaming service is ARDAudiothek. This commit adds initial support for ARDAudiothek. It currently supports turning shows to feeds.
* [ARDAudiothekBridge] fixed code style
Sorry. Forgot spaces surrounding the concatenation symbol
* [WordPressBridge] Improve content extraction
- Pick up currently unmaintained bridge
- Allow Custom item limit and lower default limit from 20 to 10
- Allow Custom content selector for blogs with non-standard templates (#2173)
- Remove content selector made for one specific blog (#2173 - can be a custom selector now)
- Add '.article-content' class in the set of default selectors
- Improve lazy-loading conversion
* [WordPressBridge] Fix phpcs issues
* fix: Undefined offset: 4
* fix: Trying to access array offset on value of type bool
* fix: Undefined variable: photo at bridges/TelegramBridge.php line 287
* fix: Trying to get property innertext of non-object at bridges/ZDNetBridge.php line 186
* fix: Undefined index: Category at bridges/UnraidCommunityApplicationsBridge.php line 42
* fix: Undefined index: fullUrl at bridges/EuronewsBridge.php line 61
* [MastodonBridge] Add support for GoToSocial
GoToSocial expects URLs in HTTP Signatures to include the query string; Mastodon
does not. To provide support for both types of ActivityPub services, define a
new parameter for signature types, defaulting to Mastodon's format.
This change also introduces auto-resolution of linked objects, which GoToSocial
uses instead of including content directly in a user's outbox.
* [MastodonBridge] Fix lint failure
As far as I understand, this supports all radio france sub-pages listing podcast and/or shows (tested with my two favorites shows, so not a very professionnal test).
We use here the data model provided by Radio France, which includes all data in an easily usable format.
* [GoogleScholarBridge] Follow authors of scientific publications.
* [GoogleScholarBridge] Fix linting.
* [GoogleScholarBridge] Fix more linting issues.
* [GoogleScholarBridge] Use author field in extracted page and drop publisher
* [ZeitBridge] Add bridge for zeit.de
New bridge expanding the feeds of zeit.de to full-text ones.
Circumvents cookie banners and Z+ premium article paywalls.
* [ZeitBridge] Formatting
* [HeiseBridge] Parser rewrite
This rewrite is more readable and consistent than the previous one.
Additionally, this removes unwanted elements, largely recommendations
for other articles.
Furthermore, it increases the image quality by using the original
picture link instead of the compressed ones.
* [HeiseBridge] Formatting
When visiting canonical link like https://vk.com/club1,
VK returns redirection response to non-canical link,
which raises "Unexpected redirect location" exception.
This patch removes path check in order to handle this situation
This commit fixes following issues:
- Photos from user profile wall started appearing as blured
- On posts with photo collection small thumbnails are shown
* refactor
* fix: bug in previous refactor
* chore: exclude phpcompat sniff due to bug in phpcompat
* fix: do not leak absolute paths
* refactor/fix: batch extensions checking, fix DOS issue
Before this commit regex captured window.reduxState value until first semicolon.
This is incorrect since it produces invalid json, if semicolon is
also somethere in the middle of stringified json.
After this commit regex will capture window.reduxState value until last semicolon.
This fixes a future problem when code is placed under a namespace because `get_class($bridge)` will then return e.g. `RssBridge\Bridge\TwitterBridge` instead of the the current value `TwitterBridge`.
Also a bit refactoring of `Configuration.php`.
prioritize new chapters rather than just edited ones.
should avoid batch-renaming drowning out new chapters, and existing items being re-sorted in the feed when they're edited.
documentation here: https://api.mangadex.org/docs/dates/
* [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
* 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>
the date handling
The deal posting date logic was wrong, and leaded to warnings and
notice. Now, only the feed with the deal sorted by date contains date
(the feed sorted by hottest deal does not contain a date anymore,
because there are no deal date in this case).
With UTF-8 byte-order mark in the file, the `ListActionTest::testOutput`
would fail after converting tests to PSR-4 namespaces:
invalid JSON output: Syntax error
Failed asserting that null is not null.
This is because ListAction::execute tries to create the bridge objects
and, when the files containing the bridge classes are not loaded yet,
the autoloader starts including them. Since this happens after output
buffering has begun, any text in the PHP file before the `<?php` tag
such as the BOM will end up in the buffer to be parsed by `json_decode`.
Previously, it worked by chance thanks to some other test including the file
before `ListActionTest`. With the restructuring, `Actions\ListActionTest`
will run sooner and become responsible for triggering the autoloader.
To prevent this in the future, I also disallowed BOM in the coding style.
The /all url now actually points to a specific item.
I think we want the frontpage for this.
Fixes:
Fatal error: Uncaught Error: Call to a member function find() on null in NotAlwaysBridge.php:37
* [GitlabIssueBridge] new bridge
This tracks issue comments on arbitrary gitlab projects.
* [GitlabIssueBridge] Prepare for Merge Request support + fixes
- Proper UIDs
- Default bridge name fixed
- Fix cache identifiers
- Add TODOs
* [GitlabIssueBridge] creation timestamp preferred
And prefer original author over editor.
* [GitlabIssueBridge] Do not add date to item title
Prettier without it.
* [GitlabIssueBridge] Support Merge Requests
This bridge can now generate feeds for Merge Requests.
* [GitlabIssueBridge] typo
* [GitlabIssueBridge] Fix Img src attr in comments
* [GitlabIssueBridge] Fix function call
* [GitlabIssueBridge] Fix test
Use gitlab.com if no h parameter was given.
Fixes a phpunit test.
* [GitlabIssueBridge] linting
* [GitlabIssueBridge] Add MR support to description
* [GitlabIssueBridge] Move function collectData
* [GitlabIssueBridge] rm single-use class constants
* [GitlabIssueBridge] Remove manual caching
Just depend on rss-bridges built-in caching.
Do not add all images of the image gallery, but only the preselected one.
Often, the same gallery is used multiple times with different preselected
images. The previous implementation always added all images of the
gallery, cluttering the article. This patch only adds the preselected one.
The no-js link wrapping around the gallery leads to a 403 Forbidden
page, so linking that doesn't work to really support galleries.
At the time of writing, this occurs on the following thread:
https://forum.xda-developers.com/t/optimized-lineageos19-1-v4-0-23apr.4426575/
Fixes the following error:
ValueError: strpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) in ./rss-bridge/bridges/XenForoBridge.php:272
Stack trace:
0 ./rss-bridge/bridges/XenForoBridge.php(272): strpos()
1 ./rss-bridge/bridges/XenForoBridge.php(146): XenForoBridge->extractThreadPostsV2()
2 ./rss-bridge/actions/DisplayAction.php(134): XenForoBridge->collectData()
3 ./rss-bridge/index.php(24): DisplayAction->execute()
4 {main}