about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2020-06-09Make domain block/silence/reject-media code more robust (#13424)ThibG
* Split media cleanup from reject-media domain blocks to its own service * Slightly improve ClearDomainMediaService error handling * Lower DomainClearMediaWorker to lowest-priority queue * Do not catch ActiveRecord::RecordNotFound in domain block workers * Fix DomainBlockWorker spec labels * Add some specs * Change domain blocks to immediately mark accounts as suspended Rather than doing so sequentially, account after account, while cleaning their data. This doesn't change much about the time the block takes to complete, but it immediately prevents interaction with the blocked domain, while up to now, it would only be guaranteed when the process ends.
2020-06-09Update “status” to “toot” for en.json (#13877)Bei Li
2020-06-09Improve rendering of emoji which do not contrast with background (#13772)ThibG
* Refactor list of emoji requiring added outlines so that it can be theme-specific * Split inaccessible emoji to emoji requiring an outline and ones that can be inverted * Drop the “silouhettes” from black emoji as they seem to have changed color * Add inaccessible emojis list for the light theme * Use bordered emoji variant instead of unreliable CSS
2020-06-09Improve wording and add titles on moderated servers section in /about/more ↵Mélanie Chauvel
(#13930)
2020-06-09Fix performance of follow import (#13836)Takeshi Umeda
2020-06-09Add e-mail-based sign in challenge for users with disabled 2FA (#14013)Eugen Rochko
2020-06-09Add limit parameter to rss (#13743)Takeshi Umeda
2020-06-09Add visibility parameter in share page (#13023)Takeshi Umeda
* Add visibility parameter in share page * Restrict to default privacy
2020-06-09FIX: filters ignore media descriptions (#13837)Ben Lubar
* FIX: filters ignore media descriptions * remove parentheses to make codeclimate happy * combine the text and run the regular expression only once. https://github.com/tootsuite/mastodon/pull/13837#discussion_r431752581 * Fix use of “filter” instead of “compact”, fix coding style issues Co-authored-by: Thibaut Girka <thib@sitedethib.com>
2020-06-06Hide sensitive preview cards with blurhash (#13985)ThibG
* Use preview card blurhash in WebUI * Handle sensitive preview cards
2020-06-05Add blurhash to preview cards (#13984)ThibG
Fixes #13001
2020-06-05Fix unpermitted operations on custom emojis leading to cryptic errors (#13951)ThibG
* Display appropriate error when performing unpermitted operation on custom emoji Fixes #13897 * Remove links to custom emoji actions not performable by moderators
2020-06-04Fix serialization of replies when some of them are URIs (#13957)ThibG
* Fix serialization of replies when some of them are URIs Fixes #13956 * Add test
2020-06-03Fix wrong route helper in encrypted messages controller (#13952)Eugen Rochko
And add `created_at` to encrypted message serializer
2020-06-03Put “Add new domain block” button on /admin/instances in header (#13934)Mélanie Chauvel
2020-06-03Fix account redirect confirmation message talking about moved followers (#13950)ThibG
Fixes #13949
2020-06-03Fix activity not being signed (#13948)Takeshi Umeda
2020-06-02Add E2EE API (#13820)Eugen Rochko
2020-06-02Fix ref attr for react-textarea-autozsize (#13936)Yamagishi Kazutoshi
2020-06-01Fix admin page crashing when trying to block an invalid domain name (#13884)ThibG
* Fix admin page crashing when trying to block an invalid domain name Fixes #13880 * Fix trailing and leading spaces not being properly stripped for domain blocks
2020-05-31Fix unsent toot confirmation dialog not popping up in single column (#13888)ThibG
2020-05-31Adjust flash alert contrast for better readability (#13892)Christopher Choi
2020-05-31Allow Ctrl-click to keep EmojiPicker window open (#13896)Brian C. Lindner
2020-05-29Fix timeline markers in Firefox (regression from #13887) (#13889)ThibG
Unfortunately, Firefox does not support the `keepalive` parameter I used in the previous PR. However it supports the `navigator.sendBeacon` API that allows that kind of things, but does not allow setting headers. Therefore, this PR replaces it with a `sendBeacon` call that passes the bearer token in the POST data. Doorkeeper will then handle the auth token out of the box, as long as it is passed as form data. Passing the query as JSON does not work.
2020-05-29Fix timeline markers not working on Chrome (#13887)ThibG
* Periodically save timeline markers This saves timeline markers immediately upon message arrival, but not more than once every 5 minutes. This does not change how the markers are saved on closing the window, except that it avoids submitting them if there is no need for it. * Use the Fetch API when possible instead of XHR on window unload
2020-05-25Change wording from “Hide media” to “Hide image/images” in Web UI ↵Mélanie Chauvel
(#13834)
2020-05-24Fix csv upload (#13835)Takeshi Umeda
2020-05-23Fix searchable status without explicitly mentioning it (#13829)Takeshi Umeda
2020-05-23Fix local streaming of hashtag timelines (#13827)Takeshi Umeda
2020-05-15Add support for `summary` field for media description (#13763)ThibG
2020-05-14Fix hashtag search performing account search as well (#13758)ThibG
2020-05-14Fix webfinger returning wrong status code on malformed or missing param (#13759)ThibG
Fixes #13757
2020-05-14Fix regression in sparkline style in web UI (#13753)Eugen Rochko
2020-05-13New Crowdin translations (#13398)Eugen Rochko
* New translations simple_form.en.yml (French) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations activerecord.en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations devise.en.yml (Albanian) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Danish) [ci skip] * New translations en.json (Danish) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations activerecord.en.yml (Chinese Simplified) [ci skip] * New translations devise.en.yml (Persian) [ci skip] * New translations activerecord.en.yml (Persian) [ci skip] * New translations devise.en.yml (Indonesian) [ci skip] * New translations activerecord.en.yml (Indonesian) [ci skip] * New translations devise.en.yml (Chinese Traditional) [ci skip] * New translations activerecord.en.yml (Chinese Traditional) [ci skip] * New translations devise.en.yml (Chinese Simplified) [ci skip] * New translations devise.en.yml (Ukrainian) [ci skip] * New translations devise.en.yml (Tamil) [ci skip] * New translations activerecord.en.yml (Ukrainian) [ci skip] * New translations devise.en.yml (Turkish) [ci skip] * New translations activerecord.en.yml (Turkish) [ci skip] * New translations devise.en.yml (Swedish) [ci skip] * New translations activerecord.en.yml (Swedish) [ci skip] * New translations devise.en.yml (Serbian (Cyrillic)) [ci skip] * New translations activerecord.en.yml (Serbian (Cyrillic)) [ci skip] * New translations activerecord.en.yml (Tamil) [ci skip] * New translations activerecord.en.yml (Spanish, Argentina) [ci skip] * New translations activerecord.en.yml (Slovenian) [ci skip] * New translations activerecord.en.yml (Corsican) [ci skip] * New translations devise.en.yml (Occitan) [ci skip] * New translations devise.en.yml (Esperanto) [ci skip] * New translations activerecord.en.yml (Esperanto) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations devise.en.yml (Welsh) [ci skip] * New translations activerecord.en.yml (Welsh) [ci skip] * New translations devise.en.yml (Spanish, Argentina) [ci skip] * New translations devise.en.yml (Estonian) [ci skip] * New translations activerecord.en.yml (Estonian) [ci skip] * New translations devise.en.yml (Kazakh) [ci skip] * New translations activerecord.en.yml (Kazakh) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations activerecord.en.yml (Thai) [ci skip] * New translations devise.en.yml (Bengali) [ci skip] * New translations activerecord.en.yml (Bengali) [ci skip] * New translations devise.en.yml (Slovenian) [ci skip] * New translations activerecord.en.yml (Slovak) [ci skip] * New translations devise.en.yml (Czech) [ci skip] * New translations activerecord.en.yml (Greek) [ci skip] * New translations activerecord.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Danish) [ci skip] * New translations devise.en.yml (Danish) [ci skip] * New translations activerecord.en.yml (Danish) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Danish) [ci skip] * New translations activerecord.en.yml (Czech) [ci skip] * New translations activerecord.en.yml (Basque) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations activerecord.en.yml (Catalan) [ci skip] * New translations devise.en.yml (Arabic) [ci skip] * New translations activerecord.en.yml (Arabic) [ci skip] * New translations devise.en.yml (Spanish) [ci skip] * New translations activerecord.en.yml (Spanish) [ci skip] * New translations activerecord.en.yml (French) [ci skip] * New translations devise.en.yml (Greek) [ci skip] * New translations devise.en.yml (Basque) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations activerecord.en.yml (Dutch) [ci skip] * New translations activerecord.en.yml (Russian) [ci skip] * New translations activerecord.en.yml (Portuguese) [ci skip] * New translations devise.en.yml (Polish) [ci skip] * New translations activerecord.en.yml (Polish) [ci skip] * New translations devise.en.yml (Norwegian) [ci skip] * New translations activerecord.en.yml (Norwegian) [ci skip] * New translations devise.en.yml (Dutch) [ci skip] * New translations devise.en.yml (Korean) [ci skip] * New translations activerecord.en.yml (Finnish) [ci skip] * New translations activerecord.en.yml (Korean) [ci skip] * New translations devise.en.yml (Japanese) [ci skip] * New translations activerecord.en.yml (Japanese) [ci skip] * New translations devise.en.yml (Italian) [ci skip] * New translations activerecord.en.yml (Italian) [ci skip] * New translations devise.en.yml (Armenian) [ci skip] * New translations activerecord.en.yml (Armenian) [ci skip] * New translations devise.en.yml (Finnish) [ci skip] * New translations devise.en.yml (Corsican) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations devise.en.yml (Esperanto) [ci skip] * New translations simple_form.en.yml (Czech) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations simple_form.en.yml (Norwegian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations devise.en.yml (Romanian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.yml (Sardinian) [ci skip] * New translations simple_form.en.yml (Sardinian) [ci skip] * New translations activerecord.en.yml (Sardinian) [ci skip] * New translations devise.en.yml (Sardinian) [ci skip] * New translations doorkeeper.en.yml (Sardinian) [ci skip] * New translations activerecord.en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations activerecord.en.yml (Sardinian) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations doorkeeper.en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations doorkeeper.en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations devise.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations simple_form.en.yml (Hungarian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.json (French) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations simple_form.en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations devise.en.yml (Arabic) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations devise.en.yml (Chinese Simplified) [ci skip] * New translations devise.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-05-13Change “hide/show boosts from …” menu to be hidden when the account is ↵ThibG
muted (#13748) Otherwise, it may mislead users into believing this setting is an exception to the muting behavior. Fixes #13744
2020-05-13Fix some account avatars on public pages having incorrect size (#13692)ThibG
* Fix some account avatars on public pages having incorrect size * Remove outdated and overridden width and height attributes * Remove more hardcoded width/height attributes
2020-05-12Fix RedownloadMediaWorker (#13741)Takeshi Umeda
2020-05-12Fix first poll option not being focused when adding a poll (#13740)ThibG
Fixes #13698
2020-05-12Fix keybase config serializer (#13742)Takeshi Umeda
2020-05-12Bump doorkeeper from 5.3.3 to 5.4.0 (#13733)dependabot-preview[bot]
* Bump doorkeeper from 5.3.3 to 5.4.0 Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) from 5.3.3 to 5.4.0. - [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases) - [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md) - [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.3.3...v5.4.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> * Fix tests * Fix use of Doorkeeper::AccessToken.find_or_create_for * Fix tests? Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Thibaut Girka <thib@sitedethib.com>
2020-05-12Fix not publishing update of remote timeline (#13745)Takeshi Umeda
* Fix not publishing update of remote timeline * fix @ missing * if/unless to if/else
2020-05-11Fix sr locale being selected over sr-Latn (#13693)ThibG
* Fix sr locale being selected over sr-Latn * Update tests
2020-05-10Refactor monkey-patching of Goldfinger (#12561)Eugen Rochko
2020-05-10Add `vi` to available locales (#13542)taicv
* Enable selecting Vietnamese language in Admin Dashboard * Update settings_helper.rb Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2020-05-10Add ability to remove identity proofs from account (#13682)Eugen Rochko
Fix #12613
2020-05-10Add remote only to public timeline (#13504)Takeshi Umeda
* Add remote only to public timeline * Fix code style
2020-05-10Fix error within error when limiting backtrace to 3 lines (#13120)Eugen Rochko
Fix #13086, close #13113
2020-05-10Remove confusing “You are already signed in.” flash message (#13547)ThibG
When attempting to access the log-in page while already logged in, Devise's `require_no_authentication` kicks in and sets a flash message “You are already signed in.” In almost all cases, this also causes a redirect to /web, which does not display or clear flash messages, thus leaving the message to a potentially much later date, like for instance, accessing /preferences several minutes after being redirected to /web.
2020-05-10Improve RSS entries for statuses (#13592)ThibG
* Improve RSS entries for statuses - Render polls in both accounts and tags serializers - Refactor RSS serializers - Change title preview to include ellipsis when truncated - Change title preview to show CW instead of toot text - Add tests * Remove title from OEmbed serialization Twitter doesn't serialize title either, and tihs allows us to move the title formatting code to the RSS serializers.
2020-05-08Remove 'unsafe-inline' from Content-Security-Policy style-src (#13679)ThibG
* Make sure wicg-inert doesn't rely on inline CSS * Remove unsafe-inline from style-src