Commit graph

2423 commits

Author SHA1 Message Date
Yamagishi Kazutoshi
d8ae3efec3 Improve ESLint rules for JSX (#3608)
* Add react/no-string-refs ESLint rule

* Add react/jsx-boolean-value ESLint rule

* Add react/jsx-closing-bracket-location ESLint rule

* Add react/jsx-indent ESLint rule

* Add react/jsx-curly-spacing ESLint rule

* Add react/jsx-equals-spacing ESLint rule

* Add react/jsx-first-prop-new-line ESLint rule

* Add react/jsx-no-duplicate-props ESLint rule

* Add react/jsx-tag-spacing ESLint rule
2017-06-06 13:20:07 +02:00
Yamagishi Kazutoshi
cd81a1c52a Add missing key attribute to .search-results__hashtag (#3607) 2017-06-06 13:19:29 +02:00
May Kittens Devour Your Soul
dcf73ddeff Update hr.json (#3609) 2017-06-06 13:19:05 +02:00
Yamagishi Kazutoshi
7a7bfa5170 Add quotes ESLint rules (#3602)
* Add quotes ESLint rule

* Add jsx-quotes ESlint rule

* Sort ESLint rules
2017-06-06 03:56:36 +02:00
Yamagishi Kazutoshi
e969c78645 Disable ESLint rule jsx/anchor-has-content (#3601) 2017-06-06 03:55:56 +02:00
ThibG
7adac1bc51 Try fixing ThreadResolveWorker calls (#3599)
* Try fixing ThreadResolveWorker calls

From my understanding of ActiveRecord, a transaction is commited as soon as
the exit of the outmost ActiveRecord.transaction block. However, inner
transaction blocks will exit without the transaction being commited.

In this case, ThreadResolveWorker were fired *within* a transaction block,
so moving the call out of it should do the trick. However, this is somewhat
fragile, as this whole codepath could be called within yet another transaction.

* Set status thread within the transaction block if it is immediately available from database
2017-06-06 00:09:14 +02:00
Naoki Kosaka
e859d6f259 Fix LoadMore in Notifications. (#3590) 2017-06-05 19:18:26 +02:00
Naoki Kosaka
a0880edc6e Fix (PR #3585) Add hasMore to propTypes and cover handleScroll. (#3589) 2017-06-05 18:18:56 +02:00
unarist
61fcdbbf7e Add back button to hashtag timeline again (#3587) 2017-06-05 17:10:40 +02:00
Shunsuke Michii
43af695ba1 Add th.json. (#3588) 2017-06-05 17:02:41 +02:00
IkUrA
facd90e7a6 Add streaming_api_base_url to /api/v1/instance (#3556)
* Add streaming_api_base_url to /api/v1/instance

* Adjust spaces

* nested view

* re-adjust spaces
2017-06-05 16:37:44 +02:00
Matt Jankowski
6201f96b8a Introduce StatusThreadingConcern (#3490)
* Add a StatusFilter class to identify visibility of statuses by accounts

* Extract StatusThreadingConcern from Status

* Clarify purpose of checking for nil account
2017-06-05 16:07:44 +02:00
unarist
c26cea262b Prevent pinned columns from scroll to top on URL changing (#3586) 2017-06-05 15:20:46 +02:00
Naoki Kosaka
1f1d6bf2a0 Fix LoadMore in following and followers. (#3585) 2017-06-05 14:13:20 +02:00
Daigo 3 Dango
2985d08951 Redirect to streaming_api_base_url (#3579)
* Redirect to streaming_api_base_url

When Rails receives a request to streaming API, it most likely
means that there is another host which is configured to respond
to it. This is to redirect clients to that host if
`STREAMING_API_BASE_URL` is set as another host.

* Use the new Ruby 1.9 hash syntax
2017-06-05 12:09:29 +02:00
Yamagishi Kazutoshi
66ca7157db Add support key shortcut to Onboarding Modal (#3517)
* Add support key shortcut to Onboarding Modal

* this.state.pages -> this.pages
2017-06-05 10:09:14 +02:00
Yamagishi Kazutoshi
4addf051d4 Fix broken embed page (#3577) 2017-06-05 10:08:31 +02:00
René Klačan
037f96c5ae Don't follow account if it's already followed (#3575)
Closes https://github.com/tootsuite/mastodon/issues/3102
2017-06-05 03:24:18 +02:00
Quent-in
370fa70924 l10n update for occitan language (#3557)
* i18n Update : Add preference setting for delete toot modal

Adding a line for "Add preference setting for delete toot modal"

* i18n update for pin/unpin

Update to add two more translations

* i18n update to have the dates in plain occitan

* Removed the blank line

* %{selft} back in the translation
2017-06-05 01:31:10 +02:00
Eugen Rochko
f7a30e2fae Added support for configurable reserved usernames (fix of #1382) (#3566)
* Added support for configurable reserved usernames

* Added reserved usernames from mastodon issue 1355

* Fix reserved usernames
2017-06-05 01:03:45 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e07b57852e Remove some code in TagManager and spec (#3547)
* Do not fall back to StreamEntry if object_type is unavailable in TagManager

Since 6d6a429af8, when Status, the only model
with stream_entry, and StreamEntry got its own logic in uri_for and
url_for, the purpose of the fallbacks to activity_type of StreamEntry
became unclear.

This commit removes the fallbacks. When adding another model with
stream_entry in future, consider to update uri_for and url_for.

* Cover TagManager more
2017-06-04 16:14:25 +02:00
m4sk1n
7c7c18fdea i18n: Updated Polish translation (#3555) 2017-06-04 15:18:42 +02:00
lindwurm
a84664026e l10n: ja: Change about/more link text (#3539)
ref: #3538 ("Extended information" -> "About this instance") and #3519

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-06-04 15:00:15 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e674608d10 A minor change for ProviderDiscovery and spec (#3543)
* Do not default the format in ProviderDiscovery

The format should be determined when discovering, as it is in the current
implementation, and it is a flaw if it is not determined.

* Spec ProviderDiscovery
2017-06-04 14:59:40 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
c7af8cbc90 Remove some arguments of Formatter.instance.format and spec (#3541)
* Remove some arguments of Formatter.instance.format

* Improve spec for Formatter
2017-06-04 14:58:57 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
19084d3c6c Remove Targetable (#3548) 2017-06-04 14:56:10 +02:00
Naoki Kosaka
e014bf8ed0 Fix limit_param in favourites_controller.rb (#3553) 2017-06-04 14:52:26 +02:00
Yamagishi Kazutoshi
f6e2309e70 Fix column buttons overflow in Japanese (#3552) 2017-06-04 14:52:02 +02:00
Yamagishi Kazutoshi
9d2154c4ab Add Japanese translations (pin) (#3551)
* Add Japanese translations (pin)

* "ピン留め" is more general
2017-06-04 14:51:35 +02:00
unarist
1dfd27a028 Fix all icons in the column header being hilighted (#3554) 2017-06-04 14:51:06 +02:00
Mingye Wang
b97ebaf620 en.json: change about/more link text to "About this instance" (#3538)
This change follows #3519, which does the same for the Chinese variants. Or should it be simply "About"?
2017-06-04 04:25:18 +02:00
Eugen Rochko
8ee2eb5d2e Allow mounting arbitrary columns (#3207)
* Allow mounting arbitrary columns

* Refactor column headers, allow pinning/unpinning and moving columns around

* Collapse animation

* Re-introduce scroll to top

* Save column settings properly, do not display pin options in
single-column view, do not display collapse icon if there is
nothing to collapse

* Fix one instance of public timeline being closed closing the stream
Fix back buttons inconsistently sending you back to / even if history exists

* Getting started displays links to columns that are not mounted
2017-06-04 01:39:38 +02:00
masarakki
20b647020b refocus-after-toot (#3537) 2017-06-04 01:22:37 +02:00
takayamaki
3eedad2737 change sidekiq queueing to bulk push (#3536) 2017-06-04 00:11:15 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
ce7c0def88 Remove redundant code in AtomSerializer and spec (#3528)
* Remove redundant status.reply? in AtomSerializer#object

* Cover AtomSerializer more
2017-06-03 20:51:08 +02:00
Clworld
dab8fc4584 Execute PushUpdateWorker only for accounts who uses StreamingAPI just now. (#3278)
* Add redis key "subscribed:timeline:#{account.id}" to indicate active streaming API listeners exists.

* Add endpoint for notification only stream.

* Run PushUpdateWorker only for users uses Streaming API now.

* Move close hander streamTo(Http/Ws) -> stream(Http/Ws)End (Deal with #3370)

* Add stream type for stream start log message.
2017-06-03 20:50:53 +02:00
Nolan Lawson
3363f2f4d6 Fix isIntersecting in Chrome (#3525) 2017-06-03 14:43:10 +02:00
Mingye Wang
c7f2d6af55 zh-cn&tw.json: "extended info" -> "about this site" (#3519)
* zh-cn.json: "additional info" -> "more info"

This commit changes the "extended info" (about/more) text to something that translates to "more info", as "additional info" in zh can sound like appending things to the (ugh) navbar, I guess.

Or should I just change it to "about this site" (关于本站)?

* zh-cn.json: navbar.info -> "about this site"

* zh-臺灣.json: navbar.info -> "about this site"
2017-06-03 14:42:47 +02:00
Yamagishi Kazutoshi
336f0b0823 Remove WarmCacheService (#3527)
WarmCacheService is no longer used (removed with 5442083b3c ).
2017-06-03 14:40:47 +02:00
Yamagishi Kazutoshi
3ea3f24a02 Change toggle state when click label (#3530) 2017-06-03 14:40:24 +02:00
ThibG
d567a382e3 Ensure well_known controllers use WEB_DOMAIN by including RoutingHelper (#2388)
This fixes #2375.
2017-06-02 22:21:36 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
10768aa204 Spec response for forgery (#3248)
Remove protect_from_forgery in ApiController, which is disabled by the
following skip_before_action, as well.
2017-06-01 20:56:55 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e98559c3ff Resolve custom application stylesheet with Webpack (#3373)
This implementation is a bit smaller and still has the following benefits:

* No need of app/javascript/packs/custom.js
For custom stylesheet, it typically has only
"require('../styles/custom.scss')" and is redundant.

* No need to extract vendor stylesheet to another asset
Extracting vendor stylesheet could be forgotten by developers who do not
use custom stylesheet.
2017-06-01 20:56:32 +02:00
Matt Jankowski
2212dc4aaa Update Rails to version 5.1.1 (#3121)
* Update rails to version 5.1.1

* Run `rails app:update`

* Remove the override of polymorphic activity relationship

* Silence warning about otp_secret attribute being unknown to rails

* We will only introduce form_with where we want to use remote data
2017-06-01 20:53:37 +02:00
Yamagishi Kazutoshi
fda5c699c2 Add ESLint rule (object-curly-spacing) (#3498) 2017-06-01 17:25:10 +02:00
Matt Jankowski
d010e270e6 Remove usernames and hashtags from language detection (#3503)
* Add failing specs for hashtag and username extraction in language detector

* Remove usernames and hashtags from text before language detection

* Handle multiple instances of special case, and reduce whitespace
2017-06-01 09:29:14 -04:00
Matt Jankowski
d1e08bd38c Handle nil and blank cases in Account finders (#3500) 2017-06-01 08:20:36 -04:00
unarist
dbccdcc1b1 Focus the submit button on the boost modal (#3494)
Focus the submit button when boost modal is opened.
2017-06-01 04:20:10 +02:00
Matt Jankowski
5c63523972 Spec coverage and refactor for the api/v1/accounts controllers (#3451) 2017-05-31 21:36:24 +02:00
Matt Jankowski
de4681b2be Move admin/pubsubhubbub controller to admin/subscriptions (#3442) 2017-05-31 20:39:35 +02:00
Matt Jankowski
a132332b86 Add Instance class to list admin records (#3443) 2017-05-31 20:38:44 +02:00
Matt Jankowski
b25e42a77f Misc tidying and clean ups (#3445)
* Remove trailing whitespace in i18n mailers

* Use query methods instead of #present? on AR attributes

* Delegate Status#account_domain method

* Delegate Mention #account_username and #account_acct methods
2017-05-31 20:38:17 +02:00
Matt Jankowski
5236a62861 Improve spec coverage and clean up api/v1/blocks controller (#3464) 2017-05-31 20:34:51 +02:00
Matt Jankowski
0f155829b7 Improve spec coverage and clean up api/v1/follow_requests controller (#3465) 2017-05-31 20:32:11 +02:00
Matt Jankowski
84dda45df9 Improve spec coverage and clean up api/v1/domain_blocks controller (#3466) 2017-05-31 20:31:14 +02:00
Matt Jankowski
9c7505489f Refactor api/v1/notifications controller (#3470) 2017-05-31 20:30:55 +02:00
Matt Jankowski
75cad1d9d6 Improve spec coverage and clean up api/v1/favourites controller (#3472) 2017-05-31 20:30:39 +02:00
Matt Jankowski
2cc3111a77 Expand spec coverage and refactor the Account.find_ methods (#3485)
* Move specs for account finder methods to concern spec

* Move account finder methods to concern

* Improve spec wording

* Use more explicit comparison to ensure correct return value

* Add coverage for .find_local! and .find_remote!

* Add some methods to the finder

* Use arel on matching_username method

* Avoid ternary in matching domain method

* Simplify finder methods

* Use an AccountFinder class to simplify lookup
2017-05-31 20:28:45 +02:00
Matt Jankowski
bf811e4d4a Improve spec coverage and clean up api/v1/mutes controller (#3481) 2017-05-31 20:27:34 +02:00
Matt Jankowski
d6774d2ca3 Refactor and spec coverage for api/v1/timelines actions (#3482) 2017-05-31 20:27:17 +02:00
caasi Huang
bd669e3907 Update zh-TW.json (#3480)
* Update zh-TW.json

* Update `search_results.total`
2017-05-31 18:46:57 +02:00
Nolan Lawson
c00ead8a72 Remove react-imageloader (#3423)
* Remove react-imageloader

* add eslint-disable-line

* improve image loading experience

* remove unneeded import

* use PureComponent

* Use componentWillMount instead of constructor
2017-05-31 17:07:25 +02:00
unarist
e49dc6a06e Fix load more on account timelines (regression from #3311) (#3475)
This prevents `next` state from being overridden on the loading *new* statuses.
2017-05-31 15:30:26 +02:00
Nolan Lawson
0e12a8dab9 Improve scheduling of requestIdleCallback tasks (#3477) 2017-05-31 15:11:33 +02:00
alpaca-tc
3652a39de0 Account.find_remote should be raise ActiveRecord::RecordNotFound (#3476) 2017-05-31 15:10:26 +02:00
Matt Jankowski
79335e46fd Refactor api/v1/apps controller (#3471) 2017-05-30 21:16:28 -04:00
Matt Jankowski
7c6e02aaf3 Refactor api/v1/reports controller (#3469) 2017-05-30 21:13:31 -04:00
Matt Jankowski
7f55430652 Refactor api/v1/search controller (#3468) 2017-05-30 21:11:54 -04:00
Matt Jankowski
8235623362 Improve spec coverage and clean up api/v1/media controller (#3467) 2017-05-30 21:11:29 -04:00
Matt Jankowski
83435c49ea Clean up api/subscriptions controller (#3448) 2017-05-31 02:15:09 +02:00
spla
93de41b39b Catalan language updates (#3454)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225

* Catalan translation update

added activerecord.ca.yml

* Update activerecord.ca.yml

Done

* Updated activerecord.ca.yml

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated
2017-05-31 02:14:52 +02:00
Yamagishi Kazutoshi
b1d4b74a44 Change PureComponent to ImmutablePureComponent (#3460)
* Change PureComponent to ImmutablePureComponent

Change PureComponent to ImmutablePureComponent in AttachmentList.

* rm React.
2017-05-31 02:14:26 +02:00
Yamagishi Kazutoshi
bfdf47bc98 Add zh-TW.json (#3459) 2017-05-30 23:09:02 +02:00
Jack Jennings
33f669a5f8 Add status destroy authorization to policy (#3453)
* Add status destroy authorization to policy

* Create explicit unreblog status authorization
2017-05-30 22:56:31 +02:00
Matt Jankowski
3576fa0d59 Improve api oembed controller (#3450)
* Add StreamEntryFinder class to parse URLs

* Use StreamEntryFinder and clean up api/oembed controller
2017-05-30 16:30:06 -04:00
Matt Jankowski
1dcfb90202 Clean up api/salmon controller (#3449) 2017-05-30 16:28:58 -04:00
Matt Jankowski
0ebe7d6d23 Remove exports/base controller in favor of shared concern (#3444) 2017-05-30 19:06:01 +02:00
Akihiko Odaki
7db98aa70e Refactor User and spec (#3431)
* Protect send_devise_notification of User

* Improve spec for User
2017-05-30 15:28:56 +02:00
Jack Jennings
e031fd60ad Move status reblog authorization into policy (#3425) 2017-05-30 15:16:14 +02:00
Yamagishi Kazutoshi
bc4fad9e22 Change libraries path to relative (#3433) 2017-05-30 15:13:04 +02:00
Nolan Lawson
b42bdd80e8 Extract polyfill loading into single module (#3421) 2017-05-30 15:11:15 +02:00
Jack Jennings
3a2003ba86 Extract authorization policy for viewing statuses (#3150) 2017-05-29 18:22:22 +02:00
Nolan Lawson
34a93ccf57 Add IntersectionObserverWrapper to cut down on re-renders (#3406) 2017-05-29 18:17:51 +02:00
Akihiko Odaki
922fb74197 Remove methods from ObfuscateFilename and spec (#3347)
* Remove methods from ObfuscateFilename

* Spec ObfuscateFilename
2017-05-29 18:14:16 +02:00
Atsushi Yamamoto
402c19a924 Add preference setting for delete toot modal (#3368)
* Set delete_modal preference to true by default
* Does not show confirmation modal if delete_modal is false
* Add ja translation for preference setting page
2017-05-29 17:56:13 +02:00
Nolan Lawson
b5e8994844 Prevent wasted render in load_more.js (#3402) 2017-05-29 17:52:45 +02:00
lindwurm
184325077e l10n: Fix Japanese translation (#3410)
* "メデイア" -> "メディア"

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-05-29 17:52:02 +02:00
Nolan Lawson
5e41c26203 Use immutable list in UploadButton to avoid wasteful re-render (#3394) 2017-05-28 19:15:35 +02:00
Eugen Rochko
3fa8512474 Fix video having black border on top due to regression from #2608 (#3392)
The combination of object-fit, relative position 50% from top and translating it
back upwards 50% is what allows us to crop the video properly, so it needs to
be +50%-50%
2017-05-28 19:11:47 +02:00
ster
0e20de9f89 Ukrainian translation: fix typo (#3393) 2017-05-28 19:11:29 +02:00
Nolan Lawson
24d645b7d0 Fix IntersectionObserver isIntersecting in Edge (#3365) 2017-05-28 16:45:42 +02:00
Nolan Lawson
28cbfb9f10 Simplify isIntersecting in status_list.js (#3371) 2017-05-28 16:26:35 +02:00
Masoud Abkenar
b619362a36 Persian translation fixes and updates (#3380)
* Persian translation fix

* Persian translation of new strings
2017-05-28 16:25:45 +02:00
Eugen Rochko
62ca37884a Fix #2922 - Load stylesheet from "custom.css" entrypoint when present (#3332)
* Fix #2922 - Load stylesheet from "custom.css" entrypoint when present

This is pretty much the same way it worked as before, albeit with
having to create app/javascript/packs/custom.js with
require('../styles/custom.scss') (or whatever you want really), which
will be a blank slate for you to import whatever you want

* Remove old assets directory

* Extract font-awesome into common.css and always load it
2017-05-27 16:55:09 +02:00
jeroenpraat
f9180823bc Update Dutch strings for 1.4 (#3363)
* Update nl strings for 1.4

* Update nl strings for 1.4

* Update nl strings for 1.4

* nl strings (+1)

More new OTP strings will be translated another time
2017-05-27 16:28:32 +02:00
Quent-in
4b0c667c09 i18n update for Occitan language (#3362)
* Update simple_form.oc.yml

* Added check spam folder

* Update oc.json

abonats => seguidors

* Update oc.yml

* Update oc.json

Added translations + corrections

* Update confirmation_instructions.oc.html.erb

* Update confirmation_instructions.oc.text.erb

* i18n mailer

* Update reset_password_instructions.oc.html.erb
2017-05-27 15:50:40 +02:00
unarist
ecef03bb15 Fix empty flash message on the settings page (#3345) 2017-05-27 13:04:28 +02:00
happycoloredbanana
9642601126 Avoid comparing domains when looking for an exact match of a local account (#3336) 2017-05-27 00:55:08 +02:00
Eugen Rochko
3836d293a1 Add missing background center on public profile headers (#3340) 2017-05-27 00:54:00 +02:00
Eugen Rochko
44cb08297c Fix some nil errors (#3338)
* Fix nil input not handled well in AuthorExtractor concern

* Fix hard error in ProcessFeedService when replied-to status has been deleted

* Fix nil errors in ProcessInteractionService when favourited status
cannot be found
2017-05-27 00:53:38 +02:00
Eugen Rochko
bd21afb5ed Replace onboarding elephant with friendlier graphic, shorter animation (#3337)
on status fade-in, fix buttons not having pointer cursor
2017-05-27 00:53:25 +02:00
m4sk1n
ef80ad17b3 Updated Polish translation (#3335)
* i18n: updated Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: completed Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: corrected Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: Updated Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Update simple_form.pl.yml

* Update simple_form.pl.yml

* updated Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Update pl.yml
2017-05-26 19:59:46 +02:00
Eugen Rochko
9ea4f37e78 Add "meta" attribute to return of POST /api/v1/media method as well (#3333) 2017-05-26 18:22:30 +02:00
Eugen Rochko
c48772fd3f Introduce react-textarea-autosize instead of using style.height side effects (#3334) 2017-05-26 18:22:23 +02:00
Akihiko Odaki
860e257a68 Remove redundant call of recent scope in AccountsController (#3330)
recent is included in paginate_by_max_id.
2017-05-26 16:35:25 +02:00
unarist
902d9e34b4 Remove status context construction in the React side (#3331)
because it may causes flicker on the conversation when it contains blocked/muted user's status.

We use `/api/v1/statuses/{id}/context` to obtain status ids in the
conversation which filters blocked/muted user, but also uses internal
cache constructed from `in_reply_to_id` by `normalizeStatus()` in
`reducers/timelines.js` on each status loading which doesn't filter.

So statuses appears in conversation if those are cached, even those
statuses are from blocked/muted user. Then context cache will be updated
with the result of the context API and those statuses will be removed.

I have left the `normalizeStatus()` function itself which is called many
functions in the file as a placeholder for now, but maybe it should be
removed completely.
2017-05-26 16:34:08 +02:00
Akinori MUSHA
f6a93fc150 Go to root after login in single user mode (#3289)
In single user mode, visitors are redirected to the single user's
profile page.  So, if you are the owner without a session, you start
from that page, click the login button and authenticate yourself
expecting you'll soon get started with the home page, but in reality
you'll get redirected back to where you started from -- your own
profile page.

This fixes the behavior by redirecting you home after login if you
have started from your own profile page.
2017-05-26 14:14:03 +02:00
Yamagishi Kazutoshi
4b11675bdc Change anchor to button element (#3321)
Fix warning for ESLint (jsx-a11y/href-no-hash).
2017-05-26 14:10:37 +02:00
Nolan Lawson
2531c5953b Replace onWheel listener with onScroll (#3324)
* Replace onWheel listener with onScroll

* Update column.js
2017-05-26 14:09:13 +02:00
unarist
c6db416ff7 Fix "Cannot read property" on missing status (#3322)
I've found this issue when I clicked replies to muted user on the timeline.

Properties I've removed in here were added with lazy loading using
IntersectionObserver (8e4d1cba), but those statuses are not need to be
tracked anyway because it will be rendered as only empty div.
2017-05-26 14:07:48 +02:00
Nolan Lawson
b00cb2aed3 Improve shouldComponentUpdate for status and status_action_bar (#3323) 2017-05-26 14:05:52 +02:00
Nolan Lawson
7c67cb5997 implement shouldComponentUpdate for relative_timestamp (#3320) 2017-05-26 03:25:41 +02:00
Eugen Rochko
a098d08d12 Fix style regression of buttons not inheriting document font by default (#3310) 2017-05-25 21:15:41 +02:00
Nolan Lawson
bc39ad37c4 Fix "contains" CSS for Chromium <57 (#3317)
Fixes #3277. I've tested in QupZilla on Mac and can confirm it fixes the issue, and that Chrome 58 is not affected (because it has Grid).
2017-05-25 21:14:56 +02:00
Nolan Lawson
a6ba004bf5 Attach ReactPerf to window for easier debugging (#3318) 2017-05-25 21:14:40 +02:00
unarist
b89ab7e69d Add flex: 0 0 auto to some components to avoid bugs on iOS9 (#3313) 2017-05-25 18:59:55 +02:00
Nolan Lawson
33d7338779 Fix Firefox issue with performance marks (#3315) 2017-05-25 18:59:18 +02:00
unarist
cf4fe6cab8 More use of next link header on account (media) timelines (#3311)
This will reduce requests on who have only few statuses.

- Use next link header to detect more items from first request
- Omit next link header if result items are fewer than requested count
(It had omit it only if result was empty before)
2017-05-25 17:09:13 +02:00
Yamagishi Kazutoshi
bca334cd28 Remove arguments in association reader (#3305) 2017-05-25 16:28:14 +02:00
unarist
3e3ec9b2c8 Fix an error on dragging into status_content component (#3308) 2017-05-25 16:27:44 +02:00
Nolan Lawson
71b266377c Remove unnecessary action bar wrapper divs (#3299) 2017-05-25 14:15:12 +02:00
alpaca-tc
08dce5e607 Refactor Setting (#3302)
* @object is not needed

* Remove unneeded dependencies

* Do not call private method

* Prefer #respond_to_missing? over #respond_to?

`#respond_to?` doesn't support `User.settings.method(:method_name)`

* Use find_or_initialize_by instead of
2017-05-25 14:14:36 +02:00
Nolan Lawson
2469fd1cdc Add improved performance marks for development mode (#3297) 2017-05-25 14:09:55 +02:00
Yamagishi Kazutoshi
531c1bb245 Add localization of datetime in public page (#3296) 2017-05-25 14:09:25 +02:00
Audun Larsen
58f5040ee8 Norwegian translation of the onboarding page (#3303)
* Fixes translation placeholder

* Translates onboarding page
2017-05-25 14:06:10 +02:00
Daigo 3 Dango
838f51770b Replace \u2014 with &mdash; (#3301) 2017-05-25 14:05:54 +02:00
unarist
807c192fcf Fix load more feature on the Account media gallery (#3293)
* Add load more button for large screens
* Fix `next` state value on the first loading
* Don't load if `isLoading || !hasMore`
* Start load on near the bottom
2017-05-25 05:22:46 +02:00
masarakki
3b59f9c6c2 fix-cache-returns-nil (#3213) 2017-05-25 05:18:08 +02:00
Nolan Lawson
135bdd149e Name the Webpack chunks (#3291) 2017-05-25 03:30:29 +02:00
Yamagishi Kazutoshi
3572138b16 Fix hovering default value for avatar component (#3290) 2017-05-25 03:08:05 +02:00
unarist
9f69aa3cb1 Prevent contents of the status placeholder from overflowing (#3287)
Since long lines may overflow and cause the status-list horizontally scrollable,
I added `overflow: hidden` to placeholder contents to prevent it.
2017-05-25 02:23:54 +02:00
Yamagishi Kazutoshi
1ec7c87001 Remove unnecessary constructors (#3280) 2017-05-24 17:55:16 +02:00
Sorin Davidoi
8e4d1cba00 Lazy load toots using IntersectionObserver (#3191)
* refactor(components/status_list): Lazy load using IntersectionObserver

* refactor(components/status_list): Avoid setState bottleneck

* refactor(components/status_list): Update state correctly

* fix(components/status): Render if isIntersecting is undefined

* refactor(components/status): Recycle timeout

* refactor(components/status): Reduce animation duration

* refactor(components/status): Use requestIdleCallback

* chore: Split polyfill bundles

* refactor(components/status_list): Increase rootMargin to 300%

* fix(components/status): Check if onRef is not defined

* chore: Add note about polyfill bundle splitting

* fix(components/status): Reduce animation duration to 0.3 seconds
2017-05-24 17:55:00 +02:00
Yamagishi Kazutoshi
676ba50601 Show error message to suspended user (#3281) 2017-05-24 16:39:09 +02:00
Yamagishi Kazutoshi
f937cad68f Skip formatting for cashtag in status text (#3275)
Resolve #3270
2017-05-24 14:32:53 +02:00
Eugen Rochko
be83d450eb Fix DM being highlighted when it's inside a favourite notification (#3267) 2017-05-24 04:22:46 +02:00
unarist
3ce9ca4c99 Fix following/followers API to return correct link headers (#3268)
Link headers in following/followers API should include follow_id as max_id/since_id.

However, these API use current_user's account_id instead of follow_id from #3167.
This causes irrelevant result on loading more users.
2017-05-23 23:26:23 +02:00
Eugen Rochko
2ca1f0737a Fix Devise destroy method being available to delete user record (#3266)
(You may think that we need account deletions, but this way would've just orphaned the db records)
2017-05-23 21:32:42 +02:00
beatrix
19ecde8fe7 don't notify me when my toot is faved by someone i muted (#3245) 2017-05-23 20:05:52 +02:00
alpaca-tc
7ee5fc5d68 Toggle sensitive from admin page (#3261) 2017-05-23 19:45:43 +02:00
Matt Jankowski
4289ed1d13 Refactor of API timeline actions (#3263)
- Increase coverage to exercise all parts of each action
- Move into namespace to share common code
- Misc refactor of each action for smaller methods, simpler code
2017-05-23 18:11:39 +02:00
Akihiko Odaki
ea2ef16ea4 Cover StreamEntriesController more and remove redundant instructions (#3257)
* Cover StreamEntriesController more

* Remove redundant instructions in StreamEntriesController
2017-05-23 15:04:23 +02:00
Akihiko Odaki
bf575a1f5e Introduce recent to Follow (#3247)
Introduce recent to Follow, as Account and other models have.
This change also adds specs for the scope and the dependents.
2017-05-23 13:12:19 +02:00
Yamagishi Kazutoshi
860ffc0560 Focus the submit button (#3253)
Focus the submit button when confirmation modal is opened.

Also, changed cancellation link to button.
This makes the meaning clearer.
2017-05-23 13:10:41 +02:00
Audun Larsen
7eb4abe20a Updates Norwegian translation (#3252) 2017-05-23 13:09:53 +02:00
Ira
1baa75f79f i18n: Latest Hebew strings translated (#3250) 2017-05-23 13:08:16 +02:00
Yamagishi Kazutoshi
1d436a4322 Refactoring. Removed useless import. (#3254)
original: https://github.com/tootsuite/mastodon/pull/2618
2017-05-23 13:08:01 +02:00
Akihiko Odaki
8fd174298d Cover AccountsController more in spec (#3229)
* Introduce recent scope to Status and StreamEntry

Introduce recent scope to Status and StreamEntry as Account has.

* Cover AccountsController more in AccountsController
2017-05-23 02:53:01 +02:00
Matt Jankowski
a28ce13b3e Coverage for api/web/settings controller (#3238) 2017-05-22 23:12:28 +02:00
Matt Jankowski
e1b42e9aa0 Add coverage for ReportFilter and AccountFilter (#3236) 2017-05-22 15:50:58 -04:00
Matt Jankowski
ec34ec63b1 Specs for cleanup workers (#3235)
* Add spec files for feed and media cleanup workers

* Add coverage for feed and media cleanup schedulers

* Clean up feed and media cleanup workers
2017-05-22 19:36:21 +02:00
Eugen Rochko
4a4733b397 Similarly to #2426, put creation of remote statuses in a transaction, (#3233)
so that public timeline/caching would not encounter incomplete data
2017-05-22 19:35:48 +02:00
Tomonori Murakami
7966d3a872 Fix locale bug when change it on preferences (#3223) (#3232) 2017-05-22 17:58:41 +02:00
Eugen Rochko
48e7a22e34 Fix locale regression from #3055 (#3231) 2017-05-22 16:26:54 +02:00
Ratmir Karabut
2bb5486357 Update Russian translation (#3225)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)

* Update Russian translation

* Update Russian translation
2017-05-22 16:03:50 +02:00
Immae
a94c152fd3 Allow alternate domains for mastodon handlers (#3187) 2017-05-22 15:40:04 +02:00
Nolan Lawson
9d04de1c8d Only load Intl data for current language (#3130)
* Only load Intl data for current language

* Extract common chunk only from application.js and public.js

* Generate locale packs, avoid caching on window object
2017-05-22 15:06:06 +02:00
Yamagishi Kazutoshi
73e4468ff3 Change "Account.any?" to "Account.exists?" (#3217) 2017-05-22 15:02:30 +02:00
unarist
361a606edb Keep children of the column-collapsable until the transition is completed (#3218) 2017-05-22 15:01:27 +02:00
unarist
07af8c05fd Fix "Edit profile" on the account action bar (#3222) 2017-05-22 14:57:50 +02:00
Akihiko Odaki
aa662cecad single_user_mode? always returns boolean (#3215)
This change also adds a specification for the method.
2017-05-22 06:00:06 +02:00
Yamagishi Kazutoshi
84608c3ff8 Add translations for counter of profile (#3214)
ref #3101
2017-05-22 04:45:55 +02:00
Masoud Abkenar
b69365e397 Persian translation update (#3206)
* Persian translation update

* Persian translation update: new files

* Persian translation update

* activerecord.fa.yml language code

* Persian translation update

* fix indent
2017-05-22 00:20:13 +02:00
Eugen Rochko
a478af92c3 Fix forgotten to include language attribute in statuses JSON (#3209) 2017-05-21 21:38:09 +02:00
ster
a4c757767f Update Ukrainian translation (#3203) 2017-05-21 18:52:50 +02:00
Akihiko Odaki
2af5cd96fe Fix mutes_controller error and incorrect statuses_controller report (#3202)
This commit fixes a regression in commit
f554807563.
2017-05-21 13:32:13 +02:00
vidarlee
440441ccb3 Enhance for the Chinese translation (#3198)
* Enhance for the Chinese translation

* Add filtered_languages for Chinese Translation include CN/HK/TW for PR #3175
2017-05-21 11:23:59 +02:00
Eugen Rochko
ef900789bc Replace mastodon:media:clear and mastodon:feeds:clear rake tasks with (#3180)
sidekiq-scheduler jobs

Resolves #2495
2017-05-20 19:42:58 +02:00
Eugen Rochko
d78f555254 Improve language filter preferences look (#3184) 2017-05-20 19:42:44 +02:00
Yamagishi Kazutoshi
b280c387c8 Add MS Edge support to public.js (#3179) 2017-05-20 18:15:43 +02:00
spla
b75f13927e Catalan translation update (#3177)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225

* Catalan translation update

added activerecord.ca.yml

* Update activerecord.ca.yml

Done

* Updated activerecord.ca.yml
2017-05-20 17:50:11 +02:00
Akihiko Odaki
22cb286ad7 Fix regressions in api/v1 (#3178)
The regressions are introduced at commit
f554807563 by me (Akihiko Odaki)
2017-05-20 17:48:34 +02:00
Matt Jankowski
8f4b7c1820 Filter languages with opt out (#3175)
* Remove allowed_languages and add filtered_languages

* Use filtered_languages instead of allowed_languages
2017-05-20 17:32:44 +02:00
Yamagishi Kazutoshi
2e112e2406 Improve eslint rules (#3147)
* Add semi to ESLint rules

* Add padded-blocks to ESLint rules

* Add comma-dangle to ESLint rules

* add config/webpack and storyboard

* add streaming/

* yarn test:lint -- --fix
2017-05-20 17:31:47 +02:00
Yamagishi Kazutoshi
6c1122a1d9 Fix block list 500 (#3174) 2017-05-20 17:01:14 +02:00
Nolan Lawson
419226d1f6 Remove unnecessary status__info-time div (#3172) 2017-05-20 16:48:49 +02:00
Akihiko Odaki
f554807563 Use joins for account properties (#3167) 2017-05-20 15:13:51 +02:00
Sorin Davidoi
2c405aed55 Performance improvements (#3168)
* refactor(components/status_list): Avoid quering scrollTop if not necessary

* refactor(components/dropdown_menu): Do not render items if not expanded

* refactor: Cherry-pick react-motion imports

* refactor(compose/privacy_dropdown): Do not render options if not open

* refactor(components/column_collapsable): Do not render children if collapsed
2017-05-20 14:58:13 +02:00
Yamagishi Kazutoshi
da0a18a318 Add Japanese translations (domain block & admin page) (#3160)
https://github.com/tootsuite/mastodon/pull/3100
https://github.com/tootsuite/mastodon/pull/3127
2017-05-20 13:39:03 +02:00
ButterflyOfFire
8ed3fa1693 Update reset_password_instructions.ar.html.erb (#3163)
Forgot to translate this string :p. Now Done !
2017-05-20 13:38:33 +02:00
June Sallou
60fe9983ee Updating the French translations for the web client (#3164) 2017-05-20 13:38:26 +02:00
beatrix
724fc3cbdf guard against empty domain block list in status scope (#3161) 2017-05-20 13:38:13 +02:00
Eugen Rochko
de475cf8d3 Add account media gallery view to web UI (#3120)
* Add account media gallery view to web UI

* Link media view from account dropdown

* Adjust link
2017-05-20 01:28:25 +02:00
Sorin Davidoi
b369fc2de4 feat: Use CSS contain to avoid computations (#3158) 2017-05-20 01:26:46 +02:00
PFM
7eb8b2efad Fix JavaScript error (#3153)
JavaScript error at Safari 10.1(macOS 10.12.4) / iPhone Safari(iOS 10.3.2)
2017-05-19 23:33:42 +02:00
Eugen Rochko
f8ee136c29 Fix federated timeline excluding local toots when any domain blocks are set (#3151) 2017-05-19 21:19:41 +02:00
Eugen Rochko
f1ab70649b Add buttons to block and unblock domain (#3127)
* Add buttons to block and unblock domain

* Relationship API now returns "domain_blocking" status for accounts,
rename "block entire domain" to "hide entire domain", fix unblocking domain,
do not block notifications from domain-blocked-but-followed people, do
not send Salmons to domain blocked users

* Add test

* Personal domain blocks shouldn't affect Salmon after all, since in this
direction of communication the control is very thin when it comes to
public stuff. Best stay consistent and not affect federation in this way

* Ignore followers and follow request from domain blocked folks,
ensure account domain blocks are not created for empty domain,
and avoid duplicates in validation

* Purge followers when blocking domain (without soft-blocks, since they
are useless here)

* Add tests, fix local timeline being empty when having any domain blocks
2017-05-19 21:05:32 +02:00
Sorin Davidoi
1548695c83 Avoid useless renders (#3141)
* feat(eslint): Set react/jsx-no-bind: error

* refactor(notifications/setting_toggle): Do not use bind

* refactor(components/dropdown_menu): Do not use bind

* refactor(components/autosuggest_textarea): Do not use bind

* refactor(compose/privacy_dropdown): Do not use bind

* refactor(compose/upload_form): Do not use bind

* refactor(components/status): Do not use bind

* refactor(components/onboarding_modal): Do not use bind

* refactor: PR feedback

* chore(notifications/setting_toggle): Lint

* refactor: PR feedback
2017-05-19 20:58:12 +02:00
abcang
d22cec81fb Unify the method of extracting tags (#3138) 2017-05-19 20:19:14 +02:00
Matt Jankowski
d2e0edd721 Add spec coverage for regeneration worker (#3143) 2017-05-19 16:55:09 +02:00
Matt Jankowski
3002a89419 Remove unused style helper (#3145) 2017-05-19 16:54:47 +02:00
Matt Jankowski
db4119f971 Specs for precompute feed service (#3142)
* Add spec for precompute feed service

* Refactor PrecomputeFeedService

* spec wip
2017-05-19 16:21:52 +02:00
Yamagishi Kazutoshi
4a3db71692 Remove react-autosuggest (#3140)
react-autosuggest is added from c49f6290eb

Dependence removed from b27066e154
2017-05-19 15:21:34 +02:00
Yamagishi Kazutoshi
dc559d6b7a Downgrade eslint-plugin-jsx-a11y to v4.0.0 (#3131)
In Code Climate, eslint-plugin-jsx-a11y v4.0.0 is used.
Therefore, it seems that a warning is displayed.

ref https://github.com/codeclimate/codeclimate-eslint/pull/273
2017-05-19 11:44:28 +02:00
Matt Jankowski
8e4fc5d5d2 Improve how params from controller are permitted in filter helper (#3129)
The `params` variable here was quite overloaded.

It exists via the controller to hold the request params, and was sometimes being
used in this helper as that object, but other times was being used as a local
variable, or to pass to another method, and this was confusing.

This change renames the args for a method away from `params` for more clarity,
and extracts the actual usage of the controller-provided `params` to a
better-named method for clarity.
2017-05-19 11:43:20 +02:00
Yamagishi Kazutoshi
b8b7b506a2 Replace inline styles with stylesheet (#3115) 2017-05-19 11:42:54 +02:00
alpaca-tc
198ae3e366 Define instance method outside #included (#3128) 2017-05-19 11:41:45 +02:00
Matt Jankowski
6e4c7d6211 Conditional validations no longer accept strings for if/unless (#3124) 2017-05-19 03:11:23 +02:00
Matt Jankowski
d2542dcec0 Use stylesheet_pack_tag in embedded layout, avoids pipeline deprecation warning (#3123) 2017-05-19 03:11:17 +02:00
Matt Jankowski
25e5aa645d Skip asset pipeline for static file in public/ (#3125) 2017-05-19 02:41:56 +02:00
Eugen Rochko
620d0d8029 Account domain blocks (#2381)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute

Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle

* Display "Dismiss notifications" on all statuses in notifications column, not just own

* Add "muted" as a boolean attribute on statuses JSON

For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested

Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column

* Up max class length

* Remove pending test for conversation mute

* Add tests, clean up

* Rename to "mute conversation" and "unmute conversation"

* Raise validation error when trying to mute/unmute status without conversation

* Adding account domain blocks that filter notifications and public timelines

* Add tests for domain blocks in notifications, public timelines
Filter reblogs of blocked domains from home

* Add API for listing and creating account domain blocks

* API for creating/deleting domain blocks, tests for Status#ancestors
and Status#descendants, filter domain blocks from them

* Filter domains in streaming API

* Update account_domain_block_spec.rb
2017-05-19 01:14:30 +02:00
Matt Jankowski
8ec8410651 After remote follow worker specs (#3098)
* Add specs for the after remote follow workers

* Refactor the after remote follow workers
2017-05-18 21:10:41 +02:00
Sorin Davidoi
07e875972a refactor: Import from react-router/lib (#3117) 2017-05-18 19:14:03 +02:00
Yamagishi Kazutoshi
79ef8b3653 Fetch remote image using http.rb (#3114) 2017-05-18 15:43:10 +02:00
Ira
b11c4326d2 i18l: Hebrew translation updates (#3109) 2017-05-18 13:57:58 +02:00
Quent-in
390a2a8ab9 update (#3113) 2017-05-18 12:48:41 +02:00
Yamagishi Kazutoshi
4d1ce3c7ad Add rel="noopener" to getting started (#3104) 2017-05-18 03:05:30 +02:00
Eugen Rochko
76449df903 Fix character counter not updating for bio (#3101) 2017-05-18 00:38:18 +02:00
Eugen Rochko
226c9836e4 Add reset button to admin accounts search, improve looks a little (#3100) 2017-05-18 00:38:01 +02:00
Yamagishi Kazutoshi
05008f3930 Fix minor Japanese translations (#3099)
- add translation "Bon Appetoot!"
- add whitelist what doesn't require translation
- replace exclamation mark full width
- add space after question mark
- remove blank between words
- run yarn manage:translations
2017-05-17 17:50:39 +02:00
alpaca-tc
59ceeae8ea Refactor Status#ancestors/descendants (#3092) 2017-05-17 15:38:16 +02:00
alpaca-tc
b397f69633 Render translated view (#3093) 2017-05-17 15:36:56 +02:00
alpaca-tc
e89e4355eb Add filter to AccountFilter (#2968) 2017-05-17 03:00:34 +02:00
Stephen Burgess
abe0d9421f Catch import promise in application.js (#3041)
* fix(polyfil): Catch error from promise

https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html

* fix(catch): Error

Make import promise catch a noop with commented out console.log for a debugging hint.

* fix(eslint): Disable eslint console rule

* fix(application): Use console error
2017-05-17 02:59:43 +02:00
jeroenpraat
eab93992d1 One string NL update (#3090) 2017-05-17 02:54:41 +02:00
Eugen Rochko
0d59d7c680 Fix #2549 - Do not hardcode the exclamation in "toot!", wrap it in an extra locale key (#3089) 2017-05-17 00:54:24 +02:00
Eugen Rochko
1efda1c453 Fix #2572 - Resolve preview cards for remote statuses as well as local ones (#3088) 2017-05-17 00:41:15 +02:00
spla
a51c8074df Add catalan language (#3084)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225
2017-05-17 00:25:10 +02:00
unarist
3722f90865 Make .column-collapse animation simple (#3086)
* Always set `overflow: auto` to allow scroll just after opening
* Remove bounce animation which may cause unintended behavior due to max-height
* Use CSS transition instead of react-motion
* Some CSS refactoring including className changing
2017-05-17 00:24:46 +02:00
geta6
bbaac89eb0 Enable to handle app immediately after closing modal (#3082) 2017-05-16 12:12:38 +02:00
Shunsuke Michii
0dfffb6dcb Make faster ProcessFeedService (#3080)
* Add index accounts on uri.

* Remove a blank line.
2017-05-16 12:12:29 +02:00
masarakki
1b0a5658f1 use-symbol-in-order (#3081) 2017-05-16 12:10:09 +02:00
alpaca-tc
682b68438e Improve Account#triadic_closures (#3079) 2017-05-16 12:06:38 +02:00
alpaca-tc
09ec6e504b Order by symbol value (#3077) 2017-05-16 03:35:17 +02:00
alpaca-tc
a2a2af244c Optimize Status#permitted_for 24x (#3069)
* Build query with arel node

* Add spec for current Status#permitted_for implementation

* Refactor status.rb

* Order by visibility to optimize query
2017-05-16 02:54:17 +02:00
Hiroaki Ninomiya
cb50ecdb07 chore(landing_strip): hide signup path unless the instance allows registration. (#3055) 2017-05-16 00:41:09 +02:00
Eugen Rochko
191696ab30 Fix #2646 - Do not override ctrl/cmd+click on Permalinks (#3073) 2017-05-15 22:36:38 +02:00
Eugen Rochko
af706583bd Fix change of status callbacks not setting in_reply_to_account_id and (#3072)
possibly others when expected. Add some tests for it
2017-05-15 21:20:55 +02:00
Akihiko Odaki
85c9496340 Introduce common JavaScript file (#2981)
* Create common chunk rather than vendor chunk

vendor chunk is a set of modules provided by external vendors, but now we
can have a chunk as a set of modules shared by multiple entry points,
which could be more efficent than having vendor chunk.

* Start rails-ujs in common.js

This is used by /settings/two_factor_authentication.
2017-05-15 20:20:10 +02:00
Kazuhiro NISHIYAMA
6ee3a10f17 Update Japanese tranlsation of conversations muting (#3070) 2017-05-15 18:05:28 +02:00
Eugen Rochko
d0dd9eb5b5 Feature conversations muting (#3017)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute

Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle

* Display "Dismiss notifications" on all statuses in notifications column, not just own

* Add "muted" as a boolean attribute on statuses JSON

For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested

Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column

* Up max class length

* Remove pending test for conversation mute

* Add tests, clean up

* Rename to "mute conversation" and "unmute conversation"

* Raise validation error when trying to mute/unmute status without conversation
2017-05-15 03:04:13 +02:00
Eugen Rochko
a588358f41 Fix style regressions (#3062)
From #2327 - Elephant friend was overlapping with text, oversized in
single column layout

From #2021 - Centered layout goes against design principles, changes
UX for everybody who's already used to the current one

From #2271 - CPU/RAM overusage from keeping columns in DOM (fix #2648,
possibly also #2101)
2017-05-15 01:23:58 +02:00
Paul
bc1a91f4cd Fix only typo (#3035) 2017-05-14 12:58:50 +02:00
Eugen Rochko
657496b5a9 Do not cancel PuSH subscriptions after encountering "permanent" error… (#3046)
* Do not cancel PuSH subscriptions after encountering "permanent" error response

After talking with MMN about it, turns out some servers/php setups do
return 4xx errors while rebooting, so this anti-feature that was meant
to take load off of the hub is doing more harm than good in terms of
breaking subscriptions

* Update delivery_worker.rb
2017-05-14 03:22:48 +02:00
beatrix
fd03a3d957 tiny js fix for 'show more' button in chrome (#3045) 2017-05-13 22:07:58 +02:00
Stephen Burgess
4bd0488a77 feat(count): Just yml count syntax to provide different rule for 1 (#2685)
Update all translation forms that use this "counter" element.
2017-05-13 17:13:17 +02:00
Ira
1b17da6ed9 i18n: Hebrew string updates (#3037) 2017-05-13 17:05:02 +02:00
Shunsuke Michii
89210781cb Fix og:url. (#3031) 2017-05-13 15:56:42 +02:00
alpaca-tc
e9810cbad6 Fixes NoMethodError: undefined method 'first' for nil:NilClass (#3036) 2017-05-13 15:56:12 +02:00
beatrix
3dcb5fa28f Revert HTML CW changes (#3020)
* selectively Revert "Fix regressions from #2683 (#2970)"

This reverts commit 72698bc3b4.

* Revert "Handle hashtags in spoiler_texts (partial fix for #699) (#2683)"

This reverts commit e2491680e6.
2017-05-13 04:03:43 +02:00
Eugen Rochko
1d5dcfcd46 Make direct statuses stand out more (#3025)
Resolves #2515
2017-05-13 01:38:51 +02:00
jeroenpraat
66ff9ed34e Finalizing Dutch strings (#3028)
for this file.
2017-05-13 00:13:08 +02:00
Wonderfall
b65950bb2e fix #3008 : props was not defined (#3022) 2017-05-12 20:58:41 +02:00
Matt Jankowski
0d70fe2659 Spec coverage and refactor for pubsub/delivery worker (#3021)
* Framework for delivery worker spec

* Refactor of pubsub delivery worker
2017-05-12 20:35:36 +02:00
Shel Raphen
a1fc2cfa09 Fix color contrast some more in privacy warning (#3018)
* Fix color contrast some more in privacy warning

Latest master appears to have changed the <strong> to this unreadable grey color. If you want that to be white then it should be pure white. If someone would rather revert this to that strong dark blue color it was before that would be good too.

* Make domain dark blue again

* add missing ;

woops
2017-05-12 20:19:39 +02:00
Koala Yeung
b535966ab5 Allow SCSS variables to be overridden (#2987)
* Allow SCSS variables to be overridden with
  `app/javascript/pack/variables*.scss`

* Allow these SCSS variables to be overriden:
  * `$base-shadow-color`
  * `$base-overlay-background`
  * `$base-border-color`
  * `$simple-background-color`
  * `$primary-text-color`
  * `$valid-value-color
  * `$error-value-color`
2017-05-12 19:22:50 +02:00
Eugen Rochko
5abdc77c80 Add conversation model, <ostatus:conversation /> (#3016)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Fix conversation migration

* More spec coverage for status before_create

* Prevent n+1 query when generating Atom with the new conversations

* Improve code style

* Remove redundant local variable
2017-05-12 19:09:21 +02:00
Eugen Rochko
b5a9c6b3d2 Prepend reblogs' wrapper content with "RT @original_author", (#3013)
so that when a reblog parse fails on another instance, it doesn't
look like a misattributed/stolen text
2017-05-12 17:46:44 +02:00
Shel Raphen
60f3230a05 Increase color contrast on privacy warning (#3015)
The current text contrast on the privacy warning is a WCAG violation. I didn't notice this because my instance has a custom theme which is better. On default theme I am barely able to read the text with my impaired vision. This patch brings the contrast to Normal Text WCAG AA compliance, and Large Text WCAG AAA compliance.
2017-05-12 17:46:36 +02:00
Eugen Rochko
43d754eb42 Fix not rejecting remote URIs when parsing out local IDs (#3012) 2017-05-12 16:47:55 +02:00
Eugen Rochko
e0c3ed29d8 Fix locales again (#3010)
* Normalize locales

* Restore "mention" locale key
2017-05-12 14:46:21 +02:00
Yamagishi Kazutoshi
2991a7cfe6 Use ES Class Fields & Static Properties (#3008)
Use ES Class Fields & Static Properties (currently stage 2) for improve class outlook.

Added babel-plugin-transform-class-properties as a Babel plugin.
2017-05-12 14:44:10 +02:00
Yamagishi Kazutoshi
44a3584e2d Remove unnecessary message in video player (#3007)
Remove unnecessary messages added in #1879.
It is duplicated with other keys, causing the correct message not to be displayed.
2017-05-12 14:43:06 +02:00
ButterflyOfFire
62a98a3f0e Update ar.json (#3004)
Updating some arabic translations.
2017-05-12 14:32:35 +02:00
Eugen Rochko
58bcd50f7f Fix #1426 - Trim long usernames in public follower/following lists (#2993)
Fix #2221 - Catch OpenSSL exceptions when loading remote avatars/headers/attachments
Don't strip "rel" attribute from <a> tags when sanitizing (microformats)
2017-05-11 23:14:00 +02:00
Eugen Rochko
d0ef318eaa Fix #2205 - Delete associated notifications when a status is deleted (#2994) 2017-05-11 21:54:47 +02:00
Eugen Rochko
65f9db73b0 Fix #2027 - Accept own ID for remote follow with and without preceding @ (#2991)
* Fix #2027 - Accept own ID for remote follow with and without preceding @
Fix #2177 - Omit leading "acct:" in remote follow redirect template expansion

* Fix test
2017-05-11 21:54:30 +02:00
Eugen Rochko
a2c8da0185 When avatar/header are missing, do not include the missing file into Atom (#2988)
Receiving instances will then use their own missing image

Also, add <content /> to deleted statuses, since there was a reported
problem with the deletes and GNU social
2017-05-11 14:32:03 +02:00
Yamagishi Kazutoshi
88fd5cb688 Focus tab of Mastodon when clicking notification (#2989) 2017-05-11 13:34:05 +02:00
Nolan Lawson
0ec77c5b3e Add dynamic polyfills for older browsers (#2985)
Fixes #2941
2017-05-11 11:26:06 +02:00
Go Shoemake
9cd3a6836b Fixed mention regex to support unicode (#2420) 2017-05-11 03:47:38 +02:00
Yamagishi Kazutoshi
7ff84cb07e Refine unescapeHTML (#2977) 2017-05-11 02:22:40 +02:00
Yamagishi Kazutoshi
e6fbf0334f Remove unnecessary .keep files (#2976)
Follow up #2902
2017-05-11 01:45:42 +02:00
Eugen Rochko
72698bc3b4 Fix regressions from #2683 (#2970)
* Fix regressions from #2683

Properly format spoiler text HTML, while keeping old logic for blankness intact
Process hashtags and mentions in spoiler text
Format spoiler text for Atom
Change "show more" toggle into a button instead of anchor
Fix style regression on dropdowns for detailed statuses

* Fix lint issue

* Convert spoiler text to plaintext in desktop notifications
2017-05-11 00:28:10 +02:00
jeroenpraat
65027657ec Very small fix/update NL strings (#2971)
* Very small fix/update NL strings

* Oops
2017-05-11 00:20:13 +02:00
Matt Jankowski
08949cca41 Pubsub confirmation worker spec (#2974)
* Add specs for valid challenge response from pubsub confirmation worker

* Refactor the pubsub confirmation worker
2017-05-11 00:19:37 +02:00
Eugen Rochko
a231f915a0 Fix #2955 - Send HEAD request ahead of GET when fetching URL previews (#2972) 2017-05-10 23:30:07 +02:00
alpaca-tc
c3ef5d5414 Add account_id DESC to optimize PrecomputeFeedService (#2967) 2017-05-10 20:33:32 +02:00
beatrix
57a3d71c90 fix a regression introduced by e2491680e6 (#2966)
that caused user pages to break when showing toots with CWs
2017-05-10 20:32:59 +02:00
Wonderfall
43db2cf5e7 align buttons with column headers (#2964) 2017-05-10 20:32:26 +02:00
Matt Jankowski
cc9a6a710f Spec feed insert worker (#2965)
* Spec for feed insert worker when missing records

* more specs!

* Refactor feed insert worker
2017-05-10 20:32:05 +02:00
Yamagishi Kazutoshi
2fba4196ef Add boop sounds in Vorbis format (#2963)
Vorbis is audio format of Open Source.
Can play audio in a free environment where you can not play mp3.
2017-05-10 16:58:54 +02:00
Matt Jankowski
d142544159 Spec coverage and refactor of digest mailer worker (#2961) 2017-05-10 15:45:43 +02:00
Koala Yeung
7ac092513c Fix Occitan's locale data plural function (#2957)
* Fix the pluralRuleFunction of the locale data.
* Added more descriptions about how to write it.
2017-05-10 14:44:48 +02:00
AA4ch1
2db53526c9 Fix compose_form.js for #2904 (#2960) 2017-05-10 14:41:39 +02:00
R Tucker
e2491680e6 Handle hashtags in spoiler_texts (partial fix for #699) (#2683)
* services: scan spoiler_text for hashtags (#699)

* views: link hashtags from spoiler_texts

This covers linking hashtags from within the spoiler
text on the server-generated pages.

* services: fix string concat going into hashtag RE

Cleaner Ruby syntax, may handle immutable strings better
2017-05-10 04:47:25 +02:00
Eugen Rochko
3a38322a54 Add spec for Pubsubhubbub::DistributionWorker. PuSH-deliver public items (#2954)
to all subscribers. IDN-normalize callback URLs for subscriptions on insert.
2017-05-10 02:55:43 +02:00
fusshi-
29d8313b28 Disabled auto focus on toot form when search results are shown. (#2942) 2017-05-10 02:51:43 +02:00
Matt Jankowski
682507bc3c Specs for pubsub subscribe service (#2951)
* Add spec for pubsubhubbub/subscribe

* Refactor pubsubhubbub/subscribe service
2017-05-09 20:48:30 +02:00
Matt Jankowski
441d6dc734 Spec and refactor for pubsubhubbub/unsubscribe service (#2946)
* Add coverage for pubsub unsubscribe service

* Refactor pubsub unsubscribe service
2017-05-09 19:58:18 +02:00
Akihiko Odaki
d5cabfe5c6 Use CLD3 (#2949)
Compact Language Detector v3 (CLD3) is the successor of CLD2, which was
used in the previous implementation. CLD3 includes improvements since CLD2,
and supports newer compilers. On the other hand, it has additional
requirements and cld3-ruby, the FFI of CLD3 for Ruby, is still new and may
be still inmature.

Though CLD3 is named after CLD2, it is implemented with a neural network
model, different from the old implementation, which is based on a Naïve
Bayesian classifier.

CLD3 supports newer compilers, such as GCC 6. CLD2 is not compatible with
GCC 6 because it assigns negative values to varibales typed unsigned.
(see internal/cld_generated_cjk_uni_prop_80.cc) The support for GCC 6 and
newer compilers are essential today, when some server operating system
such as Ubuntu Server 16.10 has GCC 6 by default.

On the one hand, CLD3 requires C++11 support. Environments with old
compilers such as Ubuntu Server 14.04 needs to update the system or install
a newer compiler.

CLD3 needs protocol buffers as a new dependency. However,it is not
considered problematic because major server operating systems, CentOS and
Ubuntu Server provide them.

The FFI cld3-ruby was written by me (Akihiko Odaki) for use in Mastodon.
It is still new and may be inmature, but confirmed to pass existing tests.
2017-05-09 19:58:03 +02:00
Akihiko Odaki
af6a84da14 Use RegExp for require.context to filter custom stylesheets (#2950)
ExtractTextWebpackPlugin extracts the content of loaded files, which means
it loads files loaded by require.context but not required after that.
However the former implementation is not aware of that.

require.context can have a RegExp to filter files to load. This change
gives a RegExp which matches with SCSSes with 'custom' prefix to
require.context to take advantage of the feature.
2017-05-09 19:51:45 +02:00
abcang
08e94d1b19 Fixed bug that timeline can not be displayed by InvalidURIError (#2947) 2017-05-09 18:17:41 +02:00
haoyayoi
2fba94b36e add content-type in pubsubhubhub request header (#2943)
* add content-type in pubsubhubhub request header

* fix type
2017-05-09 16:34:47 +02:00
Alda Marteau-Hardi
8c9116dc98 Fix missing or not gender neutral strings. (#2944) 2017-05-09 16:14:44 +02:00
Yamagishi Kazutoshi
42eb841dc2 Remove jquery-ujs (#2939)
* Remove jquery-ujs

* fix for eslint
2017-05-09 14:50:43 +02:00
Yamagishi Kazutoshi
584b45530c Fix duplicated values in nl.json (#2931) 2017-05-09 14:12:35 +02:00
Koala Yeung
f5cdea5122 Update Norwegian translations (#2937)
* Update Norwegian translations

* Updated no.json
* Updated activerecord.no.yml
* Updated no.yml
* Updated simple_form.no.yml

* i18n: fix Unicode character error in no.yml

* Javascript escaping code "\uD83D\uDC18" should be "\U0001f418" in
Ruby / yml

* i18n: remove unused keys in Norwegian translation

* Remove unused keys in no.yml and activerecord.no.yml
  by running: `bundle exec i18n-tasks remove-unused no`

* Add missing keys in activerecord.no.yml and no.yml by
  running: `bundle exec i18n-tasks add-missing no`

* i18n: escape the key 'no' in activerecord.no.yml
2017-05-09 14:01:45 +02:00
Soshi Kato
f36a791227 Fix snackbar notification stacking order (#2935) 2017-05-09 14:01:29 +02:00
HANATANI Takuma
7c249dfd88 Add cursor property to toot user avatar. (#2933) 2017-05-09 03:48:15 +02:00
Matt Jankowski
5bea42412e Services specs for subscribe and unsubscribe (#2928)
* Add specs for unsubscribe service

* Fix non existent methods in unsubscribe service

* Clean up status handling in subscribe service
2017-05-09 00:45:02 +02:00
Matt Jankowski
04166c4a35 Specs for API push controller, with refactor (#2926)
* Coverage for api push controller

* Refactor the api/push controller
2017-05-09 00:44:30 +02:00
Quent-in
fed585e3f4 i18n mailer files for Occitan language (#2924)
* Create reset_password_instructions.oc.html.erb

* Create reset_password_instructions.oc.text.erb

* Create password_change.oc.html.erb

* Create password_change.oc.text.erb

* Create confirmation_instructions.oc.html.erb

* Create confirmation_instructions.oc.text.erb
2017-05-08 23:15:03 +02:00
jeroenpraat
406229d927 Updating and extending Dutch strings (#2930)
* Update nl

* Update nl

* Update nl

* Create confirmation_instructions.nl.html.erb

* Create confirmation_instructions.nl.text.erb

* Create password_change.nl.html.erb

* Create password_change.nl.text.erb

* Create reset_password_instructions.nl.html.erb

* Create reset_password_instructions.nl.text.erb
2017-05-08 23:11:12 +02:00
Matt Jankowski
7a7d12d27f Delegate Account#user_locale method and allow nil (#2927) 2017-05-08 23:10:50 +02:00
ButterflyOfFire
01c4c29b3a Update fr.json (#2915)
* Update fr.json

Updating some missing french translations.

* Update fr.json

Fix repetition in line 41.

* Update fr.json

Fix : adding space between {name} and ? question mark.
2017-05-08 18:24:55 +02:00
Yamagishi Kazutoshi
459bbfa4b2 Prevent selection of unacceptable Content-Type files (#2910)
* Prevent selection of unacceptable Content-Type files

* replace hard code

* media_attachments accept content-types in initial state
2017-05-08 16:49:53 +02:00
ButterflyOfFire
7140def5c9 Update simple_form.ar.yml (#2908)
* Update simple_form.ar.yml

Added missing strings that were introduced to simple_form.ar.yml and completing translation.

* Create confirmation_instructions.ar.html.erb

* Create confirmation_instructions.ar.text.erb

* Create password_change.ar.html.erb

* Create password_change.ar.text.erb

* Create reset_password_instructions.ar.text.erb

* Create reset_password_instructions.ar.html.erb
2017-05-08 15:58:38 +02:00
Matt Jankowski
b85dec2b97 Improve scss color variables (#2912)
- Updates scss variables file to use better-named variables for black/white/etc
- Arranges the "mastodon classic" colors into variables
- Remove all references to `$color-*` naming, replacing with new

This does not in itself introduce "theme" support, but:

- It would probably be easier to start working on theme support after this
  change and others
- Even without the goal of themes, these changes make it more clear how the
  colors are being used.

There is almost definitely some edge case in here where I've guessed the
intent/context of some color usage incorrectly, but it still seems like a net
improvement.
2017-05-08 15:57:49 +02:00
Koala Yeung
cbd673601c Add Thai langauge (#2903)
* Updated Thai language

* locale: remove unused translation in Thai

* locale: add Thai to settings menu and application

* locale: fix activerecord.th.yml format
2017-05-08 15:56:00 +02:00
Yamagishi Kazutoshi
66a3979cba Fix broken features list in RTL languages (#2909)
Fixes #2905
2017-05-08 15:52:51 +02:00
ster
9de254c46e Fix small typo in ru.json (#2906) 2017-05-08 15:03:17 +02:00
HANATANI Takuma
388e70b881 Remove unnecessary keep file. (#2902) 2017-05-08 15:01:19 +02:00
yhirano
48594b18e6 Added haml-lint and fix warnings (#2773)
* add haml_lint to Gemfile

* add .haml-lint.yml

* fix warnings of haml_lint
2017-05-08 03:35:25 +02:00
Matt Jankowski
bba537a7be Improve allowed language handling (#2897)
* Dont allow empty value in user allowed languages

* Sanitize language input to reject blank values in array
2017-05-08 03:32:52 +02:00
Jessica K. Litwin
28e674bc6a small ui change so that the settings buttons at the top of each column are actually aligned properly (#2894) 2017-05-07 23:47:55 +02:00
ster
9d84dda213 Update Ukrainian, Russian translations (#2893)
* Update Ukrainian translation (rebased off Russian translation)

* Update Ukrainian, Russian translations
2017-05-07 23:47:19 +02:00
yhirano
d63c291f86 Enable CodeClimate SCSS Lint checks (#2886)
* add scss_lint to Gemfile

* add .scss-lint.yml

* fix warnings of scss-lint

* chmod -x styles/variables.scss

* Enable CodeClimate SCSS Lint checks
2017-05-07 20:47:31 +02:00
Ratmir Karabut
6ad19036e3 Update Russian translation (#2891)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)

* Update Russian translation
2017-05-07 20:47:19 +02:00
Yamagishi Kazutoshi
3bdcf5d8f0 Add final newline to locale files (#2890) 2017-05-07 19:55:47 +02:00
ButterflyOfFire
c7848f54ff Update ar.json (#2888)
* Update ar.json

Adding more translations (updating the missing non translated strings) and some little minimal corrections.

* Update ar.json

Deleting final new line as suggested in the review.

* Update ar.json

* Update ar.json
2017-05-07 19:37:32 +02:00
masarakki
267ed3d74b raise-when-oembed-not-found (#2882) 2017-05-07 19:00:40 +02:00
alpaca-tc
ca05bfaac7 Refactor account.rb (#2881)
* Call simple query

* Refactor Account#keypair

* Replace escaped single quote

* Extract similar behavior to method

* Gather the same condition to one block

* Remove not needed receiver
2017-05-07 16:40:57 +02:00
Koala Yeung
e4b84c7ba5 locale: add Occitan locale-data for js (#2845)
Translation works by @Quent-in.
2017-05-07 16:39:37 +02:00
Özcan Zafer AYAN
983593ddf4 Add Turkish yml file (#2878)
* Add Turkish yml file

* Add translation files for Turkish

* Deleted click_to_edit key and val

Deleted click_to_edit: Düzenlemek için ilgili ayara tıklayınız line
2017-05-07 16:20:53 +02:00
Ram Lmn
f14df43435 Fix local fonts and change font-face values (#2877)
* Fix local fonts and change font-face values

* Remove eot font files
2017-05-07 15:23:06 +02:00
Yamagishi Kazutoshi
f000673599 Remove local_time gem, and add similar (#2875) 2017-05-07 15:22:54 +02:00
Yamagishi Kazutoshi
139d183485 Fix a aspect ratio for the embedded video (#2872) 2017-05-07 15:21:46 +02:00
Ira
ee1486a7de i18n: Update Hebrew interface translation. (#2880)
* follow the instructions for registering the language as stated on the Tootsuite's docs.

* Added translation strings from latest master

Adding &rlm; characters to many strings that are misdirected in the interface.

A tiny grammar fix

Updates of Hebrew strings to v1.3.1

Hebrew translation of the mailer templates.

Fix strings and a missing comma.

Just discovered two string keys were updated. this should lay Travis' mind to rest at last.

Remove mentions before counting characters to decide RTL ratio

Fixes for PR #2573

updated strings for latest master

Undo RTL counting, moved out to another branch for future consideration...
2017-05-07 15:20:34 +02:00
Matt Jankowski
b8ba719f73 Unblock domain service specs/refactor (#2867)
* Add spec for unblock domain service

* Refactor UnblockDomainService
2017-05-07 14:44:28 +02:00
Koala Yeung
ada8a6cb77 Fix unused key issue in zh-HK (#2870)
* locale: remove unused keys in zh-HK

* locale: update json translations

* handled the untranslated strings.
* removed unused keys.
2017-05-07 14:29:01 +02:00
Yamagishi Kazutoshi
6c678b7472 Fix locale key for account card (#2866) 2017-05-07 03:09:58 +02:00
Nolan Lawson
df81bc4a97 add asynchronous emojione-picker (code-splitting) (#2863) 2017-05-07 02:42:38 +02:00
alpaca-tc
74036a2c9d Hotfix convert string from symbol (#2856)
* Convert key to string from symbol

* Prefer :public_send instead of
2017-05-06 23:06:52 +02:00
alpaca-tc
05b72368ed Fixes slow query in notifications api (#2851)
* Add inclusion validation for activity_type

* When excluding all types with `WHERE NOT IN`, the query search all rows.
2017-05-06 21:55:40 +02:00
Koala Yeung
bd71327180 Fix Croatian localedata issues in mastodon.js (#2844)
* locale: added hr and oc react-intl locale data

* adds Croatian locale data in mastodon.js
* adds Occitan locale data in mastodon.js

Resolves #2667

* locale: sort locale data imports in mastodon.js

* locale: remove oc reference

* [react-intl](https://github.com/yahoo/react-intl) does not provide
  default locale data for Occitan. Hence removed from reference.
2017-05-06 17:30:48 +02:00
Yamagishi Kazutoshi
aa235318fc Add Japanese tranlsation for getting started, and run manage:tranlation (#2839)
* Add Japanese tranlsation for getting started, and run manage:tranlation

* remove unnecessary {apps}
2017-05-06 17:04:53 +02:00
alpaca-tc
a0b1951791 Refactor domain_blocks_controller (#2843)
* Set domain_block by before_action

* Cast value with ActiveRecord::Type

* Batch update
2017-05-06 17:03:34 +02:00
rch850
453fb84c9c Use null as default oEmbed height (#2842)
Height 640 is too big for most toots.
Twitter use null value to support flexible height.
2017-05-06 16:31:43 +02:00
alpaca-tc
59804abc3d Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
jeroenpraat
496f466d73 Added support options to the bottom right (#2769)
* Added support options to the bottom right

I don't know if this is actually wanted, but I made these changes on my instance, so why not share it. Not wanted? No problem! BTW: Maybe the Mastodon image should leave here, cause there is no space left cause of the increased height of the getting started column.

* 2 paragraphs looks cleaner

* Update

* Good morning
2017-05-06 13:43:43 +02:00
Eugen Rochko
b8e166894b Fix Scheduler::SubscriptionsScheduler (#2834)
* Fix Scheduler::SubscriptionsScheduler, add worker test for it

* Change production log level of Sidekiq to "warn" instead of "info"
2017-05-06 13:05:03 +02:00
alpaca-tc
1f15a15621 Handling failed http response (#2823) 2017-05-06 12:55:59 +02:00
m4sk1n
fd1e29c3f8 i18n: Updated Polish translation (#2832)
* i18n: updated Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: completed Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>
2017-05-06 11:06:55 +02:00
Nolan Lawson
553e13144f remove legacy decorators, use lodash.debounce (#2830) 2017-05-06 11:05:32 +02:00
Koala Yeung
cf0b753209 Streamline javascript translation by improving translationRunner (#2808)
* package.json: Add "build:*" targets

* Improve react-intl-translations-manager workflow.
  * Added "build:production" to build production bundle.
  * Added "build:development" to build development bundle.

* Fix json translation files

* Run `yarn manage:translations` to fix translation files.
* Fix `pl.json` for syntax error.

* translationRunner: auto detect existing languages

* Auto detect existing rfc5646 language tag in *.json filenames
  in `app/javascript/mastodon/locale` folder. No need to manually
  define every new language in the languages array here.

* translationRunner: add more functionality

* Allow script user to specify language code to check.
* Added available language check.
* Added --force flag to force creation of unexists language.
* Added --help flag and help messages.

* gitignore: ignore npm-debug.log

* Fix webpack error if NODE_ENV is not defined

Default to use 'development' in config/webpack/configuration.js
2017-05-06 04:05:38 +02:00
alpaca-tc
ddc34feb58 Optimize follower_accounts and following_accounts (#2820) 2017-05-06 04:03:07 +02:00
Matt Jankowski
3f5b994ff0 Stream entry specs and refactor to use delegate (#2827)
* Add coverage for stream entry delegated methods

* Use delegate with allow_nil to clean up stream entry
2017-05-06 04:00:21 +02:00
gentaro
dacdfec973 Added japanese version of terms of service and privacy policy (#2703)
* Added japanese version of terms of service and privacy policy

* Fix typo

* Add trasnlation for title.

* Improve translation and update the date.
2017-05-06 02:23:22 +02:00
Matt Jankowski
4e05751346 Move account header and avatar methods to a concern (#2825) 2017-05-05 21:37:02 +02:00
alpaca-tc
ee3e0a93f4 Fixes unknown mime type (#2822) 2017-05-05 21:32:14 +02:00
alpaca-tc
d1290fbd8f Fixes propTypes warning introduced by #2774 (#2824) 2017-05-05 21:31:20 +02:00
Matt Jankowski
484c9709b6 Misc spec coverage improvements (#2821)
* Dont use raise_error by itself (avoids warning)

* Add coverage for AccountFilter

* Improve coverage and refactor for Subscription#lease_seconds

* Improve coverage and refactor for NotificationMailer

* Simplify assignment of min/max threshold on subscription
2017-05-05 14:56:00 -04:00
masarakki
d08f1112d5 use Twitter::Extractor for creating links (#2502) 2017-05-05 19:48:22 +02:00
Koala Yeung
886176f854 Update Locale zh-HK (#2818)
* locale: Add missing translation in zh-HK.yml

* locale: fix consistancy in zh-HK.yml translation

* locale: Improve zh-HK yml translations

* Use "PuSH" in all "PubSubHubBub" occurances.
* Simplify text on front page.
* Improve doorkeeper authorization table translations.
* Simplify setting form text for better layout.
* Improve "Business Email" translation.

* locale: Update zh-HK.json

* Fix untranslated text.
* Improve translations.
2017-05-05 18:48:54 +02:00
Yamagishi Kazutoshi
d397d0d681 Run manage:translations (#2816) 2017-05-05 18:46:51 +02:00
Matt Jankowski
20c37ed0f9 Add specs (and refactor) of FetchRemoteResourceService and SearchService (#2812)
* Coverage for fetch remote resource service

* Refactor fetch remote resource service

* Coverage for search service

* Refactor search service
2017-05-05 17:26:04 +02:00
Yamagishi Kazutoshi
9501a87704 Add Japanese translate to home column when inactive (#2813) 2017-05-05 17:25:42 +02:00
ButterflyOfFire
8f0f4a861a Update ar.json (#2815)
Adding more arabic translated strings.
2017-05-05 17:25:17 +02:00
Eugen Rochko
81584779cb More robust PuSH subscription refreshes (#2799)
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron

Fix an issue where / in domain would raise exception in TagManager#normalize_domain

PuSH subscriptions refresh done in a round-robin way to avoid hammering a single
server's hub in sequence. Correct handling of failures/retries through Sidekiq (see
also #2613). Optimize Account#with_followers scope. Also, since subscriptions
are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire
refreshing operation halfway through

Fix #2702 - Correct user agent header on outgoing http requests

* Add test for SubscribeService

* Extract #expiring_accounts into method

* Make mastodon:push:refresh no-op

* Queues are now defined in sidekiq.yml

* Queues are now in sidekiq.yml
2017-05-05 02:23:01 +02:00
R Tucker
61c33652ad ui: check spoiler_text against regex filter (#1635) (#2665)
* ui: check spoiler_text against regex filter (#1635)

When filtering by regex, also check the spoiler_text if
present.

* ui: concatenate spoiler and content in reducer

Simplifies aa5b03c, clarifies intent of the field
2017-05-04 23:48:48 +02:00
alpaca-tc
74c8ca699c Delete records in smaller transaction (#2802) 2017-05-04 23:44:39 +02:00
Eugen Rochko
eddb95b012 When streaming API is disconnected, poll home/notifications (#2776)
* When streaming API is disconnected, poll home/notifications
Display slightly different empty home timeline message if user is following others
Cull notifications to 20 items when over 40 get added in real-time
Run manage:translations

* Optimize <HomeTimeline /> a little
2017-05-04 23:41:34 +02:00
AA4ch1
a50a87457e Fix language selector on preferences page (#2794) 2017-05-04 14:39:25 -04:00
Yamagishi Kazutoshi
566e0a772d Improve style for form in site settings (#2796) 2017-05-04 14:37:57 -04:00
Masoud Abkenar
11077af52f Persian translation update (#2788)
* Persian translation update

* fix newline typo
2017-05-04 18:32:05 +02:00
Wonderfall
0fc73a6e47 about page : use slightly more space (#2791) 2017-05-04 18:16:00 +02:00
Matt Jankowski
2bd132d458 Replace best_in_place editor on admin settings page (#2789)
* Remove best_in_place

* Replace best_in_place usage with rails helpers

* Move admin/settings#index to #edit action

* Remove click_to__edit from i18n
2017-05-04 18:12:44 +02:00
Akihiko Odaki
0cdcf32865 Use ws protocol in streaming API base URL (#2606) 2017-05-04 15:55:13 +02:00
Yamagishi Kazutoshi
e95983f5df Decode IDNA in PreviewCard (#2781) 2017-05-04 15:52:08 +02:00
unarist
e57e6f509d Show emoji shortname by a tooltip (#2784) 2017-05-04 15:50:09 +02:00
Eugen Rochko
13c16b4e95 Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses (#2734)
* Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses

If a delete arrives before the original status, cache that information
for 6h, and if the original status arrives in that window, ignore it

* Add test case
2017-05-04 04:34:57 +02:00
Eugen Rochko
4fcc0d5ac9 Fix #2725 (#2774) 2017-05-04 01:42:03 +02:00
goofy-bz
44969307c7 Update fr.json (#2757)
ajout espace insécable derrière pouet - pour voir
2017-05-03 23:36:01 +02:00
m4sk1n
4babdff72f i18n: updated Polish translation (#2768)
Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>
2017-05-03 23:19:11 +02:00
Tomohiro Suwa
aa6a26a2d5 Correct Account model for rubocop (#2587)
* Correct Account model for rubocop

* Undo these changes
2017-05-03 19:13:04 +02:00
Matt Jankowski
d91ba3c8d0 Remove screenshot image (#2736) 2017-05-03 17:03:10 +02:00
Eugen Rochko
bafd22ecf4 Fix #2706 - Always respond with 200 to PuSH payloads (#2733)
Fix #2196 - Respond with 201 when Salmon accepted, 400 when unverified
Fix #2629 - Correctly handle confirm_domain? for local accounts
Unify rules for extracting author acct from XML, prefer <email>, fall back
to <name> + <uri> (see also #2017, #2172)
2017-05-03 17:02:18 +02:00
Matt Jankowski
8c5ad23b24 Language improvements, replace whatlanguage with CLD (#2753)
* add failing en specs

* add cld2 gem

* Replace WhatLanguage with CLD
2017-05-03 16:59:31 +02:00
ヨイツの賢狼ホロ | 3rd style
1c469ca98b i18n: Update zh-CN [ Chinese (China) ] translations. (#2699)
* Update zh-CN translations.

* Update doorkeeper.zh-CN.yml

* Follow @Artoria2e5 's change advices.

* forget mail for text format ......

* fix some changes

* mail's html version ......

* https://github.com/tootsuite/mastodon/pull/2699#pullrequestreview-35982283

* a space.....

* delete some unused keys
2017-05-03 14:03:16 +02:00
unarist
e61ecf4091 Add styles for small devices to .onboarding-modal (#2748) 2017-05-03 14:02:15 +02:00
kawax
383c0b7802 Show boosted user's avatar (#2518)
* Show boosted user's avatar

* add .status__avatar-boost

* margin

* apply to notifications too.

* account__avatar-boost

* Add inline prop to Avatar component

* Add AvatarOverlay component

* rename mixins.scss

* move files for latest master

* fixed for webpack
2017-05-03 11:43:37 +02:00
unarist
40562fd266 Fix width of .confirmation-modal on narrow screens (#2743) 2017-05-03 11:39:14 +02:00
Yamagishi Kazutoshi
2ab7dc9a55 Use URI.join for generate asset URL (#2741)
* Use URI.join for generate asset URL

* to String
2017-05-03 11:31:21 +02:00
Eugen Rochko
f5bf5ebb82 Replace sprockets/browserify with Webpack (#2617)
* Replace browserify with webpack

* Add react-intl-translations-manager

* Do not minify in development, add offline-plugin for ServiceWorker background cache updates

* Adjust tests and dependencies

* Fix production deployments

* Fix tests

* More optimizations

* Improve travis cache for npm stuff

* Re-run travis

* Add back support for custom.scss as before

* Remove offline-plugin and babili

* Fix issue with Immutable.List().unshift(...values) not working as expected

* Make travis load schema instead of running all migrations in sequence

* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />

* Add react definitions to places that use JSX

* Add Procfile.dev for running rails, webpack and streaming API at the same time
2017-05-03 02:04:16 +02:00
Matt Jankowski
268dd32d76 Auth sign out (#2511)
* Add a spec for signing out

* Add spec showing that suspended user gets a 403 forbidden on sign out

* Allow suspended account users to sign out
2017-05-02 23:37:58 +02:00
Kaylee
7880671f35 Add option to disable two factor auth in admin accounts panel. (#2584)
* Add option to disable two factor auth in admin accounts panel.
Closes #2578

* Add @mjankowski's suggestions.
* Moves destroy actions behind User#disable_two_factor!
* Adds spec coverage for Admin:TwoFactorAuthenticationsController and User#disable_two_factor!
2017-05-02 21:07:12 +02:00
Matt Jankowski
b5eec34230 Add admin area view partials for each record type (#2700) 2017-05-02 20:56:28 +02:00
Audun Larsen
e68c0ce5f6 Norwegian translation for email notifications (#2673)
* Create confirmation_instructions.no.html.erb

* Create confirmation_instructions.no.text.erb

* Create password_change.no.html.erb

* Create password_change.no.text.erb

* Create reset_password_instructions.no.html.erb

* Create reset_password_instructions.no.text.erb

* Translates html welcome email

* Translates welcome email

* Translates html password changed email

* Translates password changed email

* Translates html reset password email

* Translates reset password email

* Fixes typo in translation

* Fixes typo in translation
2017-05-02 20:18:43 +02:00
Ash Furrow
54dddfe9b8 Darkens colour on stream entries meta. (#2616) 2017-05-02 20:10:55 +02:00
Yamagishi Kazutoshi
46943b64c6 Reset textarea height when press submit key (#2681)
* Reset textarea height when press submit key

* dry

* DON'T NEED props
2017-05-02 20:08:21 +02:00
hakoai
22b1a70274 Fix to completely hide NSFW-tagged images (#2724) 2017-05-02 20:03:00 +02:00
Yamagishi Kazutoshi
6f75c8451d Fix subscription expiration condition (#2715)
* Fix subscription expiration condition

* dry and add spec
2017-05-02 18:21:22 +02:00
Yamagishi Kazutoshi
b9b78549f3 Make it possible to check Subscription that has expired (#2712) 2017-05-02 15:52:30 +02:00
Ira
438ce5809f Add Hebrew interface translation. (#2573)
* follow the instructions for registering the language as stated on the Tootsuite's docs.

* Added translation strings from latest master

Adding &rlm; characters to many strings that are misdirected in the interface.

A tiny grammar fix

Updates of Hebrew strings to v1.3.1

Hebrew translation of the mailer templates.

Fix strings and a missing comma.

Just discovered two string keys were updated. this should lay Travis' mind to rest at last.

Remove mentions before counting characters to decide RTL ratio

Fixes for PR #2573

updated strings for latest master

Undo RTL counting, moved out to another branch for future consideration...
2017-05-02 08:54:35 -04:00
Stephen Burgess
34ae4cf511 fix(boost-icon): Align center for Firefox (#2690) 2017-05-02 02:15:14 +02:00
yhirano
298796cc7b annotate models (#2697)
* add annotate to Gemfile

* rails g annotate:install

* configure annotate_models

* add schema info to models

* fix rubocop to add frozen_string_literal
2017-05-02 02:14:47 +02:00
Matt Jankowski
a4859446ab Coverage for remote follows (#2694)
* Add coverage for create with empty acct value

* Add coverage for create with webfinger failure

* Add coverage for create with webfinger providing bad values

* Add coverage for create when webfinger is good

* Add coverage for session[:remote_follow] having data

* Simplify how remote follow pulls acct from session

* Remote follow behaves more like model

* Move the discovery portions of remote follow out of controller

* Check for suspended accounts
2017-05-02 00:44:23 +02:00
Matt Jankowski
7bffd16024 Error responses cleanup (#2692)
* Use respond_with_error for forbidden errors

* Wrap up common error code into single method
2017-05-01 22:24:36 +02:00
Giuseppe Pignataro
2bd46f442d Italian translation (#2654)
* Added Italian Translation of the following files:
Changes to be committed:
	new file:   app/views/user_mailer/confirmation_instructions.it.html.erb
	new file:   app/views/user_mailer/confirmation_instructions.it.text.erb
	new file:   app/views/user_mailer/password_change.it.html.erb
	new file:   app/views/user_mailer/password_change.it.text.erb
	new file:   app/views/user_mailer/reset_password_instructions.it.html.erb
	new file:   app/views/user_mailer/reset_password_instructions.it.text.erb

* Added italian translation
Changes to be committed:
new file:   config/locales/activerecord.it.yml
2017-05-01 18:14:51 +02:00
Stephen Burgess
11b706acdf fix(scrolling): Center for large screen w/o breaking horiz scroll (#2682) 2017-05-01 18:14:26 +02:00
Stephen Burgess
33b9e8d461 fix(dropdowns): Allow for dropdowns to fill full column (#2684)
* fix(dropdowns): Allow for dropdowns to fill full column

When the text inside a dropdown is longer than it is for English, the text is truncated which can result in a less-than-usable experience for languages such as German with longer words. This commit addresses the following:

* Allow the dropdown to expand to the entire width of the column based on the length of the text in the dropdown
* Align active dropdown arrow in relation to the trigger rather than the dropdown
* Show the right hand side of the dropdown which was previously hidden (could not see border radius)
* Ensure the three places dropdowns of status, account, and emoji appear well in Chrome, Firefox, Safari

* fix(emoji-dropdown): Restore emoji dropdown caret
2017-05-01 18:13:10 +02:00
Matt Jankowski
f025cc6782 Filter on allowed user language preferences (#2361)
* Naive approached to timeline filtering

* Convert allowed_languages into a db column

* Allow users to choose languages to see statuses in

* Style list items as two columns

* Add a hint to explain language filtering preference
2017-05-01 17:42:13 +02:00
yhirano
3988f2dade Fix Rubocop offences (#2630)
* disable Bundler/OrderedGems

* fix rubocop Lint/UselessAssignment

* fix rubocop Style/BlockDelimiters

* fix rubocop Style/AlignHash

* fix rubocop Style/AlignParameters, Style/EachWithObject

* fix rubocop Style/SpaceInLambdaLiteral
2017-05-01 16:31:02 +02:00
Yamagishi Kazutoshi
1899cf5f04 Detect extension for preview card (#2679)
* Detect extension for preview card

* next
2017-05-01 16:20:57 +02:00
Matt Jankowski
5259319cf5 Reports spec for media attachments, clean up method (#2660)
* Add coverage for Report#media_attachments

* Direct query on media attachment
2017-04-30 18:15:49 +02:00
Alvina Putri
282427cdd9 Updating Indonesian locale (#2644)
* update id.jsx file

* update id.yml for new strings and improvements

* add activerecord.id.yml

* improve translation that out of context

* fix another ooc string

* fix main key
2017-04-30 11:35:15 -04:00
Noëlle Anthony
c67d3c990b Additional key checks for browser compatibility (#2539)
Not all browsers recognize e.key === 'Escape'; some use 'Esc' and some only respond to the keyCode.
2017-04-30 09:12:14 -04:00
Hugo Gameiro
2e47fe3e1a Center web app on larger windows sizes (#2021)
* center web app for larger screen sizes

* move center app to components.scss

* center app on larger window sizes

* center .columns-area
2017-04-30 09:01:09 -04:00
AA4ch1
e12bb39c20 Fix character_counter.jsx (#2653)
This commit fixes #2576
2017-04-30 08:58:33 -04:00