about summary refs log tree commit diff
path: root/app/javascript/mastodon/components/status_action_bar.js
AgeCommit message (Collapse)Author
2020-09-30Merge remote-tracking branch 'upstream/master' into merge-glitchFire Demon
2020-09-28Add pop-out player for audio/video in web UI (#14870)Eugen Rochko
Fix #11160
2020-09-08Monsterfork v2 Kaiju Commit 2020.06.27.1 - 2020.09.05.5Fire Demon
2020-08-24Fix: also use custom private boost icon for detailed status (#14471)Tdxdxoz
* use custom private boost icon for detail status * only use className
2020-08-23reword "boost to original audience" as per #14596 (#14598)proxy
2020-07-09Freeze scroll position when a dropdown menu is open in the TL (#14271)ThibG
* Freeze scroll position when a dropdown menu is open in the TL * Apply this to direct TL as well * Fix case when mouse leaves the menu
2020-06-25Change to correct the role of the boost button (#14132)Takeshi Umeda
2020-03-05Change the string "Hide everything from …" to "Block domain …" in web UI ↵Eugen Rochko
(#13178) Blocking a domain is closer to blocking all its users than to a mute action.
2020-02-07Fix native share button not being displayed for unlisted toots (#13045)ThibG
2019-12-02Fix blocking/unblocking users from status dropdown menu (#12535)ThibG
Fixes #12511
2019-11-19Add relationship-based options to status dropdowns (#12377)Eugen Rochko
Move bookmark action in inline statuses from action bar to dropdown
2019-11-13Add bookmarks (#7107)ThibG
* Add backend support for bookmarks Bookmarks behave like favourites, except they aren't shared with other users and do not have an associated counter. * Add spec for bookmark endpoints * Add front-end support for bookmarks * Introduce OAuth scopes for bookmarks * Add bookmarks to archive takeout * Fix migration * Coding style fixes * Fix rebase issue * Update bookmarked_statuses to latest UI changes * Update bookmark actions to properly reflect status changes in state * Add bookmarks item to single-column layout * Make active bookmarks red
2019-03-26Add a “Block & Report” button to the block confirmation dialog (#10360)ThibG
2019-02-15Change buttons on timeline preview to open the interaction dialog (#10054)Eugen Rochko
Fix #9922
2019-02-11Add "copy link" item to status action bars (#9983)Eugen Rochko
Fix #6848
2019-01-04Add quick links to the admin interface in the WebUI (#8545)ThibG
* 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]
2018-12-28Change the icon to "reply-all" when reply to other accounts (#9378)mayaeh
2018-11-08Add "Show thread" link to self-replies (#9228)Eugen Rochko
Fix #4716
2018-09-14Upgrade Babel to version 7.0.0 (#5925)Yamagishi Kazutoshi
2018-08-19Show compose form on delete & redraft when in mobile layout (#8277)Eugen Rochko
Fix #8274
2018-08-15Display replies count in web UI (#8181)Eugen Rochko
2018-06-05Add redraft function (#7735)Eugen Rochko
* Add redraft function Fix #7010 * Add explicit confirmation * Add explicit confirmation message
2018-04-20Fix #6157: boosting own private toots (#7200)mayaeh
* Fix boosting own private toots. * Run yarn manage:translations and update Japanese translations.
2018-04-17Allow boosting own private toots (#6157)ThibG
* Adjust policy to allow boosting own private toots * Add ability to reblog private toots from dropdown menu
2018-04-09Feature: Direct message from Statuses (#7089)Emelia Smith
* 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-03-31Ignore AbortError when cancelled sharing (#6978)unarist
`navigator.share()` rejects Promise if user cancelled sharing, and it may print it as an error on JavaScript console. This patch ignores it and prints other errors on the console.
2017-11-25Rename ariaLabel property of Dropdown to title (#5813)Akihiko Odaki
DropdownMenu has ariaLabel property, but it is actually applied to title property of IconButton. Keep it consistent.
2017-10-31Refactor initial state: "me" (#5563)Nolan Lawson
* Refactor initial state: "me" * remove "me" from reducers/meta.js
2017-10-16i18n "More" dropdown title (#5410)Nolan Lawson
2017-09-20Change IDs to strings rather than numbers in API JSON output (#5019)aschmitz
* Fix JavaScript interface with long IDs Somewhat predictably, the JS interface handled IDs as numbers, which in JS are IEEE double-precision floats. This loses some precision when working with numbers as large as those generated by the new ID scheme, so we instead handle them here as strings. This is relatively simple, and doesn't appear to have caused any problems, but should definitely be tested more thoroughly than the built-in tests. Several days of use appear to support this working properly. BREAKING CHANGE: The major(!) change here is that IDs are now returned as strings by the REST endpoints, rather than as integers. In practice, relatively few changes were required to make the existing JS UI work with this change, but it will likely hit API clients pretty hard: it's an entirely different type to consume. (The one API client I tested, Tusky, handles this with no problems, however.) Twitter ran into this issue when introducing Snowflake IDs, and decided to instead introduce an `id_str` field in JSON responses. I have opted to *not* do that, and instead force all IDs to 64-bit integers represented by strings in one go. (I believe Twitter exacerbated their problem by rolling out the changes three times: once for statuses, once for DMs, and once for user IDs, as well as by leaving an integer ID value in JSON. As they said, "If you’re using the `id` field with JSON in a Javascript-related language, there is a very high likelihood that the integers will be silently munged by Javascript interpreters. In most cases, this will result in behavior such as being unable to load or delete a specific direct message, because the ID you're sending to the API is different than the actual identifier associated with the message." [1]) However, given that this is a significant change for API users, alternatives or a transition time may be appropriate. 1: https://blog.twitter.com/developer/en_us/a/2011/direct-messages-going-snowflake-on-sep-30-2011.html * Additional fixes for stringified IDs in JSON These should be the last two. These were identified using eslint to try to identify any plain casts to JavaScript numbers. (Some such casts are legitimate, but these were not.) Adding the following to .eslintrc.yml will identify casts to numbers: ~~~ no-restricted-syntax: - warn - selector: UnaryExpression[operator='+'] > :not(Literal) message: Avoid the use of unary + - selector: CallExpression[callee.name='Number'] message: Casting with Number() may coerce string IDs to numbers ~~~ The remaining three casts appear legitimate: two casts to array indices, one in a server to turn an environment variable into a number. * Back out RelationshipsController Change This was made to make a test a bit less flakey, but has nothing to do with this branch. * Change internal streaming payloads to stringified IDs as well Per https://github.com/tootsuite/mastodon/pull/5019#issuecomment-330736452 we need these changes to send deleted status IDs as strings, not integers.
2017-09-08"Mute conversation" option on all own toots, not just in notifications (#4844)Eugen Rochko
That way you can mute notifications for a toot before you get replies to it or boosts or favourites
2017-09-02Disable embed modal when private status (#4773)Yamagishi Kazutoshi
* Disable embed modal when private status * Remove `reblogDisabled`
2017-09-01Finish up embed modal feature (#4759)Eugen Rochko
* Add embed button to dropdowns of in-timeline statuses * yarn run manage:translations
2017-08-25Pinned statuses (#4675)Eugen Rochko
* Pinned statuses * yarn manage:translations
2017-07-29Improve accessibility (part 6) (#4435)Sorin Davidoi
* fix(status_action_bar): Use aria-pressed for reblog and favourite button * fix(column_back_button): Keyboard accessible * fix(status_content): Make focusable and accessible * fix(dropdown_menu): Use aria-expanded instead of aria-pressed * fix(emoji_picker_dropdown): Use aria-expanded instead of aria-hidden * feat(icon_button): Add aria-expanded * fix(privacy_dropdown): Use aria-expanded instead of aria-hidden
2017-07-27fix(dropdown_menu): Open as modal on mobile (#4295)Sorin Davidoi
* fix(dropdown_menu): Open as modal on mobile * fix(dropdown_menu): Open modal on touch * fix(dropdown_menu): Show status * fix(dropdown_menu): Max dimensions and reduce padding * chore(dropdown_menu): Test new functionality * refactor: Use DropdownMenuContainer instead of DropdownMenu * feat(privacy_dropdown): Open as modal on touch devices * feat(modal_root): Do not load actions-modal async
2017-07-25feat(status_action_bar): Web share button (#4365)Sorin Davidoi
2017-07-11Redesign the landing page, mount public timeline on it (#4122)Eugen Rochko
* Redesign the landing page, mount public timeline on it * Adjust the standalone mounted component to the lacking of router * Adjust auth layout pages to new design * Fix tests * Standalone public timeline polling every 5 seconds * Remove now obsolete translations * Add responsive design for new landing page * Address reviews * Add floating clouds behind frontpage form * Use access token from public page when available * Fix mentions and hashtags links, cursor on status content in standalone mode * Add footer link to source code * Fix errors on pages that don't embed the component, use classnames * Fix tests * Change anonymous autoPlayGif default to false * When gif autoplay is disabled, hover to play * Add option to hide the timeline preview * Slightly improve alt layout * Add elephant friend to new frontpage * Display "back to mastodon" in place of "login" when logged in on frontpage * Change polling time to 3s
2017-06-27Turn report screen into a modal (#3965)Eugen Rochko
2017-06-23Use Class and Property Decorators (#3730)Yamagishi Kazutoshi
ref https://tc39.github.io/proposal-decorators/
2017-06-20Upgrade React Router (#3677)Sorin Davidoi
* chore(yarn): Remove react-router * chore(yarn): Remove react-router-scroll * chore(yarn): Remove history * chore(yarn): Add react-router-dom * chore: Remove usages of react-router-scroll * refactor: Upgrade to react-router-web * refactor: Use fork of react-router-scroll This reverts commit 2ddea9a6c8d39fc64b7d0b587f3fbda7a45a7fa2. * fix: Issues mentions in the PR feedback
2017-06-06Improve ESLint rules for JSX (#3608)Yamagishi Kazutoshi
* Add react/no-string-refs ESLint rule * Add react/jsx-boolean-value ESLint rule * Add react/jsx-closing-bracket-location ESLint rule * Add react/jsx-indent ESLint rule * Add react/jsx-curly-spacing ESLint rule * Add react/jsx-equals-spacing ESLint rule * Add react/jsx-first-prop-new-line ESLint rule * Add react/jsx-no-duplicate-props ESLint rule * Add react/jsx-tag-spacing ESLint rule
2017-06-06Add quotes ESLint rules (#3602)Yamagishi Kazutoshi
* Add quotes ESLint rule * Add jsx-quotes ESlint rule * Sort ESLint rules
2017-05-26Improve shouldComponentUpdate for status and status_action_bar (#3323)Nolan Lawson
2017-05-25Remove unnecessary action bar wrapper divs (#3299)Nolan Lawson
2017-05-20Improve eslint rules (#3147)Yamagishi Kazutoshi
* Add semi to ESLint rules * Add padded-blocks to ESLint rules * Add comma-dangle to ESLint rules * add config/webpack and storyboard * add streaming/ * yarn test:lint -- --fix
2017-05-15Feature conversations muting (#3017)Eugen Rochko
* Add <ostatus:conversation /> tag to Atom input/output Only uses ref attribute (not href) because href would be the alternate link that's always included also. Creates new conversation for every non-reply status. Carries over conversation for every reply. Keeps remote URIs verbatim, generates local URIs on the fly like the rest of them. * Conversation muting - prevents notifications that reference a conversation (including replies, favourites, reblogs) from being created. API endpoints /api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute Currently no way to tell when a status/conversation is muted, so the web UI only has a "disable notifications" button, doesn't work as a toggle * Display "Dismiss notifications" on all statuses in notifications column, not just own * Add "muted" as a boolean attribute on statuses JSON For now always false on contained reblogs, since it's only relevant for statuses returned from the notifications endpoint, which are not nested Remove "Disable notifications" from detailed status view, since it's only relevant in the notifications column * Up max class length * Remove pending test for conversation mute * Add tests, clean up * Rename to "mute conversation" and "unmute conversation" * Raise validation error when trying to mute/unmute status without conversation
2017-05-12Use ES Class Fields & Static Properties (#3008)Yamagishi Kazutoshi
Use ES Class Fields & Static Properties (currently stage 2) for improve class outlook. Added babel-plugin-transform-class-properties as a Babel plugin.
2017-05-11Fix regressions from #2683 (#2970)Eugen Rochko
* Fix regressions from #2683 Properly format spoiler text HTML, while keeping old logic for blankness intact Process hashtags and mentions in spoiler text Format spoiler text for Atom Change "show more" toggle into a button instead of anchor Fix style regression on dropdowns for detailed statuses * Fix lint issue * Convert spoiler text to plaintext in desktop notifications
2017-05-03Replace sprockets/browserify with Webpack (#2617)Eugen Rochko
* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time