about summary refs log tree commit diff
path: root/app/javascript/mastodon
AgeCommit message (Collapse)Author
2020-07-10Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-07-10Audio player visualization improvements (#14281)ThibG
* Fix audio player ticks position * Split visualizer code into own file to comply with license * Change top-left corner of visualizer always showing peaks, clean up code
2020-07-10Add attribution notice to the audio player component (#14280)Eugen Rochko
The code for rendering a frequency graph around a circle has been adopted (with modifications) from a CodePen by Alex Permyakov
2020-07-09Improve safety of Blurhash component (#14278)Sasha Sorokin
There was a missed empty hash check. As well as rendering is now wrapped in try/catch block, so app won't crash if any Blurhash component fails to render its contents as it's not that critical.
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-07-09Replace repetitive blurhash code with component (#14267)Sasha Sorokin
This commit replaces all unnecessarily repeated code for decoding and embedding blurhash canvases with separate component - <Blurhash>. Under the hood Blurhash component will use effect dependent on its props. This gives a few benefits: it will only be re-rendered whenever the hash or width/height/dummy props update, and will not render if canvas won't get to the final DOM, because then effect won't fire, which prevents weird bugs like #14257.
2020-07-08remove unused word. (#14250)mayaeh
ran `yarn manage:translations en`
2020-07-08Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-07-08Fix new accent color not refreshing when changing thumbnail for audio ↵ThibG
uploads (#14264)
2020-07-08Fix WebUI crash on sensitive preview card with no preview thumbnail (#14261)ThibG
Follow-up on #14260 which only fixed half the call sites
2020-07-08Fix WebUI crash on sensitive preview card with no preview thumbnail (#14260)ThibG
Fixes #14257
2020-07-07Merge pull request #1372 from ThibG/glitch-soc/fixes/local-only-public-optionThibG
Add option to show local-only toots in public timeline
2020-07-07Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `package.json`: Not really a conflict, just some glitch-soc-specific dependency too close to an upstream-updated one.
2020-07-07Add ability to choose media thumbnail in web UI (#14244)Eugen Rochko
2020-07-07Fix hashtag column options styling (#14247)ThibG
* Enable nonces for stylesheets * Pass nonce to react-select
2020-07-07Change design of account notes in web UI (#14208)Eugen Rochko
* Change design of account notes in web UI * Fix `for` -> `htmlFor`
2020-07-06Fix vanilla flavour tooThibaut Girka
2020-07-06Replace shortNumberFormat with <ShortNumber> (#14061)Sasha Sorokin
This commit introduces new utility component - ShortNumber. It should work almost the same way as original shortNumberFormat function, though it also localizes units and accepts one more prop - renderer. Renderer is a function that takes rendered short formatted number and also ready-to-pluralize number to format display result accordingly. Ready-to-pluralize number allows to correctly select plural for compactly notated numbers, respecting thousands and other units. Issue #12451 accurately describes the issue with using raw numbers when replacing counter with short version. In short, it doesn't work with languages such as Russian, that require different plurals, according to the unit number was compacted to. All previous usages of shortNumberFormat were replaced with new function, and as it became unused, it was removed to avoid misleading.
2020-07-06Fix restored words from "toot" to "status" (#14242)mayaeh
2020-07-05Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `.env.production.sample`: Upstream changed it completely. Changed ours to merge upstream's new structure, but keeping most of the information.
2020-07-05Add color extraction for audio thumbnails (#14209)Eugen Rochko
2020-07-03Fix-up #13749 (#14204)mayaeh
2020-07-02Fix audio modals not using blurhash and poster (#14199)Eugen Rochko
2020-07-02Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-07-02New Crowdin translations (#13749)Eugen Rochko
* New translations en.json (Galician) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Kannada) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Ido) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations en.json (Hindi) [ci skip] * New translations en.json (Malay) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.json (Danish) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations devise.en.yml (Persian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations simple_form.en.yml (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations simple_form.en.yml (Corsican) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Taigi) [ci skip] * New translations en.yml (Taigi) [ci skip] * New translations simple_form.en.yml (Taigi) [ci skip] * New translations activerecord.en.yml (Taigi) [ci skip] * New translations devise.en.yml (Taigi) [ci skip] * New translations doorkeeper.en.yml (Taigi) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Silesian) [ci skip] * New translations en.yml (Silesian) [ci skip] * New translations simple_form.en.yml (Silesian) [ci skip] * New translations activerecord.en.yml (Silesian) [ci skip] * New translations devise.en.yml (Silesian) [ci skip] * New translations doorkeeper.en.yml (Silesian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Russian) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-07-01Fix the conditions for incomplete remote content (#14195)Takeshi Umeda
2020-07-01Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/javascript/packs/public.js`: Conflict because part of that file has been split to `app/javascript/core/settings.js`. Ported those changes there.
2020-07-01follow-up #14149 (#14192)mayaeh
ran `yarn manage:translations en`
2020-06-30Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `.env.production.sample`: Upstream deleted it, I decided to keep it. - `package.json`: Upstream updated a dependency textually too close to wavesurfer.js which has been deleted from upstream but is kept in glitch-soc for now.
2020-06-30Add user notes on accounts (#14148)ThibG
* Add UserNote model * Add UI for user notes * Put comment in relationships entity * Add API to create user notes * Copy user notes to new account when receiving a Move activity * Address some of the review remarks * Replace modal by inline edition * Please CodeClimate * Button design changes * Change design again * Cancel note edition when pressing Escape * Fixes * Tweak design again * Move “Add note” item, and allow users to add notes to themselves * Rename UserNote into AccountNote, rename “comment” Relationship attribute to “note”
2020-06-29Replace to testing-library from enzyme (#14152)Yamagishi Kazutoshi
2020-06-29Add customizable thumbnails for audio and video attachments (#14145)Eugen Rochko
- Change audio files to not be stripped of metadata - Automatically extract cover art from audio if it exists - Add `thumbnail` parameter to `POST /api/v1/media`, `POST /api/v2/media` and `PUT /api/v1/media/:id` - Add `icon` to represent it in attachments in ActivityPub - Fix `preview_url` containing URL of missing missing image when there is no thumbnail instead of null - Fix duration of audio not being displayed on public pages until the file is loaded
2020-06-28Fix read marker state not being udpated internally (#14155)ThibG
Fixes #14151
2020-06-26Change sensitive preview cards to not blur text (#14143)ThibG
Also only require click-through for interactive embeds.
2020-06-26Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-06-26Improve wording of the “Add media” button tooltip (#13954)Mélanie Chauvel
- Remove (incomplete) list of supported formats - List types of media (image, video, audio) - Tell that several images could be uploaded using plural
2020-06-25Change to correct the role of the boost button (#14132)Takeshi Umeda
2020-06-25Add a visibility icon to status (#14123)Takeshi Umeda
* Add a visibility icon to status * Change to using the icon element * Fix RTL * Add a public globe
2020-06-25Fix design issues with sensitive preview cards (#14126)ThibG
* Fix design issues with sensitive preview cards * Center “sensitive” label on preview image for interactive cards * Add “button” role to sensitive preview card text
2020-06-25Fix various issues around OpenGraph representation of media (#14133)Eugen Rochko
- Fix audio attachments not being represented in OpenGraph tags - Fix audio being represented as "1 image" in OpenGraph descriptions - Fix video metadata being overwritten by paperclip-av-transcoder - Fix embedded player not using Mastodon's UI - Fix audio/video progress bars not moving smoothly - Fix audio/video buffered bars not displaying correctly
2020-06-24Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/controllers/concerns/sign_in_token_authentication_concern.rb`: Conflict due to glitch-soc's theming system. Ported upstream changes. - `app/controllers/concerns/two_factor_authentication_concern.rb`: Conflict due to glitch-soc's theming system. Ported upstream changes.
2020-06-24Fix audio/video/images/cards not reacting to window resizes in web UI (#14130)Eugen Rochko
* Fix audio/video/images/cards not reacting to window resizes in web UI * Update app/javascript/mastodon/features/audio/index.js Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-06-23never filter own posts from timeline (#14128)ThibG
Signed-off-by: Thibaut Girka <thib@sitedethib.com> Co-authored-by: ash lea <example@thisismyactual.email>
2020-06-23Change volume control and download buttons in web UI (#14122)Eugen Rochko
* Fix audio download button not starting download in web UI * Fix volume controls on audio and video players in web UI * Remove download button from video player in web UI
2020-06-22Fix audio player not working when media files are hosted on a different ↵ThibG
domain (#14118)
2020-06-21Change design of audio players in web UI (#14095)Eugen Rochko
2020-06-20Fix modifier key to keep the EmojiPicker on macOS (#14096)Takeshi Umeda
2020-06-17Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `Gemfile.lock`: not a real conflict, upstream update too close to a glitch-soc-specific dependency
2020-06-15Fix initial audio volume not corresponding to what's displayed (#14057)ThibG
2020-06-14Add hints about incomplete remote content to web UI (#14031)Eugen Rochko