about summary refs log tree commit diff
path: root/app/services/process_feed_service.rb
AgeCommit message (Collapse)Author
2017-07-19Fix logging in ProcessFeedService (#4270)Akihiko Odaki
2017-07-19Correct OStatus inflection (Ostatus -> OStatus) (#4255)Eugen Rochko
2017-07-18Introduce Ostatus name space (#4164)Akihiko Odaki
* Wrap methods of ProcessFeedService::ProcessEntry in classes This is a change same with 425acecfdb15093a265b191120fb2d4e4c4135c4, except that it has the following changes: * Revert irrelevant change in find_or_create_conversation * Fix error handling for RemoteActivity * Introduce Ostatus name space
2017-07-11Revert "Wrap methods of ProcessFeedService::ProcessEntry in classes (#4151)" ↵nightpool
(#4157) This reverts commit 425acecfdb15093a265b191120fb2d4e4c4135c4.
2017-07-11Wrap methods of ProcessFeedService::ProcessEntry in classes (#4151)Akihiko Odaki (@fn_aki@pawoo.net)
ProcessFeedService::ProcessEntry had many methods, so wrap them in classes representing activities.
2017-07-11Remove redundant inclusion (#4150)Akihiko Odaki (@fn_aki@pawoo.net)
2017-07-07Fix feed author not being enforced in ProcessFeedService (#4092)Eugen Rochko
Ensure the only allowed author of top-level entries in feed is the person the feed belongs to (a verified user). Ensure delete events only apply if the deleted item belonged to that user.
2017-06-20Fix conversations (fixes #3869) (#3870)ThibG
* Actually create conversations given explicit URIs * Try to get the parent toot in before validation, to avoid creating a new conversation
2017-06-07Fix Code Climate failed (regression from #3622) (#3624)Yamagishi Kazutoshi
2017-06-07Fixes #3388 by moving re-entrant `shared_status_from_xml` before transaction ↵ThibG
block (#3622) Steps to reproduce the original issue: 1. Have two remote accounts, A that you don't follow, and B that you follow. 2. Have A post a toot and reply to it. 3. Boost A's reply from remote account B. This used to cause the local instance to get A's reply but fail to link it to the original post.
2017-06-06Try fixing ThreadResolveWorker calls (#3599)ThibG
* Try fixing ThreadResolveWorker calls From my understanding of ActiveRecord, a transaction is commited as soon as the exit of the outmost ActiveRecord.transaction block. However, inner transaction blocks will exit without the transaction being commited. In this case, ThreadResolveWorker were fired *within* a transaction block, so moving the call out of it should do the trick. However, this is somewhat fragile, as this whole codepath could be called within yet another transaction. * Set status thread within the transaction block if it is immediately available from database
2017-05-31Misc tidying and clean ups (#3445)Matt Jankowski
* Remove trailing whitespace in i18n mailers * Use query methods instead of #present? on AR attributes * Delegate Status#account_domain method * Delegate Mention #account_username and #account_acct methods
2017-05-27Fix some nil errors (#3338)Eugen Rochko
* Fix nil input not handled well in AuthorExtractor concern * Fix hard error in ProcessFeedService when replied-to status has been deleted * Fix nil errors in ProcessInteractionService when favourited status cannot be found
2017-05-22Similarly to #2426, put creation of remote statuses in a transaction, (#3233)Eugen Rochko
so that public timeline/caching would not encounter incomplete data
2017-05-18Fetch remote image using http.rb (#3114)Yamagishi Kazutoshi
2017-05-17Fix #2572 - Resolve preview cards for remote statuses as well as local ones ↵Eugen Rochko
(#3088)
2017-05-16Make faster ProcessFeedService (#3080)Shunsuke Michii
* Add index accounts on uri. * Remove a blank line.
2017-05-12Add conversation model, <ostatus:conversation /> (#3016)Eugen Rochko
* Add <ostatus:conversation /> tag to Atom input/output Only uses ref attribute (not href) because href would be the alternate link that's always included also. Creates new conversation for every non-reply status. Carries over conversation for every reply. Keeps remote URIs verbatim, generates local URIs on the fly like the rest of them. * Fix conversation migration * More spec coverage for status before_create * Prevent n+1 query when generating Atom with the new conversations * Improve code style * Remove redundant local variable
2017-05-11Fix #1426 - Trim long usernames in public follower/following lists (#2993)Eugen Rochko
Fix #2221 - Catch OpenSSL exceptions when loading remote avatars/headers/attachments Don't strip "rel" attribute from <a> tags when sanitizing (microformats)
2017-05-04Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses (#2734)Eugen Rochko
* Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses If a delete arrives before the original status, cache that information for 6h, and if the original status arrives in that window, ignore it * Add test case
2017-05-03Fix #2706 - Always respond with 200 to PuSH payloads (#2733)Eugen Rochko
Fix #2196 - Respond with 201 when Salmon accepted, 400 when unverified Fix #2629 - Correctly handle confirm_domain? for local accounts Unify rules for extracting author acct from XML, prefer <email>, fall back to <name> + <uri> (see also #2017, #2172)
2017-04-30Downgrade rubocop 0.48.1 => 0.46.0 (#2628)yhirano
* downgrade rubocop 0.48.1 => 0.46.0 * exclude vendor/**/* from rubocop target files * add frozen_string_literal comment line * fix percent literal delimited by ( and ) * fix alignment * remove comment disabling unknown cop
2017-04-27Improve shared status verification (#2525)Eugen Rochko
* Instead of parsing shared status contents verbatim, make roundtrip to purported original URL. Confirm that the "original" URL is from the same domain as the author it claims to be from. * Fix obvious typo, add comment * Use URI look-up first * Add test, update Goldfinger dependency to make less useless HTTP requests per Webfinger lookup
2017-04-25Punycode URI normalization (#2370)Eugen
* Fix #2119 - Whenever about to send a HTTP request, normalize the URI * Add test for IDN request in FetchLinkCardService * Perform IDN normalization on domains before they are stored in the DB
2017-04-16Add language detection (#1772)Eugen
* Add language detection via WhatLanguage and (de)serialization of it through Atom * Fix default language in ProcessFeedService * Re-add newline before 'react-rails' Gem to fix groupings Fixes Code Climate issue
2017-04-16Fix #1813 - Alleviate extra requests when processing mentions (#1938)Eugen
The <link rel="mentioned" /> tag refers to accounts by href. So we were matching the DB by the url attribute, and falling back to HTTP look-up. However, GS and Mastodon use profile URLs as URIs, too, and the match for that was missing. This could potentially alleviate some extra network requests
2017-04-16Make file attachment on MediaAttachment optional (#1865)Eugen
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true Clean up old media files when creating a new domain block with reject_media set to true Return remote_url in media attachments API if local file is not present Undo domain block action in admin UI Ability to enable reject_media from admin UI
2017-04-15Allow running mastodon on a different domain as the one used for identifying ↵ThibG
users (#1267) * Allow running mastodon on a different domain as the one used for identifying users * Alter documentation of WEB_DOMAIN to make clear it shouldn't be used unless the admin knows what they are doing * Compare to web_domain instead of local_domain when dealing with feeds/API * Correctly identify mentions to local accounts Mentions URLs point to the person's web profile, i.e., the user page served on WEB_DOMAIN.
2017-04-08Fix #1141, fix #1126 - Avatar/profile info fetching (#1215)Eugen
* Fix #1141, fix #1126 - Work through UpdateRemoteProfileService for both <feed> and <entry> top-level tags * Improve code quality, remove line unrelated to fix
2017-04-05Split SalmonWorker into smaller parts, move profile updating into another jobEugen Rochko
2017-03-13Fix casuality of processing remote mentions such that notificationsEugen Rochko
about them would be processed only after the entire status is processed
2017-02-22Skip remote media URLs that don't have a hostnameEugen Rochko
2017-02-11Mentions in private statuses allow mentioned people to see themEugen Rochko
2017-02-09Fix #614 - extra reply-boolean on statuses to account for cases when replied-toEugen Rochko
status is not in the system at time of distribution; fix #607 - reset privacy settings to defaults when cancelling replies
2017-01-27Do not run FetchLinkCardService on local URLs, increase file size limit to 8MB,Eugen Rochko
fix ProcessFeedService pushing status into distribution if called a second time while the first is still running (i.e. when a PuSH comes after a Salmon slap), fix not running escape on spoiler text before emojify
2017-01-25Use <summary> to encode content warnings insteadEugen Rochko
2017-01-25Instead of using spoiler boolean and spoiler_text, simply check for ↵Eugen Rochko
non-blank spoiler_text Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" /> Clean up schema file from accidental development migrations
2017-01-23Optional domain block attribute that prevents media attachments from being ↵Eugen Rochko
downloaded
2017-01-20Instead of refusing to create accounts, domain blocks auto-suspend new ↵Eugen Rochko
accounts from that domain
2017-01-20Fix preview cards layout, do preview card crawling for remote statusesEugen Rochko
2017-01-14Fix too late returnEugen
2017-01-11Add ruby version to Gemfile, move devDependencies in package.json to ↵Eugen Rochko
dependencies, fix bug in process feed service
2016-12-12Restoring old async behaviour of thread resolving as it proved to be more robustEugen Rochko
2016-12-11Thread resolving no longer needs to be separate from ProcessFeedService,Eugen Rochko
since that is only ever called in the background
2016-12-05Add account suspensionEugen Rochko
2016-11-30Per-status control for unlisted mode, also federation for unlisted modeEugen Rochko
Fix #233, fix #268
2016-11-26Update hub URL and re-subscribe if hub URL changesEugen Rochko
2016-11-22Remove unneeded indices, improve error handling in background workers, don't ↵Eugen Rochko
needlessly reload reblogged status, send Devise e-mails asynchronously
2016-11-21Call NotifyService about remote reblogsEugen Rochko
2016-11-20Adding unified streamable notificationsEugen Rochko