about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2020-04-25[Glitch] Fix expanded video player issuesThibG
Port c955f98d36868e85b0f1939a3a1c58c00babd4e8 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-25[Glitch] Set max-width and max-height to gif videoIrie Aoi
Port c5c8f680317a182c4794505007ef227a4294a18e to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-25[Glitch] Fix and refactor keyboard navigation in dropdown menusThibG
Port 80182eda622e1317bffb6729259b8a81d84251a2 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-25Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-25Fix uninformative error message when uploading unsupported image files (#13540)ThibG
Attempting to upload image files that the browser is unable to load results in “Oops! An unexpected error occurred.” This commit changes the error handling so that an unprocessable image results in the file being sent anyway, which might cover a few corner cases, and provide a slightly better error message.
2020-04-25Fix expanded video player issues (#13541)ThibG
Fixes #13536 - Expanding a paused video doesn't autoplay anymore - Default volume level for the expanded video inherited from the original video Position/playing state/volume are carried over from the original video player to the modal, but they're not reported back to the modal as it would require deeper changes.
2020-04-23Fix enable/disable relay failures (#13535)Takeshi Umeda
2020-04-23Set max-width and max-height to gif video (#13533)Irie Aoi
2020-04-21Fix and refactor keyboard navigation in dropdown menus (#13528)ThibG
Fixes #13527 - Fixes caught keyboard events being needlessly propagated - Let up/down arrows wrap around like the tab key does - Refactor common code
2020-04-20[Glitch] Update Twemoji to 12.1.5D Anzorge
Port emoji_map.json changes from 29f5353f8b7af331d6dddea4ee1888913361a545 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-20[Glitch] Add local only to hashtag timelineTakeshi Umeda
Port front-end changes from 2c7128c7f0ee3073acb9897cda88255982368193 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-20Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-20Allow users to delete their header and avatar (#13234)sternenseemann
This is achieved by sending a DELETE request to /settings/profile/pictures/{avatar,header} via a link that is part of the upload form's hint of the respective picture.
2020-04-19Update Twemoji to 12.1.5 (#13021)D Anzorge
* Update Twemoji to 12.1.5 SVGs from Twemoji repo https://github.com/twitter/twemoji * Update emoji_map.json to Unicode 12
2020-04-18Add local only to hashtag timeline (#13502)Takeshi Umeda
2020-04-18[Glitch] Fix uploaded image orientation in some browsersThibG
Port a1ce9cbb67facf705379355b9c8ec19c521b419c to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-18Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-18Fix uploaded image orientation in some browsers (#13493)ThibG
Some browsers (at least recent Chrome versions) automatically take image metadata into account when drawing images into a canvas. There seem to be no way to prevent that behavior, and the only way to detect it seems to compare with a known image. See: https://github.com/w3c/csswg-drafts/issues/4666 Solution adapted from: https://github.com/blueimp/JavaScript-Load-Image/commit/1e4df707821a0afcc11ea0720ee403b8759f3881
2020-04-17[Glitch] Fix not being able to voteThibG
Port e12a5635da7de5a1c3b08b2ce420ee8a56ae4aff to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-17Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-17Fix not being able to vote (#13490)ThibG
Fix regression introduced by ab8d7c0680d7f75826277be4c8eea1ebd396be8a
2020-04-17[Glitch] Fix Poll fetchPoll action not being debounced.Gurgen Hayrapetyan
Port ab8d7c0680d7f75826277be4c8eea1ebd396be8a to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-17Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-17Fix admin actions log crash when displaying updates of deleted announcements ↵ThibG
(#13489) Fixes #13487
2020-04-16Fix Poll fetchPoll action not being debounced. (#13485)Gurgen Hayrapetyan
* Fix Poll fetchPoll action not being debounced. * Fix unused import in the Poll component
2020-04-16Fix DeliveryWorker not to call failure_tracker when inbox_url is unavailable ↵Takeshi Umeda
(#13482)
2020-04-15Fix confusing error when failing to add an alias to an unknown account (#13480)ThibG
Follow-up to #13452, fixing broken `uri.nil?` test. Also remove the separate check for `uri` presence, as that would result in a “Please review 2 errors below” while only one would be listed.
2020-04-15Change delivery failure tracking to work with hostnames instead of URLs (#13437)Eugen Rochko
2020-04-15Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `package.json`: No real conflict, upstream updated a dependency which is textually adjacent to a glitch-soc-specific dependency. Updated it. - `yarn.lock`: No real conflict, upstream updated a dependency which is textually adjacent to a glitch-soc-specific dependency. Updated it.
2020-04-15Fix “Email changed” notification sometimes having wrong e-mail (#13475)ThibG
* Fix “Email changed” notification sometimes having wrong e-mail Fixes #6778 The root of the issue is that `send_devise_notification` was called before the changes were properly commited to the database, causing the mailer to pick previous values if running too early. Devise's documentation provides guidance on how to handle that[1][2], however, I have found it to not be working, as the following happens, in that order: - `send_devise_notification` is called for the `email_changed` notification. In that case, `changed?` is false and `saved_changes?` is true, so if we use the former, we have the same issue. - the `after_commit` hook is called - `send_devise_notification` is called for the `confirmation_instructions` notification. In that case, `changed?` is still false, and `saved_changes?` still true, so if we use the latter, that second notification email is simply not going to be sent (as we would be queuing the notification *after* executing the after_commit hook). This is because it may be called from either an `after_update` or `after_commit` hook, the difference not being a call to `save` but the transaction actually being committed to the database. This may arguably be a bug in Devise, or Devise's notification. The proposed workaround is inspired by Devise's documentation but checks whether a transaction is open to make the call whether to immediately send the notification or defer it to the `after_commit` hook. [1]: https://www.rubydoc.info/github/plataformatec/devise/Devise%2FModels%2FAuthenticatable:send_devise_notification [2]: https://github.com/heartcombo/devise/blob/406915cb781e38255a30ad2a0609e33952b9ec50/lib/devise/models/authenticatable.rb#L133-L194 * Fix cases when sending notifications without changing the model * Defer sending if and only if in transaction including current record
2020-04-13Fix account aliases page (#13452)ThibG
* Fix error not being displayed when adding an account alias, add error for self-references Co-Authored-By: Mélanie Chauvel (ariasuni) <perso@hack-libre.org> * Add “You have no aliases.” note in confusing empty aliases table Co-Authored-By: Mélanie Chauvel (ariasuni) <perso@hack-libre.org> Co-authored-by: Mélanie Chauvel (ariasuni) <perso@hack-libre.org>
2020-04-12[Glitch] Fix WebUI pagination of following, followers, follow requests, ↵ThibG
blocks and mutes lists Port ec31b1b75244c030bb4fb0ccabac7ff8b626db92 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-12Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `README.md`: We have a different README than upstream, discarded upstream changes and kept ours.
2020-04-12Fix API footer link in Web UI (#13441)Leonie
Co-authored-by: koyu <me@koyu.spac>
2020-04-12Fix WebUI pagination of following, followers, follow requests, blocks and ↵ThibG
mutes lists (#13445) * Fix following, followers and follow requests pagination * Fix pagination of blocks and mutes
2020-04-10Clean up some dead codeThibaut Girka
2020-04-09Fix deprecated use of createBrowserHistoryThibaut Girka
2020-04-07Fix styling of polls in JS-less fallback on public pages (#13436)ThibG
2020-04-06Fix trying to delete already deleted file when post-processing (#13406)Eugen Rochko
Fix #13403
2020-04-05Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/javascript/packs/public.js`: Upstream modified code that we split between multiple files due to glitch-soc's theming system. Ported those changes.
2020-04-05New Crowdin translations (#13317)Eugen Rochko
* New translations en.yml (Italian) [ci skip] * New translations doorkeeper.en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations devise.en.yml (Ido) [ci skip] * New translations doorkeeper.en.yml (Ido) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations activerecord.en.yml (Georgian) [ci skip] * New translations doorkeeper.en.yml (Georgian) [ci skip] * New translations en.yml (German) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations simple_form.en.yml (Hebrew) [ci skip] * New translations activerecord.en.yml (Hebrew) [ci skip] * New translations devise.en.yml (Hebrew) [ci skip] * New translations doorkeeper.en.yml (Hebrew) [ci skip] * New translations en.yml (Hindi) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations doorkeeper.en.yml (French) [ci skip] * New translations devise.en.yml (French) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations simple_form.en.yml (Estonian) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations activerecord.en.yml (Serbian (Latin)) [ci skip] * New translations devise.en.yml (Serbian (Latin)) [ci skip] * New translations devise.en.yml (Urdu (Pakistan)) [ci skip] * New translations activerecord.en.yml (Vietnamese) [ci skip] * New translations devise.en.yml (Vietnamese) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.json (Basque) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (French) [ci skip] * New translations devise.en.yml (German) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations simple_form.en.yml (Italian) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Galician) [ci skip] * New translations devise.en.yml (Galician) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Ido) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kannada) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Hindi) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Malay) [ci skip] * New translations en.json (Kazakh) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Danish) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations activerecord.en.yml (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Persian) [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.yml (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Thai) [ci skip] * New translations doorkeeper.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * i18n-tasks normalize * yarn manage:translations
2020-04-05Add rate limit for reporting (#13390)Eugen Rochko
2020-04-05Fix “Show more” not switching to “Show less” on public pages (#13174)ThibG
* Fix “Show more” not switching to “Show less” on public pages Fixes #13169 * Fix initial text of CW button on public pages when CW are unfolded by default
2020-04-05Fix PostgreSQL load when linking in announcements (#13250)ThibG
* Fix PostgreSQL load when linking in announcements Fixes #13245 by caching status lookups Since statuses are supposed to be known already and we only need their URLs and a few other things, caching them should be fine. Since it's only used by announcements so far, there won't be much statuses to cache. * Perform status lookup when saving announcements, not when rendering them * Change EntityCache#status to fetch URLs instead of looking into the database * Move announcement link lookup to publishing worker * Address issues pointed out during review
2020-04-04Fix admin audit log crash due to glitch-soc theming changesThibaut Girka
2020-04-04[Glitch] Add explanation as to why unlocked accounts may have follow requestsThibG
Port d3ff06a3205130fa10ffc5d736e8206a9725b5df to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-04[Glitch] Add ability to filter audit log in admin UIEugen Rochko
Port f65568f1d400be2e101bd8b533a1b53807f5c757 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-04-04Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-04-04Add explanation as to why unlocked accounts may have follow requests (#13385)ThibG
* Add explanation as to why unlocked accounts may have follow requests * Change wording to avoid “silenced”
2020-04-03Add ability to filter audit log in admin UI (#13381)Eugen Rochko