(() => { function getTimezone() { return Intl.DateTimeFormat().resolvedOptions().timeZone; } if (!window.originalWebSocket) { window.originalWebSocket = htmx.createWebSocket htmx.createWebSocket = function(url) { url = new URL(url, window.location.href).href url = url.replace(/^http/, 'ws'); let modifiedUrl = url + "?timezone=" + getTimezone() return window.originalWebSocket(modifiedUrl) } } document.body.addEventListener( "htmx:configRequest", function(evt) { //console.log("Adding timezone to htmx request headers and making URL absolute"); evt.detail.headers["X-Timezone"] = getTimezone(); } ); })()