Web Messaging SDK config JSON not applying launcher position or theme colors

Trying to pin the Web Messaging launcher to the bottom-left and override the default blue theme with our brand hex codes. The documentation says passing a config object to the init call should handle this, but the widget is ignoring the overrides completely.

Here is the initialization block sitting in our main layout partial:

window.cxoneWebMessaging = {
 appId: '8f3a2b1c-4d5e-6f7g-8h9i-0j1k2l3m4n5o',
 config: {
 launcher: {
 position: 'bottom-left',
 offsetX: 20,
 offsetY: 20
 },
 theme: {
 primaryColor: '#2C3E50',
 secondaryColor: '#ECF0F1',
 bubbleColor: '#2C3E50'
 }
 }
};

// Standard SDK load
const script = document.createElement('script');
script.src = 'https://cdn.cxone.com/web-messaging/v1/sdk.js';
script.async = true;
document.body.appendChild(script);

The widget renders in the standard bottom-right spot. The colors remain the default NICE blue. I’ve cleared the browser cache, tried hard refreshing, and even disabled all ad blockers. No console errors appear. The network tab shows the sdk.js file loading successfully with a 200 OK status.

I tried moving the config object into the window.cxoneWebMessaging.config property directly after the script loads, like this:

window.cxoneWebMessaging.config = {
 launcher: { position: 'bottom-left' },
 theme: { primaryColor: '#2C3E50' }
};

Still nothing. The launcher stays put. I’ve checked the JSON schema in the docs and the keys look correct. Is there a timing issue where the SDK initializes before it reads the config object? Or am I missing a specific method call to apply these settings?

Also, I noticed the offsetX and offsetY properties don’t seem to be documented in the latest release notes. Are those still valid or did they get deprecated in the v1.2 update? Need to get this fixed before the sprint review tomorrow.