Xibo Docker CMS: Image widgets inserted as "global" widgets and Layout Designer crashes until page reload

Hello,

I have a reproducible issue with the Xibo layout designer in Docker deployments.

Environment:

  • Xibo CMS 4.3.1 and also tested with 4.2.3

  • Docker Compose installation

  • Ubuntu Server

  • Apache reverse proxy with SSL

  • Browser tested:

    • Edge

    • Chrome

    • InPrivate mode

    • cache cleared

Problem:
When inserting an image widget into a layout, the designer immediately throws JavaScript errors and the inserted element is not visible until the page is reloaded manually with F5.

After reloading:

  • the image is correctly present

  • the widget exists

  • editing works

So persistence/storage works, but the live designer state breaks.

JavaScript error:

Uncaught TypeError: Cannot read properties of undefined
at lD.selectObject (...)

Originally the database created widgets with:

type='global'

instead of:

type='image'

Example:

SELECT widgetId, type, playlistId
FROM widget;

returned:

8  global
9  global
11 global

while lkwidgetmedia correctly referenced image media.

I manually repaired them with:

UPDATE widget w
JOIN lkwidgetmedia lwm ON lwm.widgetId=w.widgetId
SET w.type='image'
WHERE w.type='global';

After this:

  • existing broken image widgets worked correctly

  • BUT newly inserted images still fail in the live designer

Additional findings:

  • /playlist/widget/resource/... preview works correctly

  • uploads work

  • media table entries are valid

  • image widgets are eventually stored correctly after reload

  • issue persists across versions 4.3.1 and 4.2.3

  • issue persists with fresh database and fresh install

  • issue persists across browsers

Apache reverse proxy:

ProxyPass / http://127.0.0.1:8089/
ProxyPassReverse / http://127.0.0.1:8089/
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}

Question:
Has anyone seen image widgets being temporarily created as global widgets in the designer or the designer failing in selectObject() after PUT /playlist/widget/.../elements?

Thank you.

Hi Wolfgang, regarding this case, I highly suggest trying it on 4.4.3 and testing it on our trial CMS. If everything goes well, it should certainly go smoothly on your self-hosted instance.