Cms: GraphQL `transform` directive doesn't respect `transformGifs` config setting

Created on 19 Jul 2020  路  2Comments  路  Source: craftcms/cms

Description

When using the transform directive in a GraphQL query, transforms are still generated for GIFs even when transformGifs: false is set in config/general.php.

The directive uses Craft::$app->getAssets()->getAssetUrl() which doesn't seem to check transformGifs, unlike the getUrl method on craft\elements\asset.

Steps to reproduce

  1. Set transformGifs: false in config/general.php
  2. Create an asset field and define an image transform.
  3. Upload GIF to asset field.
  4. Query asset and request transform, e.g.:
{
  asset(id: "1") {
    ... on assets_Asset {
      url
      resized: url @transform(handle: "myTransform")
    }
  }
}
  1. Response
// Expected
{
  "data": {
    "asset": {
      "url": "https://site.com/assets/image.gif",
      "resized": "https://site.com/assets/image.gif"
    }
  }
}

// Actual
{
  "data": {
    "asset": {
      "url": "https://site.com/assets/image.gif",
      "resized": "https://site.com/assets/_myTransform/image.gif"
    }
  }
}

Additional info

  • Craft version: 3.4.27
  • PHP version: 7.1.32
  • Database driver & version: Postgres 12.1
  • Plugins & versions: N/A
bug graphql

All 2 comments

Just fixed this for the next 3.4 release.

Thanks for reporting!

Craft 3.4.29 is out now with that fix.

Was this page helpful?
0 / 5 - 0 ratings