89e8e110c8 
								
							 
						 
						
							
							
								
								Imports controller errors ( #1553 )  
							
							... 
							
							
							
							* Add spec for settings/imports controller
* Add failing spec for settings/imports#create
* Fix broken imports
* Refactor ImportWorker 
							
						 
						
							2017-04-11 21:40:14 +02:00  
				
					
						
							
							
								 
						
							
								e30bbb1cb0 
								
							 
						 
						
							
							
								
								Fix for Import issue from URL ( #1416 )  
							
							
							
						 
						
							2017-04-10 12:49:34 +02:00  
				
					
						
							
							
								 
						
							
								982fef811e 
								
							 
						 
						
							
							
								
								Fix   #1141 ,  fix   #1126  - Avatar/profile info fetching ( #1215 )  
							
							... 
							
							
							
							* 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-08 13:26:03 +02:00  
				
					
						
							
							
								 
						
							
								6d6a429af8 
								
							 
						 
						
							
							
								
								Rewrite Atom generation from stream entries to use Ox instead of Nokogiri ( #1124 )  
							
							... 
							
							
							
							* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder
StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker
PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.
All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri
* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account 
							
						 
						
							2017-04-07 05:56:56 +02:00  
				
					
						
							
							
								 
						
							
								540d6efe88 
								
							 
						 
						
							
							
								
								Catch more errors in process_follows so it doesn't fail  
							
							
							
						 
						
							2017-04-05 20:04:13 -04:00  
				
					
						
							
							
								 
						
							
								5442083b3c 
								
							 
						 
						
							
							
								
								Split SalmonWorker into smaller parts, move profile updating into another job  
							
							
							
						 
						
							2017-04-05 21:43:10 +02:00  
				
					
						
							
							
								 
						
							
								5b95be1c42 
								
							 
						 
						
							
							
								
								Replace calls to FeedManager#inline_render and #broadcast  
							
							
							
						 
						
							2017-04-05 19:45:18 +02:00  
				
					
						
							
							
								 
						
							
								c9ebd5d19f 
								
							 
						 
						
							
							
								
								Fix wrong variable used in publish channel  
							
							
							
						 
						
							2017-04-05 18:58:32 +02:00  
				
					
						
							
							
								 
						
							
								1b8c244dff 
								
							 
						 
						
							
							
								
								Add proper message to PushUpdateWorker, use redis directly  
							
							
							
						 
						
							2017-04-05 18:48:41 +02:00  
				
					
						
							
							
								 
						
							
								3d8b80e1cc 
								
							 
						 
						
							
							
								
								Merge branch 'master' into broadcast-to-worker  
							
							
							
						 
						
							2017-04-05 18:44:33 +02:00  
				
					
						
							
							
								 
						
							
								220bc48e8e 
								
							 
						 
						
							
							
								
								Only render public payload once in FanOutOnWrite  
							
							
							
						 
						
							2017-04-05 14:26:17 +02:00  
				
					
						
							
							
								 
						
							
								22dcadedb4 
								
							 
						 
						
							
							
								
								We're going to want these nice helper methods, lets share them with a parent class that matches Rails 5 practices (application level abstraction)  
							
							
							
						 
						
							2017-04-04 21:14:37 -07:00  
				
					
						
							
							
								 
						
							
								9638894233 
								
							 
						 
						
							
							
								
								Moving in the inline render  
							
							
							
						 
						
							2017-04-04 20:51:18 -07:00  
				
					
						
							
							
								 
						
							
								220051b8b2 
								
							 
						 
						
							
							
								
								I don't actually think we need that.  
							
							
							
						 
						
							2017-04-04 20:48:22 -07:00  
				
					
						
							
							
								 
						
							
								0069c01285 
								
							 
						 
						
							
							
								
								Moving the queue_at into the worker  
							
							
							
						 
						
							2017-04-04 20:39:14 -07:00  
				
					
						
							
							
								 
						
							
								96ef933820 
								
							 
						 
						
							
							
								
								Replacing the broadcast method with the one defined in the feed manager  
							
							
							
						 
						
							2017-04-04 20:36:03 -07:00  
				
					
						
							
							
								 
						
							
								1e96ce378e 
								
							 
						 
						
							
							
								
								By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection  
							
							
							
						 
						
							2017-04-04 20:23:40 -07:00  
				
					
						
							
							
								 
						
							
								bda37489ac 
								
							 
						 
						
							
							
								
								Remove PuSH subscriptions when delivery is answered with a 4xx error  
							
							
							
						 
						
							2017-04-05 02:34:33 +02:00  
				
					
						
							
							
								 
						
							
								6fd865c000 
								
							 
						 
						
							
							
								
								Spawn FeedInsertWorker to deliver status into personal feed  
							
							
							
						 
						
							2017-04-04 19:21:37 +02:00  
				
					
						
							
							
								 
						
							
								82aaedec46 
								
							 
						 
						
							
							
								
								Reduce number of items in feeds, optimize regeneration worker slightly,  
							
							... 
							
							
							
							make regeneration worker unique, (only schedule/execute once at a time) 
							
						 
						
							2017-04-04 13:58:34 +02:00  
				
					
						
							
							
								 
						
							
								b21f7c28f6 
								
							 
						 
						
							
							
								
								Move OStatus processing back into default queue  
							
							
							
						 
						
							2017-04-04 13:02:49 +02:00  
				
					
						
							
							
								 
						
							
								b510a56c0c 
								
							 
						 
						
							
							
								
								Only call regeneration worker after first login after a 14 day break  
							
							
							
						 
						
							2017-04-04 02:00:10 +02:00  
				
					
						
							
							
								 
						
							
								f722bd2387 
								
							 
						 
						
							
							
								
								Separate background jobs into different queues. ATTENTION: new queue "pull"  
							
							... 
							
							
							
							must be added to the Sidekiq invokation in your systemd file
The pull queue will handle link crawling, thread resolving, and OStatus
processing. Such tasks are more likely to hang for a longer time (due to
network requests) so it is more sensible to not make the "in-house" tasks
wait for them. 
							
						 
						
							2017-04-04 00:53:20 +02:00  
				
					
						
							
							
								 
						
							
								b7c1b12367 
								
							 
						 
						
							
							
								
								Make default admin UI page reports. Add admin UI for creating a domain block  
							
							
							
						 
						
							2017-04-03 18:55:06 +02:00  
				
					
						
							
							
								 
						
							
								e8875c6046 
								
							 
						 
						
							
							
								
								Import feature for following/blocking lists (addresses  #62 ,  #177 ,  #201 ,  #454 )  
							
							
							
						 
						
							2017-03-30 19:42:33 +02:00  
				
					
						
							
							
								 
						
							
								6b81d10030 
								
							 
						 
						
							
							
								
								Add digest e-mails  
							
							
							
						 
						
							2017-03-04 00:00:48 +01:00  
				
					
						
							
							
								 
						
							
								40a4053732 
								
							 
						 
						
							
							
								
								Disable PuSH for blocked domains  
							
							
							
						 
						
							2017-02-14 04:01:37 +01:00  
				
					
						
							
							
								 
						
							
								720ff55262 
								
							 
						 
						
							
							
								
								Adding more unit tests. Fixing Salmon slaps XML  
							
							
							
						 
						
							2017-02-12 17:30:15 +01:00  
				
					
						
							
							
								 
						
							
								db814543c0 
								
							 
						 
						
							
							
								
								Take out private toot distribution out of PuSH again  
							
							
							
						 
						
							2017-02-12 01:31:04 +01:00  
				
					
						
							
							
								 
						
							
								446aad4ce2 
								
							 
						 
						
							
							
								
								Make PuSH only distribute to subscriptions that match follower domains  
							
							... 
							
							
							
							Allow PuSH to distribute private toots with that condition 
							
						 
						
							2017-02-11 15:41:39 +01:00  
				
					
						
							
							
								 
						
							
								00b5731ecb 
								
							 
						 
						
							
							
								
								After FollowService, re-fetch remote account asynchronously, do nothing  
							
							... 
							
							
							
							if account lock info was up to date, otherwise re-do the FollowService
with now updated information 
							
						 
						
							2017-02-11 14:25:01 +01:00  
				
					
						
							
							
								 
						
							
								149887a0ff 
								
							 
						 
						
							
							
								
								Make follow requests federate  
							
							
							
						 
						
							2017-02-11 02:58:00 +01:00  
				
					
						
							
							
								 
						
							
								19b9e1e2c3 
								
							 
						 
						
							
							
								
								Preheat status cache  
							
							
							
						 
						
							2017-02-05 17:24:18 +01:00  
				
					
						
							
							
								 
						
							
								3f075c7794 
								
							 
						 
						
							
							
								
								API for apps to register for push notifications  
							
							
							
						 
						
							2017-01-29 01:30:32 +01:00  
				
					
						
							
							
								 
						
							
								8a880a3d46 
								
							 
						 
						
							
							
								
								Make blocks create entries and unfollows instantly, but do the clean up  
							
							... 
							
							
							
							in the background instead. Should fix delay where blocked person
can interact with blocker for a short time before background job
gets processed 
							
						 
						
							2017-01-24 21:40:41 +01:00  
				
					
						
							
							
								 
						
							
								cca82bf0a2 
								
							 
						 
						
							
							
								
								Move merging/unmerging of timelines into background. Move blocking into  
							
							... 
							
							
							
							background as well since it's a computationally expensive 
							
						 
						
							2017-01-23 21:29:34 +01:00  
				
					
						
							
							
								 
						
							
								f0de621e76 
								
							 
						 
						
							
							
								
								Fix   #463  - Fetch and display previews of URLs using OpenGraph tags  
							
							
							
						 
						
							2017-01-20 01:00:14 +01:00  
				
					
						
							
							
								 
						
							
								6c28886317 
								
							 
						 
						
							
							
								
								Improve background jobs params and error handling  
							
							
							
						 
						
							2017-01-05 03:28:21 +01:00  
				
					
						
							
							
								 
						
							
								86be6d48c9 
								
							 
						 
						
							
							
								
								Fix accidental distribution of hidden stream entries to PuSH subscribers  
							
							
							
						 
						
							2017-01-03 00:44:23 +01:00  
				
					
						
							
							
								 
						
							
								49834a6e7f 
								
							 
						 
						
							
							
								
								Add API for retrieving blocked accounts  
							
							
							
						 
						
							2016-12-29 20:12:32 +01:00  
				
					
						
							
							
								 
						
							
								4c6809f6ab 
								
							 
						 
						
							
							
								
								Adding some rescues to workers, e.g. don't fail removal job when status can't be found in the first place (already removed)  
							
							
							
						 
						
							2016-12-19 09:31:12 +01:00  
				
					
						
							
							
								 
						
							
								0542773bca 
								
							 
						 
						
							
							
								
								Make unfavouriting async to prevent timeout errors from leaving orphaned records behind  
							
							
							
						 
						
							2016-12-19 09:12:29 +01:00  
				
					
						
							
							
								 
						
							
								6de079a5af 
								
							 
						 
						
							
							
								
								Removing external hub completely,  fix   #333  fixing digit-only hashtags,  
							
							... 
							
							
							
							removing web app capability from non-webapp pages 
							
						 
						
							2016-12-18 12:24:37 +01:00  
				
					
						
							
							
								 
						
							
								668013265c 
								
							 
						 
						
							
							
								
								Restoring old async behaviour of thread resolving as it proved to be more robust  
							
							
							
						 
						
							2016-12-12 21:12:19 +01:00  
				
					
						
							
							
								 
						
							
								f90133d2ad 
								
							 
						 
						
							
							
								
								Thread resolving no longer needs to be separate from ProcessFeedService,  
							
							... 
							
							
							
							since that is only ever called in the background 
							
						 
						
							2016-12-11 22:23:11 +01:00  
				
					
						
							
							
								 
						
							
								f406e01fcf 
								
							 
						 
						
							
							
								
								Add filters for suspended accounts  
							
							
							
						 
						
							2016-12-06 18:03:30 +01:00  
				
					
						
							
							
								 
						
							
								58b3f4fd67 
								
							 
						 
						
							
							
								
								Fix   #329  - avatar errors no longer prevent remote accounts from being saved  
							
							... 
							
							
							
							(without avatar). Also improved search position of exact matches 
							
						 
						
							2016-12-02 14:14:49 +01:00  
				
					
						
							
							
								 
						
							
								4a2347da41 
								
							 
						 
						
							
							
								
								Track successful PuSH deliveries  
							
							
							
						 
						
							2016-11-30 15:24:57 +01:00  
				
					
						
							
							
								 
						
							
								93a90cd9c3 
								
							 
						 
						
							
							
								
								Delete statuses asynchronously but provide instant feedback in the API  
							
							
							
						 
						
							2016-11-29 15:32:25 +01:00  
				
					
						
							
							
								 
						
							
								cc70f28f19 
								
							 
						 
						
							
							
								
								Adding rack timeout of 30sec, PuSH jobs moved to push queue so they  
							
							... 
							
							
							
							can be processed separately 
							
						 
						
							2016-11-29 02:07:14 +01:00  
				
					
						
							
							
								 
						
							
								4e351baf88 
								
							 
						 
						
							
							
								
								Fix URLs in inline-rendered XML  
							
							
							
						 
						
							2016-11-29 00:26:01 +01:00  
				
					
						
							
							
								 
						
							
								3ba6531611 
								
							 
						 
						
							
							
								
								Fix setting of confirmed=true on successful confirmation  
							
							
							
						 
						
							2016-11-28 19:24:49 +01:00  
				
					
						
							
							
								 
						
							
								50638174c8 
								
							 
						 
						
							
							
								
								More logging to ConfirmationWorker  
							
							
							
						 
						
							2016-11-28 19:15:28 +01:00  
				
					
						
							
							
								 
						
							
								4eba76711b 
								
							 
						 
						
							
							
								
								Adding backtracing to Salmon/Processing workers  
							
							
							
						 
						
							2016-11-28 19:11:36 +01:00  
				
					
						
							
							
								 
						
							
								2d2c81765b 
								
							 
						 
						
							
							
								
								Adding embedded PuSH server  
							
							
							
						 
						
							2016-11-28 13:36:47 +01:00  
				
					
						
							
							
								 
						
							
								45c7ee39b3 
								
							 
						 
						
							
							
								
								Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously  
							
							
							
						 
						
							2016-11-22 17:32:51 +01:00  
				
					
						
							
							
								 
						
							
								7dea6a23f7 
								
							 
						 
						
							
							
								
								Move Salmon processing to background as well as PuSH  
							
							
							
						 
						
							2016-11-18 23:24:57 +01:00  
				
					
						
							
							
								 
						
							
								fdc17bea58 
								
							 
						 
						
							
							
								
								Fix rubocop issues, introduce usage of frozen literal to improve performance  
							
							
							
						 
						
							2016-11-15 16:56:29 +01:00  
				
					
						
							
							
								 
						
							
								a91c3ef6ce 
								
							 
						 
						
							
							
								
								Delegate processing of incoming PuSH data to background workers  
							
							
							
						 
						
							2016-11-15 15:43:33 +01:00  
				
					
						
							
							
								 
						
							
								bb4d1eb2e8 
								
							 
						 
						
							
							
								
								Improve feed regeneration  
							
							
							
						 
						
							2016-11-08 02:08:32 +01:00  
				
					
						
							
							
								 
						
							
								3319473b2c 
								
							 
						 
						
							
							
								
								Move PubSubHubbub pinging to a background worker  
							
							... 
							
							
							
							It can take as much as 0.5s if not longer to complete 
							
						 
						
							2016-10-05 13:50:21 +02:00  
				
					
						
							
							
								 
						
							
								927333f4f8 
								
							 
						 
						
							
							
								
								Improve code style  
							
							
							
						 
						
							2016-09-29 21:28:21 +02:00  
				
					
						
							
							
								 
						
							
								4bec613897 
								
							 
						 
						
							
							
								
								Fix   #24  - Thread resolving for remote statuses  
							
							... 
							
							
							
							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-21 01:50:31 +02:00  
				
					
						
							
							
								 
						
							
								85b00d19b8 
								
							 
						 
						
							
							
								
								Moving Salmon notifications to background processing, fixing mini-profiler  
							
							... 
							
							
							
							behaviour with Turbolinks enabled, optimizing Rabl for production 
							
						 
						
							2016-03-26 13:42:10 +01:00  
				
					
						
							
							
								 
						
							
								8eeec389c1 
								
							 
						 
						
							
							
								
								Add link to github project to footer, move FanOutOnWriteService calls to  
							
							... 
							
							
							
							DistributionWorker. That isn't the heaviest service, yet, but gotta start
somewhere 
							
						 
						
							2016-03-25 03:22:26 +01:00