about summary refs log tree commit diff
path: root/app/services/process_feed_service.rb
AgeCommit message (Collapse)Author
2016-10-14Fix duplication of media attachments when a remote status reblogs a local oneEugen Rochko
2016-10-12Fix up a few exceptionsEugen Rochko
2016-10-10Fixing namespaces issueEugen Rochko
2016-10-10Fix namespace parsing in Atom feedsEugen Rochko
2016-10-10Use Account#find_remote method when possibleEugen Rochko
2016-10-10Don't return unsaved status from ProcessFeedServiceEugen Rochko
2016-10-10Adding test for ProcessFeedServiceEugen Rochko
2016-10-10Improve process feed serviceEugen Rochko
2016-10-10Fix default assumed object type (note->activity), make stream entry ↵Eugen Rochko
threaded? check aware of orphaned replies
2016-10-06Better comparison of "local" domainEugen Rochko
2016-10-03Blocking will prevent e-mail notifications from blocked user, blocks in UIEugen Rochko
2016-10-02Small fixesEugen Rochko
2016-09-29Improve code styleEugen Rochko
2016-09-26Fix #54 - Fetch remote accounts by URL from mentionsEugen Rochko
Fetching atom extracted from FetchRemoteAccountService and FetchRemoteStatusService into FetchAtomService. Mentions of the constant "http://activityschema.org/collection/public" skipped as it's not a real URL/user.
2016-09-22Handle remote account mentions a little better by trying a URL lookup in the dbEugen Rochko
2016-09-22Fix #51 - prevent duplicate attachments for remote statusesEugen Rochko
2016-09-21Fix #24 - Thread resolving for remote statusesEugen Rochko
This is a big one, so let me enumerate: Accounts as well as stream entry pages now contain Link headers that reference the Atom feed and Webfinger URL for the former and Atom entry for the latter. So you only need to HEAD those resources to get that information, no need to download and parse HTML <link>s. ProcessFeedService will now queue ThreadResolveWorker for each remote status that it cannot find otherwise. Furthermore, entries are now processed in reverse order (from bottom to top) in case a newer entry references a chronologically previous one. ThreadResolveWorker uses FetchRemoteStatusService to obtain a status and attach the child status it was queued for to it. FetchRemoteStatusService looks up the URL, first with a HEAD, tests if it's an Atom feed, in which case it processes it directly. Next for Link headers to the Atom feed, in which case that is fetched and processed. Lastly if it's HTML, it is checked for <link>s to the Atom feed, and if such is found, that is fetched and processed. The account for the status is derived from author/name attribute in the XML and the hostname in the URL (domain). FollowRemoteAccountService and ProcessFeedService are used. This means that potentially threads are resolved recursively until a dead-end is encountered, however it is performed asynchronously over background jobs, so it should be ok.
2016-09-20Separate PuSH subscriptions from following, add mastodon:push:refresh task,Eugen Rochko
respect hub.lease_seconds (fix #46)
2016-09-18Fix #43Eugen Rochko
2016-09-17Fix how other services used old FollowRemoteAccountServiceEugen Rochko
2016-09-09Refactored generation of unique tags, URIs and object URLs into own classes,Eugen Rochko
as well as formatting of content
2016-09-06Fix enclosures not being parsed for reblogged statusesEugen
2016-09-05PostStatusService can attach media to status, ProcessFeedService likewiseEugen Rochko
2016-09-04Handle delete Salmons, todo: clean up timelinesEugen Rochko
2016-03-26Fix favourite handling in ProcessInteractionServiceEugen Rochko
2016-03-25Add link to github project to footer, move FanOutOnWriteService calls toEugen Rochko
DistributionWorker. That isn't the heaviest service, yet, but gotta start somewhere
2016-03-25Fix subscriptions:clear task, refactor feeds, refactor streamable activitesEugen Rochko
and atom feed generation to some extent, as well as the way mentions are stored
2016-03-24Do not try to send notification e-mails for reblogs if the reblog is not of aEugen Rochko
local account
2016-03-20Writing out more tests, fixed some bugsEugen Rochko
2016-03-19Adding e-mail notifications about mentions, follows, favourites and reblogs. ↵Eugen Rochko
Fixing another mention recording bug
2016-03-19Turns out that replies don't have to have the type comment. Changed handlingEugen Rochko
of those to depend on presence of <thr:in-reply-to /> instead
2016-03-19Use FanOutOnWriteService AFTER processing mentionsEugen Rochko
2016-03-18Fixed ANOTHER first_or_create bug. Seriously who came up with that API smhEugen Rochko
2016-03-18Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issueEugen Rochko
when registering incoming status mentions, add Travis CI file
2016-03-16Fixing small bug with FollowRemoteAccountService usageEugen Rochko
2016-03-16Respect "delete" verb on remote feedsEugen Rochko
2016-02-29Changing the use of config constants to the Rails configuration objectEugen Rochko
2016-02-28Adding a test for ReblogService, fixing mentions for remote statusesEugen Rochko
2016-02-28A lot of fixes from a live testEugen Rochko
2016-02-28Update profile information and download avatar of remote accountsEugen Rochko
2016-02-25Fixed small bugs and code style offencesEugen Rochko
2016-02-25Adding a Mention model, test stubsEugen Rochko
2016-02-24Add shared statuses to the databaseEugen Rochko
2016-02-24Send Salmon interactionsEugen Rochko
2016-02-24Do not PuSH-subscribe to remote accounts when creating them for salmonEugen Rochko
2016-02-24Feed processing except fetching remote statusesEugen Rochko
2016-02-24Process favourites, reblogs and replies from SalmonEugen Rochko
2016-02-23Improved Atom rendering templates, added READMEEugen Rochko
2016-02-22Made some progressEugen Rochko