Fix rich media parser failing when no TTL can be found by image TTL
authorrinpatch <rinpatch@sdf.org>
Sun, 21 Jul 2019 15:22:22 +0000 (18:22 +0300)
committerrinpatch <rinpatch@sdf.org>
Sun, 21 Jul 2019 15:22:22 +0000 (18:22 +0300)
setters

CHANGELOG.md
lib/pleroma/web/rich_media/parser.ex

index f60f3ed978d576d12a2c8e0d75b764d4569e7543..5c7214f98d07950101c2ef45909810a2366b643c 100644 (file)
@@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - Mastodon API: Add `account_id`, `type`, `offset`, and `limit` to search API (`/api/v1/search` and `/api/v2/search`)
 - ActivityPub C2S: follower/following collection pages being inaccessible even when authentifucated if `hide_followers`/ `hide_follows` was set
 - Existing user id not being preserved on insert conflict
+- Rich Media: Parser failing when no TTL can be found by image TTL setters
 
 ### Added
 - MRF: Support for priming the mediaproxy cache (`Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy`)
index b69b2be610a6383ed5f5c97a92f3db4c0fe3ea02..185156375fa36ed69d7d277a76c9a81d96b8f5e4 100644 (file)
@@ -55,8 +55,8 @@ defmodule Pleroma.Web.RichMedia.Parser do
         ttl_setters: [MyModule]
   """
   def set_ttl_based_on_image({:ok, data}, url) do
-    with {:ok, nil} <- Cachex.ttl(:rich_media_cache, url) do
-      ttl = get_ttl_from_image(data, url)
+    with {:ok, nil} <- Cachex.ttl(:rich_media_cache, url),
+         ttl when is_number(ttl) <- get_ttl_from_image(data, url) do
       Cachex.expire_at(:rich_media_cache, url, ttl * 1000)
       {:ok, data}
     else