Segmentlist preference page + builder -> js error?

Your software
My Mautic version is: 4.0
My PHP version is: 7.4
My Database type and version is: tidb

Your problem

I was trying to use categorylist in the preferences. This works in the sense the preference page rendered them, but i then discovered Assign a category does not work with API contact create · Issue #10217 · mautic/mautic · GitHub that you cannot assign contacts categories. So i reverted to segments.

I switched the builder from {categorylist} to {segmentlist}

interestingly, the ‘preview’ works, but for the non-logged in user on the preference page, it does not render.

Uncaught ReferenceError: Mautic is not defined
    at Object.parcelRequire.RfSX../asset.service (builder.js:98)

in turn from:

Mautic.launchBuilder = launchBuilderGrapesjs;
Mautic.initSelectTheme = initSelectThemeGrapesjs(Mautic.initSelectTheme);
Mautic.setThemeHtml = setThemeHtml;

the first line here.

I’m not sure what i should try differently. All i did was change {categorylist} to {segmentlist} in the grapesjs builder landing page. A different field e.g. {leadidentifier}, {saveprefsbutton} works. Its just {segmentlist} that bails out.

Comments?

I’ll answer my own post for posterity

the lander preferences page must have a subset of the globally enabled preferences in configuration.

Here i still had configuration/email settings/preferences to show categories but not segments. Even tho i had a custom prefernces page, the lack of ‘segments’ on that setting causes the javascript to fail.