Skip to content
Snippets Groups Projects
  1. Oct 03, 2017
  2. Sep 30, 2017
  3. Sep 29, 2017
  4. Sep 28, 2017
  5. Sep 25, 2017
  6. Sep 24, 2017
  7. Sep 16, 2017
  8. Sep 14, 2017
  9. Sep 13, 2017
    • ThibG's avatar
      Fix refollowing (#4931) · af00220d
      ThibG authored
      * Make RefollowWorker ActivityPub-only to avoid potential identifier mismatches
      
      * Don't call RefollowWorker on new accounts
      af00220d
  10. Sep 12, 2017
    • ThibG's avatar
      [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) · f29918e7
      ThibG authored
      * Whenever a remote keypair changes, unfollow them and re-subscribe to them
      
      In Mastodon (it could be different for other OStatus or AP-enabled software),
      a keypair change is indicative of whole user (or instance) data loss. In this
      situation, the “new” user might be different, and almost certainly has an empty
      followers list. In this case, Mastodon instances will disagree on follower
      lists, leading to unreliable delivery and “shadow followers”, that is users
      believed by a remote instance to be followers, without the affected user
      knowing.
      
      Drawbacks of this change are:
      1. If an user legitimately changes public key for some reason without losing
         data (not possible in Mastodon at the moment), they will have their remote
         followers unsubscribed/re-subscribed needlessly.
      2. Depending of the number of remote followers, this may generate quite some
         traffic.
      3. If the user change is an attempt at usurpation, the remote followers will
         unknowingly follow the usurper. Note that this is *not* a change of
         behavior, Mastodon already behaves like that, although delivery might be
         unreliable, and the usurper would not have known the former user's
         followers.
      
      * Rename ResubscribeWorker to RefollowWorker
      
      * Process followers in batches
      f29918e7
  11. Sep 10, 2017
    • Eugen Rochko's avatar
      Default follows for new users (#4871) · 7d7844a4
      Eugen Rochko authored
      When a new user confirms their e-mail, bootstrap their home timeline
      by automatically following a set of accounts. By default, all local
      admin accounts (that are unlocked). Can be customized by new admin
      setting (comma-separated usernames, local and unlocked only)
      7d7844a4
  12. Sep 06, 2017
    • Eugen Rochko's avatar
      Switch to static URIs, new URI format in both protocols for new statuses (#4815) · e7adbf57
      Eugen Rochko authored
      * Decouple Status#local? from uri being nil
      
      * Replace on-the-fly URI generation with stored URIs
      
      - Generate URI in after_save hook for local statuses
      - Use static value in TagManager when available, fallback to tag format
      - Make TagManager use ActivityPub::TagManager to understand new format
      - Adjust tests
      
      * Use other heuristic for locality of old statuses, do not perform long query
      
      * Exclude tombstone stream entries from Atom feed
      
      * Prevent nil statuses from landing in Pubsubhubbub::DistributionWorker
      
      * Fix URI not being saved (#4818)
      
      * Add more specs for Status
      
      * Save generated uri immediately
      
      and also fix method order to minimize diff.
      
      * Fix alternate HTML URL in Atom
      
      * Fix tests
      
      * Remove not-null constraint from statuses migration to speed it up
      e7adbf57
  13. Sep 05, 2017
  14. Sep 02, 2017
  15. Aug 30, 2017
  16. Aug 29, 2017
  17. Aug 26, 2017
  18. Aug 24, 2017
  19. Aug 21, 2017
  20. Aug 20, 2017
    • Eugen Rochko's avatar
      ActivityPub migration procedure (#4617) · 6e9eda53
      Eugen Rochko authored
      * ActivityPub migration procedure
      
      Once one account is detected as going from OStatus to ActivityPub,
      invalidate WebFinger cache for other accounts from the same domain
      
      * Unsubscribe from PuSH updates once we receive an ActivityPub payload
      
      * Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
      6e9eda53
  21. Aug 19, 2017
    • Eugen Rochko's avatar
      Improve ActivityPub/OStatus compatibility (#4632) · 412ea873
      Eugen Rochko authored
      *Note: OStatus URIs are invalid for ActivityPub. But we have them for
      as long as we want to keep old OStatus-sourced content and as long as
      we remain OStatus-compatible.*
      
      - In Announce handling, if object URI is not a URL, fallback to object URL
      - Do not use specialized ThreadResolveWorker, rely on generalized handling
      - When serializing notes, if parent's URI is not a URL, use parent's URL
      412ea873
  22. Aug 12, 2017
    • Eugen Rochko's avatar
      ActivityPub delivery (#4566) · b7370ac8
      Eugen Rochko authored
      * Deliver ActivityPub Like
      
      * Deliver ActivityPub Undo-Like
      
      * Deliver ActivityPub Create/Announce activities
      
      * Deliver ActivityPub creates from mentions
      
      * Deliver ActivityPub Block/Undo-Block
      
      * Deliver ActivityPub Accept/Reject-Follow
      
      * Deliver ActivityPub Undo-Follow
      
      * Deliver ActivityPub Follow
      
      * Deliver ActivityPub Delete activities
      
      Incidentally fix #889
      
      * Adjust BatchedRemoveStatusService for ActivityPub
      
      * Add tests for ActivityPub workers
      
      * Add tests for FollowService
      
      * Add tests for FavouriteService, UnfollowService and PostStatusService
      
      * Add tests for ReblogService, BlockService, UnblockService, ProcessMentionsService
      
      * Add tests for AuthorizeFollowService, RejectFollowService, RemoveStatusService
      
      * Add tests for BatchedRemoveStatusService
      
      * Deliver updates to a local account to ActivityPub followers
      
      * Minor adjustments
      b7370ac8
    • Eugen Rochko's avatar
      3d47154c
  23. Aug 08, 2017
    • Eugen Rochko's avatar
      Add ActivityPub inbox (#4216) · dd7ef0dc
      Eugen Rochko authored
      * Add ActivityPub inbox
      
      * Handle ActivityPub deletes
      
      * Handle ActivityPub creates
      
      * Handle ActivityPub announces
      
      * Stubs for handling all activities that need to be handled
      
      * Add ActivityPub actor resolving
      
      * Handle conversation URI passing in ActivityPub
      
      * Handle content language in ActivityPub
      
      * Send accept header when fetching actor, handle JSON parse errors
      
      * Test for ActivityPub::FetchRemoteAccountService
      
      * Handle public key and icon/image when embedded/as array/as resolvable URI
      
      * Implement ActivityPub::FetchRemoteStatusService
      
      * Add stubs for more interactions
      
      * Undo activities implemented
      
      * Handle out of order activities
      
      * Hook up ActivityPub to ResolveRemoteAccountService, handle
      Update Account activities
      
      * Add fragment IDs to all transient activity serializers
      
      * Add tests and fixes
      
      * Add stubs for missing tests
      
      * Add more tests
      
      * Add more tests
      dd7ef0dc
  24. Jul 31, 2017
  25. Jul 28, 2017
  26. Jul 26, 2017
  27. Jul 24, 2017
  28. Jul 19, 2017
    • Eugen Rochko's avatar
      Fix webfinger retries (#4275) · 1fcdaafa
      Eugen Rochko authored
      * Do not raise unretryable exceptions in ResolveRemoteAccountService
      
      * Removed fatal exceptions from ResolveRemoteAccountService
      
      Exceptions that cannot be retried should not be raised. New exception
      class for those that can be retried (Mastodon::UnexpectedResponseError)
      1fcdaafa
  29. Jul 18, 2017
  30. Jul 17, 2017
  31. Jul 15, 2017
    • ThibG's avatar
      Optimize uri normalization (#4212) · 05cd3709
      ThibG authored
      * Add dependency on idn-ruby to speed up URI normalization
      
      * Use normalized_host instead of normalize.host when applicable
      
      When we are only interested in the normalized host, calling normalized_host
      avoids normalizing the other components of the URI as well as creating a
      new object
      05cd3709
Loading