about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-25 15:09:40 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-25 15:09:40 +0100
commit318886287b289a8caccf19102da8584453ef7faa (patch)
treeb3cf78d9c9b52c750aa3539072158fc49081c9e6
parent36f3da3cde2bc2148e156a5dd09d732a06b44ddd (diff)
Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
-rw-r--r--Gemfile2
-rw-r--r--app/assets/javascripts/mastodon-logo.coffee2
-rw-r--r--app/assets/javascripts/profiler.coffee2
-rw-r--r--app/assets/stylesheets/application.scss4
-rw-r--r--app/models/status.rb2
-rw-r--r--config/application.rb1
-rw-r--r--config/initializers/rack-mini-profiler.rb6
7 files changed, 16 insertions, 3 deletions
diff --git a/Gemfile b/Gemfile
index fbc3ad9e2..c0d36ba5b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -66,5 +66,5 @@ group :production do
 end
 
 group :development, :production do
-  gem 'rack-mini-profiler'
+  gem 'rack-mini-profiler', require: false
 end
diff --git a/app/assets/javascripts/mastodon-logo.coffee b/app/assets/javascripts/mastodon-logo.coffee
index bcf52f378..0b4e67e79 100644
--- a/app/assets/javascripts/mastodon-logo.coffee
+++ b/app/assets/javascripts/mastodon-logo.coffee
@@ -44,5 +44,5 @@ work = ->
   if runs == stop_at_run
     stop()
 
-$ ->
+$(document).on 'turbolinks:load', ->
   setTimeout(start, 100)
diff --git a/app/assets/javascripts/profiler.coffee b/app/assets/javascripts/profiler.coffee
new file mode 100644
index 000000000..bcdcc1e59
--- /dev/null
+++ b/app/assets/javascripts/profiler.coffee
@@ -0,0 +1,2 @@
+$(document).on 'turbolinks:load', ->
+  window.MiniProfiler.pageTransition() unless typeof window.MiniProfiler == 'undefined'
diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index e34f0ba32..1f35053a1 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -279,6 +279,10 @@ body {
   }
 }
 
+.turbolinks-progress-bar {
+  background-color: #2b90d9;
+}
+
 .mastodon {
   $head: #282c37;
   $tusk: #d9e1e8;
diff --git a/app/models/status.rb b/app/models/status.rb
index 59c94aaca..439cd3053 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -17,7 +17,7 @@ class Status < ActiveRecord::Base
   validates :text, presence: true, if: Proc.new { |s| s.local? && !s.reblog? }
 
   scope :with_counters, -> { select('statuses.*, (select count(r.id) from statuses as r where r.reblog_of_id = statuses.id) as reblogs_count, (select count(f.id) from favourites as f where f.status_id = statuses.id) as favourites_count') }
-  scope :with_includes, -> { includes(:account, :mentions, reblog: [:account, :mentions], thread: [:account, :mentions]) }
+  scope :with_includes, -> { includes(:account, :mentions, :stream_entry, reblog: [:account, :mentions], thread: [:account, :mentions]) }
 
   def local?
     self.uri.nil?
diff --git a/config/application.rb b/config/application.rb
index 1fbd8f7f6..7d6182ecc 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -37,5 +37,6 @@ module Mastodon
     end
 
     config.middleware.use Rack::Attack
+    config.middleware.use Rack::Deflater
   end
 end
diff --git a/config/initializers/rack-mini-profiler.rb b/config/initializers/rack-mini-profiler.rb
new file mode 100644
index 000000000..b1d45e257
--- /dev/null
+++ b/config/initializers/rack-mini-profiler.rb
@@ -0,0 +1,6 @@
+require 'rack-mini-profiler'
+
+Rack::MiniProfilerRails.initialize!(Rails.application)
+
+Rails.application.middleware.delete(Rack::MiniProfiler)
+Rails.application.middleware.insert_after(Rack::Deflater, Rack::MiniProfiler)