Commit Graph

2245 Commits (05833fc24aeb449489a0b444804125d267bf158c)

Author SHA1 Message Date
Jack Jennings 877b82f63e Move status reblog authorization into policy (#3425) 2017-05-30 15:16:14 +02:00
Yamagishi Kazutoshi f3ba3fd759 Change libraries path to relative (#3433) 2017-05-30 15:13:04 +02:00
Nolan Lawson 05145a95e4 Extract polyfill loading into single module (#3421) 2017-05-30 15:11:15 +02:00
Jack Jennings faf53a5a3e Extract authorization policy for viewing statuses (#3150) 2017-05-29 18:22:22 +02:00
Nolan Lawson 4ee3796db7 Add IntersectionObserverWrapper to cut down on re-renders (#3406) 2017-05-29 18:17:51 +02:00
Akihiko Odaki ff2bfea0b3 Remove methods from ObfuscateFilename and spec (#3347)
* Remove methods from ObfuscateFilename

* Spec ObfuscateFilename
2017-05-29 18:14:16 +02:00
Atsushi Yamamoto 4547e3585a 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 147a048e20 Prevent wasted render in load_more.js (#3402) 2017-05-29 17:52:45 +02:00
lindwurm a51e331cf0 l10n: Fix Japanese translation (#3410)
* "メデイア" -> "メディア"

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-05-29 17:52:02 +02:00
Nolan Lawson fbd7406c93 Use immutable list in UploadButton to avoid wasteful re-render (#3394) 2017-05-28 19:15:35 +02:00
Eugen Rochko 2847d39133 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 63a8bc1a24 Ukrainian translation: fix typo (#3393) 2017-05-28 19:11:29 +02:00
Nolan Lawson 2810bd3f3d Fix IntersectionObserver isIntersecting in Edge (#3365) 2017-05-28 16:45:42 +02:00
Nolan Lawson f506c4b342 Simplify isIntersecting in status_list.js (#3371) 2017-05-28 16:26:35 +02:00
Masoud Abkenar c463765f31 Persian translation fixes and updates (#3380)
* Persian translation fix

* Persian translation of new strings
2017-05-28 16:25:45 +02:00
Eugen Rochko a46c2a5e19 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 b62295117e 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 8b906782a2 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 f7283b1f0f Fix empty flash message on the settings page (#3345) 2017-05-27 13:04:28 +02:00
happycoloredbanana a867644030 Avoid comparing domains when looking for an exact match of a local account (#3336) 2017-05-27 00:55:08 +02:00
Eugen Rochko 510b12b5dc Add missing background center on public profile headers (#3340) 2017-05-27 00:54:00 +02:00
Eugen Rochko 1b9b49b01a 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 c4e1274833 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 a72c7b01ec 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 04a0a1d4ba Add "meta" attribute to return of POST /api/v1/media method as well (#3333) 2017-05-26 18:22:30 +02:00
Eugen Rochko e600e0d0c5 Introduce react-textarea-autosize instead of using style.height side effects (#3334) 2017-05-26 18:22:23 +02:00
Akihiko Odaki 4c8708522a 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 a77031d669 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 8a5d3b2e5d 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 3d3441dddd 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 98b39c2cbc Replace onWheel listener with onScroll (#3324)
* Replace onWheel listener with onScroll

* Update column.js
2017-05-26 14:09:13 +02:00
unarist c9325ad703 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 (5efcea69), 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 98d10851ca Improve shouldComponentUpdate for status and status_action_bar (#3323) 2017-05-26 14:05:52 +02:00
Nolan Lawson f179a99a7e implement shouldComponentUpdate for relative_timestamp (#3320) 2017-05-26 03:25:41 +02:00
Eugen Rochko fc3c32d40c Fix style regression of buttons not inheriting document font by default (#3310) 2017-05-25 21:15:41 +02:00
Nolan Lawson e5fc974cb9 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 14e97fbedc Attach ReactPerf to window for easier debugging (#3318) 2017-05-25 21:14:40 +02:00
unarist 3a82ee323e Add `flex: 0 0 auto` to some components to avoid bugs on iOS9 (#3313) 2017-05-25 18:59:55 +02:00
Nolan Lawson 8fe2781534 Fix Firefox issue with performance marks (#3315) 2017-05-25 18:59:18 +02:00
unarist af368a2d12 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 153e96eb02 Remove arguments in association reader (#3305) 2017-05-25 16:28:14 +02:00
unarist d85be9315a Fix an error on dragging into status_content component (#3308) 2017-05-25 16:27:44 +02:00
Nolan Lawson 534b223c29 Remove unnecessary action bar wrapper divs (#3299) 2017-05-25 14:15:12 +02:00
alpaca-tc 0931218b3f 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 b69a1f599a Add improved performance marks for development mode (#3297) 2017-05-25 14:09:55 +02:00
Yamagishi Kazutoshi 19241464e8 Add localization of datetime in public page (#3296) 2017-05-25 14:09:25 +02:00
Audun Larsen c0491db444 Norwegian translation of the onboarding page (#3303)
* Fixes translation placeholder

* Translates onboarding page
2017-05-25 14:06:10 +02:00
Daigo 3 Dango 97882e63a4 Replace \u2014 with &mdash; (#3301) 2017-05-25 14:05:54 +02:00
unarist b4692f1513 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 0949d86d83 fix-cache-returns-nil (#3213) 2017-05-25 05:18:08 +02:00
Nolan Lawson 576afed755 Name the Webpack chunks (#3291) 2017-05-25 03:30:29 +02:00
Yamagishi Kazutoshi 1a1c5a0271 Fix hovering default value for avatar component (#3290) 2017-05-25 03:08:05 +02:00
unarist dc0e45eda2 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 ccd864c41a Remove unnecessary constructors (#3280) 2017-05-24 17:55:16 +02:00
Sorin Davidoi 5efcea69d2 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 09f5091102 Show error message to suspended user (#3281) 2017-05-24 16:39:09 +02:00
Yamagishi Kazutoshi d54273621b Skip formatting for cashtag in status text (#3275)
Resolve #3270
2017-05-24 14:32:53 +02:00
Eugen Rochko b5322046d2 Fix DM being highlighted when it's inside a favourite notification (#3267) 2017-05-24 04:22:46 +02:00
unarist 9642bdbe0a 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 b886ecea5c 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 a977728990 don't notify me when my toot is faved by someone i muted (#3245) 2017-05-23 20:05:52 +02:00
alpaca-tc 46ca699d72 Toggle sensitive from admin page (#3261) 2017-05-23 19:45:43 +02:00
Matt Jankowski fecc2c2f47 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 d670290506 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 4f023cb001 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 5bb10252fa 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 5c7e4ba765 Updates Norwegian translation (#3252) 2017-05-23 13:09:53 +02:00
Ira f103e5fc65 i18n: Latest Hebew strings translated (#3250) 2017-05-23 13:08:16 +02:00
Yamagishi Kazutoshi 0b3fa49001 Refactoring. Removed useless import. (#3254)
original: https://github.com/tootsuite/mastodon/pull/2618
2017-05-23 13:08:01 +02:00
Akihiko Odaki 9cc7a3c209 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 4f2a0f546d Coverage for api/web/settings controller (#3238) 2017-05-22 23:12:28 +02:00
Matt Jankowski 8c11626321 Add coverage for ReportFilter and AccountFilter (#3236) 2017-05-22 15:50:58 -04:00
Matt Jankowski 0eb8b00cc9 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 cc91569a92 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 323eeb096c Fix locale bug when change it on preferences (#3223) (#3232) 2017-05-22 17:58:41 +02:00
Eugen Rochko a2f664f763 Fix locale regression from #3055 (#3231) 2017-05-22 16:26:54 +02:00
Ratmir Karabut bb40976006 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 ae917bfb23 Allow alternate domains for mastodon handlers (#3187) 2017-05-22 15:40:04 +02:00
Nolan Lawson 2d7aacf747 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 410a684c3b Change "Account.any?" to "Account.exists?" (#3217) 2017-05-22 15:02:30 +02:00
unarist 21d9bb041e Keep children of the column-collapsable until the transition is completed (#3218) 2017-05-22 15:01:27 +02:00
unarist 0581edb572 Fix "Edit profile" on the account action bar (#3222) 2017-05-22 14:57:50 +02:00
Akihiko Odaki cbd9804857 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 901a36039e Add translations for counter of profile (#3214)
ref #3101
2017-05-22 04:45:55 +02:00
Masoud Abkenar 9ce65dd7dc 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 9f05b5a078 Fix forgotten to include language attribute in statuses JSON (#3209) 2017-05-21 21:38:09 +02:00
ster 0dfe09d630 Update Ukrainian translation (#3203) 2017-05-21 18:52:50 +02:00
Akihiko Odaki 90c8175cb0 Fix mutes_controller error and incorrect statuses_controller report (#3202)
This commit fixes a regression in commit
9d32e7f6d5.
2017-05-21 13:32:13 +02:00
vidarlee 601c3668e3 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 b51beb6486 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 9ade22cd04 Improve language filter preferences look (#3184) 2017-05-20 19:42:44 +02:00
Yamagishi Kazutoshi d7d6a30287 Add MS Edge support to public.js (#3179) 2017-05-20 18:15:43 +02:00
spla d4e99f6efa 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 f23a0655fe Fix regressions in api/v1 (#3178)
The regressions are introduced at commit
9d32e7f6d5 by me (Akihiko Odaki)
2017-05-20 17:48:34 +02:00
Matt Jankowski 1122249e51 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 e4ed0b155c 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 ee5e342a42 Fix block list 500 (#3174) 2017-05-20 17:01:14 +02:00
Nolan Lawson fb220aefc9 Remove unnecessary status__info-time div (#3172) 2017-05-20 16:48:49 +02:00
Akihiko Odaki 9d32e7f6d5 Use joins for account properties (#3167) 2017-05-20 15:13:51 +02:00
Sorin Davidoi fcf794aebe 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 5202908017 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 9054d82d51 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 1596329b26 Updating the French translations for the web client (#3164) 2017-05-20 13:38:26 +02:00
beatrix 4f3b6cc3be guard against empty domain block list in status scope (#3161) 2017-05-20 13:38:13 +02:00
Eugen Rochko 94b26e90fa 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 eeb78b394c feat: Use CSS contain to avoid computations (#3158) 2017-05-20 01:26:46 +02:00
PFM 27fc0ba24e 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 de5e67238b Fix federated timeline excluding local toots when any domain blocks are set (#3151) 2017-05-19 21:19:41 +02:00
Eugen Rochko 5695449335 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 83058002f6 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 e3dcaaf0b9 Unify the method of extracting tags (#3138) 2017-05-19 20:19:14 +02:00
Matt Jankowski c8f8629c7e Add spec coverage for regeneration worker (#3143) 2017-05-19 16:55:09 +02:00
Matt Jankowski fbc28a9d0f Remove unused style helper (#3145) 2017-05-19 16:54:47 +02:00
Matt Jankowski 4423ed3557 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 d1f83bee86 Remove react-autosuggest (#3140)
react-autosuggest is added from b91faaebbb

Dependence removed from d088b3cade
2017-05-19 15:21:34 +02:00
Yamagishi Kazutoshi 9ab33ded34 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 fb2826be40 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 2ad6edded5 Replace inline styles with stylesheet (#3115) 2017-05-19 11:42:54 +02:00
alpaca-tc b0979ed58e Define instance method outside #included (#3128) 2017-05-19 11:41:45 +02:00
Matt Jankowski 6619cfe934 Conditional validations no longer accept strings for if/unless (#3124) 2017-05-19 03:11:23 +02:00
Matt Jankowski bab5df2872 Use stylesheet_pack_tag in embedded layout, avoids pipeline deprecation warning (#3123) 2017-05-19 03:11:17 +02:00
Matt Jankowski 48b3f0cffa Skip asset pipeline for static file in public/ (#3125) 2017-05-19 02:41:56 +02:00
Eugen Rochko 0cafe62561 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 b3f0e6f7b9 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 ffea738a84 refactor: Import from react-router/lib (#3117) 2017-05-18 19:14:03 +02:00
Yamagishi Kazutoshi bd1f7d0b9c Fetch remote image using http.rb (#3114) 2017-05-18 15:43:10 +02:00
Ira 105b93ba94 i18l: Hebrew translation updates (#3109) 2017-05-18 13:57:58 +02:00
Quent-in 11d6f5c100 update (#3113) 2017-05-18 12:48:41 +02:00
Yamagishi Kazutoshi 6e984e68de Add rel="noopener" to getting started (#3104) 2017-05-18 03:05:30 +02:00
Eugen Rochko ae6984de48 Fix character counter not updating for bio (#3101) 2017-05-18 00:38:18 +02:00
Eugen Rochko 4faf1e3d73 Add reset button to admin accounts search, improve looks a little (#3100) 2017-05-18 00:38:01 +02:00
Yamagishi Kazutoshi 6cab5a82d5 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 5523fd6efb Refactor Status#ancestors/descendants (#3092) 2017-05-17 15:38:16 +02:00
alpaca-tc f6a167b30e Render translated view (#3093) 2017-05-17 15:36:56 +02:00
alpaca-tc c0791aa647 Add filter to AccountFilter (#2968) 2017-05-17 03:00:34 +02:00
Stephen Burgess 06dfb1b316 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 e153231d85 One string NL update (#3090) 2017-05-17 02:54:41 +02:00
Eugen Rochko c1d880d9a8 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 93e9f8b3ed Fix #2572 - Resolve preview cards for remote statuses as well as local ones (#3088) 2017-05-17 00:41:15 +02:00
spla 6bf6a21658 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 2e7c9c77f8 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 5c2daded5c Enable to handle app immediately after closing modal (#3082) 2017-05-16 12:12:38 +02:00
Shunsuke Michii 37c8d4ce7e Make faster ProcessFeedService (#3080)
* Add index accounts on uri.

* Remove a blank line.
2017-05-16 12:12:29 +02:00
masarakki 523f82db5e use-symbol-in-order (#3081) 2017-05-16 12:10:09 +02:00
alpaca-tc b8b7be1e4a Improve Account#triadic_closures (#3079) 2017-05-16 12:06:38 +02:00
alpaca-tc 41295c0bbd Order by symbol value (#3077) 2017-05-16 03:35:17 +02:00
alpaca-tc 0d7dc192c3 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 ba3fa2bb28 chore(landing_strip): hide signup path unless the instance allows registration. (#3055) 2017-05-16 00:41:09 +02:00
Eugen Rochko 160c50957f Fix #2646 - Do not override ctrl/cmd+click on Permalinks (#3073) 2017-05-15 22:36:38 +02:00
Eugen Rochko bd7dc50186 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 a4a52180cd 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 f1f280517a Update Japanese tranlsation of conversations muting (#3070) 2017-05-15 18:05:28 +02:00
Eugen Rochko 5039bc93d5 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 456099eebf 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 5d1f249685 Fix only typo (#3035) 2017-05-14 12:58:50 +02:00
Eugen Rochko 83b444ddab 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 3434547038 tiny js fix for 'show more' button in chrome (#3045) 2017-05-13 22:07:58 +02:00
Stephen Burgess 095c99fb53 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 2e07e3acf3 i18n: Hebrew string updates (#3037) 2017-05-13 17:05:02 +02:00
Shunsuke Michii 22353d25e7 Fix og:url. (#3031) 2017-05-13 15:56:42 +02:00
alpaca-tc 4b5edb0d16 Fixes NoMethodError: undefined method 'first' for nil:NilClass (#3036) 2017-05-13 15:56:12 +02:00
beatrix b460582b67 Revert HTML CW changes (#3020)
* selectively Revert "Fix regressions from #2683 (#2970)"

This reverts commit 3702e2c924.

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

This reverts commit 4f54465c3b.
2017-05-13 04:03:43 +02:00
Eugen Rochko 706ebea56e Make direct statuses stand out more (#3025)
Resolves #2515
2017-05-13 01:38:51 +02:00
jeroenpraat 33737acda3 Finalizing Dutch strings (#3028)
for this file.
2017-05-13 00:13:08 +02:00
Wonderfall df4b9580d4 fix #3008 : props was not defined (#3022) 2017-05-12 20:58:41 +02:00
Matt Jankowski dc59643e73 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 9621ff6982 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 a9a01aad32 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 12ef99556e 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 7b5af13d19 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 464e70ceff 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 b5091f16f0 Fix not rejecting remote URIs when parsing out local IDs (#3012) 2017-05-12 16:47:55 +02:00
Eugen Rochko 777f28e06b Fix locales again (#3010)
* Normalize locales

* Restore "mention" locale key
2017-05-12 14:46:21 +02:00
Yamagishi Kazutoshi 2d254f9733 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 bb619d421f 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 6582c6e147 Update ar.json (#3004)
Updating some arabic translations.
2017-05-12 14:32:35 +02:00
Eugen Rochko db707c7af3 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 42d5aa26cc Fix #2205 - Delete associated notifications when a status is deleted (#2994) 2017-05-11 21:54:47 +02:00
Eugen Rochko 7c20c80ed7 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 090f27b86f 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 08f861bbc5 Focus tab of Mastodon when clicking notification (#2989) 2017-05-11 13:34:05 +02:00
Nolan Lawson 4692cc8d98 Add dynamic polyfills for older browsers (#2985)
Fixes #2941
2017-05-11 11:26:06 +02:00
Go Shoemake f87af43ee7 Fixed mention regex to support unicode (#2420) 2017-05-11 03:47:38 +02:00
Yamagishi Kazutoshi 83b0107167 Refine unescapeHTML (#2977) 2017-05-11 02:22:40 +02:00
Yamagishi Kazutoshi 04e4aa2096 Remove unnecessary .keep files (#2976)
Follow up #2902
2017-05-11 01:45:42 +02:00
Eugen Rochko 3702e2c924 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 634b19b725 Very small fix/update NL strings (#2971)
* Very small fix/update NL strings

* Oops
2017-05-11 00:20:13 +02:00
Matt Jankowski 60fa69399c 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 ee7719d540 Fix #2955 - Send HEAD request ahead of GET when fetching URL previews (#2972) 2017-05-10 23:30:07 +02:00
alpaca-tc d0c0fed791 Add `account_id DESC` to optimize PrecomputeFeedService (#2967) 2017-05-10 20:33:32 +02:00
beatrix e71ac76f5e fix a regression introduced by 4f54465c3b (#2966)
that caused user pages to break when showing toots with CWs
2017-05-10 20:32:59 +02:00
Wonderfall 04ee7e7b62 align buttons with column headers (#2964) 2017-05-10 20:32:26 +02:00
Matt Jankowski cd8fc8031f 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 67aa79964e 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 cd3630e3d1 Spec coverage and refactor of digest mailer worker (#2961) 2017-05-10 15:45:43 +02:00
Koala Yeung 9a944ec49b 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 6d039ffe97 Fix compose_form.js for #2904 (#2960) 2017-05-10 14:41:39 +02:00
R Tucker 4f54465c3b 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 221898cc90 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- 83cade5886 Disabled auto focus on toot form when search results are shown. (#2942) 2017-05-10 02:51:43 +02:00
Matt Jankowski b188aeb0e7 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 87ef624429 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 a1abb11656 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 401765cffe 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 5b538cde50 Fixed bug that timeline can not be displayed by InvalidURIError (#2947) 2017-05-09 18:17:41 +02:00
haoyayoi a5ad348182 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 53f6534b66 Fix missing or not gender neutral strings. (#2944) 2017-05-09 16:14:44 +02:00
Yamagishi Kazutoshi 84a4758114 Remove jquery-ujs (#2939)
* Remove jquery-ujs

* fix for eslint
2017-05-09 14:50:43 +02:00
Yamagishi Kazutoshi 3fbd3dc837 Fix duplicated values in nl.json (#2931) 2017-05-09 14:12:35 +02:00
Koala Yeung f448606096 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 62cdc492d8 Fix snackbar notification stacking order (#2935) 2017-05-09 14:01:29 +02:00
HANATANI Takuma 832bcd97a4 Add cursor property to toot user avatar. (#2933) 2017-05-09 03:48:15 +02:00
Matt Jankowski c298bcbb49 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 735c5098c5 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 e8e3827cba 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 02ca71c7bf 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 23f6ec856f Delegate Account#user_locale method and allow nil (#2927) 2017-05-08 23:10:50 +02:00
ButterflyOfFire eb0050d9ec 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 cd27deb5e3 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 df87636834 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 50d632ea01 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 3f61d4e01c 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 ce8562e0e2 Fix broken features list in RTL languages (#2909)
Fixes #2905
2017-05-08 15:52:51 +02:00
ster f6cf4dc61d Fix small typo in ru.json (#2906) 2017-05-08 15:03:17 +02:00
HANATANI Takuma d19f86f596 Remove unnecessary keep file. (#2902) 2017-05-08 15:01:19 +02:00
yhirano cf1f65bf58 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 bddb03a089 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 3aa6f28dae 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 4e4fb24662 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 283e1e265a 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 23765496c5 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 1ef8cd0bbc Add final newline to locale files (#2890) 2017-05-07 19:55:47 +02:00
ButterflyOfFire d6be7519ff 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 38d8eb7b97 raise-when-oembed-not-found (#2882) 2017-05-07 19:00:40 +02:00
alpaca-tc 2745fc5268 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 31d5a6da08 locale: add Occitan locale-data for js (#2845)
Translation works by @Quent-in.
2017-05-07 16:39:37 +02:00
Özcan Zafer AYAN 93690f66f6 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 7dc3fbd592 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 f1bf2214bc Remove local_time gem, and add similar (#2875) 2017-05-07 15:22:54 +02:00
Yamagishi Kazutoshi 7ef4bdce19 Fix a aspect ratio for the embedded video (#2872) 2017-05-07 15:21:46 +02:00
Ira 5649d15a71 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 d2aae2c2e0 Unblock domain service specs/refactor (#2867)
* Add spec for unblock domain service

* Refactor UnblockDomainService
2017-05-07 14:44:28 +02:00
Koala Yeung c9a83b57fc 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 2d39fc360d Fix locale key for account card (#2866) 2017-05-07 03:09:58 +02:00
Nolan Lawson c9e8d229a4 add asynchronous emojione-picker (code-splitting) (#2863) 2017-05-07 02:42:38 +02:00
alpaca-tc ea2e2f4857 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 de0f63e0ac 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 582dcf4ff6 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 7b3424004d 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 1f1ce0291f 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 4a930bd556 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 0f6ae77634 Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
jeroenpraat 0b662eb783 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 78b890cc81 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 2bb3b70454 Handling failed http response (#2823) 2017-05-06 12:55:59 +02:00
m4sk1n bb6176d36a 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 63ad61a2b6 remove legacy decorators, use lodash.debounce (#2830) 2017-05-06 11:05:32 +02:00
Koala Yeung b1f14a1c7f 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 102c829f16 Optimize follower_accounts and following_accounts (#2820) 2017-05-06 04:03:07 +02:00
Matt Jankowski 05b8a950c6 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 d97e0e05e7 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 b6b297a297 Move account header and avatar methods to a concern (#2825) 2017-05-05 21:37:02 +02:00
alpaca-tc 3ceb700ea2 Fixes unknown mime type (#2822) 2017-05-05 21:32:14 +02:00
alpaca-tc 672de1c21e Fixes propTypes warning introduced by #2774 (#2824) 2017-05-05 21:31:20 +02:00
Matt Jankowski 5393dbf4a2 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 23bf01bcd6 use Twitter::Extractor for creating links (#2502) 2017-05-05 19:48:22 +02:00
Koala Yeung 79d3ce1408 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 233b0e973e Run manage:translations (#2816) 2017-05-05 18:46:51 +02:00
Matt Jankowski dc50a231de 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 71d44fd9a9 Add Japanese translate to home column when inactive (#2813) 2017-05-05 17:25:42 +02:00
ButterflyOfFire bfd7219422 Update ar.json (#2815)
Adding more arabic translated strings.
2017-05-05 17:25:17 +02:00
Eugen Rochko c32e312061 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 c1222e2c64 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 a206fa8037 Delete records in smaller transaction (#2802) 2017-05-04 23:44:39 +02:00
Eugen Rochko 171ee8fcf4 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 91642ec801 Fix language selector on preferences page (#2794) 2017-05-04 14:39:25 -04:00
Yamagishi Kazutoshi 4f1cdccbb0 Improve style for form in site settings (#2796) 2017-05-04 14:37:57 -04:00
Masoud Abkenar 1bced91edb Persian translation update (#2788)
* Persian translation update

* fix newline typo
2017-05-04 18:32:05 +02:00
Wonderfall 88b7b096e1 about page : use slightly more space (#2791) 2017-05-04 18:16:00 +02:00
Matt Jankowski 232b822d86 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 8546649425 Use ws protocol in streaming API base URL (#2606) 2017-05-04 15:55:13 +02:00
Yamagishi Kazutoshi 93ec05f976 Decode IDNA in PreviewCard (#2781) 2017-05-04 15:52:08 +02:00
unarist bbac5c7359 Show emoji shortname by a tooltip (#2784) 2017-05-04 15:50:09 +02:00
Eugen Rochko 78df86a7c8 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 a14ae886b9 Fix #2725 (#2774) 2017-05-04 01:42:03 +02:00
goofy-bz ba25539563 Update fr.json (#2757)
ajout espace insécable derrière pouet - pour voir
2017-05-03 23:36:01 +02:00
m4sk1n bb67dd45aa i18n: updated Polish translation (#2768)
Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>
2017-05-03 23:19:11 +02:00
Tomohiro Suwa 89550de8cf Correct Account model for rubocop (#2587)
* Correct Account model for rubocop

* Undo these changes
2017-05-03 19:13:04 +02:00
Matt Jankowski 4195aa80fb Remove screenshot image (#2736) 2017-05-03 17:03:10 +02:00
Eugen Rochko 91a8a5eab8 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 9db85085a9 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 e57cd022a1 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 2ca810583b Add styles for small devices to .onboarding-modal (#2748) 2017-05-03 14:02:15 +02:00
kawax dd06d92caf 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 d3ece602d8 Fix width of .confirmation-modal on narrow screens (#2743) 2017-05-03 11:39:14 +02:00
Yamagishi Kazutoshi 7efac6d577 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 ef2af79a48 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 129e06f0b3 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 fae1ed48e3 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 4645d95ffc Add admin area view partials for each record type (#2700) 2017-05-02 20:56:28 +02:00