Skip to content
Extraits de code Groupes Projets
  1. nov. 17, 2017
    • Eugen Rochko's avatar
      Lists (#5703) · 24cafd73
      Eugen Rochko a rédigé
      * Add structure for lists
      
      * Add list timeline streaming API
      
      * Add list APIs, bind list-account relation to follow relation
      
      * Add API for adding/removing accounts from lists
      
      * Add pagination to lists API
      
      * Add pagination to list accounts API
      
      * Adjust scopes for new APIs
      
      - Creating and modifying lists merely requires "write" scope
      - Fetching information about lists merely requires "read" scope
      
      * Add test for wrong user context on list timeline
      
      * Clean up tests
      Non vérifiée
      24cafd73
  2. nov. 11, 2017
    • ThibG's avatar
      Retry thread resolving (#5599) · 2b119006
      ThibG a rédigé
      Thread resolving is one of the few tasks that isn't retried on failure.
      One common cause for failure of this task is a well-connected user replying to
      a toot from a little-connected user on a small instance: the small instance
      will get many requests at once, and will often fail to answer requests within
      the 10 seconds timeout used by Mastodon.
      
      This changes makes the ThreadResolveWorker retry a few times, with a
      rapidly-increasing time before retries and large random contribution in order
      to spread the load over time.
      2b119006
  3. nov. 07, 2017
  4. oct. 17, 2017
    • aschmitz's avatar
      Clean up reblog tracking keys, related improvements (#5428) · 554c2fd8
      aschmitz a rédigé
      * Clean up reblog-tracking sets from FeedManager
      
      Builds on #5419, with a few minor optimizations and cleanup of sets
      after they are no longer needed.
      
      * Update tests, fix multiply-reblogged case
      
      Previously, we would have lost the fact that a given status was
      reblogged if the displayed reblog of it was removed, now we don't.
      
      Also added tests to make sure FeedManager#trim cleans up our reblog
      tracking keys, fixed up FeedCleanupScheduler to use the right loop,
      and fixed the test for it.
      554c2fd8
  5. oct. 16, 2017
    • Eugen Rochko's avatar
      Keep references to all reblogs of a status on home feed (#5419) · 34118169
      Eugen Rochko a rédigé
      * Keep references to all reblogs of a status on home feed
      
      When inserting reblog: Add to set of reblogs of this status on
      the feed, if original status was present in the feed, add it to
      that set as well.
      
      When removing a reblog: Remove it from that set. Take random
      remaining item from the set. If one exists, re-insert it into feed,
      otherwise do not re-insert anything.
      
      Fix #4210
      
      * When original is removed, toss out reblog references
      34118169
  6. oct. 14, 2017
  7. oct. 08, 2017
  8. oct. 06, 2017
    • unarist's avatar
      Improve error handling on LinkCrawlWorker (#5250) · 5c8ca024
      unarist a rédigé
      * Improve error handling on LinkCrawlWorker
      
      * Ignore TimeoutError and InvalidURIError too
      * Record errors to debug log
      * Enable dead job queue on LinkCrawlWorker
      
      Since most of acceptable errors were already ignored, only our side issue should go to dead job queue.
      
      * Ignore all http gem errors
      5c8ca024
  9. oct. 03, 2017
  10. sept. 30, 2017
  11. sept. 29, 2017
  12. sept. 28, 2017
  13. sept. 25, 2017
  14. sept. 24, 2017
  15. sept. 16, 2017
  16. sept. 14, 2017
  17. sept. 13, 2017
    • ThibG's avatar
      Fix refollowing (#4931) · af00220d
      ThibG a rédigé
      * Make RefollowWorker ActivityPub-only to avoid potential identifier mismatches
      
      * Don't call RefollowWorker on new accounts
      af00220d
  18. sept. 12, 2017
    • ThibG's avatar
      [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) · f29918e7
      ThibG a rédigé
      * 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
  19. sept. 10, 2017
    • Eugen Rochko's avatar
      Default follows for new users (#4871) · 7d7844a4
      Eugen Rochko a rédigé
      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
  20. sept. 06, 2017
    • Eugen Rochko's avatar
      Switch to static URIs, new URI format in both protocols for new statuses (#4815) · e7adbf57
      Eugen Rochko a rédigé
      * 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
  21. sept. 05, 2017
  22. sept. 02, 2017
  23. août 30, 2017
  24. août 29, 2017
  25. août 26, 2017
  26. août 24, 2017
  27. août 21, 2017
  28. août 20, 2017
    • Eugen Rochko's avatar
      ActivityPub migration procedure (#4617) · 6e9eda53
      Eugen Rochko a rédigé
      * 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
  29. août 19, 2017
    • Eugen Rochko's avatar
      Improve ActivityPub/OStatus compatibility (#4632) · 412ea873
      Eugen Rochko a rédigé
      *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
  30. août 12, 2017
    • Eugen Rochko's avatar
      ActivityPub delivery (#4566) · b7370ac8
      Eugen Rochko a rédigé
      * 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
  31. août 08, 2017
    • Eugen Rochko's avatar
      Add ActivityPub inbox (#4216) · dd7ef0dc
      Eugen Rochko a rédigé
      * 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
  32. juil. 31, 2017
  33. juil. 28, 2017
  34. juil. 26, 2017
Chargement en cours