- nov. 17, 2017
-
-
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
-
- nov. 11, 2017
-
-
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.
-
- nov. 07, 2017
-
-
Eugen Rochko a rédigé
Fix #5597
-
- oct. 17, 2017
-
-
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.
-
- oct. 16, 2017
-
-
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
-
- oct. 14, 2017
-
-
abcang a rédigé
* Close connection when succeeded posting * Update webmock
-
- oct. 08, 2017
-
-
Eugen Rochko a rédigé
- Rename Mastodon::TimestampIds into Mastodon::Snowflake for clarity - Skip for statuses coming from inbox, aka delivered in real-time - Skip for statuses that claim to be from the future
-
- oct. 06, 2017
-
-
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
-
- oct. 03, 2017
-
-
Eugen Rochko a rédigé
-
- sept. 30, 2017
-
-
ThibG a rédigé
-
- sept. 29, 2017
-
-
Eugen Rochko a rédigé
- A successful delivery cancels it out - An incoming delivery from account of the inbox cancels it out
-
- sept. 28, 2017
-
-
abcang a rédigé
-
- sept. 25, 2017
-
-
Eugen Rochko a rédigé
-
- sept. 24, 2017
-
-
Daigo 3 Dango a rédigé
-
- sept. 16, 2017
-
-
unarist a rédigé
Reply distribution is proceed by Sidekiq, so replied status may be deleted before this.
-
- sept. 14, 2017
-
-
sdukhovni a rédigé
* Add scheduled worker to purge old user IPs * Use ruby 1.9 hash syntax
-
- sept. 13, 2017
-
-
ThibG a rédigé
* Make RefollowWorker ActivityPub-only to avoid potential identifier mismatches * Don't call RefollowWorker on new accounts
-
- sept. 12, 2017
-
-
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
-
- sept. 10, 2017
-
-
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)
-
- sept. 06, 2017
-
-
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
-
- sept. 05, 2017
-
-
abcang a rédigé
-
- sept. 02, 2017
-
-
Eugen Rochko a rédigé
-
- août 30, 2017
-
-
Eugen Rochko a rédigé
* Forward ActivityPub creates that reply to local statuses * Fix test * Fix wrong signers
-
- août 29, 2017
-
-
Eugen Rochko a rédigé
Requires moving Atom rendering from DistributionWorker (where `stream_entry.status` is already nil) to inline (where `stream_entry.status.destroyed?` is true) and distributing that. Unfortunately, such XML renderings can no longer be easily chained together into one payload of n items.
-
- août 26, 2017
-
-
Eugen Rochko a rédigé
-
Eugen Rochko a rédigé
* Add handling of Linked Data Signatures in payloads * Add a way to sign JSON, fix canonicalization of signature options * Fix signatureValue encoding, send out signed JSON when distributing * Add missing security context
-
masarakki a rédigé
-
- août 24, 2017
-
-
Eugen Rochko a rédigé
-
- août 21, 2017
-
-
Eugen Rochko a rédigé
-
- août 20, 2017
-
-
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
-
- août 19, 2017
-
-
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
-
- août 12, 2017
-
-
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
-
Eugen Rochko a rédigé
-
- août 08, 2017
-
-
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
-
- juil. 31, 2017
-
-
Yamagishi Kazutoshi a rédigé
-
- juil. 28, 2017
-
-
Eugen Rochko a rédigé
-
Eugen Rochko a rédigé
-
- juil. 26, 2017
-
-
Clworld a rédigé
* Add destination informations to exception on SubscribeWorker and DeliveryWorker. * Simplify delivery error message. * Prevent changing Exception type... * fix typo.
-
Sorin Davidoi a rédigé
-