Commit Graph

825 Commits

Author SHA1 Message Date
Eugen Rochko
b0323d0888
Add refresh button to list of rebloggers/favouriters in web UI (#12031) 2019-10-01 04:57:27 +02:00
koyu
cfe2d1cc4a Change at icon in notification filter to reply-all (#11995) 2019-09-29 22:20:56 +02:00
ThibG
9027bfff0c Add explanation to mute dialog, refactor and clean up mute/block UI (#11992)
* Add some explanation to the mute modal dialog

* Remove `isSubmitting` from mute modal code, this wasn't used

* Refactor block modal

Signed-off-by: Thibaut Girka <thib@sitedethib.com>

* Refactor SCSS a bit

* Put mute modal toggle to the same side as in the report dialog for consistency

* Reword mute explanation

* Fix mute explanation styling

* Left-align all text in mute confirmation modal
2019-09-29 21:46:05 +02:00
Eugen Rochko
9683e1dcf8
Fix follower/following lists resetting on back-navigation in web UI (#11986)
Fix #11452
2019-09-29 16:27:00 +02:00
Yamagishi Kazutoshi
0a49b26793 Do not add margin light when opening modal on mobile (#11830) 2019-09-29 14:30:58 +02:00
ThibG
18b451c0e6 Change silences to always require approval on follow (#11975)
* Change silenced accounts to require approval on follow

* Also require approval for follows by people explicitly muted by target accounts

* Do not auto-accept silenced or muted accounts when switching from locked to unlocked

* Add `follow_requests_count` to verify_credentials

* Show “Follow requests” menu item if needed even if account is locked

* Add tests

* Correctly reflect that follow requests weren't auto-accepted when local account is silenced

* Accept follow requests from user-muted accounts to avoid leaking mutes
2019-09-27 21:13:51 +02:00
ThibG
7baedcb61e Use blob URL for Tesseract to avoid CORS issues (#11964) 2019-09-27 02:16:11 +02:00
Eugen Rochko
0d2b60ab8b
Fix emoji search not showing custom emoji when none are uncategorized (#11920)
Fix #11903
2019-09-23 00:48:43 +02:00
Eugen Rochko
bc5678d015
Change conversations UI (#11896)
Fix #11414, fix #9860, fix #10434
2019-09-21 20:01:16 +02:00
Eugen Rochko
ba0de8fb68
Fix updates being hidden behind pending items on unmounted components (#11898) 2019-09-21 09:12:13 +02:00
Yamagishi Kazutoshi
0627252b30 Check existence of timeline state in community timeline (#11880) 2019-09-18 04:02:21 +02:00
Eugen Rochko
bdeff5ae15
Fix web UI allowing uploads past status limit via drag & drop (#11863)
Fix #11659
2019-09-16 20:42:19 +02:00
ThibG
f109867578 Fix “slow mode” issues (#11859)
* Fix weird scroll-jumping behavior with pending items

* Treat pending items as unread items

* Fix scroll position being altered because of the “X new items” button
2019-09-16 15:45:06 +02:00
ThibG
c00ab575b7 Fix media description button being disabled at 420 characters instead of 1500 (#11836) 2019-09-14 00:52:56 +02:00
Eugen Rochko
b6381bdc7d
Change max length of media descriptions from 420 to 1500 characters (#11819)
Fix #11658
2019-09-13 16:00:34 +02:00
Eugen Rochko
e445a8af64
Add timeline read markers API (#11762)
Fix #4093
2019-09-06 13:55:51 +02:00
mayaeh
1f22b8197c Integrate translation strings for the Profile Directory. (#11722)
Run `yarn manage:translations en`
2019-09-02 18:12:27 +02:00
ThibG
34eac5a1ec Fix custom emoji animation on hover in WebUI directory bios (#11716) 2019-09-01 20:04:35 +02:00
Eugen Rochko
9871904172
Change layout of public profile directory to be the same as in web UI (#11705) 2019-08-30 07:41:16 +02:00
ThibG
6914482d0a Change detailed status child ordering to sort self-replies on top (#11686)
Fixes #11679
2019-08-30 01:57:38 +02:00
Eugen Rochko
cb447b28c4
Add profile directory to web UI (#11688)
* Add profile directory to web UI

* Add a line of bio to the directory
2019-08-30 00:14:36 +02:00
ThibG
81f864d4da Add special alert for throttled requests (#11677)
* Add special alert for throttled requests

* Use an extra attribute instead of an array
2019-08-27 16:50:39 +02:00
ThibG
fd3d45d38f Add confirmation modal when logging out from the web app (#11671)
* [WiP] Add a confirmation modal before logging out from the web interface

* Add confirmation to logout link in getting started footer

* Please CodeClimate
2019-08-26 18:24:10 +02:00
ThibG
bd4099d976 Change window resize handler to switch to/from mobile layout as soon as needed (#11656) 2019-08-25 15:48:50 +02:00
Eugen Rochko
2e99e3cab3
Fix more visual issues with the audio player (#11654)
* Fix more visual issues with the audio player

- Add horizontal baseline in the middle of waveform
- Fix audio player colors in light theme
- Use audio element instead of web audio API
- Do not render any bars until the file is loaded
- Do not allow interactions with waveform until the file is loaded

* Fix code style issue
2019-08-25 15:09:19 +02:00
Eugen Rochko
e72bac7576
Fix public page crash due to audio player, fix unpause in audio player (#11652) 2019-08-25 02:13:40 +02:00
Eugen Rochko
4190e31626
Add audio player (#11644) 2019-08-23 22:38:02 +02:00
Eugen Rochko
4ef8d8b77c
Add header to trends section and change refresh rate to 15 minutes (#11641) 2019-08-23 05:05:21 +02:00
ThibG
d857d0d14d Fix trending hashtags being fetched every 36 seconds instead of every hour (#11631) 2019-08-21 00:18:07 +02:00
ThibG
b48c7ee059 Fix handling of audio files in account media gallery (#11629)
Fixes #11627
2019-08-20 19:46:41 +02:00
ThibG
2ca6b2bb6c Improve focal point modal on mobile (#11575)
* Reduce padding around report modal and focal point modal title

* Increase max allowed height for focal point modal content
2019-08-15 22:49:00 +02:00
ThibG
d37126fd03 Allow clicking behind preview (#11576) 2019-08-15 22:47:51 +02:00
Eugen Rochko
1bea318197
Fix edit media modal on small screens, touch events (#11573) 2019-08-15 20:28:56 +02:00
Eugen Rochko
dfe6059889
Fix tesseract.js being part of the common chunk (#11571)
* Fix tesseract.js being part of the common chunk

Besides being 620 KB large, it also causes a modules-related runtime
error in production...

* Fix code style issue

* Fix modules error
2019-08-15 17:24:45 +02:00
Eugen Rochko
28636f43e4
Add OCR tool to media editing modal (#11566) 2019-08-15 15:13:26 +02:00
Eugen Rochko
23f7afa562
Add media editing modal (#11563)
Move media description input to a modal and unite that modal with
the focal point modal. Add a hint about choosing focal points, as
well as a preview of a 16:9 thumbnail. Enable the user to watch
the video next to the media description input.

Fix #8320
Fix #6713
2019-08-14 04:07:32 +02:00
Eugen Rochko
c09ecbc53e
Add indicator of unread content to window title when web UI is out of focus (#11560)
Fix #1288
2019-08-13 12:22:16 +02:00
Eugen Rochko
e823b49214
Fix "cancel follow request" button having unreadable text in web UI (#11521)
Fix #11478
2019-08-08 08:56:55 +02:00
Eugen Rochko
9072fe5ab6
Add trends UI with admin and user settings (#11502) 2019-08-06 17:57:52 +02:00
Eugen Rochko
1d8d553d8b
Revert "Change links in webUI to rewrite misleading links (#11426)" (#11500)
This reverts commit b31b232edf.
2019-08-06 12:09:28 +02:00
ThibG
27a0d02d0d Improve keyboard navigation in privacy dropdown (#11492)
* Trap tab in privacy dropdown

* Give focus back to last focused element when privacy dropdown menu closes

* Actually give back focus to the element that had it before clicking the dropdown
2019-08-06 11:59:58 +02:00
ThibG
792d0dd470 Fix privacy dropdown active state when dropdown is placed on top of it (#11495) 2019-08-06 11:59:14 +02:00
ThibG
c8fd823327 Change icon button styles to make hover/focus states more obvious (#11474)
* Change icon buttons styles to make hover/focused states more obvious

* Fix CW button size inconsistency

* Fix icon button background color consistency
2019-08-03 19:10:50 +02:00
ThibG
089c641020 Disable list title validation button when list title is empty (#11475) 2019-08-03 19:10:39 +02:00
Eugen Rochko
2dee293c4c
Fix scroll to top in single column UI (#11463) 2019-08-01 19:17:17 +02:00
Eugen Rochko
706a48ee1f
Fix column header scrolling with the page (#11458)
Regression from aa22b38
2019-08-01 12:26:58 +02:00
ThibG
b31b232edf Change links in webUI to rewrite misleading links (#11426)
* [WiP] Show host for “misleading” links

* Disallow misleading targets which domain names are prefixes of link text

* Move decodeIDNA to app/javascript/mastodon/utils

* Add support for international domain names

* Change link origin tag color to darker text color

* Handle links to domains starting with www. as shortened by Mastodon

* [WiP] Ignore links that cannot be misread as URLs, rewrite other links
2019-07-30 12:13:29 +02:00
Eugen Rochko
8a4674f2c3
Add search results pagination to web UI (#11409)
* Add search results pagination to web UI

Fix #10737

* Fix code style issue
2019-07-27 05:49:50 +02:00
ThibG
7de8c51873 Play animated custom emoji on hover (#11348)
* Play animated custom emoji on hover in status

* Play animated custom emoji on hover in display names

* Play animated custom emoji on hover in bios/bio fields

* Add support for animation on hover on public pages emojis too

* Fix tests

* Code style cleanup
2019-07-21 18:10:40 +02:00
Eugen Rochko
aa22b38fdb
Change single-column mode to scroll the whole page (#11359)
Fix #10840
2019-07-19 09:25:22 +02:00
koyu
8df0022e66 Added logout to dropdown menu (#11353)
* Added logout to dropdown menu

* Triggering build-and-test with empty commit as it seems it failed due to some internal failure

* Looks fine, ready to review

* Added changes from review

* method can be null without any problems

* Also target can be null
2019-07-19 03:58:46 +02:00
Eugen Rochko
9b1d3e4acb
Add option to disable real-time updates in web UI (#9984)
Fix #9031
Fix #7913
2019-07-16 06:30:47 +02:00
ThibG
c07cca4727 Only scroll to the compose form if it's not horizontally in the viewport (#11246)
Avoids jumping the scroll around vertically when giving it focus and
editing long toots.
2019-07-06 18:18:08 +02:00
ThibG
99924f282f Memoize ancestorIds and descendantIds in detailed status view (#11234) 2019-07-02 16:03:54 +02:00
ThibG
4f5b221be2 Display FTS warning based on actual search term, not the one being typed (#11202)
Follow-up to #11112
2019-06-28 19:29:11 +02:00
Eugen Rochko
e64e6a03dd
Add categories for custom emojis (#11196)
Fix #7940
2019-06-28 15:54:10 +02:00
ThibG
072158ee97 Fix swiping columns on mobile sometimes failing (#11200)
Fixes #9779
2019-06-28 13:52:15 +02:00
ThibG
ca8944728f Add message telling FTS is disabled when no toot can be found because of this (#11112)
* Add message telling FTS is disabled when no toot can be found because of this

Fixes #11082

* Remove info icon and reword message
2019-06-27 21:12:26 +02:00
ThibG
3086c645fd Add option to disable blurhash previews (#11188)
* Add option to disable blurhash previews

* Update option text

* Change options order
2019-06-26 19:33:04 +02:00
ThibG
32a4494926 Scroll to compose form rather than reply indicator on focus (#11182) 2019-06-26 14:28:36 +02:00
PatOnTheBack
5b20284f6f Removed extra pipes from regex. (#11181) 2019-06-26 02:16:24 +02:00
koyu
6eb5241099 Change camera icon to paperclip icon in upload form (#11149) 2019-06-22 15:29:25 +02:00
Eugen Rochko
f7f23b4a19
Add audio uploads (#11123)
* Add audio uploads

Fix #4827

Accept uploads of OGG, WAV, FLAC, OPUS and MP3 files, and converts
them to OGG. Media attachments get a new `audio` type. In the UI,
audio uploads are displayed identically to video uploads.

* Improve code style
2019-06-19 23:42:38 +02:00
ThibG
01e362316c Do not scroll in the compose panel on single-column (#11093) 2019-06-16 18:46:55 +02:00
ThibG
b4d67fe57a Fix ordering of keyboard access between CW field, textarea and emoji picker (#11066) 2019-06-13 17:07:43 +02:00
ThibG
dd45c63921 List attachments in reply indicator and boost modal (#10997)
* Add media attachments list to boost modal

* Add attachment list to reply indicator
2019-06-13 17:04:52 +02:00
ThibG
1b4dcc3f78 Only show profile directory link when it's enabled (#11064) 2019-06-13 00:16:27 +02:00
mayaeh
210fa3a94e Fix emoji-button appearing above privacy-dropdown (#11027) 2019-06-10 12:27:17 +02:00
ThibG
e9ddd5a159 Put poll options behind content warnings (#10983)
* Put poll options behind CWs in WebUI

* Put polls behind CWs on public pages

* Add poll icon to public pages CWs

* Revert to not showing an icon in the CW button
2019-06-08 17:40:59 +02:00
Eugen Rochko
f4bc77f290
Improve light theme (#10992) 2019-06-08 10:23:41 +02:00
Eugen Rochko
cc8f6b3cda
Fix some React warnings (#10989) 2019-06-07 17:15:18 +02:00
Wenceslao Páez Chávez
fe3bf3b0fc Fix overlap of emoji button on search popup (#10978) 2019-06-06 13:40:17 +02:00
Eugen Rochko
5bfd802c57
Fix not being able to directly switch between list timelines in web UI (#10973) 2019-06-06 13:04:49 +02:00
Takeshi Umeda
c402c291f4 Fix emoji picker being always displayed (#10979)
* Fix emoji picker being always displayed

* Remove duplicate content with other pull-requests
2019-06-06 12:30:14 +02:00
Jeong Arm
8f3c32e29c Scroll to compose form when focus (#10970)
* Scroll to compose form when focus

* Get rid of constructor
2019-06-05 15:29:45 +02:00
Eugen Rochko
6077eca240
Add profile directory link to single column navigation panel (#10963) 2019-06-04 19:50:38 +02:00
Takeshi Umeda
d93b82af87 Improvement variable height in single column layout (#10917)
* Improvement variable height of compose and navigation panel in single column layout

* Fix wrong quotes and missing commas
2019-06-02 10:05:54 +02:00
Eugen Rochko
8d9755e5f5
Change links in right panel to open in the same tab (#10848)
For Rambox compatibility
2019-05-29 17:33:35 +03:00
ThibG
3333250ede Fix React warning about legacy lifecycle calls and sensitive status resetting (#10872) 2019-05-29 17:33:15 +03:00
Eugen Rochko
451e5980b6
Refactor footers in web UI into a single component (#10846) 2019-05-27 21:58:41 +02:00
Takeshi Umeda
3b9c02506d Fix poll visibility on public pages (#10817)
* Fix poll visibility on public pages

* Revert "Fix poll visibility on public pages"

This reverts commit 54a9608add6f855bc6337fe3c65eaee7ba13db49.

* Revert "Change poll options to alphabetic letters when status text is hidden"

This reverts commit c53d67326201b2061990b1874a3547c3647f50d2.
2019-05-26 23:13:29 +02:00
Eugen Rochko
988342a56c
Fix null error in status component when determining showMedia state (#10838)
* Fix null error in status component when determining showMedia state

Also update the showMedia value if the status passed to the
component changes

* Refactor media visibility computation into a defaultMediaVisibility function

* Fix default media visibility with reblogs
2019-05-26 13:48:16 +02:00
Hanage999
4a818ac2de Fix wrong redirect from getting started to home in advanced Web UI (#10839)
* update Ruby to 2.5.3

* Link to Getting Started will not redirect to Home in multi-column UI (https://github.com/tootsuite/mastodon/pull/10835)
2019-05-26 12:22:33 +02:00
Eugen Rochko
0e445ebb13
Improvements to the single column layout (#10835)
* Improvements to the single column layout

- Add follows and followers link to the right panel
- Increase margins around separators in right panel
- Add follow requests link with counter when account is locked to right panel

* Redirect from getting started to home when navigation panel is visible
2019-05-26 02:55:37 +02:00
ThibG
a472190729 Add a keyboard shortcut to hide/show media (#10647)
* Move control of media visibility to parent component

* Add keyboard shortcut to toggle media visibility
2019-05-25 23:20:51 +02:00
Eugen Rochko
1e5532e693
Add responsive panels to the single-column layout (#10820)
* Add responsive panels to the single-column layout

* Fixes

* Fix not being able to save the preference

* Fix code style issues

* Set max-height on the compose textarea and add a link to relationship manager
2019-05-25 21:27:00 +02:00
Eugen Rochko
84dc21d55d
Various improvements to single column layout (#10809)
- Add potential side panels to single column layout
- Hide FAB on large screens
2019-05-23 20:01:10 +02:00
Eugen Rochko
9ddeb30f90
Add forceSingleColumn prop to <UI /> (#10807)
* Move TabsBar rendering logic from CSS to the ColumnsArea component

* Add forceSingleColumn mode

* Add unread notifications counter to tabs bar

* Add toggle to control `forceSingleColumn`

* Increase paddings in mobile layout responsively at large sizes
2019-05-23 01:35:22 +02:00
Hinaloe
bb9d7fad9f fix isSubmitting prop case (#10785) 2019-05-19 18:41:41 +02:00
Eugen Rochko
6fe474837c
Change poll options to alphabetic letters when status text is hidden (#10685)
Fix #10569
2019-05-18 14:41:16 +02:00
ThibG
6dc9baad2a Change icon and label depending on whether media is marked as sensitive (#10748)
* Change icon and label depending on whether media is marked as sensitive

* WiP use a checkbox
2019-05-10 17:59:57 +02:00
Aurélien Reeves
fe8a8f779e Add confirm modal for unboosting toots (#10287)
[#3815]

Display the boost modal also when unboosting toots.
2019-05-09 22:39:26 +02:00
ThibG
f2be71c293 Add emoji suggestions to CW and poll option fields (#10555)
* Refactor selectComposeSuggestion so that different paths can be updated

* Add suggestions in CW field

* Add emoji suggestion to poll options

* Attempt to fix CSS

* Hide suggestions by default

They will be enabled if the input has focus
2019-05-09 22:10:27 +02:00
Jeong Arm
09eea46631 Bring back crossed eye icon on gallery (#10715) 2019-05-08 18:01:33 +02:00
ThibG
b2f5b1045f Add description on hover in media gallery (#10713) 2019-05-06 05:33:56 +02:00
ThibG
4f73cde4e1 Minor account media gallery fixes (#10695)
* Make the cursor icon consistant across media types in account media gallery

* Fix the video player modal causing scroll position to reset
2019-05-04 17:36:43 +02:00
Eugen Rochko
eb63217210
Add button to view context to media modal (#10676)
* Add "view context" button to media modal when opened from gallery

* Add "view context" button to video modal

Allow closing the video modal by navigating back in the browser,
just like the media modal
2019-05-03 16:16:30 +02:00
ThibG
5121d9c12f When selecting a toot via keyboard, ensure it is scrolled into view (#10593) 2019-05-03 06:20:35 +02:00
Eugen Rochko
05ef3462ba
Make the "mark media as sensitive" button more obvious in web UI (#10673)
* Make the "mark media as sensitive" button more obvious in web UI

* Use eye-slash icon instead of eye icon to mean "hide"
2019-05-03 04:34:55 +02:00
Eugen Rochko
3f143606fa
Change account gallery in web UI (#10667)
- 3 items per row instead of 2
- Use blurhash for previews
- Animate/hover-to-play GIFs and videos
- Open media modal instead of opening status
- Allow opening status instead with ctrl+click and open in new tab
2019-05-02 08:34:32 +02:00
Eugen Rochko
fba96c808d
Add blurhash (#10630)
* Add blurhash

* Use fallback color for spoiler when blurhash missing

* Federate the blurhash and accept it as long as it's at most 5x5

* Display unknown media attachments as blurhash placeholders

* Improve style of embed actions and spoiler button

* Change blurhash resolution from 3x3 to 4x4

* Improve dependency definitions

* Fix code style issues
2019-04-27 03:24:09 +02:00
ThibG
0e78862b61 Allow switching between singe-option and multiple-option polls (#10603) 2019-04-22 14:56:14 +02:00
kedama
d763d39d26 Fix modal items cannot scroll on touch devices (#10605) 2019-04-22 14:55:50 +02:00
ThibG
bdec58b514 Minor code cleanup (#10613) 2019-04-22 14:55:24 +02:00
Sho Kusano
3e6c7f3617 Configrationable repository url (#10600)
* config: Add GITHUB_REPOSITORY for repository name

* config: Add SOURCE_BASE_URL for repository url

* Show source_url and repository name on getting started
2019-04-21 04:41:34 +02:00
Eugen Rochko
56f29c38b6
Fix glitched out "not found" message for non-existing profiles in web UI (#10517) 2019-04-09 05:02:48 +02:00
Eugen Rochko
67b3b62b98
Improve blocked view of profiles (#10491)
* Revert "Fix filtering of favourited_by, reblogged_by, followers and following (#10447)"

This reverts commit 120544067f.

* Revert "Hide blocking accounts from blocked users (#10442)"

This reverts commit 62bafa20a1.

* Improve blocked view of profiles

- Change "You are blocked" to "Profile unavailable"
- Hide following/followers in API when blocked
- Disable follow button and show "Profile unavailable" on public profile as well
2019-04-07 04:59:13 +02:00
ashleyhull-versent
2b68fe5442 tinyfix 2: unrequired arguments (#10471)
* unrequired argument

* unrequired argument
2019-04-06 12:02:03 +09:00
ashleyhull-versent
bd365cc38b Duplicate values (#10470) 2019-04-04 23:22:55 +09:00
ThibG
62bafa20a1 Hide blocking accounts from blocked users (#10442)
* Revert "Add indication that you have been blocked in web UI (#10420)"

This reverts commit bd02ec6daa.

* Revert "Add `blocked_by` relationship to the REST API (#10373)"

This reverts commit 9745de883b.

* Hide blocking accounts from search results

* Filter blocking accouts from account followers

* Filter blocking accouts from account's following accounts

* Filter blocking accounts from “reblogged by” and “favourited by” lists

* Remove blocking account from URL search

* Return 410 on trying to fetch user data from a user who blocked us

* Return 410 in /api/v1/account/statuses for suspended or blocking accounts

* Fix status filtering when performing URL search

* Restore some React improvements

Restore some cleanup from bd02ec6daa

* Refactor by adding `without_blocking` scope
2019-04-01 20:06:13 +02:00
Jeong Arm
51625d3423 Remove unused code (#10426) 2019-03-30 15:47:25 +09:00
Eugen Rochko
8fb69f1366
Fix emoji-mart crashing web UI on search by reverting the upgrade to 2.10.0 (#10413)
Fix #10315

This reverts commit db06b25376.
2019-03-30 01:41:35 +01:00
Eugen Rochko
bd02ec6daa
Add indication that you have been blocked in web UI (#10420) 2019-03-30 00:43:29 +01:00
Alex Gessner
69141dca26 squashed identity proof updates (#10375) 2019-03-28 18:01:09 +01:00
slice
73f5711fb8 Add rel='noopener' to redesigned profile column header avatar link (#10393) 2019-03-27 17:08:26 +01:00
ThibG
a91acf79b5 Move the account dropdown menubar to the right, make sure it doesn't move (#10390)
* Move the account dropdown menubar to the right, make sure it doesn't move

* Fix margin
2019-03-26 23:05:21 +01:00
ThibG
6df4a82969 Add a “Block & Report” button to the block confirmation dialog (#10360) 2019-03-26 17:34:02 +01:00
Aditoo17
6f6abc369f Make clicking on avatar open public profile in new tab (#10387) 2019-03-26 17:33:07 +01:00
mayaeh
186f7bcbb6 Fix menu items that don't action (#10379) 2019-03-26 05:31:09 +01:00
Eugen Rochko
a96181f16f
Redesign profile column in web UI to match design on public pages (#10337)
* Redesign profile column in web UI to match design on public pages

* Make the tab links text bolder
2019-03-26 00:36:25 +01:00
Eugen Rochko
42c581c458
Disable real-time updates on public pages to improve readability (#10260) 2019-03-18 18:34:56 +01:00
Nolan Lawson
db06b25376 fix: update to emoji-mart 2.10.0 (#10281)
* fix: update to emoji-mart 2.10.0

* remove useless change

* fix CSS style of emoji picker, improve a11y

* fix missing newline in scss

* fix the title and input fonts
2019-03-16 20:13:15 +01:00
Eugen Rochko
6a3f08661f
Fix scrollbar styles on compose textarea, small bugs (#10292) 2019-03-16 20:10:42 +01:00
Eugen Rochko
c20d096e6a
Show disappointed elephant if web UI crashes (#10275)
* Do not crash the whole UI when loading an invalid column

* Add error boundary component to catch Web UI crashes

* Add stack trace on supported browsers

* Add component stack info, pre-format everything for github

* Make “Reload” a clickable link that calls window.location.reload()

* Remove elephant friend from error boundary, make title stand out more

* Simplify error boundary to only a graphic
2019-03-15 05:35:45 +01:00
ThibG
65d9004ac9 Add UI for enabling/disabling poll notifications (#10255)
* Add UI for enabling/disabling poll notifications

* Add poll notifications to the (advanced) quick filter bar

* Update poll notification message

“Your poll has ended” → “A poll you have voted in has ended”

* Clear up associated notifications when a poll is deleted
2019-03-13 19:29:54 +01:00
Eugen Rochko
da45b8b4c9
Fix public timeline page not paginating correctly (#10245) 2019-03-12 21:53:56 +01:00
Eugen Rochko
65fffeac3f
Redesign landing page (#10232) 2019-03-12 17:34:00 +01:00
ThibG
3a92885a86 Support pushing and receiving updates to poll tallies (#10209)
* Process incoming poll tallies update

* Send Update on poll vote

* Do not send Updates for a poll more often than once every 3 minutes

* Include voters in people to notify of results update

* Schedule closing poll worker on poll creation

* Add new notification type for ending polls

* Add front-end support for ended poll notifications

* Fix UpdatePollSerializer

* Fix Updates not being triggered by local votes

* Fix tests failure

* Fix web push notifications for closing polls

* Minor cleanup

* Notify voters of both remote and local polls when those close

* Fix delivery of poll updates to mentioned accounts and voters
2019-03-11 00:49:31 +01:00
Eugen Rochko
d97cbb0da6
Add UI for creating polls (#10184)
* Add actions and reducers for polls

* Add poll button

* Disable media upload if poll enabled

* Add poll form

* Make delete & redraft work with polls
2019-03-06 04:53:37 +01:00
Eugen Rochko
230a012f00
Add polls (#10111)
* Add polls

Fix #1629

* Add tests

* Fixes

* Change API for creating polls

* Use name instead of content for votes

* Remove poll validation for remote polls

* Add polls to public pages

* When updating the poll, update options just in case they were changed

* Fix public pages showing both poll and other media
2019-03-03 22:18:23 +01:00
Eugen Rochko
3e0ed36e8e
Fix home timeline perpetually reloading when empty (#10130)
Regression from #6876
2019-03-01 11:11:35 +01:00
ThibG
d1d7d14f77 Fix video player width not being updated to fit container width (#10069) 2019-02-18 00:10:21 +01:00
ThibG
041ff5fa9a Fix crash on public hashtag pages when streaming fails (#10061) 2019-02-16 14:53:27 +01:00
Eugen Rochko
ea7ad59af2
Fix mutes, blocks, domain blocks and follow requests not paginating (#10057)
Regression from #9581
2019-02-16 11:56:09 +01:00
Eugen Rochko
aa83219875
Fix hashtag column not subscribing to stream on mount (#10040)
Fix #9895
2019-02-14 15:46:42 +01:00
Ben Lubar
309043b158 Improve image description user experience (#10036)
* Add image descriptions to searchable post content.

* Allow multi-line image descriptions.

* Request image descriptions in the same query as posts when creating the search index.

(see https://github.com/tootsuite/mastodon/pull/10036#discussion_r256551624)
2019-02-14 01:04:43 +01:00
ThibG
188f1c7c89 Add list title editing (#9748)
* Add list title editing

Port changes made by ash for glitch-soc

* Code style fixes
2019-02-13 18:52:02 +01:00
Eugen Rochko
169b9d4428
Fix hashtags select styling in default and high contrast themes (#10029) 2019-02-13 18:34:58 +01:00
Hinaloe
0e513ff862 Don't focus spiler input when disabled spoiler (#10017) 2019-02-12 05:10:31 +01:00
ThibG
aee93bfc9c Fix timeline jumps (#10001)
* Avoid two-step rendering of statuses as much as possible

Cache width shared by Video player, MediaGallery and Cards at the
ScrollableList level, pass it down through StatusList and Notifications.

* Adjust scroll when new preview cards appear

* Adjust scroll when statuses above the current scroll position are deleted
2019-02-11 13:19:59 +01:00
Eugen Rochko
3cfadd875c Add "copy link" item to status action bars (#9983)
Fix #6848
2019-02-11 12:19:49 +09:00
mayaeh
46e806cd2f Rename from instance to server. (#9938) 2019-02-05 19:11:24 +01:00
mike castleman
f86413fce2 change "finish tutorial" text to "finish toot-orial" (#9905) 2019-02-04 04:45:29 +01:00
tmm576
750c67660d Allow multiple files upload through web UI, including drag & drop (#9856)
* Allow drag and drop uploads of multiple files to compose

* Calculate aggregate upload progress for single action

* Allow multiple uploads to compose through traditional input, consolidate update file limit logic, provide file limit feedback
2019-02-02 20:22:05 +01:00
Eugen Rochko
1f95190202
Refactor icons in web UI to use Icon component (#9951)
* Refactor uses of icons to an Icon component in web UI

* Refactor options passed to the Icon component

* Make tests work with absolute component paths
2019-02-01 00:14:05 +01:00
Clar Charr
6513f6c953 Replace unlock-alt icon with unlock (#9952) 2019-01-31 13:45:15 +01:00
ThibG
a53dcaa298 Fix initial value of volume slider in video player and handle volume changes (#9929)
* Fix initial value of volume slider in video player and handle volume changes

* Clean up dead/incorrect code
2019-01-27 21:18:15 +01:00
ThibG
ec5bd8b8bb Implement missing hotkeys for notifications (#9927) 2019-01-27 17:54:54 +01:00
Eugen Rochko
b506ce1197
Fix new hashtag page's items not being full-width on mobile (#9852)
Fix #9845
2019-01-18 20:58:11 +01:00
tmm576
4cd0a10793 Allow event defaults on index for text data transfer (#9840) 2019-01-17 23:27:51 +01:00
Eugen Rochko
8b19903559
Improve the public hashtag page (#9831)
- Fix height not updating when clicking show more on public hashtag page
- Add header to the public hashtag page
- Change text size and margins on the public hashtag page
2019-01-17 14:06:08 +01:00
tmm576
30af4ee65f Hide floating action button on search and getting started pages (#9826) 2019-01-17 09:22:12 +01:00
Eugen Rochko
bc642ac24b
Redesign public hashtag page to use a masonry layout (#9822) 2019-01-16 19:47:46 +01:00
Hinaloe
d6433b3931 make draggingOver state off correctly (#9797)
* make draggingOver stat off correctly

* ignore safari and Edge

* Revert "ignore safari and Edge"

This reverts commit b9b93ea3674877670161207a3f9b3a4f82b68a2d.

* Revert "make draggingOver stat off correctly"

This reverts commit f5fd6b94dc1d4b812e0b910b2b4f35792c3ea3a1.

* clear drag stack when drop
2019-01-14 07:44:26 +00:00
mayaeh
266d4cb92b Changed not to display DISCOVER subheader via single column layout. (#9759) 2019-01-08 14:32:36 +01:00
Eugen Rochko
8b976c3479
Move profile directory link in web UI from footer to discover section (#9745) 2019-01-07 23:59:06 +01:00
ThibG
6f9a7bd02c Add quick links to the admin interface in the WebUI (#8545)
* Allow to show a specific status in the admin interface

* Let the front-end know the current account is a moderator

* Add admin links to status and account menus

If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten

* Use @statuses.first instead of @statuses[0]
2019-01-04 13:10:43 +01:00
Eugen Rochko
1512af2811
Display fallback link card thumbnail when none is given (#9715) 2019-01-04 12:44:46 +01:00
Eugen Rochko
e3dc8870bf
Remove visible timestamps for notifications (#9675)
Revert #9423. Issues with line breaks / clutter.
2018-12-31 18:12:07 +01:00
Yamagishi Kazutoshi
8f5fdab5bf Update dependencies for Node.js (2018-12-31) (#9669)
* Update react-* to v16.7.0

* Upgrade react-hotkeys to v1.1.4

* Update react-intl to v2.7.2

* Update react-select to v2.2.0

* Update react-swipeable-views to v0.13.0

* Upgrade react-textarea-autosize to v7.1.0

* Upgrade redux to v4.0.1

* Upgrade reselect to v4.0.0

* Update raf to v3.4.1

* Update enzyme to v3.8.0

* Update rails-ujs to v5.2.2

* Update axios to v0.18.0

* Update http-link-header to v1.0.2

* Update rellax to v1.7.1

* Update intersection-observer to v0.5.1

* Update stringz to v1.0.0

* Upgrade babel-eslint to v10.0.1

* Update @babel/* to v7.2.x

* Update babel-plugin-react-intl to v3.0.1

* Update babel-plugin-transform-react-remove-prop-types to v0.4.21

* Upgrade dotenv to v6.2.0

* Update express to v4.16.4

* Update webpack to v4.28.3

* Upgrade autoprefixer to v9.4.3

* Update babel-loader to v8.0.4

* Upgrade css-loader to v2.1.0

* Upgrade file-loader to v3.0.1

* Update marky to v1.2.1

* Update mini-css-extract-plugin to v0.5.0

* Update offline-plugin to v5.0.6

* Update style-loader to v0.23.1

* Update eslint-plugin-jsx-a11y to v6.1.2

* yarn upgrade

* fix

* Replace webpack-manifest-plugin to webpack-assets-manifest

* Replace node-zopfli to @gfz/zopfli

* Remove monkey-patch for http-link-header
2018-12-31 18:11:48 +01:00
Takeshi Umeda
1340460c85 If it is disabled, remove the link of the profile directory (#9665) 2018-12-30 18:57:50 +01:00
mayaeh
c1693827ae Change the icon to "reply-all" when reply to other accounts (#9378) 2018-12-28 03:51:32 +01:00
Eugen Rochko
2ee779dcd3
Update emoji codepoint mappings to v11.0 (#9618) 2018-12-24 19:12:00 +01:00
ThibG
e25947db4a Sanitize and sandbox toot embeds (#9552) 2018-12-23 02:16:35 +01:00
Eugen Rochko
bb62827c16
Remove links to bridge.joinmastodon.org (non-functional) (#9608)
Add link to profile directory
2018-12-22 23:32:00 +01:00
ThibG
e70e496e29 Clean up dead code in public timeline code (#9565) 2018-12-18 22:00:18 +01:00
ThibG
4ede51743e Minor scrollable list fixes (#9551)
* Make sure loading indicator has enough vertical space

* Respect reduce_motion setting for loading indicator
2018-12-17 17:02:59 +01:00
Eugen Rochko
9cb26bb56b
Add new first-time tutorial (#9531)
* Prepare to load onboarding as a full page

* Update the first-time introduction

* Improve responsive design

* Replace speech bubble with logo

* Increase text size and reword first paragraph
2018-12-17 11:07:17 +01:00
ThibG
4297de34cf Split out is_changing_upload from is_submitting (#9536)
There is no reason to disable the composer textarea when some media metadata
is being modified, nor is there any reason to focus the textarea when some
media metadata has been modified (prevents clicking one image's description
field right after having modified another).
2018-12-16 21:17:56 +01:00
Paweł Ngei
13dce12665 Add notification quick-filter bar in the frontend app (#9399)
* create FilterBar componer and its container, unstyled

* introduce basic styling for FilterBar

* add selection css

* allow FilterBar to display active CSS with js

* connect the FilterBar to the Redux state

* change getNotifications to use filter

* remove temporary comments

* add an option to turn the FilterBar off in settings

* fix showFilterBar data type to boolean

* fix eslint errors

* add English and Polish translations

* allowed filter bar overflow to accomodate for longer languages

* fix mispelled translation key

* add unified CSS look

* replace text in FilterBar with icons

* add tooltips

* replace text @ with an icon

* introduce simple and advanced filtering view

* add ability to toggle the advanced view

* add Polish translations

* change Advanced View description to be more clear

* make each filter flush notifications and load new ones, fixing pagination

* simplify getNotifications once frontend filtering is not needed for FilterBar

* add a semicolon

* Revert "simplify getNotifications once frontend filtering is not needed for FilterBar"

This reverts commit 9f4be7857135b0327814bd22a3e8a4e7b546f7cc.

* reset filter to 'all' when turning off FilterBar
2018-12-16 05:56:41 +01:00
ThibG
7c48688d85 Make avatar and headers respect auto_play_gif (#9515)
* Do not animate account header art if user's GIF autoplay setting is off

Fixes #9472

* Honour currently logged-in user's GIF autoplay setting for account avatars

Fixes #9467

* Fix avatar display on some public pages when data is stored on a different host

* Use ternary operator instead of if/else for avatar/header URL
2018-12-14 20:34:18 +01:00
ThibG
55abff8af7 Various fixes to scrollable lists and media gallery (#9501)
* Always use the scrollable class for the ScrollList component

Fixes #9499 as well as empty timelines' scrollbar “blinking”
between loading state and empty state.

* Do not display empty message when the list is known to have more elements

Fixes #9500

* Fix LoadMore usage in account media gallery

(Even though that codepath is probably never actually used…)

* Make account media gallery more consistent with account timeline

Fixes #9498

Display “load more” more consistently, add a loading indicator on first load.

* Fix “load more” button when no data has been fetched
2018-12-12 22:32:44 +01:00
Paweł Ngei
9897cf0701 Add visible dates for notifications in Notification column (#9423)
* add RelativeTimestamp elements

* style the elements properly with CSS
2018-12-05 05:08:43 +01:00
Paweł Ngei
b9ec34de57 Add a tooltip explaining what a locked account is (#9403)
* create a title tooltip explaining what a locked account is

* improve phrasing

* minor phrasing fix to unify default and english
2018-12-01 14:25:15 +01:00
mayaeh
bfec030a4e Fix that translation is not applied to "joining hashtags" (#9397) 2018-11-30 19:36:09 +01:00
Eugen Rochko
3948b6fa52
Remove npm-run-all dependency (#9401)
Fix #9359
2018-11-30 19:16:32 +01:00
Sumit Khanna
f978afa487 Volume sliders for videos #7429 (#9366)
* Volume sliders for videos #7429

* Code formatting updates

* Code formatting updates
2018-11-27 12:25:38 +01:00
James Kiesel
4fdefffb99 Deep compare tags for hashtag column reload (#9297)
* Deep compare tags for hashtag column reload

* Don't use global lodash
2018-11-17 11:07:48 +01:00
Eugen Rochko
bb69d154c4
Fix null error introduced in #9270 (#9275) 2018-11-12 22:07:31 +01:00
ThibG
bbd8fdd185 Perform deep comparison for card data when receiving new props (#9270)
Fixes #9226
2018-11-12 18:17:50 +01:00
Eugen Rochko
3cecf3e5b9
Fix loading indicator inconsistency (#9252)
* Use global loading indicator when loading more items

* Use local loading indicator for notifications

And remove global loading indicator for initial custom emojis load
2018-11-10 15:04:13 +01:00
Eugen Rochko
dd00cd19d2
Use local instead of global loading indicator for timelines, account timelines (#9224)
So that opening a profile feels faster. Also, pinned toots are not
shown before other toots have loaded. Also, if no toots are loaded,
added empty message
2018-11-08 21:35:06 +01:00
Eugen Rochko
5cbf6cf3ec
Add "Show thread" link to self-replies (#9228)
Fix #4716
2018-11-08 21:08:57 +01:00
James Kiesel
4c03e05a4e Allow joining several hashtags in a single column (#8904)
* Nascent tag menu on frontend

* Hook up frontend to search

* Tag intersection backend first pass

* Update yarnlock

* WIP

* Fix for tags not searching correctly

* Make radio buttons function

* Simplify radio buttons with modeOption

* Better naming

* Rearrange options

* Add all/any/none functionality on backend

* Small PR cleanup

* Move to service from scope

* Small cleanup, add proper service tests

* Don't use send with user input :D

* Set appropriate column header

* Handle auto updating timeline

* Fix up toggle function

* Use tag value correctly

* A bit more correct to use 'self' rather than 'all' in status scope

* Fix some style issues

* Fix more code style issues

* Style select dropdown more better

* Only use to_id'ed value to ensure no SQL injection

* Revamp frontend to allow for multiple selects

* Update backend / col header to account for more flexible tagging

* Update brakeman ignore

* Codeclimate suggestions

* Fix presenter tag_url

* Implement initial PR feedback

* Handle additional tag streaming

* CodeClimate tweak
2018-11-05 18:53:25 +01:00
namelessGonbai
bb5558de62 Implement adding a user to a list from their profile (#9062)
* Add add user to list from thier profile

* Fix listAdderCss
2018-11-05 18:52:38 +01:00
trwnh
2cc099c70f Make detailed-status__wrapper actually wrap detailed status (#8547)
* Remove class from scrollable div

.detailed-status__wrapper does not actually wrap the detailed status here

* Re-add class to focusable div

.detailed-status__wrapper now wraps the detailed status instead of the entire scrollable area
2018-10-30 06:33:02 +01:00
Eugen Rochko
9c38c5daa3
Fix dimensions of preview cards, fix crash in web UI, fix warning (#9133) 2018-10-29 04:42:07 +01:00
Eugen Rochko
795f0107d2
Include preview cards in status entity in REST API (#9120)
* Include preview cards in status entity in REST API

* Display preview card in-stream

* Improve in-stream display of preview cards
2018-10-28 06:35:03 +01:00
ThibG
a90b569350 When searching for an emoji with multiple separators, consider the full input (#9124)
e.g., typing “blob_cat_p” used to search for “blob” and “cat”, but not
“blob_cat_p”, which means “blob_cat_patpat” is very unlikely to show up,
although it is likely what the user wanted to type in the first place.
2018-10-27 22:32:54 +02:00
Eugen Rochko
768b0f132d
Fix direct messages column not loading more items on scroll (#9102)
Fix #9097
2018-10-26 01:55:08 +02:00
Eugen Rochko
a2e3401e48
Fix conversations not being marked read on click (#9103)
Fix #9096
2018-10-26 01:54:58 +02:00
Eugen Rochko
288e435fe5
Show upload options on click as well as hover (#9074)
Fix #8918
2018-10-24 18:17:15 +02:00
Eugen Rochko
01c169e796
Fix JS error when posting from page without router context (#9073)
Fix #9057
2018-10-24 01:31:31 +02:00
Eugen Rochko
ad510db3a1
Show suggested follows on search screen in mobile layout (#9010)
Reminder: Suggestions were added in #7918 and are based on who you
interact with who you do not follow. E.g. if you boost someone a lot
from seeing other people's boosts of that person, it makes sense you
might be interested in following the original source; or if you reply
to someone a lot, maybe you'd want to follow them

Each suggestion can be dismissed
2018-10-23 00:08:39 +02:00
Eugen Rochko
eb1b9903a6
Redesign direct messages column (#9022) 2018-10-20 02:23:58 +02:00
Eugen Rochko
a38a452481
Add unread indicator to conversations (#9009) 2018-10-19 01:47:29 +02:00
takayamaki
bebe8ec887 fix: initial state of PrivacyDropdown is should not be null (#9008) 2018-10-19 00:00:19 +02:00
ThibG
007f7690fa Fix fav/boosts hotkeys not working on detailed statuses (#9006) 2018-10-18 19:52:00 +02:00
ThibG
adb06baef6 Handle global hotkeys even when no element has focus (#8998)
This fixes hotkeys not working when pressing the column
“back” button, for instance.
2018-10-17 16:56:16 +02:00
Eugen Rochko
9d4541c612
Display customized mascot in web UI and fix admin form for it (#8964)
Follow-up to #8766
2018-10-12 04:04:08 +02:00