The demo user email and password cannot be changed, and it cannot be locked...
The demo user email and password cannot be changed, and it cannot be locked because of too many authentication failures. This guarantees that the demo user is available for all visitors.
View ArticleWorkers related to OPML import are now in the "import_subscriptions" queue.
This queue has a higher priority than the "update_feeds" queue. This way imports run before scheduled feed updates if there is a large backlog of jobs.
View ArticleStore the url blacklist as a list of host objects during initialization,...
Store the url blacklist as a list of host objects during initialization, instead of a list of strings with URLs. This should improve performance: every time a feed is saved it is checked against the...
View ArticleWhen fetching a feed, if the cached response is still valid, skip processing ...
This should improve performance: scheduled feed updates now don't parse and attempt to save entries which we know are already in the database, because the response is cached and there are no new...
View ArticleThe worker that runs when an OPML import finishes is in the same queue as the...
The worker that runs when an OPML import finishes is in the same queue as the rest of workers related to OPML import. This worker sets the job state to either SUCCESS or ERROR, and sends a notification...
View ArticleImproved validations in the worker that updates unread counts for a given use...
It validates that both the user and feed exist, and that the user is subscribed to the feed. If any of those validations fail a warning is logged, no error is raised and the worker exits.
View ArticleUpload managers (S3Client, FileClient) now receive a user ID as argument,...
Upload managers (S3Client, FileClient) now receive a user ID as argument, instead of a user instance. This way they can operate on uploaded files even if the user has been deleted. The User ID is part...
View ArticleBetter control the case in which the server returns a blank response (or no...
Better control the case in which the server returns a blank response (or no response) when fetching a feed.
View ArticleWhen subscribing to a feed, check if the feed is blacklisted before checking...
When subscribing to a feed, check if the feed is blacklisted before checking if the feed is already in the DB. In the case that the feed is blacklisted AND exists in the DB (this should never happen,...
View ArticleWIP: support for internationalized URLs.
See here: http://en.wikipedia.org/wiki/Internationalized_domain_name The native ruby URI module does not support IRIs, but the addressable gem does.
View ArticleMoved the method to normalize URLs from a helper module to a class in /lib.
This is more coherent with the code organization of the rest of the project.
View ArticleMoved code that normalizes entry URLs to the URLNormalizer class.
It is similar to the normalization of feed URLs but with some differences. Most importantly relative URLs have to be translated to absolute ones. Also, bring back reencoding from iso8859-1 to utf-8 if...
View Article