Moved 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 ArticleDisable container-based infrastructure in Travis CI.
This should make build run in the standard linux infrastructure. This is part of an effort to get rid of "broken pipe" errors in the acceptance tests, seemingly caused by the capybara-webkit process...
View ArticleNormalize image URLs in entries before saving.
Otherwise internationalized image URLs would get broken by Nokogiri when stripping comments, which would prevent them from loading in the browser. The normalization of the image URLs must happen...
View ArticleFixed bug in entry url normalization.
The wrong url was being used to check if the url is relative, which could cause incorrect urls for entry images.
View ArticleBefore_validation hook in entries performs methods in a different order.
Order is critical to get the desired effect, still tweaking it.
View ArticleUse the sanitize gem instead of a rails sanitizer to sanitize model attribute...
For more about this gem see: https://github.com/rgrove/sanitize It allows finer control than the default rails sanitizer (and the deprecated sanitizer). It allows setting a sanitization config that...
View ArticleRemoved method to remove HTML comments from entry summaries and contents.
The new sanitizer gem we're using removes comments by default.
View ArticleChange default values for some entry attributes during testing.
Some entry attributes had nil value during some tests. However with the new sanitization gem nil values are converted to empty strings, so the default value in those tests has been changed to an empty...
View ArticleWIP: added a new "http_caching" argument to FeedClient.fetch that controls if...
WIP: added a new "http_caching" argument to FeedClient.fetch that controls if client-side http caching is used when fetching a feed. Now the method has two boolean arguments controlling its behavior: -...
View ArticleWIP: force FeedClient to ignore client-side http cache when the first user...
WIP: force FeedClient to ignore client-side http cache when the first user subscribes to a new feed.
View ArticleAdapted tests to the recent change in FeedClient.fetch.
The method now receives a mandatory argument and two optional named arguments.
View ArticleIf FeedClient.fetch is instructed not to perform http caching, it doesn't...
If FeedClient.fetch is instructed not to perform http caching, it doesn't check the X-rack-cache header to detect if the response was retrieved from the cache. In this case the response should never...
View ArticleIf FeedClient.fetch is passed a false in the http_caching argument, forcibly...
If FeedClient.fetch is passed a false in the http_caching argument, forcibly disable Rack::Cache from the RestClient components. I think that RestClient behaves like a singleton, and once Rack::Cache...
View ArticleAdded bower component "fallback" to the project.
We will use fallback.io to load some assets from CDNs and, if the CDN goes down, fall back to serving local assets.
View ArticleLoad big js libraries with fallback.js
Fallback.js can load libraries from a CDN, and if a CDN is down it will instead load them as a local asset through the asset pipeline. This has the advantages of a CDN (bandwidth savings, speed,...
View Article