f0de621e76 
					 
					
						
						
							
							Fix   #463  - Fetch and display previews of URLs using OpenGraph tags  
						
						
						
						
					 
					
						2017-01-20 01:00:14 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f051c2e813 
					 
					
						
						
							
							Fix statsd null backend not being initialized properly  
						
						
						
						
					 
					
						2017-01-19 09:37:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						306eb6e9c9 
					 
					
						
						
							
							Add optional StatsD performance tracking  
						
						
						
						
					 
					
						2017-01-18 23:44:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b11fdc3ae3 
					 
					
						
						
							
							Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings  
						
						... 
						
						
						
						with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage 
						
						
					 
					
						2017-01-12 20:46:24 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7951e7ffd5 
					 
					
						
						
							
							Add ruby version to Gemfile, move devDependencies in package.json to dependencies,  
						
						... 
						
						
						
						fix bug in process feed service 
						
						
					 
					
						2017-01-11 15:39:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c128fcee16 
					 
					
						
						
							
							Update Rails to 5.0.1  
						
						
						
						
					 
					
						2016-12-21 19:09:59 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						76ec907993 
					 
					
						
						
							
							Improved admin UI  
						
						
						
						
					 
					
						2016-12-13 13:42:10 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5973ca3d11 
					 
					
						
						
							
							Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions of avatars  
						
						
						
						
					 
					
						2016-11-29 14:20:15 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8efa081f21 
					 
					
						
						
							
							Remove Neo4J  
						
						
						
						
					 
					
						2016-11-24 23:46:27 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8e34bed7cc 
					 
					
						
						
							
							Mini Profiler not working well, remove it  
						
						
						
						
					 
					
						2016-11-24 19:59:11 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fc90d38893 
					 
					
						
						
							
							Moving some counter queries out of subqueries in the API  
						
						
						
						
					 
					
						2016-11-22 22:59:54 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4b5b953d42 
					 
					
						
						
							
							Upgrade to latest Rails, which apparently improves ActionCable performance  
						
						
						
						
					 
					
						2016-11-22 22:26:44 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						546c4718e7 
					 
					
						
						
							
							Localizations for most server-side strings  
						
						
						
						
					 
					
						2016-11-16 00:55:33 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fdc17bea58 
					 
					
						
						
							
							Fix rubocop issues, introduce usage of frozen literal to improve performance  
						
						
						
						
					 
					
						2016-11-15 16:56:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						09218d4c01 
					 
					
						
						
							
							Use full-text search for autosuggestions  
						
						
						
						
					 
					
						2016-11-12 14:36:10 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						448ab18a20 
					 
					
						
						
							
							Replace setting custom CORS headers with rack-cors, set it on /oauth/token endpoint  
						
						
						
						
					 
					
						2016-11-09 18:06:01 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d0d799f911 
					 
					
						
						
							
							Replace react-skylight with own solution that centers images better  
						
						
						
						
					 
					
						2016-11-07 18:23:36 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ea4170785a 
					 
					
						
						
							
							Downgrade aws gem as this one was incompatible with Paperclip  
						
						
						
						
					 
					
						2016-11-06 20:55:57 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3ab193bc3f 
					 
					
						
						
							
							Adding optional S3, fail-mastodon  
						
						
						
						
					 
					
						2016-11-06 18:35:46 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6471a548fe 
					 
					
						
						
							
							Add pghero for analyzing postgres performance in production  
						
						
						
						
					 
					
						2016-11-04 18:35:04 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						53fb7b1aa8 
					 
					
						
						
							
							Replace in-memory cache store with redis store, should decrease memory  
						
						... 
						
						
						
						footprint of each running process by 128mb 
						
						
					 
					
						2016-11-02 13:30:52 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e21a3fe0cd 
					 
					
						
						
							
							Adding sync of follow relationships to Neo4J, accounts/suggestions API  
						
						
						
						
					 
					
						2016-10-14 23:10:07 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						06016453bd 
					 
					
						
						
							
							Adding user settings (model and mailer), no form yet  
						
						
						
						
					 
					
						2016-10-07 13:17:56 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4909bbf415 
					 
					
						
						
							
							Add logging for outgoing http requests  
						
						
						
						
					 
					
						2016-10-02 14:58:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						57583f3fb8 
					 
					
						
						
							
							Improve partial rendering and Haml performance (Haml->Hamlit)  
						
						
						
						
					 
					
						2016-09-24 13:40:42 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						af375b5bac 
					 
					
						
						
							
							Update sidekiq, remove sinatra dependency  
						
						
						
						
					 
					
						2016-09-18 13:40:30 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ce29624c6d 
					 
					
						
						
							
							Fixing image upload limits, allowing webm, merge/unmerge events trigger  
						
						... 
						
						
						
						timeline reload in UI, other small fixes 
						
						
					 
					
						2016-09-12 18:22:43 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						85d89b472d 
					 
					
						
						
							
							Optimized n+1 queries in accounts Atom and HTML views  
						
						... 
						
						
						
						Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API 
						
						
					 
					
						2016-09-08 20:36:01 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0f4bc56719 
					 
					
						
						
							
							Improving production logs, removing n+1 on media attachments in atom,  
						
						... 
						
						
						
						adding attachments display to static views 
						
						
					 
					
						2016-09-08 01:24:26 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bc0692d75b 
					 
					
						
						
							
							Removing mini-profiler that doesn't work, formatting timelines a bit better  
						
						
						
						
					 
					
						2016-08-24 19:23:37 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						49520d6e62 
					 
					
						
						
							
							Adding React.js, Redux, revamping dashboard  
						
						
						
						
					 
					
						2016-08-24 17:56:44 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6deb9f966e 
					 
					
						
						
							
							Live timelines using ActionCable  
						
						
						
						
					 
					
						2016-08-18 15:49:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						10ba09f546 
					 
					
						
						
							
							Upgrade to Rails 5.0.0.1  
						
						
						
						
					 
					
						2016-08-17 17:58:00 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						318886287b 
					 
					
						
						
							
							Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query  
						
						
						
						
					 
					
						2016-03-25 15:09:40 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e24bfbde1a 
					 
					
						
						
							
							Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections  
						
						... 
						
						
						
						in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users 
						
						
					 
					
						2016-03-25 14:12:24 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						42dcb0d4cb 
					 
					
						
						
							
							Adding Sidekiq for background processing (firstly just of mailers)  
						
						
						
						
					 
					
						2016-03-25 02:50:48 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f14f462eaf 
					 
					
						
						
							
							Adding Turbolinks, adding status posting form on homepage  
						
						
						
						
					 
					
						2016-03-21 18:26:47 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						19a259915e 
					 
					
						
						
							
							Security update  
						
						
						
						
					 
					
						2016-03-21 10:08:19 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e2b846f630 
					 
					
						
						
							
							Adding letter opener for development and Rack::Attack for future rate limiting implementations  
						
						
						
						
					 
					
						2016-03-19 14:57:30 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c349200761 
					 
					
						
						
							
							Removing some unused gems, adding pagination to profiles,  fix   #10  
						
						
						
						
					 
					
						2016-03-19 12:49:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3441361568 
					 
					
						
						
							
							Adding simple_form, adding profile settings, header image  
						
						
						
						
					 
					
						2016-03-12 20:47:22 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aab9f57e36 
					 
					
						
						
							
							Adding config for puma, dashboard layout, fixing some queries  
						
						
						
						
					 
					
						2016-03-12 16:21:53 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						447cfef62d 
					 
					
						
						
							
							Improving feed queries, switching API to doorkeeper authentication  
						
						
						
						
					 
					
						2016-03-11 16:47:36 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6c4c84b161 
					 
					
						
						
							
							Distrubute statuses as a fan-out-on-write system, with optional precomputing  
						
						
						
						
					 
					
						2016-03-08 20:20:45 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ab6696e855 
					 
					
						
						
							
							Adding doorkeeper, adding a REST API  
						
						... 
						
						
						
						POST /api/statuses                  Params: status (text contents), in_reply_to_id (optional)
GET  /api/statuses/:id
POST /api/statuses/:id/reblog
GET  /api/accounts/:id
GET  /api/accounts/:id/following
GET  /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow
POST /api/follows                  Params: uri (e.g. user@domain)
OAuth authentication is currently disabled, but the API can be used with HTTP Auth. 
						
						
					 
					
						2016-03-07 12:42:33 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3824c58853 
					 
					
						
						
							
							Adding GNU Public license, adding home timeline, reblog/favourite counters  
						
						
						
						
					 
					
						2016-03-06 17:52:23 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7e93da3f8d 
					 
					
						
						
							
							Removing grape and adding devise  
						
						
						
						
					 
					
						2016-03-05 13:12:24 +01:00