Hello,
I have noticed that after upgrading to CB Gallery 4.0.0, audio items added by upload render without title or description in the album grid, while audio items added by URL render correctly.
Environment
- Joomla 5.4.5
- Community Builder 2.11.0+build.2026.01.12.21.55.56.a25ef0f6c
- CB Gallery 4.0.0 (installed 2026-04-16 as a clean package upgrade from 2.11.0)
- PHP 8.2, MySQL
- Active template: panels
The data appears to be stored correctly in #__comprofiler_plugin_gallery_items — the title and description columns both contain the values I typed in the share-media modal
It seems that in templates/panels/gallery/item.php, $title and $description are both empty for item 102 and the entire galleryItemContainerDetails div is omitted from the DOM for an uploaded audio. ItemsHelper::layoutData() appears to be returning empty title and description entries for upload-type audio items (type = audio, file column = original filename, value column = stored hashed filename) but items shared through URL, URL-type audio items (type = audio, file = URL, value = URL) work fine through the same helper.
I’ve come up with a work around by patching templates/panels/gallery/item.php locally to re-read title and description directly from $row when the helper returns empty strings
Code:
extract( $layoutData, EXTR_REFS );
if ( empty( $title ) ) { $title = (string) $row->get( 'title' ); }
if ( empty( $description ) ) { $description = (string) $row->get( 'description' ); }
This adjustment works and the title and description of the uploaded mp3 in the album now appears.
FFmpeg 8.x compatibility
Before encountering the title bug, I spent some time trying to figure out why mp3 uploads failed with a generic
"Something Went Wrong" error banner and no frontend console errors. I figured out that it may be related to an FFmpeg compatibility problem. My webhost SiteGround rolled to FFmpeg 8.1 in their container, and CB Gallery's FFmpeg shellout doesn’t seem to work well with the 8.1 syntax. Or does it?
The upload directory gets created and the index.html written, then rollback seems to occur without logging. Setting
FFMPEG Path to a non-existent path (e.g. /nonexistent/) works around it and uploads succeed but without waveform thumbnails.
Additional issue — panels template auto-plays all audio items simultaneously on album load
On the same album used above, with template "panels", all audio items render with their <audio> element live and autoplay attribute set as soon as the album loads, instead of displaying the hover-to-preview behavior the template is documented for. The result is multiple audio streams playing at the same time.
DOM inspection shows each audio item has
two .galleryMediaToggleDisplay blocks — one correctly inside <template class="galleryMediaToggleTmpl"> (inert), and a duplicate copy rendered directly into the DOM outside the template tag (live, with autoplay). The live copies all start playing immediately. The .galleryMediaToggle parent element has class galleryMediaToggleOpen rather than the expected galleryMediaHoverToggle, suggesting the template is treating all audio items as already-activated. happens on all three audio items in the album regardless of whether they were added by URL or by upload.
Thank you for your assistance.