Commit graph

645 commits

Author SHA1 Message Date
ThibG
42aecb4c13 Add a confirmation dialog when hitting reply and the compose box isn't empty (#8893)
* Add a confirmation dialog when hitting reply and the compose box isn't empty

Fixes #878

* Performance improvement
2018-10-05 18:44:44 +02:00
Thibaut Girka
c91d9b7389 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/lib/user_settings_decorator.rb
	app/models/user.rb
	app/serializers/initial_state_serializer.rb
	app/views/stream_entries/_simple_status.html.haml
	config/locales/simple_form.en.yml
	config/locales/simple_form.ja.yml
	config/locales/simple_form.pl.yml
	config/routes.rb
2018-10-01 12:43:20 +02:00
Eugen Rochko
3d7f68c273
Revert Font Awesome 5 upgrade (#8810)
* Revert "Fix some icon names changed by the Font Awesome 5. (#8796)"

This reverts commit 3f9ec3de82.

* Revert "Migrate to font-awesome 5.0. (#8799)"

This reverts commit 8bae14591b.

* Revert "Fix some icons names, unavailable in fontawesome5 (free license). (#8792)"

This reverts commit b9c727a945.

* Revert "Update the icon name changed by the Font Awesome 5. (#8776)"

This reverts commit 17af4d27da.

* Revert "Add bot icon to bot avatars and migrate to newer version of Font Awesome (#8484)"

This reverts commit 4b794e134d.
2018-09-28 02:11:14 +02:00
mayaeh
3f9ec3de82 Fix some icon names changed by the Font Awesome 5. (#8796) 2018-09-27 20:36:36 +02:00
Colin Dean
330e320b40 Adds follow action timestamp to notification (#8756)
Fixes #8755
2018-09-27 17:11:06 +02:00
Naoki Kosaka
8bae14591b Migrate to font-awesome 5.0. (#8799) 2018-09-27 17:08:56 +02:00
theboss
b9c727a945 Fix some icons names, unavailable in fontawesome5 (free license). (#8792)
- pencil => pencil-alt
- sliders => sliders-h

related: #8484 #8776
2018-09-26 22:48:21 +09:00
rhoio
c6e765f81e remove meta label in settings column (#8704) 2018-09-25 22:59:19 +09:00
mayaeh
17af4d27da Update the icon name changed by the Font Awesome 5. (#8776) 2018-09-25 15:52:12 +02:00
ふぁぼ原
f7a6f9489d Add a new preference to always hide all media (#8569) 2018-09-25 05:09:35 +02:00
Maciek Baron
4b794e134d Add bot icon to bot avatars and migrate to newer version of Font Awesome (#8484)
* Migrate to newer version of Font Awesome

* Add bot icon to bot avatars
2018-09-25 05:08:55 +02:00
ThibG
05f90e3695 Adjust beforeUnload conditions (#8746)
Fixes #8701
2018-09-21 18:54:17 +02:00
Thibaut Girka
91bef4759f Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	Vagrantfile
	app/javascript/packs/public.js
	app/views/admin/settings/edit.html.haml
	app/views/settings/preferences/show.html.haml
	app/views/settings/profiles/show.html.haml
	config/locales/es.yml
	config/locales/simple_form.en.yml
	config/webpack/configuration.js
	config/webpack/loaders/babel.js
	package.json
	yarn.lock

Split new additions to app/javascript/packs/public.js to
app/javascript/core/settings.js
2018-09-19 21:46:01 +02:00
Eugen Rochko
f4d549d300
Redesign forms, verify link ownership with rel="me" (#8703)
* Verify link ownership with rel="me"

* Add explanation about verification to UI

* Perform link verifications

* Add click-to-copy widget for verification HTML

* Redesign edit profile page

* Redesign forms

* Improve responsive design of settings pages

* Restore landing page sign-up form

* Fix typo

* Support <link> tags, add spec

* Fix links not being verified on first discovery and passive updates
2018-09-18 16:45:58 +02:00
ThibG
f8b54d229f Fix “Toots” tab highlighting for replies and media timelines (#8715) 2018-09-18 03:57:13 +02:00
Yamagishi Kazutoshi
0ddbccf7e6 Upgrade Babel to version 7.0.0 (#5925) 2018-09-14 17:59:48 +02:00
luzpaz
40dd19be37 Misc. typos (#8694)
Found via `codespell -q 3 --skip="./app/javascript/mastodon/locales,./config/locales"`
2018-09-14 00:53:09 +02:00
ThibG
4959ead07c Fix media description in various media modals (#8678) 2018-09-13 20:31:59 +02:00
ThibG
09a87b2cdb Auto-focus emoji picker's search field (#8688)
Fixes #6056
2018-09-13 20:31:11 +02:00
ThibG
661a89ea74 Autofocus comment textarea in report modal (#8689) 2018-09-13 15:27:29 +02:00
rhoio
7b7c26063e Highlight active tab in action bar (#8673)
* NavLinks with activeclass instead of Link in actionbar to highlight active tab

* highlight border-bottom in action bar consistent to public view
2018-09-13 01:50:41 +02:00
Thibaut Girka
6c233a04a0 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	README.md

Discarded upstream changes to the README, kept our version.
2018-09-03 14:33:06 +02:00
Frederic Hemberger
7c12c7b124 Add aria-label to floatingActionButton (#8574) 2018-09-02 15:51:06 +02:00
M Somerville
a060beee72 Skip VS15 (Emoji textual presentation). (#8553)
Mastodon converts all Emoji to images, whether they have a VS15 after
them or not, but leaves the VS15 in the string, which is displayed as
a black box in Safari.
2018-09-01 19:42:02 +02:00
Thibaut Girka
a74a7d5fe3 Merge branch 'master' into glitch-soc/merge-upstream 2018-09-01 17:23:46 +02:00
trwnh
6a147f8377 Fix the display of missing lists (#8523)
* Fix the display of missing lists

See #6786 -- this fixes part of the issue pertaining to lists that don't exist. I copied the Column being returned from the missing status logic, which works fine. Prior to this, the missing lists logic would generate a column with no back button and with a broken layout. This doesn't fix the broken display of missing accounts -- the column construction pertaining to that logic happens in multiple external functions.

* import ColumnBackButton

missed the import with the first commit
2018-09-01 03:36:36 +02:00
Thibaut Girka
6f75a9001f Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/views/stream_entries/_simple_status.html.haml
- config/locales/nl.yml

Deleted unused translation strings (themes) and adapted minor changes to
_simple_status.html.haml
2018-08-31 19:10:57 +02:00
takayamaki
f5c052b5e6 refactor: getting-started__wrapper should contained in getting-started (#8532) 2018-08-31 03:43:02 +02:00
Thibaut Girka
c24491a8df Merge branch 'master' into glitch-soc/merge-upstream 2018-08-29 13:57:56 +02:00
Jakub Mendyk
ceed1ebe5b Fix followers/follows layout issues from #8418 (#8505)
* Add alwaysShowScrollbar prop to ScrollableList

* Fix followers/follows layout issues from #8418
2018-08-29 01:19:58 +02:00
Thibaut Girka
53b7bb9d04 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/controllers/api/v1/mutes_controller.rb
	config/locales/simple_form.pl.yml
2018-08-27 18:09:28 +02:00
M Somerville
81697997a3 Include MOV in upload button tooltip. (#8480) 2018-08-27 13:05:27 +02:00
Marcin Mikołajczak
b534249a8d Add more hotkeys to legend (#8469)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-08-26 20:22:16 +02:00
Thibaut Girka
be20eb4b2f Merge branch 'master' into glitch-soc/merge-upstream 2018-08-26 18:21:33 +02:00
Eugen Rochko
a791bac153
Add aria-label to notifications (#8460)
Fix #8192
2018-08-26 17:53:26 +02:00
Jakub Mendyk
5129f6f2aa Add messages informing that collections are empty (fixes #4115) (#8418)
* Add messages informing that collections are empty

Adds empty messages to blocked users, domain blocks, favourited statuses, users
that favourited toot, follow requests, followers of given user, user's being
followed by given user, lists, muted users, toots' boosts.

Switched from using ScrollContainer to ScrollableList and/or added empty
message's text.

Fixes #4115

* Update localization files with strings for #4115

* Fix whitespace issues pointed out by codeclimate
2018-08-26 16:39:37 +02:00
Thibaut Girka
36393e1d2b Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/views/layouts/application.html.haml

Edited:
        app/helpers/application_helper.rb
        app/views/admin/domain_blocks/new.html.haml

Conflict wasn't really one, just two changes too close to one another.
Edition was to adapt the class names for themes to class names for
skins and flavours.

Also edited app/views/admin/domain_blocks/new.html.haml to strip the
duplicate admin pack inclusion thing.
2018-08-26 14:23:24 +02:00
M Somerville
df06f53f9b Specify allowed media in upload button tooltip. (#8443) 2018-08-26 00:18:40 +02:00
Eugen Rochko
cd049454be
Wait until relationship is loaded before showing follow button (#8440)
Fix #8410
2018-08-25 22:46:59 +02:00
Yamagishi Kazutoshi
800325f452 Weblate translations (2018-08-25) (#8420)
* Translated using Weblate (Georgian)

Currently translated at 99.8% (674 of 675 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Korean)

Currently translated at 96.8% (654 of 675 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Danish)

Currently translated at 100.0% (98 of 98 strings)

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

* Translated using Weblate (Danish)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Danish)

Currently translated at 87.2% (589 of 675 strings)

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

* Translated using Weblate (Galician)

Currently translated at 100.0% (680 of 680 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Czech)

Currently translated at 99.4% (676 of 680 strings)

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

* Translated using Weblate (Danish)

Currently translated at 88.0% (599 of 680 strings)

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

* Translated using Weblate (Arabic)

Currently translated at 97.6% (664 of 680 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.7% (678 of 680 strings)

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

* Translated using Weblate (Occitan)

Currently translated at 99.5% (677 of 680 strings)

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

* Translated using Weblate (Arabic)

Currently translated at 97.9% (668 of 682 strings)

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

* Translated using Weblate (Persian)

Currently translated at 99.7% (680 of 682 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Occitan)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 0.0% (0 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 0.1% (1 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 0.1% (676 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Galician)

Currently translated at 100.0% (682 of 682 strings)

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

* Translated using Weblate (Greek)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.8% (674 of 682 strings)

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

* Translated using Weblate (Danish)

Currently translated at 89.2% (609 of 682 strings)

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

* Translated using Weblate (French)

Currently translated at 100.0% (82 of 82 strings)

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

* Translated using Weblate (French)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (French)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 99.8% (681 of 682 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (310 of 310 strings)

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

* Translated using Weblate (Occitan)

Currently translated at 100.0% (310 of 310 strings)

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

* yarn manage:translations

* i18n-tasks normalize && i18n-tasks remove-unused

* revert

* Add defaultMessage
2018-08-25 13:27:56 +02:00
M Somerville
ac092d03e7 Add missing video descriptions (#8416)
* Pass through video description as necessary.

* Add title to video, matching aria-label.
2018-08-24 23:55:41 +02:00
Thibaut Girka
246c313d45 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/controllers/application_controller.rb

Changed instance theme selection by instance flavour selection.
2018-08-24 15:10:34 +02:00
Eugen Rochko
248df68c36
Give focused status a sensible aria-label for screen readers (#8387)
* Give focused status a sensible aria-label for screen readers

Fix #8192

* Use content warning in aria-label unless expanded
2018-08-23 20:56:57 +02:00
Eugen Rochko
66dbb59aa1
Add aria-label to column regions (#8390)
Fix #4485
2018-08-23 17:26:21 +02:00
Thibaut Girka
8b4abaa90d Merge branch 'master' into glitch-soc/master
Conflicts:
	config/routes.rb

Added the “endorsements” route from upstream.
2018-08-21 18:24:48 +02:00
Annika Backstrom
25f6f41052 Add hotkey for follow requests (#8307) 2018-08-20 03:44:16 +02:00
cpsdqs
8fe1f8d4ce Make dropdown animations respect their placement (#8292)
* Make dropdown animations respect their placement

Also fix the corner radius on the privacy dropdown button when using top placement

* Fix code style issue
2018-08-19 17:11:12 +02:00
Thibaut Girka
88a0395a58 Merge branch 'master' into glitch-soc/merge-upstream 2018-08-19 09:27:18 +02:00
Eugen Rochko
025fbb8285
Show compose form on delete & redraft when in mobile layout (#8277)
Fix #8274
2018-08-19 03:17:01 +02:00
Eugen Rochko
0fc0980de1
Link to mobile apps page (#8278)
Fix #8269
2018-08-19 01:17:44 +02:00
Spanky
7a0f781aa9 Fix ctrl+enter not submitting toot when text cursor is composing image description (#8273) 2018-08-18 19:40:35 +02:00
Thibaut Girka
bfeac6747a Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	.circleci/config.yml
	app/controllers/authorize_follows_controller.rb
	app/javascript/packs/public.js

Moved new stuff from packs/public.js to core/public.js.
Added appropriate use_pack in new controllers.
2018-08-18 18:04:49 +02:00
M Somerville
298ee84488 Fix #8264 - Do not override ctrl/cmd+click. (#8265)
This includes clicks on hashtags, mentions, display names and media in the
timeline; and usernames in reply-indicator, detailed status, and the boost
modal.
2018-08-18 12:50:32 +02:00
Thibaut Girka
280d7b1df8 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/models/status.rb
	db/migrate/20180528141303_fix_accounts_unique_index.rb
	db/schema.rb

Resolved by taking upstream changes (no real conflicts, just glitch-soc
specific code too close to actual changes).
2018-08-17 17:43:54 +02:00
ThibG
4601a58ac2 Defer scrollIntoView after DOM is drawn (fixes #8239) (#8242) 2018-08-17 14:07:38 +02:00
Eugen Rochko
aaac14b8ad
Show exact number of followers/statuses on export page/in tooltip (#8199)
* Show exact number of followers/statuses on export page/in tooltip

* Fix tests
2018-08-14 21:56:17 +02:00
ThibG
ec2c516ab8 Various fixes regarding the video position slider (#8201)
* Prevent default event handling when clicking on the video position slider

This prevents accidental text selection when clicking on the position slider.

* Fix bug when clicking on video position slider before starting the video

* Slightly more aggressive video preloading

- Preload video metadata if the video is loaded in detailed view, as it is
  likely to get played, and metadata is useful for seeking in the video.
- Preload video data if it's fullscreen as it is extremely likely to get
  played right after being put in fullscreen (although those are two steps).
- Preload video data if the user has clicked the position slider, as the video
  will play as soon as the mouse button is released, and video metadata is
  needed to properly seek into the video.
2018-08-14 21:51:17 +02:00
Thibaut Girka
e5a603206d Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/controllers/accounts_controller.rb
	app/javascript/mastodon/locales/pl.json
	app/views/about/more.html.haml

Conflicts in `accounts_controller.rb` resolved by taking upstream's
version + our `use_pack`.

Conflicts in `pl.json` resolved by taking upstream's changes.

Conflicts in `aboute/more.html.haml` resolved by taking upstream's changes.
2018-08-10 16:22:31 +02:00
Eugen Rochko
f2404de871
Public profile endorsements (accounts picked by profile owner) (#8146) 2018-08-09 09:56:53 +02:00
Thibaut Girka
c1c514ca70 Merge branch 'master' into glitch-soc/merge-upstream
Manually-resolved conflicts:
	.circleci/config.yml
	app/controllers/accounts_controller.rb
	app/controllers/auth/passwords_controller.rb
	app/controllers/statuses_controller.rb
	app/javascript/packs/public.js
	app/models/media_attachment.rb
	app/views/stream_entries/_content_spoiler.html.haml
	app/views/stream_entries/_media.html.haml
	config/locales/en.yml
	config/locales/ja.yml
	config/locales/pl.yml
	lib/mastodon/version.rb

Some content from app/javascript/packs/public.js has been split to
app/javascript/core/settings.js.

Translation strings for glitch-soc's keyword mutes were dropped.

Everything else was mostly “take both”.
2018-08-01 00:18:13 +02:00
Eugen Rochko
60df87f6f0
Compensate for scrollbar disappearing when media modal visible (#8100)
* Compensate for scrollbar disappearing when media modal visible

Make auth pages backgrounds lighter

* Fix typo
2018-07-31 01:14:33 +02:00
Yamagishi Kazutoshi
06c83527f5 Do not scroll up when modal is opened (#8095) 2018-07-29 16:52:06 +02:00
Mélanie Chauvel (ariasuni)
2ccef52a4f Improve account bar css (#8087)
* Remove superfluous span tags

* Make account bar items (except dropdown) flexible to work well with custom CSS

* Fix CSS lint warning (0px → 0)
2018-07-28 20:09:58 +02:00
Thibaut Girka
6141c2a035 Merge branch 'master' into glitch-soc/merge-upstream 2018-07-26 21:22:43 +02:00
ThibG
3c35b34b61 Improve keyboard shortcuts descriptions (#8066)
* Add hotkey variants to keyboard shortcuts description

* Add documentation for “p” hotkey

* yarn manage:translations
2018-07-26 04:51:25 +02:00
ThibG
d199806969 Prevent scrolling main frame when navigating in image gallery with arrow keys (#8073) 2018-07-26 04:50:50 +02:00
Thibaut Girka
f26f1145ac Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	Dockerfile
	app/javascript/packs/common.js
	config/webpack/loaders/sass.js
	config/webpack/shared.js
	db/schema.rb
	package.json
	yarn.lock

A lot of the conflicts come from updating webpack.

Even though upstream deleted app/javascript/packs/common.js, I kept
glitch-soc's version as it unifies JS/CSS packs behavior across flavours.

Ported glitch changes to webpack 4.x
2018-07-16 14:50:42 +02:00
ThibG
955d5d36e8 Use LoadingBar instead of blur to indicate that an image is loading (fixes #4060) (#7562) 2018-07-15 01:18:09 +02:00
Eugen Rochko
e709107463
Display Mastodon version in footer of web UI (#8013)
Fix #7846
2018-07-14 03:56:34 +02:00
Thibaut Girka
6f0f583abe Merge branch 'master' into glitch-soc/merge-upstream 2018-07-11 17:57:08 +02:00
Eugen Rochko
bfce6a5485
Add link to filters in web UI dropdown (#7990) 2018-07-11 00:56:54 +02:00
Thibaut Girka
d392020da6 Merge branch 'master' into glitch-soc/tentative-merge
Conflicts:
	README.md
	app/controllers/statuses_controller.rb
	app/lib/feed_manager.rb
	config/navigation.rb
	spec/lib/feed_manager_spec.rb

Conflicts were resolved by taking both versions for each change.
This means the two filter systems (glitch-soc's keyword mutes and tootsuite's
custom filters) are in place, which will be changed in a follow-up commit.
2018-07-09 07:13:59 +02:00
Eugen Rochko
cfeb3beb4e
Fix filters not affecting notifications in web UI (#7977)
* Hook up filtering to statuses in notifications column

* Filter notifications for sound, desktop notifications
2018-07-07 19:31:19 +02:00
Maciek Baron
f3af1a96a8 Check if router is injected in media modal (#7941) 2018-07-04 15:34:28 +02:00
Maciek Baron
bbbe3ed6ba Allow the media modal to be closed by pressing back (#7934) 2018-07-03 16:12:05 +02:00
Eugen Rochko
23e1f143de Fix M hotkey inserting @undefined when in detailed status (#7931)
Fix #7903
2018-07-03 09:17:18 +09:00
Shaun Gillies
ac82c9380f Display full username in tooltip on search and autosuggest #7478 (#7920) 2018-07-01 04:16:13 +02:00
Eugen Rochko
cdb101340a
Keyword/phrase filtering (#7905)
* Add keyword filtering

    GET|POST       /api/v1/filters
    GET|PUT|DELETE /api/v1/filters/:id

- Irreversible filters can drop toots from home or notifications
- Other filters can hide toots through the client app
- Filters use a phrase valid in particular contexts, expiration

* Make sure expired filters don't get applied client-side

* Add missing API methods

* Remove "regex filter" from column settings

* Add tests

* Add test for FeedManager

* Add CustomFilter test

* Add UI for managing filters

* Add streaming API event to allow syncing filters

* Fix tests
2018-06-29 15:34:36 +02:00
ふぁぼ原
20bb90ced6 On the mobile UI, move the search column to the right (#7877) 2018-06-26 20:35:11 +02:00
Thibaut Girka
ab5f450700 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/models/user.rb

Resolved by adding :default_language to user settings fields
2018-06-21 20:49:57 +02:00
kedama
926bfce465 Fix broken single column getting-started menu (Fix #7854) (#7862)
* Fix lack of height of the getting-started menu. (Fix #7854)

Include the height of navigation bar at the height of getting-started menu.

* Remove item "Security" on the getting-started menu.
2018-06-20 15:22:07 +02:00
Lynx Kotoura
434ec913dd Change list icons different from the getting-started icons (#7838) 2018-06-18 15:33:11 +02:00
Hinaloe
b347d55432 DataTransfer.types may Array-like object (#7827) 2018-06-18 01:10:58 +09:00
Lynx Kotoura
9c08a368e7 Adjust account__action-bar contents (#7818) 2018-06-16 12:57:25 +02:00
Thibaut Girka
db200226b8 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	app/javascript/mastodon/initial_state.js
	db/schema.rb

Upstream added a new field to initial_state.
Not too sure about what happened with db/schema.rb though…
2018-06-15 20:51:39 +02:00
Eugen Rochko
09147186b7
Fix regression where CW is focused on reply (#7811) 2018-06-15 19:49:32 +02:00
Eugen Rochko
1cc775200e
Add "find friends", "invite people", and more to getting started footer (#7803)
- Find friends from Twitter (bridge)
- Invite people (when invites enabled)
- Security (change e-mail/password)
- Developers (create OAuth apps/tokens)
2018-06-15 15:51:37 +02:00
chr v1.x
4f42238c29 Put "Media Only" option in column settings instead of content area headline (#7801)
* Action/reducer for changing column settings takes a path and a value
instead of a javascript object

* Settings menu version and column headline version working simultaneously

* remove column headline entirely

* remove css for headlines that aren't possible now

* Remove commented out code from unfruitful attempt at this feature

* Give direct timeline its own column settings bc it doesn't have a media only option

* Fix typo in public timeline code that was preventing per-column settings from working properly

* Fix codeclimate issues

* Missing semicolons

* Use redux state to set onlyMedia, let that do the update instead of a callback. Consequently, unpinned setting works without history modification

* Unused import
2018-06-15 11:15:15 +02:00
Jenkins
afceef74c2 Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master 2018-06-14 06:17:24 +00:00
Yamagishi Kazutoshi
79a468016a Fix "Invalid DOM property class" (#7798) 2018-06-14 08:03:07 +02:00
Lain Iwakura
6bae583d2f
Handle character limit in initial state in frontend. 2018-06-14 01:56:11 +02:00
chr v1.x
0338da1699 Add profile options on compose form (#7789)
* Add profile options on compose form

* Remove unused imports to appease codeclimate

* Play nicely with cancel button and use ellipsis-v instead of hamburger

* Fix whitespace and quotes to appease codeclimate
2018-06-13 14:44:50 +02:00
kedama
a99179d31f Control the focus when clicking the "CW" button. (#7776)
* Focus to the spoiler text when CW turns on.
* Focus back to the textarea when CW turns off.
2018-06-10 16:13:30 +02:00
Renato "Lond" Cerqueira
268d90e810 Rename emoji sheet to avoid caching issue (#7777) 2018-06-10 16:12:47 +02:00
Eugen Rochko
10f51c9886
Fix domain hiding logic (#7765)
* Send rejections to followers when user hides domain they're on

* Use account domain blocks for "authorized followers" action

Replace soft-blocking (block & unblock) behaviour with follow rejection

* Split sync and async work of account domain blocking

Do not create domain block when removing followers by domain, that
is probably unexpected from the user's perspective.

* Adjust confirmation message for domain block

* yarn manage:translations
2018-06-09 22:46:54 +02:00
Renato "Lond" Cerqueira
85470ec872 Fix issues with updated emoji mart (#7761)
* Changes behavior from search light to keep custom search
The new version of emoji-mart needs the search function to constantly
receive the custom emoji array. This changes the behavior back to the
previous one in the search light method to keep the emoji autocomplete
as before

* Change test order
The order was breaking the tests

* Fix codeclimate issues

* Update to emoji mart to version without issue in picker

Fixes #7760
2018-06-08 13:28:04 +02:00
Renato "Lond" Cerqueira
0c3ce41031 Update to emojimart 2.6.1 (#7746)
* Update to emojimart 2.6.1
WIP using local updated version. Sheet comes from emoji-data@4.0.4,
file sheet_twitter_32_indexed_256.png.

* Update to 2.6.1 and uncompress data if needed

* Remove changes that were not needed

* Fix yarn lock file

* Match emojiToShowFilter behavior to new version of emoji-mart

* Fix codeclimate issue

* Match custom emoji behavior to new version of emoji-mart

* Replace emoji without shortcode in tests

* Fix code climate issues
2018-06-07 19:40:23 +02:00
Eugen Rochko
bd0791d800
Add redraft function (#7735)
* Add redraft function

Fix #7010

* Add explicit confirmation

* Add explicit confirmation message
2018-06-05 00:17:38 +02:00
Yamagishi Kazutoshi
64d7a63f18 Submit report using meta key (#7729) 2018-06-04 13:09:52 +02:00
Eugen Rochko
1bbe81030c
Display numbers in account header using shortNumberFormat for consistency (#7723) 2018-06-04 05:15:50 +02:00
Eugen Rochko
e18390cfe6
Fix bug in order of conversations in web UI (#7721) 2018-06-04 04:19:16 +02:00
Eugen Rochko
0deb9fa6b9
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
Eugen Rochko
73c0c36e7b
Improve trends layout (#7700)
* Allow collapsing trends, responsively hide trends

* Add trends column
2018-06-01 19:18:37 +02:00
Yamagishi Kazutoshi
69b45350fe Add loading indicator for trending tags (#7693) 2018-06-01 14:22:42 +02:00
Yamagishi Kazutoshi
15ce60f610 Fix duplicate key attributes (#7694) 2018-06-01 14:02:49 +02:00
Eugen Rochko
0ce5339a7b
Make the refresh trends button refresh trends (#7685) 2018-05-31 16:46:02 +02:00
Mélanie Chauvel (ariasuni)
691107263c 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
Eugen Rochko
3623aea6c9
Redirect / to home on mobile layout, to getting started on desktop (#7677) 2018-05-30 18:42:06 +02:00
Eugen Rochko
1a7a74ff76
Improve getting started column (#7676)
* Adjust footer of getting started column

- Improved style
- Moved hotkeys, about this instance and logout to footer
- Removed FAQ, User Guide, Apps links
- Use hamburger icon for the column

* Add edit profile action button to profile and more to dropdown

* Add "Trending now" to getting started column

* Add preferences/security links on mobile layout
2018-05-30 18:41:47 +02:00
Eugen Rochko
8bb74e50be
Add GET /api/v2/search which returns rich tag objects, adjust web UI (#7661) 2018-05-29 02:01:24 +02:00
Eugen Rochko
90b64c0069
Always display tab navigation on local/federated timeline even when empty (#7663)
Fix #7659
2018-05-29 02:01:04 +02:00
Eugen Rochko
dfbadd6837
Replace recursion in status mapStateToProps (#7645) 2018-05-28 02:42:06 +02:00
Eugen Rochko
9bd23dc4e5
Track trending tags (#7638)
* Track trending tags

- Half-life of 1 day
- Historical usage in daily buckets (last 7 days stored)
- GET /api/v1/trends

Fix #271

* Add trends to web UI

* Don't render compose form on search route, adjust search results header

* Disqualify tag from trends if it's in disallowed hashtags setting

* Count distinct accounts using tag, ignore silenced accounts
2018-05-27 21:45:30 +02:00
Akihiko Odaki
023fe5181b Introduce flat layout to contexts reducer (#7150)
This allows to filter out replies in threads even if contexts of those
replies are not fetched.
2018-05-25 18:46:28 +02:00
Yamagishi Kazutoshi
8182b61518 Enable media timeline (#7598) 2018-05-25 18:36:46 +02:00
ThibG
2587fcdd27 Use .star-icon instead of hardcoding color in detailed statuses (fixes #7610) (#7613) 2018-05-25 10:03:22 +09:00
ThibG
d8864b9e9d Fix caret position after selected suggestion and media upload (#7595)
* Fix media upload reseting caret position to last inserted emoji

* Fix caret position after inserting suggestions (fixes #6089)
2018-05-23 15:20:15 +02:00
ThibG
39d70f375f Remove unneeded code now that attachment URL isn't appended to toots (#7593) 2018-05-22 19:32:02 +02:00
Yamagishi Kazutoshi
4eeda67727 Hide section headline for timelines in production (#7590)
* Hide section headline for timelines in production

* comment out
2018-05-22 14:44:32 +02:00
Yamagishi Kazutoshi
06252ec71e Change column params on pinned timeline (#7581) 2018-05-22 13:26:06 +02:00
Eugen Rochko
5ea643b279
Save onlyMedia prop when pinning column (#7575) 2018-05-21 17:49:10 +02:00
Yamagishi Kazutoshi
46061dc041 Add exact attribute to WrappedRoute for community timeline (#7572)
* Add extra attribute to WrappedRoute for community timeline

* fix
2018-05-21 16:26:00 +02:00
Yamagishi Kazutoshi
7403e5d306 Add media timeline (#6631) 2018-05-21 12:43:38 +02:00
Eugen Rochko
1bbe12254d
Improve direct message warning again (#7546) 2018-05-19 18:37:33 +02:00
Sylvhem
53c2164e9c Reword the direct message warning (#7420)
* Change direct message warning

Reword the direct message warning to set proper privacy expectations.

* Update the French translation

Update the French translation to reflect the changes made to the direct message warning.

* Wording update

Update the message's wording according to the feedback.
2018-05-16 14:47:11 +02:00
Yamagishi Kazutoshi
d9b2f84c92 Open video modal on public UI (#7469) 2018-05-13 13:48:14 +02:00
ThibG
b241cb2704 Change wording of the “undo” media upload button (fixes #6857) (#7417) 2018-05-11 13:20:31 +02:00
Yamagishi Kazutoshi
e0b1e17bd0 Show media modal on public timeline (#7413) 2018-05-08 13:33:09 +02:00
ThibG
b1938d7853 Do not crash in getStatusIds when there is a gap in the timeline (fixes #7400) (#7415)
Fixes a crash occurring when the “gap” disconnection indicator is to be
displayed in a filtered timeline.
2018-05-08 13:28:55 +02:00
Eugen Rochko
42cd363542
Bot nameplates (#7391)
* Store actor type in database

* Add bot nameplate to web UI, add setting to preferences, API, AP
Fix #7365

* Fix code style issues
2018-05-07 09:31:07 +02:00
Eugen Rochko
d185f3ddaf
Use plaintext value for field value tooltips in web UI (#7388)
Fix #7383
2018-05-07 09:30:38 +02:00
ThibG
5c7bed6bbc Various improvements to the report UI (#7342)
* Also display replies in report modal

* Allow report modal to be up to 80% of viewport height

* Use narrow no-break space where needed in the French translation
2018-05-06 20:38:17 +02:00
Eugen Rochko
660db468c0
Do not count search route as compose being mounted in web UI (#7372)
Fix #7144
2018-05-05 23:05:43 +02:00
Eugen Rochko
2ef9d65052
Improve rendering of bio fields (#7353)
Fix #7335
2018-05-05 00:55:09 +02:00
ThibG
ef7d64c801 Dropdowns accessibility (#7318)
* Mark currently selected privacy setting in privacy dropdown

* Prevent Enter keypresses from triggering dropdown display toggle twice

* Give focus to first/selected item of dropdown menus

* Implement keyboard navigation in privacy dropdown

* Implement keyboard navigation in generic dropdown menus
2018-05-04 22:13:26 +02:00
ThibG
ad5d3134e4 Place emoji picker top if it is closer to the bottom of the viewport (fixes #7277) (#7314) 2018-05-03 10:42:18 +02:00
Lynx Kotoura
86efccce2a Fix low-contrasted cancel button of reply indicator (#7300) 2018-05-01 14:02:04 +02:00
mayaeh
ee2e0f694a Fix #6157: boosting own private toots (#7200)
* Fix boosting own private toots.

* Run yarn manage:translations and update Japanese translations.
2018-04-20 14:58:33 +02:00
Lynx Kotoura
74dae9458d Add color variables of texts for better accesibility (#7125)
* Add variables for text colors

* Change variables in sass files

* Apply text color variables for recently added colors

* Fix text colors of emoji mart anchors

* Fix text colors of search__input

* Fix text colors of text area of compose-form

* Fix icon colors of privacy dropdown and modal

* Inverted icon colors by classname

* Change variables in boost.scss

* Change action-button-color

* Fix text colors of pre-header
2018-04-18 16:52:15 +02:00
Marcin Mikołajczak
7162a28c34 Add revealing/hiding statuses button to keyboard shortcuts legend column (#7178)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-04-18 13:15:57 +02:00
Kaito Sinclaire
156b916caf Direct messages column (#4514)
* Added a timeline for Direct statuses
* Lists all Direct statuses you've sent and received
* Displayed in Getting Started
* Streaming server support for direct TL

* Changes to match other timelines in 2.0
2018-04-18 13:09:06 +02:00
Neil Moore
fad7b9f5f2 Adds keyboard hotkey for revealing/hiding statuses (#7173)
Resolves #5550
2018-04-18 03:33:59 +02:00
ThibG
e5dd385431 Allow boosting own private toots (#6157)
* Adjust policy to allow boosting own private toots

* Add ability to reblog private toots from dropdown menu
2018-04-17 23:35:45 +02:00
abcang
727917e91e Fix caret position after inserting emoji (#7167) 2018-04-17 13:50:33 +02:00
Marcin Mikołajczak
fa04945365 Change icon for domain blocks (#7139)
* Change icon for domain blocks

Both domain blocks and user blocks uses the same icon…

* Update index.js
2018-04-15 13:58:47 +02:00
Eugen Rochko
78ed4ab75f
Add bio fields (#6645)
* Add bio fields

- Fix #3211
- Fix #232
- Fix #121

* Display bio fields in web UI

* Fix output of links and missing fields

* Federate bio fields over ActivityPub as PropertyValue

* Improve how the fields are stored, add to Edit profile form

* Add rel=me to links in fields

Fix #121
2018-04-14 12:41:08 +02:00
ThibG
12f5f13fab Place privacy dropdown menu top if it is closer to the bottom of the viewport (#7106) 2018-04-11 20:42:50 +02:00
Eugen Rochko
45c9f16f71
Improve load gap styling in web UI (#7100) 2018-04-10 17:12:10 +02:00
Emelia Smith
904a2479dd Feature: Direct message from Statuses (#7089)
* Fix: Switching between composing direct message and mention from menus

Previously clicking "direct message" followed by "mention" resulted in the composed status staying as "direct", along with weird spacing of items in the text area. This attempts to fix that.

* Fix: Add missing proptype check for onMention in Status component

* Add the ability to send a direct message to a user from the menu on Statuses

* Add space between "Embed" and "Mention" on expanded statuses menu
2018-04-09 17:09:11 +02:00
Emelia Smith
0893b16695 Hide search from Compose on mobile devices (#7077)
* Hide search from Compose on mobile devices

We're presently seeing large numbers of users accidentally tooting what they're trying to search for. This PR hides the search form from the Compose view, now that we have a dedicated "search" tab on mobile.

* Don't "showSearch" on mobile if we're not currently searching (isSearchPage)
2018-04-08 18:25:08 +02:00
Emelia Smith
c9cbb8de70 Add search item to tab bar for mobile devices (#7072)
* Add search item to tab bar for mobile devices

* Fix missing prop validation
2018-04-08 14:26:58 +02:00
Harmon
98146281e1 Remove duplicate frequently used emojis (#7064) 2018-04-07 14:53:11 +02:00
Emelia Smith
7a81082704 Revert "Add double-tap zoom functionary to ZoomableImage (#6944)" (#7035)
Unfortunately the new hammer.js functionality wasn't correctly tested and didn't work across devices and browsers, as such, it's best to revert PR #6944 until we can revisit this functionality and make it work across all devices and browsers that are supported by Mastodon.

This reverts commit 5021c4e9ca.
2018-04-04 11:58:15 +02:00
unarist
2c51bc0ca5 Add missing rejection handling for Promises (#7008)
* Add eslint-plugin-promise to detect uncaught rejections

* Move alert generation for errors to actions/alert

* Add missing rejection handling for Promises

* Use catch() instead of onReject on then()

Then it will catches rejection from onFulfilled. This detection can be
disabled by `allowThen` option, though.
2018-04-02 14:51:02 +02:00
Emelia Smith
6a895e1ab3 Fix: Prevent submission using same logic as submit button disabling. (#6993)
This prevents submission through ctrl/cmd+enter when the submit button is disabled.
2018-04-01 22:19:43 +02:00
ThibG
a6c129ddbd Add some UI for user-defined domain blocks (#6628)
* Keep list of blocked domains

Might be overkill, but I'm trying to follow the same logic as for blocked users

* Add basic domain block UI

* Add the domain blocks UI to Getting Started

* Fix undefined URL in `fetchDomainBlocks`

* Update all known users' domain_blocking relationship instead of just one's
2018-03-30 12:38:00 +02:00
Emelia Smith
d1f34151ae Feature: Direct message from menu (#6956)
* Implement ability to send direct messages from the user menu

* Implement message warning users that direct messages are visible to all mentioned users

* Update locales
2018-03-29 19:08:34 +02:00
Yuto Tokunaga
5021c4e9ca Add double-tap zoom functionary to ZoomableImage (#6944)
add <div.zoomable-image__margin/> to keep margin of the image on zooming
move setting `scrollLeft` and `scrollTop` of container from callback of
`setState` to `componentDidUpdate`
add 'hammerjs' package for touch gesture detection
rewrite `ZoomableImage` using 'hammerjs'
2018-03-28 20:40:51 +02:00
unarist
3523aa440b Fix LoadMore on account media gallery (#6933)
max_id in the fetch request should be a status id, but media attachment id was used.
2018-03-27 16:53:52 +02:00
Akihiko Odaki
cbf97c03bb Allow clients to fetch notifications made while they were offline (#6886) 2018-03-24 22:07:23 +01:00
Akihiko Odaki
9a1a55ce52 Allow clients to fetch statuses made while they were offline (#6876) 2018-03-24 15:25:15 +01:00
Akihiko Odaki
ff7941e652 Show media modal on public pages (#6801) 2018-03-24 12:52:26 +01:00
Marcin Mikołajczak
1c15329cce Change “Toots with replies” to “Toots and replies” (#6875)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-03-24 12:51:51 +01:00
Akihiko Odaki
4e71b104e6 Internationalize unexpected error message (#6887) 2018-03-24 10:54:19 +01:00
Eugen Rochko
f66a786029
Hide floating action button on thread views (#6859) 2018-03-22 09:33:14 +01:00
Eugen Rochko
3b440bd5af
Fix elephant graphic being draggable and selectable (#6819) 2018-03-18 20:32:44 +01:00
Eugen Rochko
f0ae6b4cc5 Merge branch 'spoiler' of git://github.com/kagucho/mastodon into kagucho-spoiler 2018-03-13 09:18:11 +01:00
Akihiko Odaki
18241ccbe1 Change the title of sensitive button by state (#6771)
Icon showing the state may be confusing. (does the slahed eye icon mean
the state that it is sensitive, or to mark it as sensitive?) Moreover, it
may not help for blind people.

The title will give the precise representation of the current state.
2018-03-13 08:10:12 +01:00
Akihiko Odaki
0dccb398bd Change the title of spoiler button by state
The title will give the precise representation of the current state. It
would be helpful for blind people.
2018-03-13 15:58:55 +09:00
Yamagishi Kazutoshi
6ae70a92c9 Hide pinned toots on with replies (#6753) 2018-03-12 12:47:18 +01:00
Yuto Tokunaga
fa5c867e0e Avoid using JS to set height in MediaModal (#6750)
avoid using JS to set height of ReactSwipeableViews component
reduce max-height of <img/> to 80% to avoid the screen covered by image
2018-03-12 03:52:05 +01:00
Eugen Rochko
56eb5c3f34
Fix focal point cropping in MediaGallery, fix focal point modal (#6740)
* Use object-position with object-fit instead of JS top/left

* Fix focal point modal
2018-03-11 15:12:33 +01:00
Eugen Rochko
1aaec701bb
Fix #6715: Make catalan words with the L geminate letter work in hashtags (#6741) 2018-03-11 14:55:49 +01:00
Eugen Rochko
b6003afcdb
Add show more/less toggle for entire threads in web UI (#6733)
Fix #1258
2018-03-11 09:52:59 +01:00
Eugen Rochko
b79ab15859
When enabled, always display media in gallery. Also: click to reveal (#6692)
Fix #6677
2018-03-08 08:57:21 +01:00
Eugen Rochko
a1b065700a
Fix focal point modals broken by #5956 (#6676) 2018-03-07 12:01:53 +01:00
Eugen Rochko
cfa9b6e13a
Remove text requirement when media attached from statuses (#6672) 2018-03-07 08:28:52 +01:00
Akihiko Odaki
913a38111f Remove pointer events on the entire UI when a dropdown menu is open (#6648)
* Remove pointer events on the entire UI when a dropdown menu is open

This prevents operations to change the location of the menu such as
scrolling.

* Fix mistake from merge
2018-03-07 02:26:43 +01:00
Akihiko Odaki
a07cfee644 Extract columns area from UI component (#6650)
UI component used to toggle isComposing state by directly manipulating the
DOM element to avoid the expensive rendering.

However, it is hacky, and is not effective for other states. Instead,
this change makes the rendering cheaper by extracting the huge columns
area.
2018-03-06 07:45:31 +01:00
Akihiko Odaki
13cf92df27 Use React.PureComponent instead of React.Component (#6653) 2018-03-06 07:28:26 +01:00
Akihiko Odaki
61e6275781 Use withRouter for TabsBar (#6652)
TabsBar refers to router, which is a private context property of
react-router. withRouter is a recommended alternative. It also allows to
track location changes even if React.PureComponent is used.
2018-03-06 07:28:05 +01:00
Akihiko Odaki
b0664a5e6c Replace onScrollToBottom with onLoadMore (#6615)
onScrollToBottom was a function to run instead of onScrollToTop and
onScroll when scrolling to the bottom. The behavior to prevent
onScrollToTop was inconvenient because the viewport can be at the bottom
and at the top at the same time if the viewport is larger than the
container.

onScrollToBottom was also called when the button to load more is clicked
on contray to the name suggests, which led notifications and
status_list_container components to mark the scrolled location is not at
the top mistakenly.

onLoadMore is a replacement for onScrollToBottom. It will be called
independently from onScrollToTop and onScroll.
2018-03-05 19:31:40 +01:00
ThibG
4746feaa1c Add “Domain hidden” badge (#6636) 2018-03-05 16:45:36 +01:00
ThibG
46a9a23749 Make more apparent that an account is blocked or muted (fixes #6544) (#6627)
* Add button to unblock blocked accounts from their profile

* Add “Blocked” badge in place of “Follows you” when the user is blocked

* Add “Muted” badge (below “follows you” badge)
2018-03-05 05:09:35 +01:00
Yuto Tokunaga
4e929b2d17 [RFC] Improved media modal (#5956)
* Improved media modal

ImageLoader: Impliment pinch zoom by CSS `transform: scale(X)`
ImageLoader: Impliment panning by CSS `overflow: scroll`
ImageLoader: Larger image
MediaModal: Larger close button
MediaModal: Close the modal by swiping vertically
MediaModal: Show/hide close button and right/left navigation on tapping image
MediaModal: Change the `pointer-event` CSS prpp to get more blank space to close the modal
ImageLoader: Zoom/reset zoom on double tap
MediaModal: disable vertical swiping while horizontally swiped
ImageLoader: prevent propagating touchmove event to MediaModal
MediaModal: Adjust size and potision of buttons
ImageLoader: Adjust scroll potision on pinch zoom

* Remove "swipe to close" and "double tap to zoom" features

* remove unused prop and functions

removed `onScroll` prop and `handleScroll` func in ImageLoader

* separate zoom functionary to ZoomableImage component

adjust styling of ImageLoader
add styling for ZoomableImage

* adjust size and potision of close button of media modal

* Fix for gif video

add `onClick` prop to ExtendedVideoPlayer
specify `onClick` prop to video tag for switching nav of `MediaModal`
add `.video-modal` class to scss to separate styling for `VideoModal`

* fix styling for centering

specify height of `ZoomableImage` by pixel
clean styling for `ImageLoader`

* fix lint errors

* small fix

* fixed designated parts
2018-03-04 20:32:24 +01:00
abcang
219aac7800 Show media on report UI (#6619) 2018-03-04 20:29:12 +01:00
Eugen Rochko
9110db41c5
Federate pinned statuses over ActivityPub (#6610)
* Federate pinned statuses over ActivityPub

* Display pinned toots in web UI

Fix #6117

* Fix migration

* Fix tests

* Update outbox_serializer.rb

* Update remove_serializer.rb

* Update add_serializer.rb

* Update fetch_featured_collection_service.rb
2018-03-04 09:19:11 +01:00
Akihiko Odaki
45feb439bd Finalize location on scrollable notifications when unmounting (#6614)
The top of the scrollable notifications will be invisible after unmounting.
The Redux state should be updated accordingly in such a case so that the
unread notification counter will be updated later.
2018-03-04 08:55:15 +01:00
Eugen Rochko
e72db6d9dd
Move "compose" on mobile to floating action button (#6594)
* Move "compose" on mobile to floating action button

* Fix contrast on floating action button
2018-03-02 07:12:40 +01:00
Eugen Rochko
036dd98abb
Responsively enforce 16:9 ratio on all media thumbnails in web UI (#6590)
* Responsively enforce 16:9 ratio on all media thumbnails in web UI

Also change video player behaviour to "contain" rather than
"cover" videos that don't fit the ratio, unlike images and GIFs,
it's expected that a video is shown fully.

* Fix spacing issues and remove floor

* Remove floor
2018-03-02 07:00:04 +01:00
Eugen Rochko
7901f9f63e
When search enabled, display hint in search popout (#6593)
* When advanced search is enabled, show different hint in search popout

* Change "getting started" icon in tabs bar from asterisk to hamburger
2018-03-02 06:02:42 +01:00
Eugen Rochko
379cdfaac5
Fix #6586: Add close modal icon to report dialog (#6591) 2018-03-02 04:36:00 +01:00
Eugen Rochko
5131012505
Add "Toots/Toots with replies/Media" tab below profile header (#6572)
* Add "Toots/Toots with replies/Media" tab below profile header

* Add focal point display to account gallery timeline

* Fix visual glitch of standalone GIFV
2018-03-01 02:48:44 +01:00
Eugen Rochko
41a01bec23
Federated reports (#6570)
* Fix #2176: Federated reports

* UI for federated reports

* Add spec for ActivityPub Flag handler

* Add spec for ReportService
2018-02-28 06:54:55 +01:00
Akihiko Odaki
7cb49eaa3a Do not use function name to track components (#6542)
UglifyJS2 is allowed to mangle function names, and function names can also
be duplicate if they are from different scopes. Therefore function names
are not reliable as identifiers.

Functions as keys for Map object is a cheaper and more reliable
alternative.
2018-02-24 19:10:57 +01:00
Eugen Rochko
90f12f2e5a
Focal points (#6520)
* Add focus param to media API, center thumbnails on focus point

* Add UI for setting a focal point

* Improve focal point icon on upload item

* Use focal point in upload preview

* Add focalPoint property to ActivityPub

* Don't show focal point button for non-image attachments
2018-02-22 00:35:46 +01:00
Eugen Rochko
478ca39e5e
After click to embed video, autoplay it (#6480) 2018-02-15 23:05:12 +01:00
Eugen Rochko
f7765acf9d
Fix #5173: Click card to embed external content (#6471) 2018-02-15 07:04:28 +01:00
abcang
ecdac9017e Fix media button type (#6478) 2018-02-15 04:40:42 +01:00
Eugen Rochko
3ebc0ad4d3
Full-text search for authorized statuses (#6423)
* Add full-text search for authorized statuses

- Search API will return statuses that match the query
- Only for logged in users
- Only if you are author of the status,
- Or you were mentioned in it
- Or you favourited or reblogged it
- Configuration over `ES_ENABLED`, `ES_HOST`, `ES_PORT`, `ES_PREFIX`
- Run `rails chewy:deploy` to create & populate index

Fix #5880
Fix #4293
Fix #1152

* Add commented out docker-compose configuration for ES container

* Optimize index import, filter search results

* Add basic normalization to the index

* Add better stemming and normalization to the index

* Skip webfinger request if search query includes both @ and a space

* Fix code style

* Visually separate search result sections

* Fix code style issues
2018-02-09 23:04:47 +01:00