if timestamp is not set during creation of a feed use date one year ago
code fixes and linting fixes.
Co-authored-by: Sean Molenaar <SMillerDev@users.noreply.github.com>
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
* Use Feed Link as GUID when Feed omits Guid.
As noted in nextcloud/news#1702 some feeds omit the GUID and are
therefore not a valid RSS feed.
nextcloud/news#1738 resolved the issue to allow valid feeds to
update correctly when an invalid feed is present.
This commit allows parsing of the invalid feed as well by assuming
that the item link of the feed is unique to the feed and using
it in place of the GUID when the feed omits the GUID.
This will allow NextCloud News to accept and behave like many other
popular feed aggregators when presented with such an invalid feed.
Signed-off-by: Accalia <Accalia@Elementia.me>
* Add basic Logging when using fallback guid
Signed-off-by: Accalia <Accalia@Elementia.me>
* Add basic Logging when using fallback guid - Fix Fatfinger Typo
Signed-off-by: Accalia <Accalia@Elementia.me>
* Add basic Logging when using fallback guid - Update tests to account for additional logging
Signed-off-by: Accalia <Accalia@Elementia.me>
The logo of the feed is prefered if it is a square picture,
else the favicon is returned.
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Co-authored-by: Sean Molenaar <SMillerDev@users.noreply.github.com>
We remove the call to readSince() as some feeds push new articles with
pubDate prior to the lastModified time stored for these feeds (e.g.
lemonde.fr). As we go through all items of a feed again and again, we
prevent the constant update of an item's lastModified timestamp by
keeping the previous one if its fingerprint does not change.
Fixes#921
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
LastModified is used (in a feed context to see if a user edited a feed). httpLastModified to store the last-modified response from the source.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
* replaced old status with 2 flags for unread and starred
* add fields to db, replace int(1,0) with booleans in sql queries, removed StatusFlags class + refactor code relying to it
* add repair step for migration
* again use integer(1,0) instead of bool in sql queries, because of sqlite doesn't support true/false
* add/fix unit tests for new boolean status
* set unread/starred flags as statements in sql
* fixed mysql unknown column items.unread, fixed marking of read items on repair step
* remove unnecessary bool casts
* add empty checks to Items::is* methods
* update migration to use native sql instead of the querybuilder
* don't cast the flags manually, let the api do the work
* Update picoFeed to v0.1.28
* Add updated_date to database and bump version to 10.1.1
* Add updatedDate to item model
* Check for updatedDate when updating a feed
* Fix unit test to check for newer updatedDate
* Update picoFeed to 0.1.25
* Add updated_date to database
* Add updatedDate to item model
* Bump version to 9.0.5
* Check for updatedDate when updating a feed
* Fix unit test to check for newer updatedDate