Commit Graph

7692 Commits (70a7f72fda57415b4eef44ac2f2bd3d159051245)

Author SHA1 Message Date
Yamagishi Kazutoshi a936ccd126 Detect extname from Content-Type (#7733) 2018-06-04 18:58:36 +02:00
Chikahiro Tokoro a78445e117 fix RuboCop error (#7442)
* fix RuboCop error

RuboCop doesn't work by following error.

```
$ rubocop
Error: The `Style/TrailingCommaInLiteral` cop no longer exists. Please use `Style/TrailingCommaInArrayLiteral` and/or `Style/TrailingCommaInHashLiteral` instead.
(obsolete configuration found in .rubocop.yml, please update it)
```

it comes from RuboCop 0.53.0 [\[Fix #3394\] Separate Array & Hash Literal Comma configuration by garettarrowood · Pull Request #5307 · bbatsov/rubocop](https://github.com/bbatsov/rubocop/pull/5307)

* ci(CodeClimate): specify RuboCop version 0.54

 * https://docs.codeclimate.com/docs/rubocop#section-using-rubocop-s-newer-versions
 * [RuboCop 0.55.0 is not available yet](https://github.com/codeclimate/codeclimate-rubocop/issues/121) on CodeClimate rubocop channel
2018-06-04 14:49:10 +02:00
Yamagishi Kazutoshi 1a145c6af1 Skip processing when HEAD method returns 501 (#7730) 2018-06-04 13:42:53 +02:00
Yamagishi Kazutoshi 963b82f5e5 Add vendor prefix for background-clip (#7727) 2018-06-04 13:24:20 +02:00
Lynx Kotoura e2b4e6f05e Change border color of activity-stream (#7724) 2018-06-04 13:13:31 +02:00
Yamagishi Kazutoshi 10a8ac8b80 Submit report using meta key (#7729) 2018-06-04 13:09:52 +02:00
Yamagishi Kazutoshi f4a6f6fb89 Remove unnecessary underline on accounts table (#7728) 2018-06-04 13:09:36 +02:00
David Yip a38c4c45da Add apply-to-mentions option to keyword mute UI. #454. 2018-06-04 02:51:28 -05:00
David Yip 526f2f8e09 Add a FeedManager example demonstrating non-mention keywords. #454. 2018-06-03 23:04:00 -05:00
David Yip a000085b9c Fix spacing in some FeedManager examples. 2018-06-03 23:02:01 -05:00
David Yip 2bb5842541 Thread scopes through #matches?. #454.
Also add an apply_to_mentions attribute on Glitch::KeywordMute, which is
used to calculate scope.  Next up: additions to the test suite to
demonstrate how scoping works.
2018-06-03 23:00:50 -05:00
Eugen Rochko ca9ac011a5 Display numbers in account header using shortNumberFormat for consistency (#7723) 2018-06-04 05:15:50 +02:00
Akihiko Odaki 3114ac9655 Do not mark remote status sensitive even if spoiler text is present (#7395)
Old statuses and statuses from Pawoo, which runs a modified version of
Mastodon, may not have been marked sensitive even if spoiler text is
present.

Such statuses are still not marked sensitve if they are local or
arrived before version upgrade. Marking recently fetched remote status
sensitive contradicts the behavior.

Considering what people expected when they authored such statuses, this
change removes the sensitivity enforcement.
2018-06-04 04:46:14 +02:00
Lynx Kotoura 93d90d3237 Fix activity-stream-tabs colors and set text variables for text colors (#7722) 2018-06-04 04:39:42 +02:00
Eugen Rochko 797c72329f Fix missing column in select in mastodon:feeds:build task (#7720) 2018-06-04 04:21:15 +02:00
Eugen Rochko 2af43c3dce Fix bug in order of conversations in web UI (#7721) 2018-06-04 04:19:16 +02:00
Shuhei Kitagawa 6dfc8999f7 Add tests for embeds controller (#7719)
* Small refactoring of status_finder_spec

* Add tests for embeds_controller
2018-06-04 10:35:56 +09:00
Eugen Rochko d993629ca7 "Show" instead of "return to" after (remote)-following (#7718)
Resolve #6326
2018-06-04 03:00:36 +02:00
David Yip 9e830f7f37 Merge remote-tracking branch 'origin/master' into gs-master 2018-06-03 19:44:05 -05:00
Eugen Rochko 650e3e346b Remove trending hashtags (#7711)
* Delete trends_controller.rb

* Update routes.rb

* Update trending_tags.rb

* Update index.js

* Update index.js

* Update search_results.js

* Update async-components.js

* Update index.js

* Delete trends.js

* Delete trends.js

* Delete trends_container.js

* Delete trends.js

* Update search_results.js

* Update search_results_container.js
2018-06-04 02:18:18 +02:00
David Yip d55d5ccc9d keyword mute: Store keywords as a list
This has a couple of advantages over the regex approach:

- Keywords are individually addressable, which makes it easier to gather
  statistics (#363)
- Keywords can be individually applied to different feeds, e.g. skipping
  mentions (#454)

It *does* end up creating many more Regexp objects.  I'm not yet sure if
the difference is significant.
2018-06-03 18:12:55 -05:00
David Yip 37fe72ecf2 Merge pull request #529 from glitch-soc/tweak-491
Note that favourite confirmation applies to Glitch flavour only (#491)
2018-06-03 04:22:20 -05:00
David Yip 471b62a6a4 prefs: Note that favourite confirmation applies to Glitch flavour only (#491) 2018-06-03 03:40:27 -05:00
David Yip 5ec2d25ef6 Merge pull request #528 from glitch-soc/merge-upstream
Merge with tootsuite/master
2018-06-03 03:01:09 -05:00
David Yip 330a234d1f Whoops, forgot to clean up a conflict. 2018-06-03 02:35:54 -05:00
David Yip 1a0491b3cf Merge pull request #519 from ThibG/glitch-soc/fixes/status-node-null
Prevent a rare crash when a status' root node is undefined
2018-06-02 16:19:06 -05:00
David Yip 827d1ea864 Merge remote-tracking branch 'origin/master' into gs-master
Conflicts:
 	app/javascript/mastodon/locales/en.json
 	app/javascript/mastodon/locales/ja.json
 	app/javascript/mastodon/locales/pl.json

The above conflicts appear to be a text conflict introduced by
glitch-soc's additional level of columns (i.e. moving a bunch of columns
under the Misc option).  They were resolved via accept-ours.
2018-06-02 16:15:36 -05:00
David Yip 3dc8af0016 Merge remote-tracking branch 'personal/merge/tootsuite/master' into gs-master 2018-06-02 16:08:31 -05:00
Shuhei Kitagawa 1f622bff18 Add tests for migrations_controller (#7707) 2018-06-02 18:52:16 +09:00
Yamagishi Kazutoshi ca2a6b2071 Weblate translations (2018-06-02) (#7705)
* Translated using Weblate (Korean)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 99.6% (302 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant_HK/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 99.1% (616 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant_HK/

* Translated using Weblate (Chinese (Hong Kong))

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant_HK/

* Translated using Weblate (Slovenian)

Currently translated at 14.4% (90 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sl/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/

* Translated using Weblate (Persian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/

* Translated using Weblate (Occitan)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/

* Translated using Weblate (Occitan)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/

to check if with O or U

* Translated using Weblate (Occitan)

Currently translated at 98.0% (609 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (62 of 62 strings)

Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/eu/

* Translated using Weblate (Korean)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ko/

* Translated using Weblate (Korean)

Currently translated at 99.6% (619 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/

* Translated using Weblate (Basque)

Currently translated at 100.0% (66 of 66 strings)

Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (303 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (302 of 303 strings)

Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (619 of 621 strings)

Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/

* Translated using Weblate (Basque)

Currently translated at 100.0% (76 of 76 strings)

Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/eu/

* i18n-tasks normalize && yarn manage:translations
2018-06-02 03:03:08 +02:00
Eugen Rochko 3833c8b690 Use different algorithm for trending tags (#7697) 2018-06-01 19:19:44 +02:00
Eugen Rochko 57ad751230 Fix margin between compose warning, reply indicator and textarea (#7701) 2018-06-01 19:19:30 +02:00
Eugen Rochko aa54c65ee2 Improve trends layout (#7700)
* Allow collapsing trends, responsively hide trends

* Add trends column
2018-06-01 19:18:37 +02:00
Yamagishi Kazutoshi f64f9860c7 Add loading indicator for trending tags (#7693) 2018-06-01 14:22:42 +02:00
Yamagishi Kazutoshi fe98e276e1 Update ESLint for Code Climate (#7696)
* Update babel-eslint to version 8.2.3

* Update eslint to version 4.19.1

* Update eslint-plugin-promise to version 3.8.0

* Update eslint-plugin-react to version 7.8.2

* Upgrade eslint-plugin-jsx-a11y to version 6.0.3

* yarn test:lint --fix
2018-06-01 14:03:19 +02:00
Yamagishi Kazutoshi a87927437d Fix duplicate key attributes (#7694) 2018-06-01 14:02:49 +02:00
David Yip c10df6cf00 Merge pull request #501 from ThibG/glitch-soc/features/red-bookmarks
Make active bookmarks red (fixes #493)
2018-06-01 00:36:48 -05:00
David Yip bbe1731bb0 Merge pull request #471 from impiaaa/thread-icon
Add an extra icon to indicate that a status is part of a conversation
2018-06-01 00:35:13 -05:00
Spencer Alves 559ce5c098 Adjust spacing between status icons 2018-05-31 21:55:44 -07:00
Spencer Alves c86cd2041d Merge branch 'glitch' into thread-icon 2018-05-31 21:33:16 -07:00
Eugen Rochko 5d2d05961c Wrong exception class: ActiveRecord::RecordNotUnique, not PG::UniqueViolation (#7688)
* Wrong exception class: ActiveRecord::RecordNotUnique, not PG::UniqueViolation

It's completely not obvious but PG::UniqueViolation is just a string inside the exception message, not the actual class of the exception

* Favourite does not have target_account_id
2018-05-31 17:22:33 +02:00
Eugen Rochko 7c50de2219 Improve account index migration (#7684)
* Improve account index migration

- Display more progress in stdout
- Catch PG::UniqueViolation when re-attributing favourites
- Skip callbacks and validations when re-attributing other relationships

* Use in_batches to reduce table lock-up during account merge

* Use #say_with_time to benchmark each deduplication
2018-05-31 17:09:09 +02:00
Eugen Rochko 946091af45 Exclude unlisted, private and direct toots from affecting trends (#7686) 2018-05-31 16:47:28 +02:00
Eugen Rochko aa1f74cba6 Make the refresh trends button refresh trends (#7685) 2018-05-31 16:46:02 +02:00
Mélanie Chauvel (ariasuni) a6ddd1aba2 Put the CW field between the toot we are replying to and the toot field (#7508)
* Remove Collapsable and use CSS instead

* Put the CW field between the toot we are replying to and the toot field

* Use same spacing between all fields in the composing column
2018-05-31 15:16:31 +02:00
Thibaut Girka 93e6984be8 Make active bookmarks red (fixes #493) 2018-05-31 14:39:48 +02:00
Thibaut Girka 37dc96b71b Use history.state to decide whether we should goBack() or go to / (fixes #247)
So far, glitch-soc used history.length to decide whether to call `goBack()` or
go to / in order to not leave the webUI. This made clicking the “Back” button
go to the “Getting started” column instead of going back in the browser's
history when such an action would leave the web UI, but also when:
- The WebUI is refreshed (F5)
- A tab is restored
- The history length reaches its maximum (e.g., 50 in Firefox)

This commit fixes these shortcomings by checking `window.history.state`.
Indeed, we only want to go back in the browser's history when the current
location has been reached from within the WebUI, which only happens via
`pushState` as far as I know. Since browser store the serialized state in
the browser history, this also survives page reload and session restoration.
2018-05-31 14:39:02 +02:00
Thibaut Girka fa980f2c95 Use props.router instead of context.router, as we are using withRouter 2018-05-31 14:39:02 +02:00
Thibaut Girka 574e74bbdd Hardcode default skin/theme in error layout (fixes #373)
This is a bit hackish. The best way would simply to somehow
use Mastodon's ApplicationController with `use_pack 'error'` from
the Rake task, but I'm not sure how to do that.
2018-05-31 14:38:48 +02:00
Thibaut Girka 0174ca8679 Prevent a rare crash when a status' root node is undefined 2018-05-31 14:38:29 +02:00