about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2020-11-29Allow republishing monsterfork-2020-11-29Fire Demon
2020-11-29Only send curated Tavern posts to public timelineFire Demon
2020-11-29Simply Tavern curation checksFire Demon
2020-11-26Revert 5c4a7ea666, keep old Tavern curation behaviorFire Demon
2020-11-24Add missing sensitization checksFire Demon
2020-11-24Merge remote-tracking branch 'upstream/master' into merge-glitchFire Demon
2020-11-23Add user options to disable recipient verification, allow anonymous public ↵Fire Demon
access; rework private mode
2020-11-20Fix video not taking focus on interactionThibaut Girka
Revert part of #737 to restore hotkey functionality
2020-11-20[Glitch] Fix image uploads being random data when canvas read access is blockedThibG
Port d8d43a427a549cf063de3f6b3c22a08a06f53ffa to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-11-20[Glitch] Add hotkeys for audio/video controlEugen Rochko
Port 04a079e7230bc4e73b897e3c4462011cddf36474 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-11-20Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `.github/ISSUE_TEMPLATE/bug_report.md`: Upstream added the `bug` label to bug reports. Did the same. - `app/services/fan_out_on_write_service.rb`: Upstream put DMs back into timelines, glitch-soc was already doing it. Ignored upstream changes.
2020-11-19Cache requests to status objects by requesting accountFire Demon
2020-11-19Allow inlining of objects in outboxFire Demon
2020-11-19Fix webfinger redirect handling in ResolveAccountService (#15187)ThibG
* Fix webfinger redirect handling in ResolveAccountService ResolveAccountService#process_webfinger! handled a one-step webfinger redirection, but only accepting the result if it matched the exact URI passed as input, defeating the point of a redirection check. Instead, use the same logic as in `ActivityPub::FetchRemoteAccountService`, updating the resulting `acct:` URI with the result of the first webfinger query. * Add tests
2020-11-19Remove unnecessary check of update parameterFire Demon
2020-11-19More robust loading of command interpreter modulesFire Demon
2020-11-19Add import/export feature for bookmarks (#14956)ThibG
* Add ability to export bookmarks * Add support for importing bookmarks * Add bookmark import tests * Add bookmarks export test
2020-11-19Mark correctly as read reverse-order announcements (#15070)Darius Kazemi
This fixes a bug in #15065 where the "read" indicator was not getting correctly set. The ID of a dismissed announcement is now correct.
2020-11-19Fix sending spurious Rejects when processing remote account deletion (#15104)ThibG
* Fix sending spurious Rejects when processing remote account deletion * Make skip_side_effects imply skip_activitypub
2020-11-19Add cache buster feature for media files (#15155)Eugen Rochko
Nginx can be configured to bypass proxy cache when a special header is in the request. If the response is cacheable, it will replace the cache for that request. Proxy caching of media files is desirable when using object storage as a way of minimizing bandwidth costs, but has the drawback of leaving deleted media files for a configured amount of cache time. A cache buster can make those media files immediately unavailable. This especially makes sense when suspending and unsuspending an account.
2020-11-18Always use indirect federationFire Demon
2020-11-18Break up AP envelope addressing by domainFire Demon
2020-11-19Fix DMs not appearing into timelines (#15182)ThibG
Fixes #15179
2020-11-18Fix image uploads being random data when canvas read access is blocked (#15180)ThibG
Fixes #15178 PR #11499 introduced a way to deal with all-white canvas, but newer Firefox versions set random data instead. This PR detects whether canvas operations are reliable by comparing the results on a hardcoded 2×2 pixels image, and memoizing the result. This should be both more reliable and faster than the previous check.
2020-11-16Fix pop-out player appearing on mobile screens in web UI (#15157)Eugen Rochko
Fix #15092
2020-11-15Add hotkeys for audio/video control (#15158)Eugen Rochko
Fix #14515
2020-11-14Merge remote-tracking branch 'upstream/master' into merge-glitchFire Demon
2020-11-14Merge remote-tracking branch 'upstream/master' into merge-glitchFire Demon
2020-11-14Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/controllers/concerns/sign_in_token_authentication_concern.rb`: Conflict caused because of glitch-soc's theming system. Took upstream's new code and applied the theming system changes on top of it. - `app/controllers/concerns/two_factor_authentication_concern.rb`: Conflict caused because of glitch-soc's theming system. Took upstream's new code and applied the theming system changes on top of it.
2020-11-13Fix AccountDeletionWorker not accepting keyword arguments (#15152)ThibG
2020-11-13Fix minor design issues with fav confirmation modalThibaut Girka
2020-11-13Fix media not being marked sensitive when outgoing CW is setThibaut Girka
Fixes #1461 Fixes a regression from a recent merge
2020-11-12Fix “Show boosts/replies in public timelines” only affecting streamingThibaut Girka
Fixes #1456
2020-11-12Improve searching for private toots from URLThibaut Girka
Most of the time, when sharing toots, people use the toot URL rather than the toot URI, which makes sense since it is the user-facing URL. In Mastodon's case, the URL and URI are different, and Mastodon does not have an index on URL, which means searching a private toot by URL is done with a slow query that will only succeed for very recent toots. This change gets rid of the slow query, and attempts to guess the URI from URL instead, as Mastodon's are predictable.
2020-11-12Fix streaming API allowing connections to persist after access token ↵Eugen Rochko
invalidation (#15111) Fix #14816
2020-11-12Fix 2FA/sign-in token sessions being valid after password change (#14802)Eugen Rochko
If someone tries logging in to an account and is prompted for a 2FA code or sign-in token, even if the account's password or e-mail is updated in the meantime, the session will show the prompt and allow the login process to complete with a valid 2FA code or sign-in token
2020-11-12Add missing locales to glitch flavorThibaut Girka
2020-11-12[Glitch] Add interrelationship iconTakeshi Umeda
Port SCSS changes from 148ce97e21092500a2abeb87f6dc3c0adf5f28e4 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-11-12[Glitch] Add button to dismiss desktop notifications permissions bannerEugen Rochko
Port 4790a126bebddd83cbaf1a8436611536dcc417a0 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2020-11-12Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/controllers/relationships_controller.rb`: Upstream changed a line too close to a glitch-soc only line related to glitch-soc's theming system. Applied upstream changes accordingly.
2020-11-12Fix possible inconsistencies in tag search (#14906)ThibG
Do not downcase the queried tag before passing it to postgres when searching: - tags are not downcased on creation - `arel_table[:name].lower.matches(pattern)` generates an ILIKE anyway - if Postgres and Rails happen to use different case-folding rules, downcasing before query but not before insertion may mean that some tags with some casings are not searchable
2020-11-12Add interrelationship icon (#15149)Takeshi Umeda
* Add interrelationship icon * Fix arrow for rtl * Fix to predefined color
2020-11-12Add follow selected followers button (#15148)Takeshi Umeda
* Add follow selected followers button * Fix unused variable * Fix i18n normalize
2020-11-11Add button to dismiss desktop notifications permissions banner (#15141)Eugen Rochko
2020-11-11Remove auto-redirect to direct messages in web UI (#15142)Eugen Rochko
2020-11-10Add missing locales (#15138)Yamagishi Kazutoshi
2020-11-10New Crowdin updates (#15110)Eugen Rochko
* New translations doorkeeper.en.yml (Hungarian) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Georgian) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations doorkeeper.en.yml (Armenian) [ci skip] * New translations doorkeeper.en.yml (Hebrew) [ci skip] * New translations doorkeeper.en.yml (Dutch) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations doorkeeper.en.yml (Basque) [ci skip] * New translations doorkeeper.en.yml (Greek) [ci skip] * New translations doorkeeper.en.yml (German) [ci skip] * New translations doorkeeper.en.yml (Danish) [ci skip] * New translations doorkeeper.en.yml (Czech) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Norwegian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Ukrainian) [ci skip] * New translations doorkeeper.en.yml (Indonesian) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Polish) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations doorkeeper.en.yml (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovak) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations en.json (Kazakh) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Bulgarian) [ci skip] * New translations simple_form.en.yml (Czech) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.json (Czech) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Bulgarian) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations simple_form.en.yml (Arabic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations simple_form.en.yml (Spanish) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Danish) [ci skip] * New translations simple_form.en.yml (Danish) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations simple_form.en.yml (Hungarian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations simple_form.en.yml (Hebrew) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations en.json (German) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations simple_form.en.yml (Basque) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.json (Basque) [ci skip] * New translations simple_form.en.yml (Greek) [ci skip] * New translations simple_form.en.yml (German) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations en.json (French) [ci skip] * New translations simple_form.en.yml (Armenian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Korean) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations simple_form.en.yml (Romanian) [ci skip] * New translations simple_form.en.yml (Croatian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations simple_form.en.yml (Breton) [ci skip] * New translations en.yml (Breton) [ci skip] * New translations doorkeeper.en.yml (Croatian) [ci skip] * New translations en.yml (Croatian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations simple_form.en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (Urdu (Pakistan)) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Marathi) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations simple_form.en.yml (Bengali) [ci skip] * New translations en.yml (Bengali) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Swedish) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations simple_form.en.yml (Italian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Macedonian) [ci skip] * New translations simple_form.en.yml (Norwegian) [ci skip] * New translations en.yml (Lithuanian) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations simple_form.en.yml (Korean) [ci skip] * New translations simple_form.en.yml (Georgian) [ci skip] * New translations en.yml (Georgian) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations en.json (Polish) [ci skip] * New translations simple_form.en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations en.json (Russian) [ci skip] * New translations simple_form.en.yml (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations devise.en.yml (Turkish) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations doorkeeper.en.yml (Spanish) [ci skip] * New translations en.json (Spanish, Mexico) [ci skip] * New translations doorkeeper.en.yml (Spanish, Mexico) [ci skip] * New translations simple_form.en.yml (Spanish, Mexico) [ci skip] * New translations en.yml (Spanish, Mexico) [ci skip] * New translations simple_form.en.yml (Spanish) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations devise.en.yml (Japanese) [ci skip] * New translations en.json (Standard Moroccan Tamazight) [ci skip] * New translations en.json (Standard Moroccan Tamazight) [ci skip] * New translations en.yml (Standard Moroccan Tamazight) [ci skip] * New translations en.yml (Standard Moroccan Tamazight) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Standard Moroccan Tamazight) [ci skip] * New translations doorkeeper.en.yml (Standard Moroccan Tamazight) [ci skip] * New translations simple_form.en.yml (Standard Moroccan Tamazight) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Standard Moroccan Tamazight) [ci skip] * New translations simple_form.en.yml (Standard Moroccan Tamazight) [ci skip] * New translations devise.en.yml (Standard Moroccan Tamazight) [ci skip] * New translations activerecord.en.yml (Icelandic) [ci skip] * New translations devise.en.yml (Icelandic) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Russian) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations en.json (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 (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations activerecord.en.yml (Turkish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * Fix invalid syntax * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * bundle exec i18n-tasks normalize * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Icelandic) [ci skip] * bundle exec i18n-tasks normalize * New translations simple_form.en.yml (Vietnamese) [ci skip] * bundle exec i18n-tasks normalize [ci skip] Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2020-11-09Fix updating account counters when account_stat is not yet created (#15108)Eugen Rochko
2020-11-09Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-11-09Remove unnecessary messages (#15109)Yamagishi Kazutoshi
* Remove unnecessary messages * ran `i18n-tasks normalize`