1. 18 Dec, 2020 3 commits
    • Eugen Rochko's avatar
      Bump version to 3.2.2 · 2d5a5bac
      Eugen Rochko authored
      2d5a5bac
    • ThibG's avatar
    • ThibG's avatar
      Backport fixes to 3.2 (#15360) · 406adfca
      ThibG authored
      
      * Fix 2FA/sign-in token sessions being valid after password change (#14802)
      
      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
      
      * Fix Move handler not being triggered when failing to fetch target (#15107)
      
      When failing to fetch the target account, the ProcessingWorker fails
      as expected, but since it hasn't cleared the `move_in_progress` flag,
      the next attempt at processing skips the `Move` activity altogether.
      
      This commit changes it to clear the flag when encountering any
      unexpected error on fetching the target account. This is likely to
      occur because, of, e.g., a timeout, when many instances query the
      same actor at the same time.
      
      * Fix slow distinct queries where grouped queries are faster (#15287)
      
      About 2x speed-up on inboxes query
      
      * Fix possible inconsistencies in tag search (#14906)
      
      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
      
      * Fix updating account counters when account_stat is not yet created (#15108)
      
      * Fix account processing failing because of large collections (#15027)
      
      Fixes #15025
      
      * Fix downloading remote media files when server returns empty filename (#14867)
      
      Fixes #14817
      
      * Fix webfinger redirect handling in ResolveAccountService (#15187)
      
      * 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
      
      * Remove dependency on unused and unmaintained http_parser.rb gem (#14574)
      
      It seems that years ago, the “http” gem dependend on the “http_parser.rb” gem
      (it now depends on the “http-parser” gem), and, still years ago, we pulled
      it from git in order to benefit from a bugfix that wasn't released yet (#7467).
      
      * Add tootctl maintenance fix-duplicates (#14860, #15201, #15264, #15349, #15359)
      
      * Fix old migration script not being able to run if it fails midway (#15361)
      
      * Fix old migration script not being able to run if it fails midway
      
      Improve the robustness of a migration script likely to fail because of database
      corruption so it can run again once database corruptions are fixed.
      
      * Display a specific error message in case of index corruption
      
      Co-authored-by: default avatarEugen Rochko <eugen@zeonfederated.com>
      Co-authored-by: default avatarClaire <claire.github-309c@sitedethib.com>
      
      Co-authored-by: default avatarEugen Rochko <eugen@zeonfederated.com>
      Co-authored-by: default avatarClaire <claire.github-309c@sitedethib.com>
      406adfca
  2. 19 Oct, 2020 20 commits
  3. 26 Jul, 2020 2 commits
  4. 24 Jul, 2020 4 commits
    • Eugen Rochko's avatar
      Bump version to 3.2.0rc2 (#14382) · d1a6f8d5
      Eugen Rochko authored
      d1a6f8d5
    • Eugen Rochko's avatar
      00448db3
    • Eugen Rochko's avatar
      New Crowdin updates (#14335) · 054f4af6
      Eugen Rochko authored
      * New translations en.yml (Kazakh)
      [ci skip]
      
      * New translations en.json (Norwegian Nynorsk)
      [ci skip]
      
      * New translations simple_form.en.yml (Norwegian Nynorsk)
      [ci skip]
      
      * New translations en.yml (Latvian)
      [ci skip]
      
      * New translations simple_form.en.yml (Kazakh)
      [ci skip]
      
      * New translations en.json (Latvian)
      [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 en.yml (Norwegian Nynorsk)
      [ci skip]
      
      * New translations en.yml (Slovak)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Croatian)
      [ci skip]
      
      * New translations en.yml (Spanish, Argentina)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Portuguese, Brazilian)
      [ci skip]
      
      * New translations en.json (Indonesian)
      [ci skip]
      
      * New translations simple_form.en.yml (Indonesian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Indonesian)
      [ci skip]
      
      * New translations simple_form.en.yml (Persian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Persian)
      [ci skip]
      
      * New translations en.json (Tamil)
      [ci skip]
      
      * New translations en.yml (Tamil)
      [ci skip]
      
      * New translations simple_form.en.yml (Tamil)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Tamil)
      [ci skip]
      
      * New translations simple_form.en.yml (Spanish, Argentina)
      [ci skip]
      
      * New translations simple_form.en.yml (Croatian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Spanish, Argentina)
      [ci skip]
      
      * New translations en.json (Bengali)
      [ci skip]
      
      * New translations en.yml (Bengali)
      [ci skip]
      
      * New translations simple_form.en.yml (Bengali)
      [ci skip]
      
      * New translations en.json (Marathi)
      [ci skip]
      
      * New translations en.yml (Marathi)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Marathi)
      [ci skip]
      
      * New translations en.json (Croatian)
      [ci skip]
      
      * New translations en.yml (Welsh)
      [ci skip]
      
      * New translations en.yml (Croatian)
      [ci skip]
      
      * New translations en.json (Welsh)
      [ci skip]
      
      * New translations simple_form.en.yml (Asturian)
      [ci skip]
      
      * New translations simple_form.en.yml (Welsh)
      [ci skip]
      
      * New translations en.yml (Taigi)
      [ci skip]
      
      * New translations en.yml (Corsican)
      [ci skip]
      
      * New translations simple_form.en.yml (Corsican)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Corsican)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Kabyle)
      [ci skip]
      
      * New translations en.json (Ido)
      [ci skip]
      
      * New translations en.yml (Ido)
      [ci skip]
      
      * New translations simple_form.en.yml (Ido)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Ido)
      [ci skip]
      
      * New translations en.json (Taigi)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Serbian (Latin))
      [ci skip]
      
      * New translations en.json (Silesian)
      [ci skip]
      
      * New translations en.yml (Silesian)
      [ci skip]
      
      * New translations en.json (Uyghur)
      [ci skip]
      
      * New translations en.yml (Uyghur)
      [ci skip]
      
      * New translations en.json (Sorani (Kurdish))
      [ci skip]
      
      * New translations en.yml (Sorani (Kurdish))
      [ci skip]
      
      * New translations simple_form.en.yml (Serbian (Latin))
      [ci skip]
      
      * New translations doorkeeper.en.yml (Welsh)
      [ci skip]
      
      * New translations en.yml (Breton)
      [ci skip]
      
      * New translations en.json (Esperanto)
      [ci skip]
      
      * New translations simple_form.en.yml (Esperanto)
      [ci skip]
      
      * New translations doorkeeper.en.yml (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 simple_form.en.yml (Chinese Traditional, Hong Kong)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
      [ci skip]
      
      * New translations en.json (Malayalam)
      [ci skip]
      
      * New translations en.yml (Malayalam)
      [ci skip]
      
      * New translations simple_form.en.yml (Malayalam)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Malayalam)
      [ci skip]
      
      * New translations simple_form.en.yml (Breton)
      [ci skip]
      
      * New translations en.yml (Serbian (Latin))
      [ci skip]
      
      * New translations doorkeeper.en.yml (Breton)
      [ci skip]
      
      * New translations en.json (Kannada)
      [ci skip]
      
      * New translations en.yml (Kannada)
      [ci skip]
      
      * New translations en.json (Asturian)
      [ci skip]
      
      * New translations en.yml (Asturian)
      [ci skip]
      
      * New translations en.yml (Portuguese, Brazilian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Asturian)
      [ci skip]
      
      * New translations en.yml (Occitan)
      [ci skip]
      
      * New translations simple_form.en.yml (Occitan)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Occitan)
      [ci skip]
      
      * New translations en.json (Serbian (Latin))
      [ci skip]
      
      * New translations simple_form.en.yml (Portuguese, Brazilian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Turkish)
      [ci skip]
      
      * New translations en.json (Portuguese, Brazilian)
      [ci skip]
      
      * New translations en.json (Georgian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Hungarian)
      [ci skip]
      
      * New translations en.yml (Armenian)
      [ci skip]
      
      * New translations simple_form.en.yml (Armenian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Armenian)
      [ci skip]
      
      * New translations en.yml (Italian)
      [ci skip]
      
      * New translations simple_form.en.yml (Italian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Italian)
      [ci skip]
      
      * New translations simple_form.en.yml (Japanese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Japanese)
      [ci skip]
      
      * New translations en.yml (Georgian)
      [ci skip]
      
      * New translations simple_form.en.yml (Hebrew)
      [ci skip]
      
      * New translations simple_form.en.yml (Georgian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Georgian)
      [ci skip]
      
      * New translations en.yml (Korean)
      [ci skip]
      
      * New translations simple_form.en.yml (Korean)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Korean)
      [ci skip]
      
      * New translations en.json (Lithuanian)
      [ci skip]
      
      * New translations en.yml (Lithuanian)
      [ci skip]
      
      * New translations en.json (Macedonian)
      [ci skip]
      
      * New translations en.yml (Macedonian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Hebrew)
      [ci skip]
      
      * New translations en.yml (Hebrew)
      [ci skip]
      
      * New translations en.json (Occitan)
      [ci skip]
      
      * New translations en.json (Sardinian)
      [ci skip]
      
      * New translations en.yml (Sardinian)
      [ci skip]
      
      * New translations en.json (Slovenian)
      [ci skip]
      
      * New translations en.yml (Slovenian)
      [ci skip]
      
      * New translations en.yml (Esperanto)
      [ci skip]
      
      * New translations en.yml (Russian)
      [ci skip]
      
      * New translations en.json (Hebrew)
      [ci skip]
      
      * New translations en.json (Slovak)
      [ci skip]
      
      * New translations simple_form.en.yml (Russian)
      [ci skip]
      
      * New translations simple_form.en.yml (Ukrainian)
      [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 en.json (Ukrainian)
      [ci skip]
      
      * New translations en.yml (Ukrainian)
      [ci skip]
      
      * New translations simple_form.en.yml (Finnish)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Finnish)
      [ci skip]
      
      * New translations en.json (Dutch)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Icelandic)
      [ci skip]
      
      * New translations en.yml (Urdu (Pakistan))
      [ci skip]
      
      * New translations doorkeeper.en.yml (Swedish)
      [ci skip]
      
      * New translations en.json (Turkish)
      [ci skip]
      
      * New translations en.yml (Turkish)
      [ci skip]
      
      * New translations simple_form.en.yml (Turkish)
      [ci skip]
      
      * New translations en.yml (Indonesian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Ukrainian)
      [ci skip]
      
      * New translations en.yml (Chinese Traditional)
      [ci skip]
      
      * New translations simple_form.en.yml (Chinese Traditional)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Chinese Traditional)
      [ci skip]
      
      * New translations en.json (Urdu (Pakistan))
      [ci skip]
      
      * New translations en.yml (Swedish)
      [ci skip]
      
      * New translations en.yml (Galician)
      [ci skip]
      
      * New translations simple_form.en.yml (Galician)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Galician)
      [ci skip]
      
      * New translations en.json (Icelandic)
      [ci skip]
      
      * New translations en.yml (Icelandic)
      [ci skip]
      
      * New translations simple_form.en.yml (Icelandic)
      [ci skip]
      
      * New translations simple_form.en.yml (Swedish)
      [ci skip]
      
      * New translations en.json (Swedish)
      [ci skip]
      
      * New translations en.yml (Dutch)
      [ci skip]
      
      * New translations simple_form.en.yml (Portuguese)
      [ci skip]
      
      * New translations simple_form.en.yml (Dutch)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Dutch)
      [ci skip]
      
      * New translations en.json (Norwegian)
      [ci skip]
      
      * New translations en.yml (Norwegian)
      [ci skip]
      
      * New translations simple_form.en.yml (Norwegian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Norwegian)
      [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 doorkeeper.en.yml (Polish)
      [ci skip]
      
      * New translations en.yml (Portuguese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Portuguese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Serbian (Cyrillic))
      [ci skip]
      
      * New translations doorkeeper.en.yml (Russian)
      [ci skip]
      
      * New translations simple_form.en.yml (Slovak)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Slovak)
      [ci skip]
      
      * New translations simple_form.en.yml (Slovenian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Slovenian)
      [ci skip]
      
      * New translations en.yml (Albanian)
      [ci skip]
      
      * New translations simple_form.en.yml (Albanian)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Albanian)
      [ci skip]
      
      * New translations en.json (Serbian (Cyrillic))
      [ci skip]
      
      * New translations en.yml (Serbian (Cyrillic))
      [ci skip]
      
      * New translations simple_form.en.yml (Serbian (Cyrillic))
      [ci skip]
      
      * New translations en.json (Portuguese, Brazilian)
      [ci skip]
      
      * New translations en.yml (Thai)
      [ci skip]
      
      * New translations en.json (French)
      [ci skip]
      
      * New translations en.json (Vietnamese)
      [ci skip]
      
      * New translations en.yml (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.yml (Vietnamese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Vietnamese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Vietnamese)
      [ci skip]
      
      * New translations simple_form.en.yml (Vietnamese)
      [ci skip]
      
      * New translations doorkeeper.en.yml (Vietnamese)
      [ci skip]
      
      * New translations en.yml (Chinese Simplified)
      [ci skip]
      
      * New translations en.yml (Chinese Simplified)
      [ci skip]
      
      * New translations en.yml (Chinese Simplified)
      [ci skip]
      
      * New translations en.yml (Chinese Simplified)
      [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 (Spanish)
      [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.yml (Vietnamese)
      [ci skip]
      
      * New translations en.json (Finnish)
      [ci skip]
      
      * New translations en.json (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations simple_form.en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations simple_form.en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (Finnish)
      [ci skip]
      
      * New translations en.yml (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 (Vietnamese)
      [ci skip]
      
      * New translations en.json (Vietnamese)
      [ci skip]
      
      * New translations en.json (Dutch)
      [ci skip]
      
      * New translations en.json (Dutch)
      [ci skip]
      
      * New translations en.yml (Dutch)
      [ci skip]
      
      * New translations en.json (Thai)
      [ci skip]
      
      * New translations devise.en.yml (Thai)
      [ci skip]
      
      * New translations en.json (Thai)
      [ci skip]
      
      * New translations en.json (Korean)
      [ci skip]
      
      * New translations en.json (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 en.yml (Thai)
      [ci skip]
      
      * New translations en.json (Vietnamese)
      [ci skip]
      
      * New translations en.json (Spanish)
      [ci skip]
      
      * New translations en.yml (Spanish)
      [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 en.yml (Vietnamese)
      [ci skip]
      
      * New translations simple_form.en.yml (Vietnamese)
      [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]
      
      * 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.yml (Vietnamese)
      [ci skip]
      
      * i18n-tasks normalize
      
      * yarn manage:translations
      
      * Fix normalization
      054f4af6
    • ThibG's avatar
  5. 23 Jul, 2020 2 commits
  6. 22 Jul, 2020 5 commits
    • Eugen Rochko's avatar
      Update translators (#14374) · d5d856f1
      Eugen Rochko authored
      d5d856f1
    • ThibG's avatar
      Change disabled retweet icon (#14373) · e93efc03
      ThibG authored
      * Change disabled retweet icon
      
      * Hide fontawesome version of boost icon in both reduce-motion and no-reduce-motion
      e93efc03
    • ThibG's avatar
      Fix not handling Undo on some activity types when they aren't inlined (#14346) · 5d9acc0c
      ThibG authored
      * Fix not handling Undo on some activity types when they aren't inlined
      
      When receiving an Undo for a non-inlined activity, try looking it up in
      database using the URI. The queries are ad-hoc because we don't have a global
      index of object URIs, and not all activity types are stored in database with
      an index on their URI.
      
      Announces are just statuses, and have an index on URIs, so this check can
      be done efficiently.
      
      Accepts cannot be handled at all because we don't record their URI at any
      point.
      
      Follows don't have an index on URI, but they have an index on the issuing
      account, which should make such queries largely manageable.
      
      Likes don't have an index on URI, they have an index on the issuing account,
      but the number of favs per account may be very high, so I decided not to
      handle that.
      
      Blocks don't have an index on URI, but they have an index on the issuing
      account, which should make such queries largel...
      5d9acc0c
    • ThibG's avatar
      Fix RSS feeds not being cachable (#14368) · f55dd193
      ThibG authored
      * Add tests for some cachable responses
      
      This only covers responses that we should have managed to make cachable
      so far. It's not the case of all responses that should be cachable in
      the end.
      
      * Fix RSS feeds not being cachable
      f55dd193
    • ThibG's avatar
      Dereference object URIs in Create and Update messages (#14359) · bcf85b52
      ThibG authored
      
      * Dereference object URIs in Create and Update messages
      
      Fixes #14353
      
      Signed-off-by: default avatarThibaut Girka <thib@sitedethib.com>
      
      * Refactor, and perform origin check *before* attempting to fetch object
      
      Co-authored-by: default avatarFire Demon <firedemon@creature.cafe>
      bcf85b52
  7. 20 Jul, 2020 3 commits
  8. 19 Jul, 2020 1 commit