Canva Library Import fails on CMS 4.5.2

To be completed by the original poster:

CMS Version

Xibo CMS 4.5.2

Player Type

Samsung QMC Displays

Player Version

Xibo for Tizen R417

Issue

Environment
Self-hosted Xibo CMS
Official Docker deployment / ghcr.io/xibosignage/xibo-cms:release-4.5.2
Canva Connector configured and working for publishing

Issue
Publishing from Canva to Xibo works correctly, both as a Layout and to the CMS Library.
However, opening the Import tab in the Xibo Canva app fails to load the CMS media library.

Canva displays an error indicating that the CMS Library could not be loaded.

Browser DevTools show:


POST https://canva.xibosignage.com/v2/library
HTTP 500 Internal Server Error

The Canva backend then requests the following endpoint from the CMS:


GET /api/library?type=image&length=10&start=0&media=&isReturnPublicUrls=1

This request returns HTTP 500.

With Xibo debug logging enabled, the CMS logs the following exception:


Named route does not exist for name: library.public.thumbnail

Cause found

In:


lib/Controller/Library.php

the code selects:


$thumbnailRouteName = $isReturnPublicUrls
    ? 'library.public.thumbnail'
    : 'library.thumbnail';

However, in the normal CMS routes only the named route:


library.thumbnail

is available to this router. The library.public.thumbnail route is not available there, so urlFor() throws an exception before the public thumbnail URL can be generated.

Tested workaround

Changing:


'library.public.thumbnail'

to:


'library.thumbnail'

prevents the exception.

After this change:

  • Canva → Xibo publishing still works
  • Xibo CMS Library → Canva Import works immediately
  • /api/library?...&isReturnPublicUrls=1 returns successfully instead of HTTP 500

Expected behaviour

Calling /api/library with isReturnPublicUrls=1 should return Library media with usable public thumbnail URLs without throwing a routing exception.

Additional note

This is reproducible on a fresh/recreated cms-web container using the official Xibo CMS 4.5.2 Docker image. The workaround was also verified after recreating the container.

I make this Troubleshoot and Bugreport with Help from Ai.

Thank you and have a nice day

Manfred

1 Like