* [core] support xhtml content type in FeedExpander
* [FilterBridge] change defaultValue to exampleValue
* [core] support content with child elements in FeedExpander
* added the option for a sessioncookie
with a valid cookie you can get full heise+ (paywall) articles
* formating
* lint
---------
Co-authored-by: Dag <me@dvikan.no>
When using parent element as URL selector:
* If no <a> inside some elements, ignore them
* If no <a> inside ALL elements, report an error
Fixes#3573 #issuecomment-1656943318
* [core] replace everything except bridge name to get a valid whitelist.txt
* [core] do not use hard code repository name to improve working with forks
* [core] trim bridge names from whitelist.txt to reduce chance of failure
* [CssSelectorBridge] Improvements (#3537)
* Improve parameter documentation / add tooltips
* Allow extracting content from home page instead of article page
* Keep titles from home page when every page <title> is the same
* [CssSelectorBridge] Code linting
* [CssSelectorBridge] Code linting (2)
* [CssSelectorBridge] Code linting (3)
— fix cookie pattern
– use data analytics attributes wherever possible to avoid relying on obfuscated class names
— add support for promoted offers
— include sponsored and promoted offers by default
— some additional refactoring
serialize() can return output with null bytes and other
non-text data. The prior behavior truncated data
which later results in unserialize() errors.
This happens when e.g. caching an object with a private field
or when caching e.g. a JPEG file (starts with 0xFFD8FFE1)
Fixes errors such as e.g.:
unserialize(): Error at offset 20 of 24 bytes at caches/SQLiteCache.php line 51
* [TikTokBridge] Use another way to get videos infos to include video link
* [TikTokBridge] Use cover if dynamicCover is empty
* [TikTokBridge] Add support for the rest of item params
It is possible to have a cached item with a very old mtime but it's technically expired.
So, check for presence of time and whether the time it is within 10 days
* refactor(cache): extract and encapsulate cache expiration logic
* fix: logic bug in getSimpleHTMLDOMCached
* fix: silly me, index should of course be on the key column
* silly me again, PRIMARY keys get index by default lol
* comment out the delete portion in loadData
* remove a few log statements
* tweak twitter cache timeout
* [ImgsedBridge] Add new Instagram Bridge Alternative
Imgsed is a Website adverstised on instagram website, that's is not
behind Cloudflare Anti Bot feature.
You can select to display Posts, Tags, and Stories of a specific
username
* [ImgsedBridge] Fix empty defaultValue
Because "contentText" is always present, PHP warnings were previously
generated for posts without text.
Existence of sub-property "runs" gets checked now to avoid this.