Reasoning: HTML title tag affects everyone. But OpenGraph only affects
when somebody is deliberately sharing the content, usually in an
environment where such content is expected. Hiding the content in
OpenGraph tags results in deceitful previews which inhibit the
shareability of the post.
Example: Somebody writes a clever post about politics but kindly
puts a "uspol" content warning on it. Mastodon users are thankful,
but sharing this post on another platform results in non-Mastodon
users believing the entire contents of the post is "uspol" and not
clicking through/reading and re-sharing.
In cases where a URL has a trailing hyphen the FetchLinkCardService incorrectly removes the hyphen when it is parsed
The hyphen is not a reserved character in the URI spec https://tools.ietf.org/html/rfc3986#section-2.2
* Add better CLI prompt
* Add rake mastodon:setup interactive wizard
* Test db/redis/smtp configurations and add admin user at the end
* Test database connection even when database does not exist yet
Nokogiri linked to the version of libxml2 shipped in Travis' Trusty
image exhibits incorrect behavior when parsing strings resembling
<p>I <3 oats</p>
In particular, Html2Text.convert (which uses nokogiri) will return "I"
for the above string when it ought to return "I <3 oats".
The version of libxml2 shipped with nokogiri 1.8.1+ exhibits correct
parse behavior for this string, as does the libxml2 present in Ubuntu
Xenial.
Since 4a48d03b31, IntersectionObserverArticle
assumes that its children do not change unless the number of children changes.
This is not the case with the notification overlay, which resulted in the
checkmark of notification cleaning mode not updating unless scrolling to make
notifications appear/disappear.
This change may negatively impact performances.
Unlike strip_tags, html2text will preserve text present in other nodes,
e.g. anchor tags:
[1] pry(main)> str = '<a href="http://www.example.com">A link</a>'
=> "<a href=\"http://www.example.com\">A link</a>"
[2] pry(main)> Html2Text.convert(str)
=> "[A link](http://www.example.com)"
[3] pry(main)> include ActionView::Helpers::SanitizeHelper
=> Object
[4] pry(main)> strip_tags(str)
=> "A link"
Preserving the href of an anchor allows keyword mutes to also match on
URLs, which is something that the frontend regex filter can currently
do.
* Add full-text search for authorized statuses
- Search API will return statuses that match the query
- Only for logged in users
- Only if you are author of the status,
- Or you were mentioned in it
- Or you favourited or reblogged it
- Configuration over `ES_ENABLED`, `ES_HOST`, `ES_PORT`, `ES_PREFIX`
- Run `rails chewy:deploy` to create & populate index
Fix#5880Fix#4293Fix#1152
* Add commented out docker-compose configuration for ES container
* Optimize index import, filter search results
* Add basic normalization to the index
* Add better stemming and normalization to the index
* Skip webfinger request if search query includes both @ and a space
* Fix code style
* Visually separate search result sections
* Fix code style issues
the slight mismatch in hashtag regex between js and ruby was causing
hashtag warning to be displayed for unlisted tweets when an invalid
hashtag was entered
exact version of ruby regex not possible in js as POSIX bracket
expressions are not supported, this version approximates and doesn't
give same unicode support
* upgrade vagrant box to xenial
this allows the redis version to be upgraded to support the new redis
features used in the activity tracker
* add libpam0g package to vagrant box
this is required for native extensions of gems to build after the
addition of PAM support was added in #5303