Skip to content

Fix rich media parsing some Amazon URLs

feld requested to merge fix/rich-media-ttl into develop

When there's an amazonaws.com URL but there are no query parameters the comparison fails

20:22:29.571 [error] Task #PID<0.1983.0> started from #PID<0.1971.0> terminating
** (FunctionClauseError) no function clause matching in String.contains?/2
    (elixir 1.14.5) lib/string.ex:2491: String.contains?(nil, "X-Amz-Expires")
    (pleroma 2.6.52-873-g1482d32b-bikeshed) lib/pleroma/web/rich_media/parser/ttl/aws_signed_url.ex:12: Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl.ttl/2
    (pleroma 2.6.52-873-g1482d32b-bikeshed) lib/pleroma/web/rich_media/parser/ttl.ex:14: anonymous fn/4 in Pleroma.Web.RichMedia.Parser.TTL.process/2
    (elixir 1.14.5) lib/enum.ex:4751: Enumerable.List.reduce/3
    (elixir 1.14.5) lib/enum.ex:2514: Enum.reduce_while/3
    (pleroma 2.6.52-873-g1482d32b-bikeshed) lib/pleroma/web/rich_media/backfill.ex:71: Pleroma.Web.RichMedia.Backfill.maybe_schedule_expiration/2
    (pleroma 2.6.52-873-g1482d32b-bikeshed) lib/pleroma/web/rich_media/backfill.ex:35: Pleroma.Web.RichMedia.Backfill.run/1
    (elixir 1.14.5) lib/task/supervised.ex:89: Task.Supervised.invoke_mfa/2
    (stdlib 5.2.1) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
 Function: &Pleroma.Web.RichMedia.Backfill.run/1
    Args: [%{url: "https://books2read.com/theroujekith", attempt: 1, activity_id: "AiGDYIZtY2V8rbR3RI", url_hash: "4b8ab2e245bcfe6e176718fd575cd549faba04441561a930ee5ab9e3d5cc5c30"}]

Merge request reports