From d799921c75e7bfb83504bb79dcc1c269c91d168c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 18 Jan 2018 19:17:25 +0100 Subject: [PATCH 01/10] Replace tutorial modal with welcome e-mail (#6273) * Remove onboarding modal * Welcome e-mail * Send welcome e-mail after confirmation * Remove obsolete translations --- app/javascript/images/icon_done.svg | 4 + app/javascript/mastodon/actions/onboarding.js | 14 - .../mastodon/containers/mastodon.js | 3 - .../features/ui/components/modal_root.js | 2 - .../ui/components/onboarding_modal.js | 318 ------------------ .../features/ui/util/async-components.js | 4 - app/javascript/styles/mailer.scss | 44 +++ .../styles/mastodon/components.scss | 254 -------------- app/mailers/user_mailer.rb | 11 + app/models/user.rb | 1 + app/views/layouts/mailer.text.erb | 2 +- app/views/user_mailer/welcome.html.haml | 146 ++++++++ app/views/user_mailer/welcome.text.erb | 30 ++ config/locales/ar.yml | 1 - config/locales/bg.yml | 1 - config/locales/ca.yml | 1 - config/locales/de.yml | 1 - config/locales/en.yml | 20 +- config/locales/eo.yml | 1 - config/locales/es.yml | 1 - config/locales/fa.yml | 1 - config/locales/fi.yml | 1 - config/locales/fr.yml | 1 - config/locales/gl.yml | 1 - config/locales/he.yml | 1 - config/locales/hr.yml | 1 - config/locales/hu.yml | 2 - config/locales/id.yml | 1 - config/locales/io.yml | 1 - config/locales/it.yml | 1 - config/locales/ja.yml | 1 - config/locales/ko.yml | 1 - config/locales/nl.yml | 1 - config/locales/no.yml | 1 - config/locales/oc.yml | 1 - config/locales/pl.yml | 1 - config/locales/pt-BR.yml | 1 - config/locales/pt.yml | 1 - config/locales/ru.yml | 1 - config/locales/sr-Latn.yml | 1 - config/locales/sr.yml | 1 - config/locales/sv.yml | 1 - config/locales/th.yml | 1 - config/locales/tr.yml | 1 - config/locales/uk.yml | 1 - config/locales/zh-CN.yml | 1 - config/locales/zh-HK.yml | 1 - config/locales/zh-TW.yml | 1 - spec/mailers/previews/user_mailer_preview.rb | 5 + 49 files changed, 261 insertions(+), 632 deletions(-) create mode 100644 app/javascript/images/icon_done.svg delete mode 100644 app/javascript/mastodon/actions/onboarding.js delete mode 100644 app/javascript/mastodon/features/ui/components/onboarding_modal.js create mode 100644 app/views/user_mailer/welcome.html.haml create mode 100644 app/views/user_mailer/welcome.text.erb diff --git a/app/javascript/images/icon_done.svg b/app/javascript/images/icon_done.svg new file mode 100644 index 0000000000..446af14d99 --- /dev/null +++ b/app/javascript/images/icon_done.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/javascript/mastodon/actions/onboarding.js b/app/javascript/mastodon/actions/onboarding.js deleted file mode 100644 index a161c50efe..0000000000 --- a/app/javascript/mastodon/actions/onboarding.js +++ /dev/null @@ -1,14 +0,0 @@ -import { openModal } from './modal'; -import { changeSetting, saveSettings } from './settings'; - -export function showOnboardingOnce() { - return (dispatch, getState) => { - const alreadySeen = getState().getIn(['settings', 'onboarded']); - - if (!alreadySeen) { - dispatch(openModal('ONBOARDING')); - dispatch(changeSetting(['onboarded'], true)); - dispatch(saveSettings()); - } - }; -}; diff --git a/app/javascript/mastodon/containers/mastodon.js b/app/javascript/mastodon/containers/mastodon.js index d1710445b5..8ae3b727af 100644 --- a/app/javascript/mastodon/containers/mastodon.js +++ b/app/javascript/mastodon/containers/mastodon.js @@ -2,7 +2,6 @@ import React from 'react'; import { Provider } from 'react-redux'; import PropTypes from 'prop-types'; import configureStore from '../store/configureStore'; -import { showOnboardingOnce } from '../actions/onboarding'; import { BrowserRouter, Route } from 'react-router-dom'; import { ScrollContext } from 'react-router-scroll-4'; import UI from '../features/ui'; @@ -40,8 +39,6 @@ export default class Mastodon extends React.PureComponent { const handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s'; window.setTimeout(() => navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon'), 5 * 60 * 1000); } - - store.dispatch(showOnboardingOnce()); } componentWillUnmount () { diff --git a/app/javascript/mastodon/features/ui/components/modal_root.js b/app/javascript/mastodon/features/ui/components/modal_root.js index 5839ba40a6..dbfb46ee74 100644 --- a/app/javascript/mastodon/features/ui/components/modal_root.js +++ b/app/javascript/mastodon/features/ui/components/modal_root.js @@ -9,7 +9,6 @@ import VideoModal from './video_modal'; import BoostModal from './boost_modal'; import ConfirmationModal from './confirmation_modal'; import { - OnboardingModal, MuteModal, ReportModal, EmbedModal, @@ -18,7 +17,6 @@ import { const MODAL_COMPONENTS = { 'MEDIA': () => Promise.resolve({ default: MediaModal }), - 'ONBOARDING': OnboardingModal, 'VIDEO': () => Promise.resolve({ default: VideoModal }), 'BOOST': () => Promise.resolve({ default: BoostModal }), 'CONFIRM': () => Promise.resolve({ default: ConfirmationModal }), diff --git a/app/javascript/mastodon/features/ui/components/onboarding_modal.js b/app/javascript/mastodon/features/ui/components/onboarding_modal.js deleted file mode 100644 index 54673e223e..0000000000 --- a/app/javascript/mastodon/features/ui/components/onboarding_modal.js +++ /dev/null @@ -1,318 +0,0 @@ -import React from 'react'; -import { connect } from 'react-redux'; -import PropTypes from 'prop-types'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import ReactSwipeableViews from 'react-swipeable-views'; -import classNames from 'classnames'; -import Permalink from '../../../components/permalink'; -import ComposeForm from '../../compose/components/compose_form'; -import Search from '../../compose/components/search'; -import NavigationBar from '../../compose/components/navigation_bar'; -import ColumnHeader from './column_header'; -import { List as ImmutableList } from 'immutable'; -import { me } from '../../../initial_state'; - -const noop = () => { }; - -const messages = defineMessages({ - home_title: { id: 'column.home', defaultMessage: 'Home' }, - notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' }, - local_title: { id: 'column.community', defaultMessage: 'Local timeline' }, - federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' }, -}); - -const PageOne = ({ acct, domain }) => ( -
-
-
-
- -
-

-

-

@{acct}@{domain} }} />

-
-
-); - -PageOne.propTypes = { - acct: PropTypes.string.isRequired, - domain: PropTypes.string.isRequired, -}; - -const PageTwo = ({ myAccount }) => ( -
-
-
- -
- -
- -

-
-); - -PageTwo.propTypes = { - myAccount: ImmutablePropTypes.map.isRequired, -}; - -const PageThree = ({ myAccount }) => ( -
-
- - -
- -
-
- -

#illustration, introductions: #introductions }} />

-

-
-); - -PageThree.propTypes = { - myAccount: ImmutablePropTypes.map.isRequired, -}; - -const PageFour = ({ domain, intl }) => ( -
-
-
-
-
-

-
- -
-
-

-
-
- -
-
-
-
- -
-
-
-
- -

-
-
-); - -PageFour.propTypes = { - domain: PropTypes.string.isRequired, - intl: PropTypes.object.isRequired, -}; - -const PageSix = ({ admin, domain }) => { - let adminSection = ''; - - if (admin) { - adminSection = ( -

- @{admin.get('acct')} }} /> -
- }} /> -

- ); - } - - return ( -
-

- {adminSection} -

GitHub }} />

-

}} />

-

