Root cause was a missing database entry for the new setting AccessibilityStatement. The frontend now always requests it:
/api/v1/site_settings.json?names[]=Terms&names[]=PrivacyPolicy&names[]=AccessibilityStatement
On existing installations, this setting may not exist (the data migration isn’t applied automatically), which causes the endpoint to return:
null
This leads to a frontend crash with error Cannot read properties of null (reading 'data').
Workaround (Confirmed)
Manually create the missing records:
- Insert into
settings
INSERT INTO settings (id, name, created_at, updated_at) VALUES (gen_random_uuid(), 'AccessibilityStatement', NOW(), NOW());
- Insert corresponding rows into
site_settings for all providers
INSERT INTO site_settings (id, setting_id, value, provider, created_at, updated_at)
SELECT
gen_random_uuid(),
s.id,
'',
p.provider,
NOW(),
NOW()
FROM
(SELECT DISTINCT provider FROM site_settings) p
CROSS JOIN
(SELECT id FROM settings WHERE name = 'AccessibilityStatement') s
WHERE NOT EXISTS (
SELECT 1
FROM site_settings ss
WHERE ss.setting_id = s.id
AND ss.provider = p.provider
);
After this, the endpoint returns valid data and the application works correctly.
Details and full context here:
https://github.com/bigbluebutton/greenlight/issues/6259