Commit Graph

288 Commits

Author SHA1 Message Date
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
75cb93676b Fix NaN in Poll component (#10213) 2019-03-07 22:18:05 +01:00
b3668a79ec Disable the underlying button element when an ItemButton is disabled (#10194)
Fixes #10191
2019-03-06 15:10:32 +01:00
fd128b9c7a Fix poll options not rendering text after vote/refresh (#10189)
* Fix poll options not rendering text after vote/refresh

* Fix poll options not showing up on public pages

* Fix code style issue
2019-03-06 05:35:52 +01:00
4407f07014 Render unicode emoji in polls using emoji pack (#10185) 2019-03-06 03:57:46 +01:00
a198add83b Fix various issues in polls (#10165)
* Fix ActivityPub poll results being serialized even with hide_totals

* Fix poll refresh button having a different font size

* Display poll in OpenGraph description

* Fix NoMethodError when serializing votes

Regression from #10158

* Fix polls on public pages being broken for non-logged-in users

* Do not show time remaining if poll has no expiration date
2019-03-05 03:51:18 +01:00
cda6ece760 Display closed polls as such (#10156) 2019-03-04 22:52:41 +01:00
4ced609497 Fixes to the polls UI (#10150)
* Allow unselecting choices in multiple choice polls

* Properly disable checkboxes/radio buttons for polls in public pages

* Visually differentiate checkboxes and radio buttons
2019-03-04 01:54:14 +01:00
5dfa433698 Fix web UI crash on page load when detailed status has a poll (#10139) 2019-03-03 23:45:02 +01:00
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
8e7fc7ec73 Fix crash when conversations have no valid participants (#10078)
* Never return empty participants for conversations

Fixes #10068

* Fix client-side crash when conversations have no participants
2019-02-19 20:00:41 +01:00
71e28ba399 Change buttons on timeline preview to open the interaction dialog (#10054)
Fix #9922
2019-02-15 19:43:09 +01:00
b01f26ffbd Change conversations to always show names of other participants (#10047)
Fix #9190
2019-02-15 16:08:48 +01:00
f9a338b473 Fix breaks when opening a reply tree in WebUI (#10046)
fix #10045
2019-02-14 17:03:01 +01:00
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
3cfadd875c Add "copy link" item to status action bars (#9983)
Fix #6848
2019-02-11 12:19:49 +09:00
d09ce6d81b Fix IntersectionObserverArticle not hiding some out-of-view items (#9982)
IntersectionObserverArticle is made to save on RAM by avoiding fully rendering
items that are far out of view. However, it did not work for items spawned
outside the intersection observer.
2019-02-06 23:36:43 +01:00
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
6513f6c953 Replace unlock-alt icon with unlock (#9952) 2019-01-31 13:45:15 +01:00
bc642ac24b Redesign public hashtag page to use a masonry layout (#9822) 2019-01-16 19:47:46 +01:00
6cfb357940 Make hashtag search results link to the hashtag URL (#9810)
Currently, middle-clicking on a hashtag search result will open a new
instance of the WebUI, which is inconsistent with middle-clicking on
an account result, or a hashtag in a toot.
2019-01-14 23:29:21 +01:00
cf3c0fc38c Stop gifv timeline preview explicitly when open the media gallery. (#9749) 2019-01-07 15:54:40 +01:00
57c91fbbed refactored account.js (#9739) 2019-01-07 08:23:09 +01:00
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
c1693827ae Change the icon to "reply-all" when reply to other accounts (#9378) 2018-12-28 03:51:32 +01:00
a6079a42b6 Fix composer not getting focus after reply confirmation dialog (#9602)
The modal-handling code gives back focus to the element focused when the
modal opened. However, in the case of reply confirmation, it would do so
*after* the composer code itself requested focus.
2018-12-21 18:52:41 +01:00
8389b496ba Fix unnecessary loadMore calls when the end of a timeline has been reached (#9581)
Fixes #9568
2018-12-19 22:23:16 +01:00
5bf100f87b Back to the getting-started when pins the timeline. (#9561) 2018-12-18 16:43:50 +01:00
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
cc1f13dfd0 Only consider mouse move in scrolling on item insertion (#9262)
Fixes #9259
2018-11-11 23:20:20 +01:00
2f86fc5e0a Identify manual scrolling to cancel scroll to top reset on mouse idle (#9245) 2018-11-09 18:06:43 +01:00
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
5cbf6cf3ec Add "Show thread" link to self-replies (#9228)
Fix #4716
2018-11-08 21:08:57 +01:00
9cfd610484 Cancel list scroll reset after mouse move on wheel scroll (#9233)
- Use object properties rather than component state for
  mouseMovedRecently and scrollToTopOnMouseIdle flags

- Remove redundant scrollToTop prop call, also fixing an attempt to call
  an undefined prop.

Fixes #9217
2018-11-08 18:45:20 +01:00
6a1216d2cd Temporarily hold timeline if mouse moved recently (fixes #8630) (#9200)
- On recent mouse movement, hold timeline position so statuses remain in
  place for interactions in progress.

- If the timeline had been scrolled to the top before mouse movement,
  restore scroll on mouse idle.
2018-11-05 18:59:41 +01:00
9c38c5daa3 Fix dimensions of preview cards, fix crash in web UI, fix warning (#9133) 2018-10-29 04:42:07 +01:00
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
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
81017eaea7 Revert "RTL: remove blank character inside bdi (#9038)" (#9056)
This reverts commit c7e9f9ff1e.
2018-10-22 23:23:00 +02:00
c7e9f9ff1e RTL: remove blank character inside bdi (#9038)
* RTL: remove blank character inside bdi

* Update app/javascript/mastodon/components/display_name.js

Co-Authored-By: mabkenar <ampbox@gmail.com>
2018-10-22 01:04:32 +02:00
eb1b9903a6 Redesign direct messages column (#9022) 2018-10-20 02:23:58 +02:00
774ac47373 Add conversations API (#8832)
* Add conversations API

* Add web UI for conversations

* Add test for conversations API

* Add tests for ConversationAccount

* Improve web UI

* Rename ConversationAccount to AccountConversation

* Remove conversations on block and mute

* Change last_status_id to be a denormalization of status_ids

* Add optimistic locking
2018-10-07 23:44:58 +02:00
5d5d1b528e Double the threshold for "read more" functionality (#8835) 2018-10-01 03:38:10 +02:00
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
a72a939334 Add test for AutosuggestEmoji (#8805) 2018-09-27 20:35:58 +02:00
8bae14591b Migrate to font-awesome 5.0. (#8799) 2018-09-27 17:08:56 +02:00
15fc2b76f9 Show "read more" link on overly long in-stream statuses (#8205)
Show "read more" link on overly long in-stream statuses
2018-09-27 17:04:33 +02:00
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
f7a6f9489d Add a new preference to always hide all media (#8569) 2018-09-25 05:09:35 +02:00
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