-
- ); -}; - -PageSix.propTypes = { - admin: ImmutablePropTypes.map, - domain: PropTypes.string.isRequired, -}; - -const mapStateToProps = state => ({ - myAccount: state.getIn(['accounts', me]), - admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]), - domain: state.getIn(['meta', 'domain']), -}); - -@connect(mapStateToProps) -@injectIntl -export default class OnboardingModal extends React.PureComponent { - - static propTypes = { - onClose: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - myAccount: ImmutablePropTypes.map.isRequired, - domain: PropTypes.string.isRequired, - admin: ImmutablePropTypes.map, - }; - - state = { - currentIndex: 0, - }; - - componentWillMount() { - const { myAccount, admin, domain, intl } = this.props; - this.pages = [ - , - , - , - , - , - ]; - }; - - componentDidMount() { - window.addEventListener('keyup', this.handleKeyUp); - } - - componentWillUnmount() { - window.addEventListener('keyup', this.handleKeyUp); - } - - handleSkip = (e) => { - e.preventDefault(); - this.props.onClose(); - } - - handleDot = (e) => { - const i = Number(e.currentTarget.getAttribute('data-index')); - e.preventDefault(); - this.setState({ currentIndex: i }); - } - - handlePrev = () => { - this.setState(({ currentIndex }) => ({ - currentIndex: Math.max(0, currentIndex - 1), - })); - } - - handleNext = () => { - const { pages } = this; - this.setState(({ currentIndex }) => ({ - currentIndex: Math.min(currentIndex + 1, pages.length - 1), - })); - } - - handleSwipe = (index) => { - this.setState({ currentIndex: index }); - } - - handleKeyUp = ({ key }) => { - switch (key) { - case 'ArrowLeft': - this.handlePrev(); - break; - case 'ArrowRight': - this.handleNext(); - break; - } - } - - handleClose = () => { - this.props.onClose(); - } - - render () { - const { pages } = this; - const { currentIndex } = this.state; - const hasMore = currentIndex < pages.length - 1; - - const nextOrDoneBtn = hasMore ? ( - - ) : ( - - ); - - return ( -
- - {pages.map((page, i) => { - const className = classNames('onboarding-modal__page__wrapper', { - 'onboarding-modal__page__wrapper--active': i === currentIndex, - }); - return ( -
{page}
- ); - })} -
- -
-
- -
- -
- {pages.map((_, i) => { - const className = classNames('onboarding-modal__dot', { - active: i === currentIndex, - }); - return ( -
- ); - })} -
- -
- {nextOrDoneBtn} -
-
-
- ); - } - -} diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index d6586680b8..a03c4cefd8 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -94,10 +94,6 @@ export function Mutes () { return import(/* webpackChunkName: "features/mutes" */'../../mutes'); } -export function OnboardingModal () { - return import(/* webpackChunkName: "modals/onboarding_modal" */'../components/onboarding_modal'); -} - export function MuteModal () { return import(/* webpackChunkName: "modals/mute_modal" */'../components/mute_modal'); } diff --git a/app/javascript/styles/mailer.scss b/app/javascript/styles/mailer.scss index e6422b2ea5..b3bcc9209c 100644 --- a/app/javascript/styles/mailer.scss +++ b/app/javascript/styles/mailer.scss @@ -228,6 +228,13 @@ h3 { line-height: 25px; } +h5 { + font-size: 16px; + line-height: 21px; + font-weight: 700; + color: lighten($ui-base-color, 34%); +} + .input { td { background: darken($ui-base-color, 8%); @@ -356,6 +363,19 @@ h3 { font-weight: 500 !important; } } + + &.button-small { + td { + border-radius: 4px; + font-size: 14px; + padding: 8px 16px; + + a { + padding: 5px 16px !important; + line-height: 26px !important; + } + } + } } .button-default { @@ -379,6 +399,14 @@ h3 { padding-right: 16px; } +.padded-bottom { + padding-bottom: 32px; +} + +.margin-bottom { + margin-bottom: 20px; +} + .hero-icon { width: 64px; @@ -463,6 +491,22 @@ h3 { border-top: 1px solid lighten($ui-base-color, 8%); } +ul { + padding-left: 15px; + margin-top: 0; + margin-bottom: 0; + padding-top: 16px; + + li { + margin-bottom: 16px; + color: lighten($ui-base-color, 26%); + + span { + color: $ui-primary-color; + } + } +} + @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { body { min-height: 1024px !important; diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 6fbecee7c3..63ee06d8e8 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3303,7 +3303,6 @@ z-index: 100; } -.onboarding-modal, .error-modal, .embed-modal { background: $ui-secondary-color; @@ -3314,26 +3313,6 @@ flex-direction: column; } -.onboarding-modal__pager { - height: 80vh; - width: 80vw; - max-width: 520px; - max-height: 420px; - - .react-swipeable-view-container > div { - width: 100%; - height: 100%; - box-sizing: border-box; - padding: 25px; - display: none; - flex-direction: column; - align-items: center; - justify-content: center; - display: flex; - user-select: text; - } -} - .error-modal__body { height: 80vh; width: 80vw; @@ -3367,23 +3346,6 @@ text-align: center; } -@media screen and (max-width: 550px) { - .onboarding-modal { - width: 100%; - height: 100%; - border-radius: 0; - } - - .onboarding-modal__pager { - width: 100%; - height: auto; - max-width: none; - max-height: none; - flex: 1 1 auto; - } -} - -.onboarding-modal__paginator, .error-modal__footer { flex: 0 0 auto; background: darken($ui-secondary-color, 8%); @@ -3394,7 +3356,6 @@ min-width: 33px; } - .onboarding-modal__nav, .error-modal__nav { color: darken($ui-secondary-color, 34%); background-color: transparent; @@ -3410,11 +3371,6 @@ &:active { color: darken($ui-secondary-color, 38%); } - - &.onboarding-modal__done, - &.onboarding-modal__next { - color: $ui-highlight-color; - } } } @@ -3422,216 +3378,6 @@ justify-content: center; } -.onboarding-modal__dots { - flex: 1 1 auto; - display: flex; - align-items: center; - justify-content: center; -} - -.onboarding-modal__dot { - width: 14px; - height: 14px; - border-radius: 14px; - background: darken($ui-secondary-color, 16%); - margin: 0 3px; - cursor: pointer; - - &:hover { - background: darken($ui-secondary-color, 18%); - } - - &.active { - cursor: default; - background: darken($ui-secondary-color, 24%); - } -} - -.onboarding-modal__page__wrapper { - pointer-events: none; - - &.onboarding-modal__page__wrapper--active { - pointer-events: auto; - } -} - -.onboarding-modal__page { - cursor: default; - line-height: 21px; - - h1 { - font-size: 18px; - font-weight: 500; - color: $ui-base-color; - margin-bottom: 20px; - } - - a { - color: $ui-highlight-color; - - &:hover, - &:focus, - &:active { - color: lighten($ui-highlight-color, 4%); - } - } - - p { - font-size: 16px; - color: lighten($ui-base-color, 8%); - margin-top: 10px; - margin-bottom: 10px; - - &:last-child { - margin-bottom: 0; - } - - strong { - font-weight: 500; - background: $ui-base-color; - color: $ui-secondary-color; - border-radius: 4px; - font-size: 14px; - padding: 3px 6px; - - @each $lang in $cjk-langs { - &:lang(#{$lang}) { - font-weight: 700; - } - } - } - } -} - -.onboarding-modal__page-one { - display: flex; - align-items: center; -} - -.onboarding-modal__page-one__elephant-friend { - background: url('../images/elephant-friend-1.png') no-repeat center center / contain; - width: 155px; - height: 193px; - margin-right: 15px; -} - -@media screen and (max-width: 400px) { - .onboarding-modal__page-one { - flex-direction: column; - align-items: normal; - } - - .onboarding-modal__page-one__elephant-friend { - width: 100%; - height: 30vh; - max-height: 160px; - margin-bottom: 5vh; - } -} - -.onboarding-modal__page-two, -.onboarding-modal__page-three, -.onboarding-modal__page-four, -.onboarding-modal__page-five { - p { - text-align: left; - } - - .figure { - background: darken($ui-base-color, 8%); - color: $ui-secondary-color; - margin-bottom: 20px; - border-radius: 4px; - padding: 10px; - text-align: center; - font-size: 14px; - box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.3); - - .onboarding-modal__image { - border-radius: 4px; - margin-bottom: 10px; - } - - &.non-interactive { - pointer-events: none; - text-align: left; - } - } -} - -.onboarding-modal__page-four__columns { - .row { - display: flex; - margin-bottom: 20px; - - & > div { - flex: 1 1 0; - margin: 0 10px; - - &:first-child { - margin-left: 0; - } - - &:last-child { - margin-right: 0; - } - - p { - text-align: center; - } - } - - &:last-child { - margin-bottom: 0; - } - } - - .column-header { - color: $primary-text-color; - } -} - -@media screen and (max-width: 320px) and (max-height: 600px) { - .onboarding-modal__page p { - font-size: 14px; - line-height: 20px; - } - - .onboarding-modal__page-two .figure, - .onboarding-modal__page-three .figure, - .onboarding-modal__page-four .figure, - .onboarding-modal__page-five .figure { - font-size: 12px; - margin-bottom: 10px; - } - - .onboarding-modal__page-four__columns .row { - margin-bottom: 10px; - } - - .onboarding-modal__page-four__columns .column-header { - padding: 5px; - font-size: 12px; - } -} - -.onboarding-modal__image { - border-radius: 8px; - width: 70vw; - max-width: 450px; - max-height: auto; - display: block; - margin: auto; - margin-bottom: 20px; -} - -.onboard-sliders { - display: inline-block; - max-width: 30px; - max-height: auto; - margin-left: 10px; -} - .boost-modal, .confirmation-modal, .report-modal, diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index a7efa73c1c..4104f6cd26 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -54,4 +54,15 @@ class UserMailer < Devise::Mailer mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject') end end + + def welcome(user) + @resource = user + @instance = Rails.configuration.x.local_domain + + return if @resource.disabled? + + I18n.with_locale(@resource.locale || I18n.default_locale) do + mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject') + end + end end diff --git a/app/models/user.rb b/app/models/user.rb index 892a07bba0..8cad3221b4 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -223,5 +223,6 @@ class User < ApplicationRecord def update_statistics! BootstrapTimelineWorker.perform_async(account_id) ActivityTracker.increment('activity:accounts:local') + UserMailer.welcome(self).deliver_later end end diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb index cdb284de83..87b0b2929c 100644 --- a/app/views/layouts/mailer.text.erb +++ b/app/views/layouts/mailer.text.erb @@ -1,5 +1,5 @@ <%= yield %> --- -<%= t('application_mailer.signature', instance: site_hostname) %> +<%= t 'about.hosted_on', domain: site_hostname %> <%= t('application_mailer.settings', link: settings_preferences_url) %> diff --git a/app/views/user_mailer/welcome.html.haml b/app/views/user_mailer/welcome.html.haml new file mode 100644 index 0000000000..0823efa1ae --- /dev/null +++ b/app/views/user_mailer/welcome.html.haml @@ -0,0 +1,146 @@ +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.hero + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.text-center.padded + %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td + = image_tag full_pack_url('icon_done.svg'), alt: '' + + %h1= t 'user_mailer.welcome.title', name: @resource.account.username + %p.lead= t 'user_mailer.welcome.explanation' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell + .email-row + .col-3 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.input-cell.text-center.padded-bottom + %h5= t 'user_mailer.welcome.full_handle' + %table.input{ align: 'center', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td= "@#{@resource.account.username}@#{@instance}" + .col-3 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.content-start + %p= t 'user_mailer.welcome.full_handle_hint', instance: @instance + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.content-start.border-top + .email-row + .col-4 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.padded + = t 'user_mailer.welcome.edit_profile_step' + .col-2 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell + %table.button.button-small{ align: 'left', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to settings_profile_url do + %span= t 'user_mailer.welcome.edit_profile_action' + %tr + %td.content-cell + .email-row + .col-4 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.padded + = t 'user_mailer.welcome.review_preferences_step' + .col-2 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell + %table.button.button-small{ align: 'left', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to settings_preferences_url do + %span= t 'user_mailer.welcome.review_preferences_action' + %tr + %td.content-cell.padded-bottom + .email-row + .col-4 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.padded + = t 'user_mailer.welcome.final_step' + .col-2 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell + %table.button.button-small{ align: 'left', cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.button-primary + = link_to web_url do + %span= t 'user_mailer.welcome.final_action' + +%table.email-table{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.email-body + .email-container + %table.content-section{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.content-cell.border-top + .email-row + .col-6 + %table.column{ cellspacing: 0, cellpadding: 0 } + %tbody + %tr + %td.column-cell.padded + %h5= t 'user_mailer.welcome.tips' + %ul + %li + %span= t 'user_mailer.welcome.tip_mobile_webapp' + %li + %span= t 'user_mailer.welcome.tip_bridge_html', bridge_url: 'https://bridge.joinmastodon.org' + %li + %span= t 'user_mailer.welcome.tip_following' + %li + %span= t 'user_mailer.welcome.tip_local_timeline', instance: @instance + %li + %span= t 'user_mailer.welcome.tip_federated_timeline' diff --git a/app/views/user_mailer/welcome.text.erb b/app/views/user_mailer/welcome.text.erb new file mode 100644 index 0000000000..5bd0cab2a5 --- /dev/null +++ b/app/views/user_mailer/welcome.text.erb @@ -0,0 +1,30 @@ +<%= t 'user_mailer.welcome.title', name: @resource.account.username %> <%= t 'user_mailer.welcome.explanation' %> + +=== + +<%= t 'user_mailer.welcome.full_handle' %> (<%= "@#{@resource.account.username}@#{@instance}" %>) +<%= t 'user_mailer.welcome.full_handle_hint', instance: @instance %> + +--- + +<%= t 'user_mailer.welcome.edit_profile_step' %> + +=> <%= settings_profile_url %> + +<%= t 'user_mailer.welcome.review_preferences_step' %> + +=> <%= settings_preferences_url %> + +<%= t 'user_mailer.welcome.final_step' %> + +=> <%= web_url %> + +--- + +<%= t 'user_mailer.welcome.tips' %> + +* <%= t 'user_mailer.welcome.tip_mobile_webapp' %> +* <%= strip_tags(t('user_mailer.welcome.tip_bridge_html')) %> (https://bridge.joinmastodon.org) +* <%= t 'user_mailer.welcome.tip_following' %> +* <%= t 'user_mailer.welcome.tip_local_timeline', instance: @instance %> +* <%= t 'user_mailer.welcome.tip_federated_timeline' %> diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 82e8e998a0..eadeaef3ea 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -140,7 +140,6 @@ ar: application_mailer: salutation: "%{name}،" settings: 'تغيير تفضيلات البريد الإلكتروني : %{link}' - signature: إشعارات ماستدون من %{instance} view: 'View:' applications: created: تم إنشاء التطبيق بنجاح diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 13d0394a38..56a9048957 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -26,7 +26,6 @@ bg: unfollow: Не следвай application_mailer: settings: 'Промяна на предпочитанията за e-mail: %{link}' - signature: Mastodon известия от %{instance} view: 'Преглед:' applications: invalid_url: Предоставеният URL е невалиден diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 57e07cbd8a..47b9ba995a 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -340,7 +340,6 @@ ca: application_mailer: salutation: "%{name}," settings: 'Canvia les preferències de correu: %{link}' - signature: Notificacions de Mastodon des de %{instance} view: 'Vista:' applications: created: L'aplicació s'ha creat correctament diff --git a/config/locales/de.yml b/config/locales/de.yml index 39867e3737..7d0cf63495 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -321,7 +321,6 @@ de: application_mailer: salutation: "%{name}," settings: 'E-Mail-Einstellungen ändern: %{link}' - signature: Mastodon-Benachrichtigungen von %{instance} view: 'Ansehen:' applications: created: Anwendung erstellt diff --git a/config/locales/en.yml b/config/locales/en.yml index f23f35a897..cd6138ff23 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -341,7 +341,6 @@ en: notification_preferences: Change e-mail preferences salutation: "%{name}," settings: 'Change e-mail preferences: %{link}' - signature: Mastodon notifications from %{instance} view: 'View:' view_profile: View Profile view_status: View status @@ -725,6 +724,25 @@ en: recovery_instructions_html: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. Keep the recovery codes safe. For example, you may print them and store them with other important documents. setup: Set up wrong_code: The entered code was invalid! Are server time and device time correct? + user_mailer: + welcome: + edit_profile_action: Setup profile + edit_profile_step: You can customize your profile by uploading an avatar, header, changing your display name and more. If you’d like to review new followers before they’re allowed to follow you, you can lock your account. + explanation: Here are some tips to get you started + final_action: Start posting + final_step: 'Start posting! Even without followers your public messages may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.' + full_handle: Your full handle + full_handle_hint: This is what you would tell your friends so they can message or follow you from another instance. + review_preferences_action: Change preferences + review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay. + subject: Welcome to Mastodon + tip_bridge_html: If you are coming from Twitter, you can find your friends on Mastodon by using the bridge app. It only works if they also used the bridge app though! + tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete. + tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines. + tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours! + tip_mobile_webapp: If your mobile browser offers you to add Mastodon to your homescreen, you can receive push notifications. It acts like a native app in many ways! + tips: Tips + title: Welcome aboard, %{name}! users: invalid_email: The e-mail address is invalid invalid_otp_token: Invalid two-factor code diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 847299ac7b..bc259957dc 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -237,7 +237,6 @@ eo: subject: Nova raporto por %{instance} (#%{id}) application_mailer: settings: 'Ŝanĝi la retpoŝt-mesaĝajn preferojn: %{link}' - signature: Sciigoj de Mastodon el %{instance} view: 'Vidi:' applications: created: Aplikaĵo sukcesa kreis diff --git a/config/locales/es.yml b/config/locales/es.yml index 18b93b08e1..2b4b3c19a2 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -332,7 +332,6 @@ es: application_mailer: salutation: "%{name}," settings: 'Cambiar preferencias de correo: %{link}' - signature: Notificaciones de Mastodon desde %{instance} view: 'Vista:' applications: created: Aplicación creada exitosamente diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 94d4e75948..c498c592c0 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -334,7 +334,6 @@ fa: application_mailer: salutation: "%{name}،" settings: 'تغییر تنظیمات ایمیل: %{link}' - signature: اعلان‌های ماستدون از %{instance} view: 'نمایش:' applications: created: برنامه با موفقیت ساخته شد diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 2da8427b88..f2ee28ba0e 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -25,7 +25,6 @@ fi: unfollow: Lopeta seuraaminen application_mailer: settings: 'Muokkaa sähköpostiasetuksia: %{link}' - signature: Mastodon-ilmoituksia palvelimelta %{instance} view: 'Katso:' applications: invalid_url: Annettu URL on väärä diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 33a307d743..c7afd5f4b1 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -334,7 +334,6 @@ fr: application_mailer: salutation: "%{name}," settings: 'Changer les préférences courriel : %{link}' - signature: Notifications de Mastodon depuis %{instance} view: 'Voir :' applications: created: Application créée avec succès diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 55f7172496..100e2954ca 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -340,7 +340,6 @@ gl: application_mailer: salutation: "%{name}," settings: 'Mudar as preferencias de e-mail: %{link}' - signature: Notificacións Mastodon de %{instance} view: 'Vista:' applications: created: Creouse con éxito este aplicativo diff --git a/config/locales/he.yml b/config/locales/he.yml index 4b977ce1b6..1f27dda7a5 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -229,7 +229,6 @@ he: title: ניהול application_mailer: settings: 'שינוי הגדרות דוא"ל: %{link}' - signature: התראות מסטודון מקהילת %{instance} view: 'תצוגה:' applications: invalid_url: כתובת הקישורית אינה חוקית diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 581912420d..a3c9aa4368 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -26,7 +26,6 @@ hr: unfollow: Prestani slijediti application_mailer: settings: 'Promijeni e-mail postavke: %{link}' - signature: Mastodon notifikacije sa %{instance} view: 'Vidi:' applications: invalid_url: Uneseni link nije valjan diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 77551223f3..586503a35a 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -12,8 +12,6 @@ hu: people_who_follow: "%{name} követői" posts: Bejegyzések unfollow: Követés abbahagyása - application_mailer: - signature: "%{instance} Mastodon értesítései" auth: change_password: Jelszó változtatása didnt_get_confirmation: Nem kaptad meg a megerősítési lépéseket? diff --git a/config/locales/id.yml b/config/locales/id.yml index f3a6649d1c..6e4d60fd88 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -151,7 +151,6 @@ id: title: Administrasi application_mailer: settings: 'Ubah pilihan email: %{link}' - signature: Notifikasi Mastodon dari %{instance} view: 'Tampilan:' applications: invalid_url: URL tidak sesuai diff --git a/config/locales/io.yml b/config/locales/io.yml index 4114e52312..db82147683 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -149,7 +149,6 @@ io: title: Administration application_mailer: settings: 'Chanjar la retpost-mesajala preferi: %{link}' - signature: Savigi di Mastodon de %{instance} view: 'Vidar:' applications: invalid_url: La URL donita ne esas valida diff --git a/config/locales/it.yml b/config/locales/it.yml index ec0209bc19..6ab57d2fcc 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -26,7 +26,6 @@ it: unfollow: Non seguire più application_mailer: settings: 'Cambia le impostazioni per le e-mail: %{link}' - signature: Notifiche Mastodon da %{instance} view: 'Guarda:' applications: invalid_url: L'URL fornito non è valido diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 75c1332929..4ff089f6ee 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -341,7 +341,6 @@ ja: notification_preferences: メール設定の変更 salutation: "%{name} さん" settings: 'メール設定の変更: %{link}' - signature: Mastodon %{instance} インスタンスからの通知 view: 'リンク:' view_profile: プロフィールを表示 view_status: トゥートを表示 diff --git a/config/locales/ko.yml b/config/locales/ko.yml index b0bac4c1df..901d6202ed 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -340,7 +340,6 @@ ko: application_mailer: notification_preferences: 메일 설정 변경 settings: '메일 설정을 변경: %{link}' - signature: Mastodon %{instance} 인스턴스로에서 알림 view: 'View:' view_profile: 프로필 보기 view_status: 게시물 보기 diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 4c2829f985..cac9a10ec5 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -340,7 +340,6 @@ nl: application_mailer: salutation: "%{name}," settings: 'E-mailvoorkeuren wijzigen: %{link}' - signature: Mastodon-meldingen van %{instance} view: 'Bekijk:' applications: created: Aanmaken toepassing geslaagd diff --git a/config/locales/no.yml b/config/locales/no.yml index 57f8547fcb..3b212932e8 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -163,7 +163,6 @@ title: Administrasjon application_mailer: settings: 'Endre foretrukne e-postinnstillinger: %{link}' - signature: Mastodon-notiser fra %{instance} view: 'Se:' applications: invalid_url: Den oppgitte URLen er ugyldig diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 40387de703..beb5d1f87d 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -340,7 +340,6 @@ oc: application_mailer: salutation: "%{name}," settings: 'Cambiar las preferéncias de corrièl : %{link}' - signature: Notificacion de Mastodon sus %{instance} view: 'Veire :' applications: created: Aplicacion ben creada diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 5d77e0fdac..24ae942092 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -342,7 +342,6 @@ pl: notification_preferences: Zmień ustawienia e-maili salutation: "%{name}," settings: 'Zmień ustawienia powiadamiania: %{link}' - signature: Powiadomienie Mastodona z instancji %{instance} view: 'Zobacz:' view_status: Wyświetl wpis applications: diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index fc4db6758b..6b6fcd97ce 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -340,7 +340,6 @@ pt-BR: application_mailer: salutation: "%{name}," settings: 'Mudar e-mail de preferência: %{link}' - signature: Notificações do Mastodon de %{instance} view: 'Visualizar:' applications: created: Aplicação criada com sucesso diff --git a/config/locales/pt.yml b/config/locales/pt.yml index c0056af4fc..618373b91e 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -328,7 +328,6 @@ pt: application_mailer: salutation: "%{name}," settings: 'Alterar preferências de email: %{link}' - signature: notificações Mastodon do %{instance} view: 'Ver:' applications: created: Aplicação criada com sucesso diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 6e63aaddac..842fd7d544 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -342,7 +342,6 @@ ru: notification_preferences: Изменить настройки e-mail salutation: "%{name}," settings: 'Изменить настройки e-mail: %{link}' - signature: Уведомления Mastodon от %{instance} view: 'Просмотр:' view_status: Просмотреть статус applications: diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 964a82d643..ac80e81ec7 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -336,7 +336,6 @@ sr-Latn: application_mailer: salutation: "%{name}," settings: 'Promeni podešavanja e-pošte: %{link}' - signature: Mastodont obaveštenje sa instance %{instance} view: 'Pogledaj:' applications: created: Aplikacija uspešno napravljena diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 57ccf2008c..7553968288 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -336,7 +336,6 @@ sr: application_mailer: salutation: "%{name}," settings: 'Промени подешавања е-поште: %{link}' - signature: Мастодонт обавештење са инстанце %{instance} view: 'Погледај:' applications: created: Апликација успешно направљена diff --git a/config/locales/sv.yml b/config/locales/sv.yml index ebb6d6595d..b6595cb0d9 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -272,7 +272,6 @@ sv: application_mailer: salutation: "%{name}," settings: 'Change e-mail preferences: %{link}' - signature: Mastodon meddelande från %{instance} view: 'Granska:' applications: created: Ansökan är framgångsrikt skapad diff --git a/config/locales/th.yml b/config/locales/th.yml index 2db3aee8a4..737b3aa959 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -153,7 +153,6 @@ th: title: แอดมิน application_mailer: settings: 'เปลี่ยนอีเมล์ preferences: %{link}' - signature: ฟอร์มการแจ้งเตือนแมสโทดอน %{instance} view: 'วิว:' applications: invalid_url: URL ที่ระบุไม่ถูกตั้ง diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 6aff78fa16..23b4d7a244 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -152,7 +152,6 @@ tr: title: Yönetim application_mailer: settings: 'E-mail tercihlerini değiştir: %{link}' - signature: "%{instance} sunucusundan Mastodon bildirimleri" view: 'Görüntüle:' applications: invalid_url: Verilen URL geçerli değil diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 995a682a7c..0ddfa91906 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -143,7 +143,6 @@ uk: title: Адміністрування application_mailer: settings: 'Змінити налаштування email: %{link}' - signature: Сповіщення Mastodon від %{instance} view: 'Перегляд:' applications: invalid_url: Введена URL неправильна diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 14382331bf..25cfe5a8a8 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -339,7 +339,6 @@ zh-CN: notification_preferences: 更改电子邮件首选项 salutation: "%{name}:" settings: 使用此链接更改你的电子邮件首选项:%{link} - signature: 这是一封来自 %{instance} 的 Mastodon 电子邮件通知。 view: 点此链接查看详情: view_profile: 查看个人资料页 view_status: 查看嘟文 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 8ff6d1bf8c..ed73b72442 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -152,7 +152,6 @@ zh-HK: title: 管理 application_mailer: settings: 修改電郵設定︰%{link} - signature: 來自 %{instance} 的 Mastodon 通知 view: 進入瀏覽︰ applications: invalid_url: 所提供的網址不正確 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index e73dbf9ccf..bd9f858402 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -123,7 +123,6 @@ zh-TW: title: 管理介面 application_mailer: settings: 修改信箱設定︰ %{link} - signature: 來自 %{instance} 的 Mastodon 通知 view: 進入瀏覽︰ applications: invalid_url: 網址不正確 diff --git a/spec/mailers/previews/user_mailer_preview.rb b/spec/mailers/previews/user_mailer_preview.rb index 6ed0090f41..8d2a9368df 100644 --- a/spec/mailers/previews/user_mailer_preview.rb +++ b/spec/mailers/previews/user_mailer_preview.rb @@ -29,4 +29,9 @@ class UserMailerPreview < ActionMailer::Preview def reset_password_instructions UserMailer.reset_password_instructions(User.first, 'spec') end + + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/welcome + def welcome + UserMailer.welcome(User.first) + end end From 9b3b40df660d90fddb7563def4fab9b5cee701e9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 18 Jan 2018 20:29:56 +0100 Subject: [PATCH 02/10] Fix regeneration marker not expiring (#6290) * Fix regeneration key not getting expired * Add rake task to remove old regeneration markers --- app/controllers/concerns/user_tracking_concern.rb | 2 +- lib/tasks/mastodon.rake | 9 +++++++++ spec/controllers/concerns/user_tracking_concern_spec.rb | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/controllers/concerns/user_tracking_concern.rb b/app/controllers/concerns/user_tracking_concern.rb index 1e31329411..a2510e55fe 100644 --- a/app/controllers/concerns/user_tracking_concern.rb +++ b/app/controllers/concerns/user_tracking_concern.rb @@ -32,7 +32,7 @@ module UserTrackingConcern end def regenerate_feed! - Redis.current.setnx("account:#{current_user.account_id}:regeneration", true) == 1 && Redis.current.expire("account:#{current_user.account_id}:regeneration", 3_600 * 24) + Redis.current.setnx("account:#{current_user.account_id}:regeneration", true) && Redis.current.expire("account:#{current_user.account_id}:regeneration", 1.day.seconds) RegenerationWorker.perform_async(current_user.account_id) end end diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 38dbed982a..486c035de0 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -341,6 +341,15 @@ namespace :mastodon do LinkCrawlWorker.push_bulk status_ids end + desc 'Remove all home feed regeneration markers' + task remove_regeneration_markers: :environment do + keys = Redis.current.keys('account:*:regeneration') + + Redis.current.pipelined do + keys.each { |key| Redis.current.del(key) } + end + end + desc 'Check every known remote account and delete those that no longer exist in origin' task purge_removed_accounts: :environment do prepare_for_options! diff --git a/spec/controllers/concerns/user_tracking_concern_spec.rb b/spec/controllers/concerns/user_tracking_concern_spec.rb index d08095ef82..1e56202211 100644 --- a/spec/controllers/concerns/user_tracking_concern_spec.rb +++ b/spec/controllers/concerns/user_tracking_concern_spec.rb @@ -69,6 +69,12 @@ describe ApplicationController, type: :controller do expect(RegenerationWorker).to have_received(:perform_async) end + it 'sets the regeneration marker to expire' do + allow(RegenerationWorker).to receive(:perform_async) + get :show + expect(Redis.current.ttl("account:#{user.account_id}:regeneration")).to be >= 0 + end + it 'regenerates feed when sign in is older than two weeks' do get :show From 852b48295f1792066d3bc913f05630f809eb2bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczak?= Date: Fri, 19 Jan 2018 13:49:25 +0100 Subject: [PATCH 03/10] i18n: Update Polish translation (#6297) --- config/locales/pl.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 24ae942092..7b1065d04f 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -730,6 +730,25 @@ pl: recovery_instructions_html: Jeżeli kiedykolwiek utracisz dostęp do telefonu, możesz wykorzystać jeden z kodów zapasowych, aby odzyskać dostęp do konta. Trzymaj je w bezpiecznym miejscu. Na przykład, wydrukuj je i przechowuj z ważnymi dokumentami. setup: Skonfiguruj wrong_code: Wprowadzony kod jest niepoprawny! Czy czas serwera i urządzenia jest poprawny? + user_mailer: + welcome: + edit_profile_action: Skonfiguruj profil + edit_profile_step: Możesz dostować profil wysyłając awatar, obraz nagłówka, zmieniając wyświetlaną nazwę i wiele więcej. Jeżeli chcesz, możesz zablokować konto, aby kontrolować, kto może Cię śledzić. + explanation: Kilka wskazówek, które pomogą Ci rozpocząć + final_action: Zacznij pisać + final_step: 'Zacznij tworzyć! Nawet jeżeli nikt Cię nie śledzi, Twoje publiczne wiadomości będą widziane przez innych, na przykład na lokalnej osi czasu i w hashtagach. Możesz też utworzyć wpis wprowadzający używając hashtagu #introductions.' + full_handle: Twój pełny adres + full_handle_hint: Ten adres możesz podać znajomym, aby mogli skontaktować się z Tobą lub zacząć śledzić z innej instancji. + review_preferences_action: Zmień ustawienia + review_preferences_step: Upewnij się, że zmieniłeś ustawienia, takie jak maile, które chciałbyś otrzymywać lub domyślne opcje prywatności. Jeżeli nie masz choroby lokomocyjnej, możesz włączyć automatyczne odtwarzanie animacji GIF. + subject: Witaj w Mastodonie + tip_bridge_html: Jeżeli przybywasz z Twittera, możesz znaleźć znajomych na Mastodonie używając aplikacji mostku. Działa to tylko, jeżeli oni również z niej korzystali! + tip_federated_timeline: Oś czasu federacji przedstawia całą sieć Mastodona. Wyświetla tylko wpisy osób, które śledzą użytkownicy Twojej instancji, więc nie jest kompletna. + tip_following: Domyślnie śledzisz administratora/ów swojej instancji. Aby znaleźć więcej ciekawych ludzi, zajrzyj na lokalną i federalną oś czasu. + tip_local_timeline: Lokalna oś czasu przedstawia osoby z %{instance}. To Twoi najbliżsi sąsiedzi! + tip_mobile_webapp: Jeżeli Twoja przeglądarka pozwala na dodanie Mastodona na ekran główny, będziesz otrzymywać natychmiastowe powiadomienia. Działa to prawie jak natywna aplikacja! + tips: Wskazówki + title: Witaj na pokładzie, %{name}! users: invalid_email: Adres e-mail jest niepoprawny invalid_otp_token: Kod uwierzytelniający jest niepoprawny From 540b3f37ae904c135809ef2a65f2700ca361de77 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 19 Jan 2018 15:25:27 +0100 Subject: [PATCH 04/10] Replace drawer elephant graphic with a vector image (#6286) * Replace drawer elephant graphic with a vector image * Replace wave graphic with SVG * Remove unused elephant graphic --- app/javascript/images/elephant-friend-1.png | Bin 144967 -> 0 bytes app/javascript/images/elephant_ui_plane.svg | 1 + app/javascript/images/mastodon-ui.png | Bin 32449 -> 0 bytes .../images/wave-compose-standalone.png | Bin 5921 -> 0 bytes app/javascript/images/wave-drawer.png | Bin 3269 -> 0 bytes app/javascript/images/wave-modal.png | Bin 5200 -> 0 bytes app/javascript/styles/application.scss | 3 ++- app/javascript/styles/mastodon/components.scss | 7 ++----- app/javascript/styles/mastodon/modal.scss | 4 ++-- 9 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 app/javascript/images/elephant-friend-1.png create mode 100644 app/javascript/images/elephant_ui_plane.svg delete mode 100644 app/javascript/images/mastodon-ui.png delete mode 100644 app/javascript/images/wave-compose-standalone.png delete mode 100644 app/javascript/images/wave-drawer.png delete mode 100644 app/javascript/images/wave-modal.png diff --git a/app/javascript/images/elephant-friend-1.png b/app/javascript/images/elephant-friend-1.png deleted file mode 100644 index 2b238333092fc07fd2da91032dfe9ca98b5a12cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144967 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≀J-J5cEk% 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%0Awg#k;;tG=R#sL{?LAzYRbRLh zC8%p?qORXUe|ISKu^G=K!T!CzV(MY~!Itw(#0t#6`GUfd+T6^{O#7Yy0e=4W6yN!L z_7Dbk{8Dd*((j?6p&NMYfCRcvL`z)O^7BhWqx+AV_r!bT+~sAz$%@lkji0_F_X+jn z;{{q@+79waMNgc;lsC#k)bVRxu|~W=VobL!YG6mh$!i`T@<2z0s1V_JMHg%HN7v*Ke6mv(8_fBiRkj!bdgcoMWei-#7aRu8}+o2G0V4 ztA<_S{G50AERkZGO1iOCTxW8MQll{%@u`Mlad%aW)OVx)bsUcj@O7TE6*MRAX8j7G zKU=;OqapOz0?{d`y0Njb$o9bhH;-D_x6#p`PQ()I7#@31UqeGf$;rvdQ$nkY{N}Ko;7^=*3*Tlp`J*K0hLl1s#)@T29 zl~7_C-EDh(Jun3P@R?EkPaKi?wq44jmX`VX`O#$nUL#8A-I2-6va&~=t%?V~{W?24 z!!~RF9O#*vCQ(?xhfhcy4p^2UK^8}qUX9lGoo0&kqdQ7UO;}K`8S>(2)twarXFBuQ zU<<7j>EF$r!i{@puj3H^wTVFa;pBPAW~GM^l?xbun4~VNiE#n(`g2pgz9oSKSih~M z;zcs~{XHg*!QtWRsd9+#W{O<`7Oo6PDAjjyqJ2!_D;Hi}PBR7`h&JxcPyC6P{G&VYjo|zc+=H%Fm>@v!;6V ztNHDh&>{A0kw-66AvmEw_AxxYY~im?UtUU-e)Qu)45vwh|DWURQqCN;AXv^bIwnSE z7njnd#Y?_uoi}gZaOCIbj}Uu%KiKVU|4z=)Oe~Mh-T;<8il-p_7IVRV_+bHBD^2b( z@mG87glig+RPT3nb9v$csjn}(%~~w_%a<=c*Ha_22j=XJjM#dHGq`VM^=Zm+_NbP3 zc67u58A8F(p%@q#is5@59aUhMDlb%F%K?o@AI7Ij&~s)mh5pY+NP>zW5NY2(pZKVh zLvbV`S{38V=iu7wdzWJ8RtQJAH7Ud1S-$zlj0P^d0dscv{r@kI;{Uvci+pH2b`)N^ zOCh+Yf#5ca&_}+YrrgMJ;H=yH<}?6A{y9*jATSGaz0lB^OVbX4ti(pScZpPDQPSUFc8X~ zIrZxEc#Ief48TSP*tWY}aPIj)IJtYXRQ>;SJ|Nj4Td4m|5K1U*S204CkMZ&1G2 z7Xi_Q%0<-rUnneXlBV@3IK%j(r6>VoCDA+?kM&a^6a&EYFZaP3M(vu>1`?TPbqy#u z8phkmgC_&IZe6-Cx9L<`FS+P_9$|j^Hvy5}2%fRj#nJJ)u3p4MB|LM6WzY zgsQVQx37572Dbj}kUx4icVMJrZLi^F9SZ@@516Fg5!4#EbFX;l+3g($Z@vvD|K`&Fd%?$U8MljCJj8rSu^uF|UnS4WQa!<^a&0mcJj=jrc^42Dsk1Iwf zEq*+->b2tYxSq-dH0n;_d}rA`Xk*9NNV(x{VxmbDih6QR!VBS=0t$A?VB^^^1?>IX zhFsPrUip3Yn9t5sAEZ)xt@4VBiuO`w{zSg4X(S+VIS7)A5VJ@rkMJjLx5y$B-(3g+RMJp1N13C&2=eBJ zgDO03l3xFSX6Wh-vYW)4IZK?|vZ_KzBah0jwDtGvVg3C4{u{rn%o{ci&A7Hf`IU|K zRM4kS>2wF#j;hd zhJ)2F>yWa?KrOP>4P9z>BgzFDr7HZ&o*_7dkIK8E!@|O5YR8wHc-+4C&3OFcMIb~1 z4F(Gfz8MTAFX1YP3&qJMQeJFZGTB1j_=DD z7Kf>xl3{^5^W)x3YBA)F2}SFzTmtMqm-n7fkNM?w%)$?Y!8rN)UjOWTq*w8P8X04G VBwQ*MN}do1wOiWCB{v^F{Xh7q7McJ6 diff --git a/app/javascript/images/elephant_ui_plane.svg b/app/javascript/images/elephant_ui_plane.svg new file mode 100644 index 0000000000..a2624d170e --- /dev/null +++ b/app/javascript/images/elephant_ui_plane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/images/mastodon-ui.png b/app/javascript/images/mastodon-ui.png deleted file mode 100644 index a1fb642a003b2e2b652b1e6022a84f08dc76105f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32449 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%0Arc|r&DC@j0pAQE7yV9T$8x=q-T1FG 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 Cr$1f* diff --git a/app/javascript/images/wave-compose-standalone.png b/app/javascript/images/wave-compose-standalone.png deleted file mode 100644 index 287ee639b3426947ff629f9b8d183d38d0f767cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5921 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 diff --git a/app/javascript/images/wave-drawer.png b/app/javascript/images/wave-drawer.png deleted file mode 100644 index ca9f9e1d85d222e7bf80649c55783db928cc79d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3269 zcmV;$3_A0PP)001ut1^@s6g=d3U000U7X+uL$Nkc;* zaB^>EX>4Tx07!|ImUmPXSsKM(Rp&%%Xfiah$vGp?EXLrxe*|WFK_v&}P^Ui(m)%&9^03-)i za&jUp1V9oujpyrZM-L7OrQ@Ce67q-u9MEL3Q3mz zB+Q9QWg|A;2uE^K*+~eWMOcHK%u7R<<8*%wq9k03b#neR>8v2Js>0BCN;d#BmWmg|Ia{mc>DM0b#AAq|FGEWDr)1 z{1=~?fAfs|=E-8keB-sVd==h5Dm5*NuK$02j{mKs#PmPcSpDkcC~kls@)kf!2Ka+0 zkP6a}kq(fh)1tD{RwvqTPTs>}-;JEv?ysKOApnGE09?P$PUmH;^;WM7U;q&a0#P6d;wg%2n4*SC!;TSjt z&W7{hy>JCw2cLjD;4APgcns#lFW^NKK#@>1lmbc{Wrngxd7(m4(I_5jJE{;>j;ceo zqPkK2s5>Y=Y993gjYU(@bhI|w677NxK(o;)=nxirdsz0W?7SRJjwu%}S0;B!Zcd&mZ!I4uUnYN9 z{yANYZc9(3SJ3>SGXkoO>wYXY!S`*r2ZCmXO?H27x9h#1ZPM%Ju z&P!co-B8{Ay8XIe^o;cq^^WU3)ECir)6diI)_-lFVZb)1GPr9!z#}tyosIR(xx^b%gbg)_fZU8$Fpm_V!QC3ld$!)gVYPUn%Be(bNP}-5dV>;J4w{a(NXTr{3^7Qgb z^WN?X+SQ#eo1dFM^_}x~Ed>Gvyn>0{mb+`dM}Hsp{m>r6J%{&vDdZI1EYd3~FZxu> zF24DL{tp#Dtn7{6J5*v)a&#YdA9vsQew+P`rNX7zrBeqy4|J5#%L>ch9t=M?P;OLS zbBK5-{Sd#xqoV7u^5K1lKUKz7j#b%JwN=Yh@2Oro!Z|W}lzFtZMz*G?=HriXKi;c# zuI;E(tt&rR{Xd!g)Ko83UsV6Of!n}u^lj{GGHq&VmT4|&fm_mB=1zp2 z7(VH6va40QwYH7cR&)xSNUL^-VF%Q)rDLHpwv*o# z(lv6X&LS&;G&uV{jpOVfq#C)ynJQH1b@ z$@h&P%s%vg4Ei{;ocRg&sp7Nx=k71=UmmR_t*j)oc&x8c0EHAB9Sy+i1^_4_08odK z{2;KF$NtPR(^}tB&EN1^X8S4=0BUmq2w?&cgj5YujMW&_1AsTe{!9R;D}JkgDmB{B zV9krviA0m~m6bO^0N~UC_&l+)vfR0{^0^+_>;nLL-mT@pRmmZlGpO+#zSV*mgGgGod|RCwC$+)HlUKn#T8w2+f{J5XdXm-p z{^bB86)CdVtN9tshCNPSPr(2!; zPixn@{!aH1T7NR0b1%}%>)SiC%xH#6<4L>@Y34rViqZtWR(FD#C)LE(2Cj}FP489x zx0t~9jOnwU?m2%(U-uk$uah*rYtFw{rwMEVTa`5&j9167M{iZWw`ks~btE@L;)SYi z^Rbl{it)SJ(Ts}h@L5-G<`G@7bD zNxFAC+ikFMVgj4M6?!XwQQvy*^hfDD zMz>w-IQ##zCh)vkx9aWEJkM(H+U#p`Um3&N8mZ3rS9-^@qLLdTP5)N2OwilSbpEA1 zVKwwj?voZPU5DscBg_OgfwyYzY&svcC;ph3V)kh@@=@EX>4Tx07!|ImUmPXSsKM(Rp&%%Xfiah$vGp?EXLrxe*|WFK_v&}P^Ui(m)%&9^03-)i za&jUp1V9oujpyrZM-L7OrQ@Ce67q-u9MEL3Q3mz zB+Q9QWg|A;2uE^K*+~eWMOcHK%u7R<<8*%wq9k03b#neR>8v2Js>0BCN;d#BmWmg|Ia{mc>DM0b#AAq|FGEWDr)1 z{1=~?fAfs|=E-8keB-sVd==h5Dm5*NuK$02j{mKs#PmPcSpDkcC~kls@)kf!2Ka+0 zkP6a}kq(fh)1tD{RwvqTPTs>}-;JEv?ysKOApnGE09?P$PUmH;^;WM7U;q&a0#P6d;wg%2n4*SC!;TSjt z&W7{hy>JCw2cLjD;4APgcns#lFW^NKK#@>1lmbc{Wrngxd7(m4(I_5jJE{;>j;ceo zqPkK2s5>Y=Y993gjYU(@bhI|w677NxK(o;)=nxirdsz0W?7SRJjwu%}S0;B!Zcd&mZ!I4uUnYN9 z{yANYZc9(3SJ3>SGXkoO>wYXY!S`*r2ZCmXO?H27x9h#1ZPM%Ju z&P!co-B8{Ay8XIe^o;cq^^WU3)ECir)6diI)_-lFVZb)1GPr9!z#}tyosIR(xx^b%gbg)_fZU8$Fpm_V!QC3ld$!)gVYPUn%Be(bNP}-5dV>;J4w{a(NXTr{3^7Qgb z^WN?X+SQ#eo1dFM^_}x~Ed>Gvyn>0{mb+`dM}Hsp{m>r6J%{&vDdZI1EYd3~FZxu> zF24DL{tp#Dtn7{6J5*v)a&#YdA9vsQew+P`rNX7zrBeqy4|J5#%L>ch9t=M?P;OLS zbBK5-{Sd#xqoV7u^5K1lKUKz7j#b%JwN=Yh@2Oro!Z|W}lzFtZMz*G?=HriXKi;c# zuI;E(tt&rR{Xd!g)Ko83UsV6Of!n}u^lj{GGHq&VmT4|&fm_mB=1zp2 z7(VH6va40QwYH7cR&)xSNUL^-VF%Q)rDLHpwv*o# z(lv6X&LS&;G&uV{jpOVfq#C)ynJQH1b@ z$@h&P%s%vg4Ei{;ocRg&sp7Nx=k71=UmmR_t*j)oc&x8c0EHAB9Sy+i1^_4_08odK z{2;KF$NtPR(^}tB&EN1^X8S4=0BUmq2w?&cgj5YujMW&_1AsTe{!9R;D}JkgDmB{B zV9krviA0m~m6bO^0N~UC_&l+)vfR0{^0^+_>;nLL-mT@pRmmZlGpO+#zSV*mgO4oO5oRCwC$oPDrVbs5J$XYb{D;ertFc?G8ENBs~)`9**r1R>g1 zI<15?j859LNrO%5XsOiXOKI;p5;m(%O}*h4)g+jxooEY zjpz#}WXDd)Wix-a6l*x4JAui-B%lw-=dzi<#}sQjFb+5$ma~YFa!8(j3B=S_#rT-J`VggPJtwuN>2rHg1ega1Dk+L!|YvZ==-h%Zmhz&BCrcs4(w~D z&y%V263Kj{DqMC5Sf0yfo~rftBo$F(Gk6Y4au_=Iy{#dHBUaNHQ9DFR-nUcVBHX?!`ik zQ){SnW&qQbHjfwb?$HJgUFHA}09^sFo(Ak!+WeuAcaJsL$L|0h2FCmRFI~VnN}FsU z?;eU=fXP&PtN@%D;CCzsMk#InsI)m+$h*xfEfONCHNcmEu@%HuD#Ardn{CKdC zcaKCSKoMUSm|w%gpCeItr_$!%g}mF>1QK@uZv}1zRs%x?UcZlWd>k-OX|tt}cMmog z_X@n};qW?J`hiS1Qfc$cLf$(~XjBgX(@klLp3NT-3 zvpI+egZ6;yfrT{^zyZz$ehj=@`maWkc(^$CUf?6rql);7e*JJJaKDr(4awHYRQhu1 zQM)R;*6}OCHsA{2D-q%zEo45;ALg<)8@Mg%eo(5Sb-;V7lZ=#qXi1@COFQ*P(4_r81X){%6 zv(*pYHlIXT4_s0?V>&^=j=(z)I;gaHUTM=CMV&7bxG~c2-6rBM?e}UqhH>!LzUB!j z_D7Mel{VkN8{N0p7Vvy!!X;APJryFEuLC|6jLa1uMM5f%JxZJB!W_y7-phb*me)ey z05>qnomj}bo9Y%|GL^m_xU%xKPAw7RB)lVlHegrSb-swNTS~3f|1II1BH^syO$O#l zFLfY9+~a`_z)F7sudbf39ayNe*sSEbDbz<2rI zC6X`#oCC~K+VmCj?h`c&FqulP1-?*Q6!zupA;4TA^LC|8PZ*g{%AmJPDfEGoey<2c zr#fkUB}WJEIN&U$&Gtgx-B&MWrOisbN$1QEN`1fAc1R}tT_NwjR0o;QmO;_bhyq5Z zv@X9=+Wey)5lUM!A8(*IEF!!KV6oDsSjfA-4lKZAD*Yiz%^kHrTwg?K1Ez}z|0I1$ zJlc*8(H!99-1$9J+vIay)UM2K=M& z#`ohQ4j3l`26$K|>BSm@#av)><>8JK2Hu1O=&}`tQ^uiZ0*{t=Xi%pX{a&;~nqjw= z^)(^F0wMFHU?81(@$bgl`0%~aFO%R;;4Ms#4!e+%IA(ZC~=9p5`) z<1OOtw|+Y4eyfzpv%=-JFaPcX&dp^rzpt7BWy@tFFeO?-lr8BD@TAh_P>_aOju}?q zy*4t@KR`cO#n-LI$mH)irOiu~GNF{4OQrv~jPmPzA^O_aJ-UI(a-iJr)90Hd=!J~i zsq}->fdfG{Wkh^u3AZOSkk#|-XAUY zvUrcm&}VBdo9Xc}6Szo%b5|3qjIF@R(xrIk1cKa&xBc%#1F{(8!k6(z+MCO5@t3TX zeGK><{`U=|D2+<(AaFU}-e$jGT!wcXGMkF$dXYzCKcC@s;Kp1wb87`cZ;%031F)CH zyGQ)`e7RsDGl7&;8=cYPEmr&CUBK!Ayln!qU83F^>K=WELMTTX?&ZKSrOk_SR#=)* z+GPN8EpScwX;xT+j6k2E6F5)){Vw1RDK)3y`z7e8#OLeY?Z5)1&0(d@&eCCrl%01- zMsXU0z3lx)N>8^%X>)k6p^Vbz5+KtU@m0N-gZI`=r_yFyA@BCL3CL^k-tuja9%P{V zbl|P`%miLg+Wbpt)2FmK8E?($b}2nO8cS+lBJKc|NQ53sptZj!#TQ6~OM&rn*4bBb zMwx1y_^R3zyyfXfOW*R4K6@?ROV%BY^>x+B=v<(ukaxE`$y7QewfwNgf-DBTc&|jV zts)%ioQJpT|er%n+zQ+&SgJMj=-MXW>crr<*w(@KTn+X=DwGYd`VZ(<@s$ND;4 zUk`0HeLoEGzOyzwUDHw*~sKquy8ZdGAAF)KN1dH(Uo+umAaD7GM(O9uwF zbhAFD6$SYJP}W(qKK9iETC--&3ecK0D?n@3tXTnCvt|Wo&6+hUKx@{l0IgZGW(8=? zniZfmYu2m)ty!}Iv}Vnk6`(b1R)E&5S+fGPX3YxFnl)>K*?$12?(={*Bz+hF0000< KMNUMnLSTZg*XzIl diff --git a/app/javascript/styles/application.scss b/app/javascript/styles/application.scss index fd6665f65c..3000401737 100644 --- a/app/javascript/styles/application.scss +++ b/app/javascript/styles/application.scss @@ -6,7 +6,6 @@ @import 'mastodon/reset'; @import 'mastodon/basics'; -@import 'mastodon/modal'; @import 'mastodon/containers'; @import 'mastodon/lists'; @import 'mastodon/footer'; @@ -15,7 +14,9 @@ @import 'mastodon/forms'; @import 'mastodon/accounts'; @import 'mastodon/stream_entries'; +@import 'mastodon/boost'; @import 'mastodon/components'; +@import 'mastodon/modal'; @import 'mastodon/emoji_picker'; @import 'mastodon/about'; @import 'mastodon/tables'; diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 63ee06d8e8..c0a32ed053 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1762,7 +1762,7 @@ position: absolute; top: 0; left: 0; - background: lighten($ui-base-color, 13%) url('../images/wave-drawer.png') no-repeat bottom / 100% auto; + background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,') no-repeat bottom / 100% auto; box-sizing: border-box; padding: 0; display: flex; @@ -1777,7 +1777,7 @@ } > .mastodon { - background: url('../images/mastodon-ui.png') no-repeat left bottom / contain; + background: url('../images/elephant_ui_plane.svg') no-repeat left bottom / contain; flex: 1; } } @@ -2154,10 +2154,7 @@ } } -@import 'boost'; - .no-reduce-motion button.icon-button i.fa-retweet { - background-position: 0 0; height: 19px; transition: background-position 0.9s steps(10); diff --git a/app/javascript/styles/mastodon/modal.scss b/app/javascript/styles/mastodon/modal.scss index 310dcb9249..f9fad732e8 100644 --- a/app/javascript/styles/mastodon/modal.scss +++ b/app/javascript/styles/mastodon/modal.scss @@ -1,5 +1,5 @@ .modal-layout { - background: $ui-base-color url('../images/wave-modal.png') repeat-x bottom fixed; + background: $ui-base-color url('data:image/svg+xml;utf8,') repeat-x bottom fixed; display: flex; flex-direction: column; height: 100vh; @@ -15,6 +15,6 @@ > * { flex: 1; max-height: 235px; - background: url('../images/mastodon-ui.png') no-repeat left bottom / contain; + background: url('../images/elephant_ui_plane.svg') no-repeat left bottom / contain; } } From a0de3222dd38f446483c1a215b0264faa5ab4800 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 19 Jan 2018 15:49:48 +0100 Subject: [PATCH 05/10] Retry delivering toots over ActivityPub for about 2 days (#6298) Currently, Mastodon will retry delivering toots for a bit over 1 hour. This is a very short timespan when considering private and direct toots, which cannot be seen by the recipient at all after the delivery attempts have failed. Ideally, private and direct toots should have a different number of retries, but I do not know how to do that. --- app/workers/activitypub/delivery_worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/workers/activitypub/delivery_worker.rb b/app/workers/activitypub/delivery_worker.rb index ae86e3dd2e..4763856ac3 100644 --- a/app/workers/activitypub/delivery_worker.rb +++ b/app/workers/activitypub/delivery_worker.rb @@ -3,7 +3,7 @@ class ActivityPub::DeliveryWorker include Sidekiq::Worker - sidekiq_options queue: 'push', retry: 8, dead: false + sidekiq_options queue: 'push', retry: 16, dead: false HEADERS = { 'Content-Type' => 'application/activity+json' }.freeze From 7be53a10b0df3f3cfaaa82e7ab2ba16f85343546 Mon Sep 17 00:00:00 2001 From: Pierre Ozoux Date: Fri, 19 Jan 2018 19:11:19 +0100 Subject: [PATCH 06/10] Fix "tzinfo-data is not present" docker error (#6300) when starting the container. --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 7cca02ecf2..52ebc84e5a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,6 +40,7 @@ RUN apk -U upgrade \ protobuf \ su-exec \ tini \ + tzdata \ && update-ca-certificates \ && mkdir -p /tmp/src /opt \ && wget -O yarn.tar.gz "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ From b1e03197fa933f290979865d78381a3b22c05c69 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 19 Jan 2018 19:11:35 +0100 Subject: [PATCH 07/10] Process mentions and reblogs even from resolved threads (#6299) This may lead to out-of-order notifications, but this is better than not having notifications at all. --- app/lib/activitypub/activity.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb index 820189d29c..0f9e4f2630 100644 --- a/app/lib/activitypub/activity.rb +++ b/app/lib/activitypub/activity.rb @@ -69,12 +69,13 @@ class ActivityPub::Activity def distribute(status) crawl_links(status) + notify_about_reblog(status) if reblog_of_local_account?(status) + notify_about_mentions(status) + # Only continue if the status is supposed to have # arrived in real-time return unless @options[:override_timestamps] - notify_about_reblog(status) if reblog_of_local_account?(status) - notify_about_mentions(status) distribute_to_followers(status) end From 7233ac07d2f182969def963bf25aa2fc705f434c Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Sat, 20 Jan 2018 04:53:30 +0900 Subject: [PATCH 08/10] Add support Ruby v2.5.0 (#6097) --- .ruby-version | 2 +- .travis.yml | 6 +++--- Dockerfile | 2 +- Gemfile | 4 ++-- Gemfile.lock | 8 ++++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.ruby-version b/.ruby-version index 8e8299dcc0..437459cd94 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.4.2 +2.5.0 diff --git a/.travis.yml b/.travis.yml index 59d495c433..496315558b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,20 +40,20 @@ addons: - yarn rvm: - - 2.3.4 - 2.4.2 + - 2.5.0 services: - redis-server install: + - gem update --system - nvm install - bundle install --path=vendor/bundle --without development production --retry=3 --jobs=16 - yarn install before_script: - - bundle exec rake parallel:create parallel:load_schema parallel:prepare - - bundle exec rails assets:precompile + - ./bin/rails parallel:create parallel:load_schema parallel:prepare assets:precompile - ln -s /usr/bin/x86_64-linux-gnu-g++-6 "$HOME/g++" script: diff --git a/Dockerfile b/Dockerfile index 52ebc84e5a..765df58c25 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.4.2-alpine3.6 +FROM ruby:2.5.0-alpine3.7 LABEL maintainer="https://github.com/tootsuite/mastodon" \ description="A GNU Social-compatible microblogging server" diff --git a/Gemfile b/Gemfile index 84578fc36d..15cd72f240 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ # frozen_string_literal: true source 'https://rubygems.org' -ruby '>= 2.3.0', '< 2.5.0' +ruby '>= 2.3.0', '< 2.6.0' gem 'pkg-config', '~> 1.2' @@ -28,7 +28,7 @@ gem 'browser' gem 'charlock_holmes', '~> 0.7.5' gem 'iso-639' gem 'cld3', '~> 3.2.0' -gem 'devise', '~> 4.3' +gem 'devise', '~> 4.4' gem 'devise-two-factor', '~> 3.0' gem 'doorkeeper', '~> 4.2' gem 'fast_blank', '~> 1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 12c6d0e475..788da17fed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -110,7 +110,7 @@ GEM activesupport charlock_holmes (0.7.5) chunky_png (1.3.8) - cld3 (3.2.1) + cld3 (3.2.2) ffi (>= 1.1.0, < 1.10.0) climate_control (0.2.0) cocaine (0.5.8) @@ -125,7 +125,7 @@ GEM css_parser (1.6.0) addressable debug_inspector (0.0.3) - devise (4.3.0) + devise (4.4.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0, < 5.2) @@ -568,7 +568,7 @@ DEPENDENCIES charlock_holmes (~> 0.7.5) cld3 (~> 3.2.0) climate_control (~> 0.2) - devise (~> 4.3) + devise (~> 4.4) devise-two-factor (~> 3.0) doorkeeper (~> 4.2) dotenv-rails (~> 2.2) @@ -649,7 +649,7 @@ DEPENDENCIES webpush RUBY VERSION - ruby 2.4.2p198 + ruby 2.5.0p0 BUNDLED WITH 1.16.1 From 238de58e652c99c331d0bdf8e4791abace02fb0e Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Sat, 20 Jan 2018 04:56:47 +0900 Subject: [PATCH 09/10] Change belongs_to_required_by_default to true (#5888) --- app/models/account.rb | 2 +- app/models/account_domain_block.rb | 2 +- app/models/admin/action_log.rb | 4 ++-- app/models/block.rb | 4 ++-- app/models/conversation_mute.rb | 4 ++-- app/models/favourite.rb | 4 ++-- app/models/follow.rb | 5 ++--- app/models/follow_request.rb | 4 ++-- app/models/import.rb | 2 +- app/models/invite.rb | 2 +- app/models/list.rb | 2 +- app/models/list_account.rb | 6 +++--- app/models/media_attachment.rb | 4 ++-- app/models/mention.rb | 4 ++-- app/models/mute.rb | 4 ++-- app/models/notification.rb | 16 ++++++++-------- app/models/report.rb | 2 +- app/models/session_activation.rb | 6 +++--- app/models/status.rb | 12 ++++++------ app/models/status_pin.rb | 4 ++-- app/models/subscription.rb | 2 +- app/models/user.rb | 4 ++-- config/application.rb | 3 +++ 23 files changed, 52 insertions(+), 50 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index 686e740440..5900fee4a3 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -102,7 +102,7 @@ class Account < ApplicationRecord has_many :lists, through: :list_accounts # Account migrations - belongs_to :moved_to_account, class_name: 'Account' + belongs_to :moved_to_account, class_name: 'Account', optional: true scope :remote, -> { where.not(domain: nil) } scope :local, -> { where(domain: nil) } diff --git a/app/models/account_domain_block.rb b/app/models/account_domain_block.rb index 35810b6c2a..abcc923b31 100644 --- a/app/models/account_domain_block.rb +++ b/app/models/account_domain_block.rb @@ -13,7 +13,7 @@ class AccountDomainBlock < ApplicationRecord include Paginable - belongs_to :account, required: true + belongs_to :account validates :domain, presence: true, uniqueness: { scope: :account_id } after_create :remove_blocking_cache diff --git a/app/models/admin/action_log.rb b/app/models/admin/action_log.rb index 4e950fbf79..c437c8ee87 100644 --- a/app/models/admin/action_log.rb +++ b/app/models/admin/action_log.rb @@ -16,8 +16,8 @@ class Admin::ActionLog < ApplicationRecord serialize :recorded_changes - belongs_to :account, required: true - belongs_to :target, required: true, polymorphic: true + belongs_to :account + belongs_to :target, polymorphic: true default_scope -> { order('id desc') } diff --git a/app/models/block.rb b/app/models/block.rb index 284abfe4c9..441e6bca30 100644 --- a/app/models/block.rb +++ b/app/models/block.rb @@ -13,8 +13,8 @@ class Block < ApplicationRecord include Paginable - belongs_to :account, required: true - belongs_to :target_account, class_name: 'Account', required: true + belongs_to :account + belongs_to :target_account, class_name: 'Account' validates :account_id, uniqueness: { scope: :target_account_id } diff --git a/app/models/conversation_mute.rb b/app/models/conversation_mute.rb index 248cdfe6e4..272eb81afd 100644 --- a/app/models/conversation_mute.rb +++ b/app/models/conversation_mute.rb @@ -9,6 +9,6 @@ # class ConversationMute < ApplicationRecord - belongs_to :account, required: true - belongs_to :conversation, required: true + belongs_to :account + belongs_to :conversation end diff --git a/app/models/favourite.rb b/app/models/favourite.rb index c38838f2a8..2b1271f31d 100644 --- a/app/models/favourite.rb +++ b/app/models/favourite.rb @@ -13,8 +13,8 @@ class Favourite < ApplicationRecord include Paginable - belongs_to :account, inverse_of: :favourites, required: true - belongs_to :status, inverse_of: :favourites, counter_cache: true, required: true + belongs_to :account, inverse_of: :favourites + belongs_to :status, inverse_of: :favourites, counter_cache: true has_one :notification, as: :activity, dependent: :destroy diff --git a/app/models/follow.rb b/app/models/follow.rb index 3fb665afc7..f953b8e3e1 100644 --- a/app/models/follow.rb +++ b/app/models/follow.rb @@ -14,12 +14,11 @@ class Follow < ApplicationRecord include Paginable - belongs_to :account, counter_cache: :following_count, required: true + belongs_to :account, counter_cache: :following_count belongs_to :target_account, class_name: 'Account', - counter_cache: :followers_count, - required: true + counter_cache: :followers_count has_one :notification, as: :activity, dependent: :destroy diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb index ebf6959cef..bd6c4a0b9f 100644 --- a/app/models/follow_request.rb +++ b/app/models/follow_request.rb @@ -14,8 +14,8 @@ class FollowRequest < ApplicationRecord include Paginable - belongs_to :account, required: true - belongs_to :target_account, class_name: 'Account', required: true + belongs_to :account + belongs_to :target_account, class_name: 'Account' has_one :notification, as: :activity, dependent: :destroy diff --git a/app/models/import.rb b/app/models/import.rb index 091fb3044e..ba88435bfd 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -20,7 +20,7 @@ class Import < ApplicationRecord self.inheritance_column = false - belongs_to :account, required: true + belongs_to :account enum type: [:following, :blocking, :muting] diff --git a/app/models/invite.rb b/app/models/invite.rb index 6907c1f1d8..b87a3b7225 100644 --- a/app/models/invite.rb +++ b/app/models/invite.rb @@ -14,7 +14,7 @@ # class Invite < ApplicationRecord - belongs_to :user, required: true + belongs_to :user has_many :users, inverse_of: :invite scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) } diff --git a/app/models/list.rb b/app/models/list.rb index be85c3b878..a2ec7e84a2 100644 --- a/app/models/list.rb +++ b/app/models/list.rb @@ -15,7 +15,7 @@ class List < ApplicationRecord PER_ACCOUNT_LIMIT = 50 - belongs_to :account + belongs_to :account, optional: true has_many :list_accounts, inverse_of: :list, dependent: :destroy has_many :accounts, through: :list_accounts diff --git a/app/models/list_account.rb b/app/models/list_account.rb index 2539325903..da46cf0325 100644 --- a/app/models/list_account.rb +++ b/app/models/list_account.rb @@ -10,9 +10,9 @@ # class ListAccount < ApplicationRecord - belongs_to :list, required: true - belongs_to :account, required: true - belongs_to :follow, required: true + belongs_to :list + belongs_to :account + belongs_to :follow validates :account_id, uniqueness: { scope: :list_id } diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index abc5ab8542..4b84b95fab 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -45,8 +45,8 @@ class MediaAttachment < ApplicationRecord }, }.freeze - belongs_to :account, inverse_of: :media_attachments - belongs_to :status, inverse_of: :media_attachments + belongs_to :account, inverse_of: :media_attachments, optional: true + belongs_to :status, inverse_of: :media_attachments, optional: true has_attached_file :file, styles: ->(f) { file_styles f }, diff --git a/app/models/mention.rb b/app/models/mention.rb index 14533e6a9e..f864bf8e15 100644 --- a/app/models/mention.rb +++ b/app/models/mention.rb @@ -11,8 +11,8 @@ # class Mention < ApplicationRecord - belongs_to :account, inverse_of: :mentions, required: true - belongs_to :status, required: true + belongs_to :account, inverse_of: :mentions + belongs_to :status has_one :notification, as: :activity, dependent: :destroy diff --git a/app/models/mute.rb b/app/models/mute.rb index 105696da63..948f22444e 100644 --- a/app/models/mute.rb +++ b/app/models/mute.rb @@ -14,8 +14,8 @@ class Mute < ApplicationRecord include Paginable - belongs_to :account, required: true - belongs_to :target_account, class_name: 'Account', required: true + belongs_to :account + belongs_to :target_account, class_name: 'Account' validates :account_id, uniqueness: { scope: :target_account_id } diff --git a/app/models/notification.rb b/app/models/notification.rb index 9769635288..733f89cf79 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -26,15 +26,15 @@ class Notification < ApplicationRecord STATUS_INCLUDES = [:account, :application, :stream_entry, :media_attachments, :tags, mentions: :account, reblog: [:stream_entry, :account, :application, :media_attachments, :tags, mentions: :account]].freeze - belongs_to :account - belongs_to :from_account, class_name: 'Account' - belongs_to :activity, polymorphic: true + belongs_to :account, optional: true + belongs_to :from_account, class_name: 'Account', optional: true + belongs_to :activity, polymorphic: true, optional: true - belongs_to :mention, foreign_type: 'Mention', foreign_key: 'activity_id' - belongs_to :status, foreign_type: 'Status', foreign_key: 'activity_id' - belongs_to :follow, foreign_type: 'Follow', foreign_key: 'activity_id' - belongs_to :follow_request, foreign_type: 'FollowRequest', foreign_key: 'activity_id' - belongs_to :favourite, foreign_type: 'Favourite', foreign_key: 'activity_id' + belongs_to :mention, foreign_type: 'Mention', foreign_key: 'activity_id', optional: true + belongs_to :status, foreign_type: 'Status', foreign_key: 'activity_id', optional: true + belongs_to :follow, foreign_type: 'Follow', foreign_key: 'activity_id', optional: true + belongs_to :follow_request, foreign_type: 'FollowRequest', foreign_key: 'activity_id', optional: true + belongs_to :favourite, foreign_type: 'Favourite', foreign_key: 'activity_id', optional: true validates :account_id, uniqueness: { scope: [:activity_type, :activity_id] } validates :activity_type, inclusion: { in: TYPE_CLASS_MAP.values } diff --git a/app/models/report.rb b/app/models/report.rb index c36f8db0a8..f55fb6d3ee 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -17,7 +17,7 @@ class Report < ApplicationRecord belongs_to :account belongs_to :target_account, class_name: 'Account' - belongs_to :action_taken_by_account, class_name: 'Account' + belongs_to :action_taken_by_account, class_name: 'Account', optional: true scope :unresolved, -> { where(action_taken: false) } scope :resolved, -> { where(action_taken: true) } diff --git a/app/models/session_activation.rb b/app/models/session_activation.rb index 1d4ebca021..d364f03dfd 100644 --- a/app/models/session_activation.rb +++ b/app/models/session_activation.rb @@ -15,9 +15,9 @@ # class SessionActivation < ApplicationRecord - belongs_to :user, inverse_of: :session_activations, required: true - belongs_to :access_token, class_name: 'Doorkeeper::AccessToken', dependent: :destroy - belongs_to :web_push_subscription, class_name: 'Web::PushSubscription', dependent: :destroy + belongs_to :user, inverse_of: :session_activations + belongs_to :access_token, class_name: 'Doorkeeper::AccessToken', dependent: :destroy, optional: true + belongs_to :web_push_subscription, class_name: 'Web::PushSubscription', dependent: :destroy, optional: true delegate :token, to: :access_token, diff --git a/app/models/status.rb b/app/models/status.rb index 00dcec624d..26ff40bf7a 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -33,14 +33,14 @@ class Status < ApplicationRecord enum visibility: [:public, :unlisted, :private, :direct], _suffix: :visibility - belongs_to :application, class_name: 'Doorkeeper::Application' + belongs_to :application, class_name: 'Doorkeeper::Application', optional: true - belongs_to :account, inverse_of: :statuses, counter_cache: true, required: true - belongs_to :in_reply_to_account, foreign_key: 'in_reply_to_account_id', class_name: 'Account' - belongs_to :conversation + belongs_to :account, inverse_of: :statuses, counter_cache: true + belongs_to :in_reply_to_account, foreign_key: 'in_reply_to_account_id', class_name: 'Account', optional: true + belongs_to :conversation, optional: true - belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies - belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, counter_cache: :reblogs_count + belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true + belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, counter_cache: :reblogs_count, optional: true has_many :favourites, inverse_of: :status, dependent: :destroy has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog, dependent: :destroy diff --git a/app/models/status_pin.rb b/app/models/status_pin.rb index a72c19750e..d3a98d8bd3 100644 --- a/app/models/status_pin.rb +++ b/app/models/status_pin.rb @@ -11,8 +11,8 @@ # class StatusPin < ApplicationRecord - belongs_to :account, required: true - belongs_to :status, required: true + belongs_to :account + belongs_to :status validates_with StatusPinValidator end diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 7f2eeab91e..ea11731607 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -19,7 +19,7 @@ class Subscription < ApplicationRecord MIN_EXPIRATION = 1.day.to_i MAX_EXPIRATION = 30.days.to_i - belongs_to :account, required: true + belongs_to :account validates :callback_url, presence: true validates :callback_url, uniqueness: { scope: :account_id } diff --git a/app/models/user.rb b/app/models/user.rb index 8cad3221b4..f6a533f849 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,8 +50,8 @@ class User < ApplicationRecord devise :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable - belongs_to :account, inverse_of: :user, required: true - belongs_to :invite, counter_cache: :uses + belongs_to :account, inverse_of: :user + belongs_to :invite, counter_cache: :uses, optional: true accepts_nested_attributes_for :account has_many :applications, class_name: 'Doorkeeper::Application', as: :owner diff --git a/config/application.rb b/config/application.rb index dc488ea8aa..453000abae 100644 --- a/config/application.rb +++ b/config/application.rb @@ -18,6 +18,9 @@ require_relative '../lib/mastodon/redis_config' module Mastodon class Application < Rails::Application + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 5.1 + # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. From 0b888acfd4ffddd29f25c878373e9b9f5ec6c0ab Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 19 Jan 2018 21:48:00 +0100 Subject: [PATCH 10/10] Do not throw away statuses obtained via websocket when API request finishes (#6302) --- app/javascript/mastodon/reducers/timelines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 7b7b5470fc..9a10bcc593 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -40,7 +40,7 @@ const normalizeTimeline = (state, timeline, statuses, next, isPartial) => { mMap.set('loaded', true); mMap.set('isLoading', false); if (!hadNext) mMap.set('next', next); - mMap.set('items', wasLoaded ? ids.concat(oldIds) : ids); + mMap.set('items', wasLoaded ? ids.concat(oldIds) : oldIds.concat(ids)); mMap.set('isPartial', isPartial); })); };