From 1d2856c2afb6f3e54e15fe34da3c167c29d4f47a Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Tue, 20 Sep 2016 03:24:04 +0200
Subject: [PATCH] Since GNU Social hubs don't seem to return a
 hub.lease_seconds param in the subscription confirmation request, we'll have
 to default that value to the GS "minimum" (from their code) which is 24
 hours.

---
 app/controllers/api/subscriptions_controller.rb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/app/controllers/api/subscriptions_controller.rb b/app/controllers/api/subscriptions_controller.rb
index aa5cfbe5d..c8fa60260 100644
--- a/app/controllers/api/subscriptions_controller.rb
+++ b/app/controllers/api/subscriptions_controller.rb
@@ -4,8 +4,7 @@ class Api::SubscriptionsController < ApiController
 
   def show
     if @account.subscription(api_subscription_url(@account.id)).valid?(params['hub.topic'])
-      Rails.logger.debug "PuSH confirmation: #{params.inspect}"
-      @account.update(subscription_expires_at: Time.now + (params['hub.lease_seconds'].to_i).seconds)
+      @account.update(subscription_expires_at: Time.now + ((params['hub.lease_seconds'] || 86400).to_i).seconds)
       render plain: HTMLEntities.new.encode(params['hub.challenge']), status: 200
     else
       head 404