fix: the n8n chat and the CleverPush service worker are served again

The ep-reisen footer loads the chat widget from /chat.bundle.es.js and
/chat.styles.css (@n8n/chat 0.65.0), and browsers subscribed to push
notifications update their service worker from /cleverpush-worker.js
(manifest: /cleverpush-manifest.json). These files were in the TYPO3 10
docroot but not in this repository, so since the switch to TYPO3 13 all
four returned 404: no chat button, and push subscriptions could no longer
update their worker.

public/* is ignored except for listed files, so they are added as
exceptions; a service worker has to be served from the root to control
the whole site.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
frommeandClaude Opus 5.5 committed 2026-10-25 18:18:00 +01:00
1 parent c7f6a6ec44
commit 73fe876c78
5 files changed
+30283

No files matched your search

+5
View File
@@ -6,5 +6,10 @@ nbproject
/vendor
/public/*
!/public/.htaccess
# Third-party files that have to be served from the site root
!/public/chat.bundle.es.js
!/public/chat.styles.css
!/public/cleverpush-manifest.json
!/public/cleverpush-worker.js
/node_modules
/packages/ep_theme/Resources/Public/
File diff suppressed because it is too large. Load diff
+43
View File
@@ -0,0 +1,43 @@
/*! Package version @n8n/[email protected] */
:root{--chat--color--primary:#e74266;--chat--color--primary-shade-50:#db4061;--chat--color--primary--shade-100:#cf3c5c;--chat--color--secondary:#20b69e;--chat--color-secondary-shade-50:#1ca08a;--chat--color-white:#fff;--chat--color-light:#f2f4f8;--chat--color-light-shade-50:#e6e9f1;--chat--color-light-shade-100:#c2c5cc;--chat--color-medium:#d2d4d9;--chat--color-dark:#101330;--chat--color-disabled:#d2d4d9;--chat--color-typing:#404040;--chat--spacing:1rem;--chat--border-radius:.25rem;--chat--transition-duration:.15s;--chat--font-family:( -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif );--chat--window--width:400px;--chat--window--height:600px;--chat--window--bottom:var(--chat--spacing);--chat--window--right:var(--chat--spacing);--chat--window--z-index:9999;--chat--window--border:1px solid var(--chat--color-light-shade-50);--chat--window--border-radius:var(--chat--border-radius);--chat--window--margin-bottom:var(--chat--spacing);--chat--header-height:auto;--chat--header--padding:var(--chat--spacing);--chat--header--background:var(--chat--color-dark);--chat--header--color:var(--chat--color-light);--chat--header--border-top:none;--chat--header--border-bottom:none;--chat--header--border-left:none;--chat--header--border-right:none;--chat--heading--font-size:2em;--chat--subtitle--font-size:inherit;--chat--subtitle--line-height:1.8;--chat--message--font-size:1rem;--chat--message--padding:var(--chat--spacing);--chat--message--border-radius:var(--chat--border-radius);--chat--message-line-height:1.5;--chat--message--margin-bottom:calc(var(--chat--spacing)*1);--chat--message--bot--background:var(--chat--color-white);--chat--message--bot--color:var(--chat--color-dark);--chat--message--bot--border:none;--chat--message--user--background:var(--chat--color--secondary);--chat--message--user--color:var(--chat--color-white);--chat--message--user--border:none;--chat--message--pre--background:#0000000d;--chat--messages-list--padding:var(--chat--spacing);--chat--toggle--size:64px;--chat--toggle--width:var(--chat--toggle--size);--chat--toggle--height:var(--chat--toggle--size);--chat--toggle--border-radius:50%;--chat--toggle--background:var(--chat--color--primary);--chat--toggle--hover--background:var(--chat--color--primary-shade-50);--chat--toggle--active--background:var(--chat--color--primary--shade-100);--chat--toggle--color:var(--chat--color-white);--chat--textarea--height:50px;--chat--textarea--max-height:30rem;--chat--input--font-size:inherit;--chat--input--border:0;--chat--input--border-radius:0;--chat--input--padding:.8rem;--chat--input--background:var(--chat--color-white);--chat--input--text-color:initial;--chat--input--line-height:1.5;--chat--input--placeholder--font-size:var(--chat--input--font-size);--chat--input--border-active:0;--chat--input--left--panel--width:2rem;--chat--button--color:var(--chat--color-light);--chat--button--background:var(--chat--color--primary);--chat--button--padding:calc(var(--chat--spacing)*1/2)var(--chat--spacing);--chat--button--border-radius:var(--chat--border-radius);--chat--button--hover--color:var(--chat--color-light);--chat--button--hover--background:var(--chat--color--primary-shade-50);--chat--close--button--color-hover:var(--chat--color--primary);--chat--input--send--button--background:var(--chat--color-white);--chat--input--send--button--color:var(--chat--color--secondary);--chat--input--send--button--background-hover:var(--chat--color--primary-shade-50);--chat--input--send--button--color-hover:var(--chat--color-secondary-shade-50);--chat--input--file--button--background:var(--chat--color-white);--chat--input--file--button--color:var(--chat--color--secondary);--chat--input--file--button--background-hover:var(--chat--input--file--button--background);--chat--input--file--button--color-hover:var(--chat--color-secondary-shade-50);--chat--files-spacing:.25rem;--chat--body--background:var(--chat--color-light);--chat--footer--background:var(--chat--color-light);--chat--footer--color:var(--chat--color-dark)}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-wLine truncated
/*$vite$:1*/
:root {
/* EP Reisen Brand Colors */
--chat--color--primary: #18527b;
--chat--color--primary-shade-50: #1a8dc4;
--chat--color--primary--shade-100: #177db0;
--chat--color--secondary: #be167d;
--chat--color-secondary-shade-50: #ab1471;
/* Layout & Spacing */
--chat--border-radius: 12px;
--chat--font-size: 0.9rem;
--chat--spacing: 1rem;
--chat--window--width: 420px;
--chat--window--height: 650px;
/* Header Styling */
--chat--header--background: #1d9dd9;
--chat--header--color: #ffffff;
--chat--heading--font-size: 1.5em;
--chat--header--padding: 1.2rem;
/* Message Bubbles */
--chat--message--font-size: 0.95rem;
--chat--message--border-radius: 12px;
--chat--message--bot--background: #f5f5f5;
--chat--message--bot--color: #333333;
--chat--message--user--background: #be167d;
--chat--message--user--color: #ffffff;
/* Toggle Button */
--chat--toggle--background: #1d9dd9;
--chat--toggle--hover--background: #1a8dc4;
--chat--toggle--active--background: #177db0;
--chat--toggle--color: #ffffff;
--chat--toggle--size: 60px;
/* Input Field */
--chat--textarea--height: 55px;
}
+1
View File
@@ -0,0 +1 @@
{"name":"E&P Skireisen","short_name":"E&P Skireisen","start_url":"/","display":"standalone","gcm_sender_id":"890396972010","gcm_user_visible_only":true}
+1
View File
@@ -0,0 +1 @@
importScripts('https://static.cleverpush.com/channel/worker/MrDvZ9L2bngnLfnq9.js' + self.location.search);