Merge remote-tracking branch 'upstream/master'
commit
0bf9261e65
|
@ -8,8 +8,17 @@
|
|||
# /config/locales/*.fr.yml @żelipapą
|
||||
# /config/locales/fr.yml @żelipapą
|
||||
|
||||
# Polish
|
||||
/app/javascript/mastodon/locales/pl.json @m4sk1n
|
||||
/app/views/user_mailer/*.pl.html.erb @m4sk1n
|
||||
/app/views/user_mailer/*.pl.text.erb @m4sk1n
|
||||
/config/locales/*.pl.yml @m4sk1n
|
||||
/config/locales/pl.yml @m4sk1n
|
||||
|
||||
# French
|
||||
/app/javascript/mastodon/locales/fr.json @aldarone
|
||||
/app/javascript/mastodon/locales/whitelist_fr.json @aldarone
|
||||
/app/views/user_mailer/*.fr.html.erb @aldarone
|
||||
/app/views/user_mailer/*.fr.text.erb @aldarone
|
||||
/config/locales/*.fr.yml @aldarone
|
||||
/config/locales/fr.yml @aldarone
|
||||
|
|
|
@ -80,6 +80,7 @@ export default class Status extends ImmutablePureComponent {
|
|||
|
||||
componentWillReceiveProps (nextProps) {
|
||||
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
|
||||
this._scrolledIntoView = false;
|
||||
this.props.dispatch(fetchStatus(nextProps.params.statusId));
|
||||
}
|
||||
}
|
||||
|
@ -242,11 +243,17 @@ export default class Status extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
componentDidUpdate () {
|
||||
if (this._scrolledIntoView) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { status, ancestorsIds } = this.props;
|
||||
|
||||
if (status && ancestorsIds && ancestorsIds.size > 0) {
|
||||
const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size];
|
||||
element.scrollIntoView();
|
||||
const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];
|
||||
|
||||
element.scrollIntoView(true);
|
||||
this._scrolledIntoView = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -168,8 +168,8 @@
|
|||
"search_popout.search_format": "Recherche avancée",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "statuts",
|
||||
"search_popout.tips.text": "Un texte simple renvoie les noms affichés, les noms d'utilisateur et les hashtags correspondants",
|
||||
"search_popout.tips.user": "utilisateur",
|
||||
"search_popout.tips.text": "Un texte simple renvoie les noms affichés, les noms d'utilisateur⋅ice et les hashtags correspondants",
|
||||
"search_popout.tips.user": "utilisateur⋅ice",
|
||||
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
|
||||
"standalone.public_title": "Jeter un coup d’œil…",
|
||||
"status.cannot_reblog": "Cette publication ne peut être boostée",
|
||||
|
|
|
@ -66,17 +66,17 @@
|
|||
"embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.",
|
||||
"embed.preview": "Zo komt het eruit te zien:",
|
||||
"emoji_button.activity": "Activiteiten",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.custom": "Lokale emoji’s",
|
||||
"emoji_button.flags": "Vlaggen",
|
||||
"emoji_button.food": "Eten en drinken",
|
||||
"emoji_button.label": "Emoji toevoegen",
|
||||
"emoji_button.nature": "Natuur",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Geen emoji’s!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Voorwerpen",
|
||||
"emoji_button.people": "Mensen",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.recent": "Vaak gebruikt",
|
||||
"emoji_button.search": "Zoeken...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.search_results": "Zoekresultaten",
|
||||
"emoji_button.symbols": "Symbolen",
|
||||
"emoji_button.travel": "Reizen en plekken",
|
||||
"empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!",
|
||||
|
@ -165,11 +165,11 @@
|
|||
"report.submit": "Verzenden",
|
||||
"report.target": "Rapporteren van",
|
||||
"search.placeholder": "Zoeken",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.search_format": "Geavanceerd zoeken",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_popout.tips.status": "toot",
|
||||
"search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags.",
|
||||
"search_popout.tips.user": "gebruiker",
|
||||
"search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}",
|
||||
"standalone.public_title": "Een kijkje binnenin...",
|
||||
"status.cannot_reblog": "Deze toot kan niet geboost worden",
|
||||
|
@ -201,11 +201,11 @@
|
|||
"tabs_bar.notifications": "Meldingen",
|
||||
"upload_area.title": "Hierin slepen om te uploaden",
|
||||
"upload_button.label": "Media toevoegen",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
|
||||
"upload_form.undo": "Ongedaan maken",
|
||||
"upload_progress.label": "Uploaden...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.close": "Video sluiten",
|
||||
"video.exit_fullscreen": "Volledig scherm sluiten",
|
||||
"video.expand": "Video groter maken",
|
||||
"video.fullscreen": "Volledig scherm",
|
||||
"video.hide": "Video verbergen",
|
||||
|
|
|
@ -29,8 +29,7 @@ body {
|
|||
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", mastodon-font-sans-serif, sans-serif;
|
||||
}
|
||||
|
||||
&.app-body,
|
||||
&.error {
|
||||
&.app-body {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -70,25 +69,34 @@ body {
|
|||
}
|
||||
|
||||
&.error {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
color: $ui-primary-color;
|
||||
padding: 20px;
|
||||
background: $ui-base-color;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.dialog img {
|
||||
display: block;
|
||||
max-width: 470px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: -120px;
|
||||
}
|
||||
.dialog {
|
||||
vertical-align: middle;
|
||||
margin: 20px;
|
||||
|
||||
.dialog h1 {
|
||||
font-size: 20px;
|
||||
line-height: 28px;
|
||||
font-weight: 400;
|
||||
img {
|
||||
display: block;
|
||||
max-width: 470px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: -120px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 20px;
|
||||
line-height: 28px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
- content_for :header_tags do
|
||||
%link{ href: asset_pack_path('features/getting_started.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/compose.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/home_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/notifications.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/community_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/public_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%meta{name: 'applicationServerKey', content: Rails.configuration.x.vapid_public_key}
|
||||
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
|
||||
|
||||
|
|
|
@ -20,14 +20,6 @@
|
|||
|
||||
= stylesheet_pack_tag 'common', media: 'all'
|
||||
= javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous'
|
||||
|
||||
%link{ href: asset_pack_path('features/getting_started.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/compose.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/home_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/notifications.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/community_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
%link{ href: asset_pack_path('features/public_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
|
||||
|
||||
= javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
|
||||
= csrf_meta_tags
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- thumbnail = @instance_presenter.thumbnail
|
||||
= opengraph 'og:site_name', t('about.hosted_on', domain: site_hostname)
|
||||
= opengraph 'og:url', about_url
|
||||
= opengraph 'og:url', url_for(only_path: false)
|
||||
= opengraph 'og:type', 'website'
|
||||
= opengraph 'og:title', @instance_presenter.site_title
|
||||
= opengraph 'og:description', strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon_html'))
|
||||
|
|
|
@ -335,7 +335,10 @@ module Mastodon
|
|||
|
||||
start_arel = table.project(table[:id]).order(table[:id].asc).take(1)
|
||||
start_arel = yield table, start_arel if block_given?
|
||||
start_id = exec_query(start_arel.to_sql).to_hash.first['id'].to_i
|
||||
first_row = exec_query(start_arel.to_sql).to_hash.first
|
||||
# In case there are no rows but we didn't catch it in the estimated size:
|
||||
return unless first_row
|
||||
start_id = first_row['id'].to_i
|
||||
|
||||
say "Migrating #{table_name}.#{column} (~#{total.to_i} rows)"
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 10 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.5 KiB |
Loading…
Reference in New Issue