about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
authorbeatrix <beatrix.bitrot@gmail.com>2017-07-20 11:24:32 -0400
committerGitHub <noreply@github.com>2017-07-20 11:24:32 -0400
commite7edb4d1eeba6c12a1c71271faa30d2bbf00d054 (patch)
treef373d05c4ea43bd335910f3603fab3d866a2486e /app/models
parentd2352246920800e491466d84b0146feb4d1d791f (diff)
parent1fcdaafa6fbe6d746a096c33263d76e6819da46d (diff)
Merge pull request #87 from tootsuite/master
merge upstream
Diffstat (limited to 'app/models')
-rw-r--r--app/models/account.rb7
-rw-r--r--app/models/web/push_subscription.rb18
2 files changed, 15 insertions, 10 deletions
diff --git a/app/models/account.rb b/app/models/account.rb
index 9f8e22adf..46cc84746 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -36,6 +36,11 @@
 #  followers_count         :integer          default(0), not null
 #  following_count         :integer          default(0), not null
 #  last_webfingered_at     :datetime
+#  inbox_url               :string           default(""), not null
+#  outbox_url              :string           default(""), not null
+#  shared_inbox_url        :string           default(""), not null
+#  followers_url           :string           default(""), not null
+#  protocol                :integer          default("ostatus"), not null
 #
 
 class Account < ApplicationRecord
@@ -49,6 +54,8 @@ class Account < ApplicationRecord
   include Remotable
   include EmojiHelper
 
+  enum protocol: [:ostatus, :activitypub]
+
   # Local users
   has_one :user, inverse_of: :account
 
diff --git a/app/models/web/push_subscription.rb b/app/models/web/push_subscription.rb
index baf6a1ece..86df9b591 100644
--- a/app/models/web/push_subscription.rb
+++ b/app/models/web/push_subscription.rb
@@ -26,8 +26,6 @@ class Web::PushSubscription < ApplicationRecord
   before_create :send_welcome_notification
 
   def push(notification)
-    return unless pushable? notification
-
     name = display_name notification.from_account
     title = title_str(name, notification)
     body = body_str notification
@@ -45,7 +43,7 @@ class Web::PushSubscription < ApplicationRecord
         title: title,
         dir: dir,
         image: image,
-        badge: full_asset_url('badge.png'),
+        badge: full_asset_url('badge.png', skip_pipeline: true),
         tag: notification.id,
         timestamp: notification.created_at,
         icon: notification.from_account.avatar_static_url,
@@ -69,6 +67,10 @@ class Web::PushSubscription < ApplicationRecord
     )
   end
 
+  def pushable?(notification)
+    data && data.key?('alerts') && data['alerts'][notification.type.to_s]
+  end
+
   def as_payload
     payload = {
       id: id,
@@ -115,7 +117,7 @@ class Web::PushSubscription < ApplicationRecord
       when :mention then [
         {
           title: translate('push_notifications.mention.action_favourite'),
-          icon: full_asset_url('emoji/2764.png'),
+          icon: full_asset_url('emoji/2764.png', skip_pipeline: true),
           todo: 'request',
           method: 'POST',
           action: "/api/v1/statuses/#{notification.target_status.id}/favourite",
@@ -148,16 +150,12 @@ class Web::PushSubscription < ApplicationRecord
     rtl?(body) ? 'rtl' : 'ltr'
   end
 
-  def pushable?(notification)
-    data && data.key?('alerts') && data['alerts'][notification.type.to_s]
-  end
-
   def send_welcome_notification
     Webpush.payload_send(
       message: JSON.generate(
         title: translate('push_notifications.subscribed.title'),
-        icon: full_asset_url('android-chrome-192x192.png'),
-        badge: full_asset_url('badge.png'),
+        icon: full_asset_url('android-chrome-192x192.png', skip_pipeline: true),
+        badge: full_asset_url('badge.png', skip_pipeline: true),
         data: {
           content: translate('push_notifications.subscribed.body'),
           actions: [],