about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-11-02 22:29:19 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-11-02 22:29:19 +0100
commit4b357ecf98f373f5ed31c71ecc1a79d23572cd00 (patch)
treeb0c81653896add9880f17738b17738e42deb7a88
parentd427df4a8ae16809b068aca8c65006de2ccbd27e (diff)
Fix subtle bugs, new icon button
-rw-r--r--app/assets/javascripts/components/components/icon_button.jsx10
-rw-r--r--app/lib/feed_manager.rb2
-rw-r--r--app/services/precompute_feed_service.rb2
3 files changed, 9 insertions, 5 deletions
diff --git a/app/assets/javascripts/components/components/icon_button.jsx b/app/assets/javascripts/components/components/icon_button.jsx
index 085c18541..663728f34 100644
--- a/app/assets/javascripts/components/components/icon_button.jsx
+++ b/app/assets/javascripts/components/components/icon_button.jsx
@@ -28,15 +28,19 @@ const IconButton = React.createClass({
   render () {
     const style = {
       display: 'inline-block',
+      border: 'none',
+      padding: '0',
+      background: 'transparent',
       fontSize: `${this.props.size}px`,
-      width: `${this.props.size}px`,
+      width: `${this.props.size * 1.28571429}px`,
       height: `${this.props.size}px`,
-      lineHeight: `${this.props.size}px`
+      lineHeight: `${this.props.size}px`,
+      cursor: 'pointer'
     };
 
     return (
       <button aria-label={this.props.title} title={this.props.title} className={`icon-button ${this.props.active ? 'active' : ''}`} onClick={this.handleClick} style={style}>
-        <i className={`fa fa-fw fa-${this.props.icon}`} aria-hidden='true'></i>
+        <i className={`fa fa-fw fa-${this.props.icon}`} aria-hidden='true' />
       </button>
     );
   }
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb
index 46a105124..0b04ad7ff 100644
--- a/app/lib/feed_manager.rb
+++ b/app/lib/feed_manager.rb
@@ -61,7 +61,7 @@ class FeedManager
 
   # Filter status out of the home feed if it is a reply to someone the user doesn't follow
   def filter_from_home?(status, receiver)
-    replied_to_user = status.reply? ? status.thread.account : nil
+    replied_to_user = status.reply? ? status.thread.try(:account) : nil
     (status.reply? && !(receiver.id == replied_to_user.id || replied_to_user.id == status.account_id || receiver.following?(replied_to_user))) || (status.reblog? && receiver.blocking?(status.reblog.account))
   end
 
diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb
index 6b259fe80..eb5f48575 100644
--- a/app/services/precompute_feed_service.rb
+++ b/app/services/precompute_feed_service.rb
@@ -6,7 +6,7 @@ class PrecomputeFeedService < BaseService
   def call(type, account, limit)
     instant_return = []
 
-    Status.send("as_#{type}_timeline", account).order('created_at desc').limit(FeedManager::MAX_ITEMS).find_each do |status|
+    Status.send("as_#{type}_timeline", account).order('id desc').limit(FeedManager::MAX_ITEMS).find_each do |status|
       next if FeedManager.instance.filter?(type, status, account)
       redis.zadd(FeedManager.instance.key(type, account.id), status.id, status.id)
       instant_return << status unless instant_return.size > limit