diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 29c2c912028ca13f6fbccd39d137c5880ed5bc90..762a972ec254de061fc0d93fe8df4c40c7355506 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -5,7 +5,7 @@ module ApplicationHelper current_page?(path) ? 'active' : '' end - def id_paginate(path, per_page, collection) - # todo + def s3_expiry + Time.zone.now.beginning_of_day.since 25.hours end end diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb index 4abb00b07d079766ef7a14e6544196ced80e0c15..6a8e67040f3e4d4097eb985cc8786ce235f76752 100644 --- a/app/helpers/stream_entries_helper.rb +++ b/app/helpers/stream_entries_helper.rb @@ -6,7 +6,7 @@ module StreamEntriesHelper end def avatar_for_status_url(status) - status.reblog? ? status.reblog.account.avatar.expiring_url(3600, :original) : status.account.avatar.expiring_url(3600, :original) + status.reblog? ? status.reblog.account.avatar.expiring_url(s3_expiry, :original) : status.account.avatar.expiring_url(s3_expiry, :original) end def entry_classes(status, is_predecessor, is_successor, include_threads) diff --git a/app/views/accounts/_grid_card.html.haml b/app/views/accounts/_grid_card.html.haml index d91c184760c81250b22a3bcc36e5741b158a3fd3..d0f1ae3d4e792f92adb9e89fa4be11205fe222b8 100644 --- a/app/views/accounts/_grid_card.html.haml +++ b/app/views/accounts/_grid_card.html.haml @@ -1,6 +1,6 @@ .account-grid-card .account-grid-card__header - .avatar= image_tag account.avatar.expiring_url(3600, :original) + .avatar= image_tag account.avatar.expiring_url(s3_expiry, :original) .name = link_to TagManager.instance.url_for(account) do %span.display_name= display_name(account) diff --git a/app/views/accounts/_header.html.haml b/app/views/accounts/_header.html.haml index 4c7d53678a13c1a8fbab8a8762b569ed2f7bd76a..7c483e7905dc2660bc0ac26cb58ec9306657c940 100644 --- a/app/views/accounts/_header.html.haml +++ b/app/views/accounts/_header.html.haml @@ -1,4 +1,4 @@ -.card{ style: "background-image: url(#{@account.header.expiring_url(3600, :original)})" } +.card{ style: "background-image: url(#{@account.header.expiring_url(s3_expiry, :original)})" } - if user_signed_in? && current_account.id != @account.id .controls - if current_account.following?(@account) @@ -6,7 +6,7 @@ - else = link_to t('accounts.follow'), follow_account_path(@account), data: { method: :post }, class: 'button' - .avatar= image_tag @account.avatar.expiring_url(3600, :original) + .avatar= image_tag @account.avatar.expiring_url(s3_expiry, :original) %h1.name = display_name(@account) %small= "@#{@account.username}" diff --git a/app/views/accounts/show.atom.ruby b/app/views/accounts/show.atom.ruby index 68b1c157dda7d9119df1fcde0c4839faa973d695..2fcaecdcea96dab2e3dd3d830b33117137738cd5 100644 --- a/app/views/accounts/show.atom.ruby +++ b/app/views/accounts/show.atom.ruby @@ -6,7 +6,7 @@ Nokogiri::XML::Builder.new do |xml| title xml, @account.display_name subtitle xml, @account.note updated_at xml, stream_updated_at - logo xml, full_asset_url(@account.avatar.expiring_url(3600, :original)) + logo xml, full_asset_url(@account.avatar.expiring_url(s3_expiry, :original)) author(xml) do include_author xml, @account diff --git a/app/views/api/v1/accounts/show.rabl b/app/views/api/v1/accounts/show.rabl index a58db29b6a4f95fb176e7591abc940ab9f02f999..cd267eb00cbc2c5126c434818d3def81e17a7c24 100644 --- a/app/views/api/v1/accounts/show.rabl +++ b/app/views/api/v1/accounts/show.rabl @@ -4,8 +4,8 @@ attributes :id, :username, :acct, :display_name node(:note) { |account| Formatter.instance.simplified_format(account) } node(:url) { |account| TagManager.instance.url_for(account) } -node(:avatar) { |account| full_asset_url(account.avatar.expiring_url(3600, :original)) } -node(:header) { |account| full_asset_url(account.header.expiring_url(3600, :original)) } +node(:avatar) { |account| full_asset_url(account.avatar.expiring_url(s3_expiry, :original)) } +node(:header) { |account| full_asset_url(account.header.expiring_url(s3_expiry, :original)) } node(:followers_count) { |account| defined?(@followers_counts_map) ? (@followers_counts_map[account.id] || 0) : (account.try(:followers_count) || account.followers.count) } node(:following_count) { |account| defined?(@following_counts_map) ? (@following_counts_map[account.id] || 0) : (account.try(:following_count) || account.following.count) } node(:statuses_count) { |account| defined?(@statuses_counts_map) ? (@statuses_counts_map[account.id] || 0) : (account.try(:statuses_count) || account.statuses.count) } diff --git a/app/views/api/v1/media/create.rabl b/app/views/api/v1/media/create.rabl index 2a4db7aaee0debcaaf8f012876e00ecf02d8ab29..ba1a0c3781100ccba7e2e3f29a9bb7629ef2366c 100644 --- a/app/views/api/v1/media/create.rabl +++ b/app/views/api/v1/media/create.rabl @@ -1,5 +1,5 @@ object @media attribute :id, :type -node(:url) { |media| full_asset_url(media.file.expiring_url(3600, :original)) } -node(:preview_url) { |media| full_asset_url(media.file.expiring_url(3600, :small)) } +node(:url) { |media| full_asset_url(media.file.expiring_url(s3_expiry, :original)) } +node(:preview_url) { |media| full_asset_url(media.file.expiring_url(s3_expiry, :small)) } node(:text_url) { |media| medium_url(media) } diff --git a/app/views/api/v1/statuses/_media.rabl b/app/views/api/v1/statuses/_media.rabl index 76256ed2c7736a1ffd48021a64f5e06c947620fc..83b986d51d4fc933f83df7bd7bbc5cb8a8b10233 100644 --- a/app/views/api/v1/statuses/_media.rabl +++ b/app/views/api/v1/statuses/_media.rabl @@ -1,4 +1,4 @@ attributes :id, :remote_url, :type -node(:url) { |media| full_asset_url(media.file.expiring_url(3600, :original)) } -node(:preview_url) { |media| full_asset_url(media.file.expiring_url(3600, :small)) } +node(:url) { |media| full_asset_url(media.file.expiring_url(s3_expiry, :original)) } +node(:preview_url) { |media| full_asset_url(media.file.expiring_url(s3_expiry, :small)) } diff --git a/app/views/stream_entries/_status.html.haml b/app/views/stream_entries/_status.html.haml index 42994abbdf0d7f9a5646affd267c51810d2d7a76..8d650762307b53c511f49e1715f731e602ed9339 100644 --- a/app/views/stream_entries/_status.html.haml +++ b/app/views/stream_entries/_status.html.haml @@ -34,7 +34,7 @@ - if (status.reblog? ? status.reblog : status).media_attachments.size > 0 %ul.media-attachments - (status.reblog? ? status.reblog : status).media_attachments.each do |media| - %li.transparent-background= link_to '', media.file.expiring_url(3600, :original), style: "background-image: url(#{media.file.expiring_url(3600, :small)})", target: '_blank' + %li.transparent-background= link_to '', media.file.expiring_url(s3_expiry, :original), style: "background-image: url(#{media.file.expiring_url(s3_expiry, :small)})", target: '_blank' - if include_threads = render partial: 'status', collection: @descendants, as: :status, locals: { is_successor: true } diff --git a/app/views/stream_entries/show.html.haml b/app/views/stream_entries/show.html.haml index 76dfa6dacd4a44d6136a6c160ffa32089024ca59..9a134ab167aeb33af54081a060a775fde802f577 100644 --- a/app/views/stream_entries/show.html.haml +++ b/app/views/stream_entries/show.html.haml @@ -7,7 +7,7 @@ %meta{ name: 'og:title', content: "#{@account.username} on #{Rails.configuration.x.local_domain}" }/ %meta{ name: 'og:article:author', content: @account.username }/ %meta{ name: 'og:description', content: @stream_entry.activity.content }/ - %meta{ name: 'og:image', content: @stream_entry.activity.is_a?(Status) && @stream_entry.activity.media_attachments.size > 0 ? full_asset_url(@stream_entry.activity.media_attachments.first.file.expiring_url(3600, :small)) : full_asset_url(@account.avatar.expiring_url(3600, :original)) }/ + %meta{ name: 'og:image', content: @stream_entry.activity.is_a?(Status) && @stream_entry.activity.media_attachments.size > 0 ? full_asset_url(@stream_entry.activity.media_attachments.first.file.expiring_url(s3_expiry, :small)) : full_asset_url(@account.avatar.expiring_url(s3_expiry, :original)) }/ .activity-stream.activity-stream-headless = render partial: @type, locals: { @type.to_sym => @stream_entry.activity, include_threads: true }