Age | Commit message (Collapse) | Author |
|
|
|
* Responsively enforce 16:9 ratio on all media thumbnails in web UI
Also change video player behaviour to "contain" rather than
"cover" videos that don't fit the ratio, unlike images and GIFs,
it's expected that a video is shown fully.
* Fix spacing issues and remove floor
* Remove floor
|
|
* Save metadata from video attachments, put correct dimensions into OG tags
* Add twitter:player for videos
* Fix code style and test
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Fix #5082 - disable retweet link for followers only toot
* Hide reblog count when it is a direct message
|
|
* Add option to reduce motion
* Use HOC to wrap all Motion calls
* fix case-sensitive issue
* Avoid updating too frequently
* Get rid of unnecessary change to _simple_status.html.haml
|
|
|
|
* In detail status view, display attachment uncropped if there's only one
* Make media spoiler the size of the media it hides, enable on static
|
|
|
|
Additionally, this restores previous background / text color for media spoiler.
|
|
* Custom emoji
- In OStatus: `<link rel="emoji" name="coolcat" href="http://..." />`
- In ActivityPub: `{ type: "Emoji", name: ":coolcat:", href: "http://..." }`
- In REST API: Status object includes `emojis` array (`shortcode`, `url`)
- Domain blocks with reject media stop emojis
- Emoji file up to 50KB
- Web UI handles custom emojis
- Static pages render custom emojis as `<img />` tags
Side effects:
- Undo #4500 optimization, as I needed to modify it to restore
shortcode handling in emojify()
- Formatter#plaintext should now make sure stripped out line-breaks
and paragraphs are replaced with newlines
* Fix emoji at the start not being converted
|
|
|
|
* Redesign video player
* Use new video player on static public pages too
* Use media gallery component on static public pages too
* Pause video when hiding it
* Full-screen sizing on WebKit
* Add aria labels to video player buttons
* Display link card on public status page
* Fix fullscreen from modal sizing issue
* Remove contain: strict property to fix fullscreen from columns
|
|
- Return all images as og:image
- Return videos as og:image (preview) and og:video
- Return profile:username on profiles
|
|
* Adjust status embeds
Adjust styles of embed code. Adjust styles of embed pages. Fix overflow of embed-modal.
* Remove trailing whitespace
* Using width from the variable
|
|
- Use statuses controller for embeds instead of stream entries controller
- Prefer /@:username/:id/embed URL for embeds
- Use /@:username as author_url in OEmbed
- Add follow link to embeds which opens web intent in new window
- Use redis cache in development
- Cache entire embed
|
|
* Pinned statuses
* yarn manage:translations
|
|
|
|
|
|
|
|
- Use plaintext
- Strip out URLs
- Strip out mentions
- Strip out hashtags
- Strip out whitespace from "overall" count
- Consistent between JS and Ruby
|
|
|
|
* selectively Revert "Fix regressions from #2683 (#2970)"
This reverts commit 72698bc3b49925a2b2955f32e5a562c1eecd729b.
* Revert "Handle hashtags in spoiler_texts (partial fix for #699) (#2683)"
This reverts commit e2491680e696d2c285a798ec4c66b26d2748df66.
|
|
* Fix regressions from #2683
Properly format spoiler text HTML, while keeping old logic for blankness intact
Process hashtags and mentions in spoiler text
Format spoiler text for Atom
Change "show more" toggle into a button instead of anchor
Fix style regression on dropdowns for detailed statuses
* Fix lint issue
* Convert spoiler text to plaintext in desktop notifications
|
|
* services: scan spoiler_text for hashtags (#699)
* views: link hashtags from spoiler_texts
This covers linking hashtags from within the spoiler
text on the server-generated pages.
* services: fix string concat going into hashtag RE
Cleaner Ruby syntax, may handle immutable strings better
|
|
* add haml_lint to Gemfile
* add .haml-lint.yml
* fix warnings of haml_lint
|
|
|
|
* add og:url to stream_item view
* add og:url and text to about/show
* add og:url to profile, followers and follows pages
|
|
* Add html lang attributes around statuses
* Remove urls from language detection
|
|
For the 'time ago' value of stream entry simple statuses and the timestamp value
of detailed statuses - output their UTC value and use the browser timezone to
convert locally.
|
|
* Simplify render in mailer views
* Simplify render in about/more view
* Simplify render in accounts follow views
* Simplify render in recovery code views
* Simplify render in stream entry embed
* Simplify render in stream entries status partial
* Simplify render in authorize follow new view
|
|
* Move site title helper to instance helper (name change only)
* Remove newline in <title> tag
* Add site_hostname helper method to wrap up local_domain value
* Use site_hostname helper in places that need local_domain value
|
|
|
|
* Add option to disable verify partial doubles
* Add show_landing_strip? helper method
* Use show_landing_strip? helper in accounts and stream entries views
* Fix naming in view specs
|
|
An attempt to open a brand new Mastodon instance configured
as SINGLE_USER_MODE=true will cause an exception.
Enable temporary registration if we have no users in the database
Fixes #1817
|
|
|
|
* significant improvement in microformats markup
This is a huge improvement and I believe will close #965.
Had these microformats reviewed by others in the community to help
ensure they are at least correct, if not complete.
I did not want to change the structure of the page, and so there it does
not fully mark up the entire ancestry chain, or reply chain, only the
direct decendants and direct ancestors are correctly associated, but
this is likely fine as the most important bit is to have access to the
urls for those toots which are now correctly fetchable.
* improve code climate
* trying to pass code climate tests
* code climate
* fix p-summary for content warning posts
* fix error introduced when merging via github
|
|
When you render the "embed" view in an iframe, this link bugs when clicked, due to missing target blank.
|
|
* Remove trailing whitespace
* Use query methods instead of explicit .blank? checks
|
|
* Add coverage for embedded status view
* Refactor embed view to eliminate @external_links variable
|
|
* Add missing emojify class to landing strip
* Add missing emojify class to simple_status partial
|
|
* Add helper method to return Setting.site_title
* Use site_title helper in application layout
* Use site_title value for og:site_name
|
|
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.
Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.
We added test coverage to untested methods that got refactored.
|
|
(#1124)
* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder
StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker
PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.
All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri
* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
|