Commit Graph

503 Commits

Author SHA1 Message Date
baf05c089c fix(orchestration): remove hardcoded external volume to fix pipeline failure 2026-02-17 16:53:57 +01:00
db2295d391 fix: restore CMS connectivity and schema
- Exposed Directus port 8055 for local health checks and scripting
- Added scripts to fix admin token and manually create missing collections
- Verified all service health checks are passing
2026-02-17 16:20:03 +01:00
c292dec4d6 fix: resolve contact page 500 and Leaflet initialization errors
- Fixed Docker service names and volume configuration
- Bootstrapped Directus and applied schema
- Updated DIRECTUS_URL to local instance in .env
- Implemented manual Leaflet lifecycle management in LeafletMap.tsx
  to prevent re-initialization error
2026-02-17 16:13:31 +01:00
df017dc165 fix(deploy): enforce project name klz-cablescom for production to persist data volume 2026-02-17 13:38:41 +01:00
1906cb6736 fix(infra): split PathPrefix into single-arg calls for Traefik v3
Traefik v3 only accepts one argument per PathPrefix. The multi-arg syntax
silently invalidated the entire public router, causing OG images, health,
sitemap and robots.txt to fall through to the auth-protected main router.
2026-02-17 02:09:54 +01:00
ec25e1df8d fix(infra): add TLS entrypoint/certresolver to deploy env generation
All Traefik routers were defaulting to entrypoints=web with tls=false,
making the app unreachable over HTTPS. Production worked because it had
these values set from a previous deploy, but testing never received them.
2026-02-17 02:06:34 +01:00
875935ef9a fix(middleware): exclude static assets from matcher to prevent 404s on images 2026-02-17 02:00:06 +01:00
b172cd320c fix(middleware): rename proxy.ts back to middleware.ts convention to fix OG image routing 2026-02-17 01:48:11 +01:00
163b356920 fix(og-image): resolve 404s, migrate middleware to proxy.ts, and fix local port conflict 2026-02-17 01:31:13 +01:00
11908cfc4e fix: pipeline 2026-02-16 23:31:24 +01:00
d360fbff6b fix: pipeline 2026-02-16 23:18:41 +01:00
c76c91928f fix: pipeline 2026-02-16 23:08:12 +01:00
a2e1cc9850 fix: pipeline 2026-02-16 22:35:39 +01:00
3d498ba46f fix: build 2026-02-16 21:32:24 +01:00
8d9a82d5e4 fix: build 2026-02-16 21:06:06 +01:00
4b41ba1c27 fix: resolve lint and build errors
- Added 'use client' to not-found.tsx
- Refactored RelatedProducts to Server Component to fix 'fs' import error
- Created RelatedProductLink for client-side analytics
- Fixed lint syntax issues in RecordModeVisuals.tsx
- Fixed rule-of-hooks violation in WebsiteVideo.tsx
2026-02-16 18:50:34 +01:00
a8b8d703c8 refactor(middleware): upgrade locale redirects from 307 to 308 for better scanner compatibility 2026-02-16 18:45:33 +01:00
24b2be2094 feat(analytics): add blog engagement, ToC tracking, and 404 monitoring
- Added BlogEngagementTracker for reading time and completion tracking
- Added ToC click tracking in blog posts
- Added global 404 error monitoring in not-found.tsx
- Completed 'Total Transparency' suite
2026-02-16 18:31:28 +01:00
58d83a7fa1 feat(analytics): implement total transparency suite and SEO metadata standardization
- Added global ScrollDepthTracker (25%, 50%, 75%, 100%)
- Implemented ProductEngagementTracker for deep product analytics
- Added field-level tracking to ContactForm and RequestQuoteForm
- Standardized SEO metadata (canonical, alternates, x-default) across all routes
- Created reusable TrackedLink and TrackedButton components for server components
- Fixed 'useAnalytics' hook error in Footer.tsx by adding 'use client'
2026-02-16 18:30:29 +01:00
c2e790e533 feat(analytics): add umami data distribution refinement script and cleanup temporary data exports 2026-02-16 18:08:58 +01:00
16597806bf fix(infra): resolve local directus service matching, improve branding script flexibility, and cleanup build artifacts 2026-02-16 18:07:56 +01:00
7a63a418f1 feat: conditionally enable recording studio and feedback tool via env vars 2026-02-15 20:59:12 +01:00
9274807427 feat(record-mode): unify mouse tool and enhance visuals 2026-02-15 18:25:52 +01:00
b32db4b277 feat: refactor clicks to generic mouse interactions with click/hover subtypes 2026-02-15 18:17:10 +01:00
d8a4ffe230 style: sharpen Studio hover previews by removing blur and diffuse shadows 2026-02-15 18:14:13 +01:00
9adbe5b9cf feat: enhance Recording Studio with reorderable events, origin options, and hover previews 2026-02-15 18:13:25 +01:00
460eeec0bb fix: industrial accuracy for record mode events via cross-window sync 2026-02-15 18:10:59 +01:00
4e762ebfdf feat: optimize event capturing and playback accuracy 2026-02-15 18:06:50 +01:00
e9ce406a31 chore: remove temporary test file contact.html 2026-02-13 01:38:37 +01:00
a1a5df8a51 fix(og): enable automatic OG image discovery and refine Traefik whitelist
- Removed manual 'images' metadata overrides.
- This allows Next.js to use built-in automatic discovery.
- Ensures metadata uses the dynamic metadataBase from the environment.
- Refined Traefik public router regex for sub-routes.
- Restored and verified imports in modified page.tsx files.
2026-02-13 01:38:26 +01:00
4147ec4cc4 fix(cms): update env schema and cms-apply script to fix email and auth issues 2026-02-13 01:13:47 +01:00
a68edcd349 fix(middleware): correctly include infrastructure routes in matcher for bypass 2026-02-13 00:24:43 +01:00
3119199a8b fix(infra): definitive fix for Traefik Host rule and Gatekeeper bypass
- Switched Traefik Host rules from backticks to double quotes for safety.
- Used printf in deploy.yml to guarantee literal writing of environment variables.
- Verified that Host rules now correctly match without shell-side side-effects.
- Maintained WOFF fonts for Satori compatibility.
2026-02-12 23:34:33 +01:00
c5d1813306 fix(og): final verified robust fix for OG images and CI
- Fixed font corruption: Replaced WOFF2/HTML stubs with valid binary WOFF (v1) fonts.
- Verified local rendering: check:og script passes on production-like build.
- Secure CI Env: Prevented backtick execution in deploy.yml using safe echo blocks.
- Guaranteed Traefik Bypass: Priority 2000 and explicit PathPrefix whitelists in docker-compose.yml.
- Middleware Bypass: Ensured OG routes are ignored by next-intl.
2026-02-12 22:32:56 +01:00
78d2faa30f fix(og): verified font and infrastructure fix
- Fixed font corruption: Replaced WOFF2/HTML stubs with valid binary WOFF fonts.
- Verified local rendering: check:og script now passes on local production build.
- Robust infrastructure: Guaranteed Traefik bypass with Host match and priority 2000.
- Middleware bypass: Ensured OG routes are never intercepted by next-intl.
2026-02-12 22:23:21 +01:00
9097e2cead fix(infra): guaranteed Traefik bypass for OG images and sitemaps
- Added explicit Host match and PathPrefixes to public router in docker-compose.yml.
- Increased priority of public router to 2000.
- Updated middleware.ts to bypass next-intl for OG images and API routes.
- Verified local rendering of OG images.
2026-02-12 22:18:21 +01:00
a19bd92df7 fix(og): robust infrastructure fix for OG image check
- Added exhaustive PathRegexp whitelists in docker-compose.yml to bypass Gatekeeper.
- Fixed TRAEFIK_HOST_RULE interpolation in deploy.yml.
- Enhanced scripts/check-og-images.ts with header and body diagnostics.
- Added server-side font loading logs in lib/og-helper.tsx.
2026-02-12 21:59:13 +01:00
350b1919f3 fix(og): diagnostic fix for CI OG image check
- Updated scripts/check-og-images.ts to log response body on failure.
- Refined Traefik public router rule in docker-compose.yml for better path matching.
- Fixed TRAEFIK_HOST_RULE assignment in deploy.yml (removed literal single quotes).
2026-02-12 21:35:45 +01:00
081e1466f2 fix(infra): whitelist OG images in Traefik to bypass Gatekeeper
Added public router labels to ensure OG images, sitemaps, and health checks
are accessible on testing/staging environments for crawlers and CI tests.
2026-02-12 21:25:04 +01:00
675819f169 fix(ci): use native fetch in OG image check script
Removed node-fetch dependency to fix ERR_MODULE_NOT_FOUND in CI.
2026-02-12 21:16:00 +01:00
700c6b29a3 fix(og): resolve font corruption and Next.js 15+ params compatibility
- Replaced corrupted HTML font files with binary WOFF2 versions.
- Updated all opengraph-image.tsx files to await params, as required by Next.js 15+.
- Improved OG image reliability by using SITE_URL for absolute image paths.
- Added scripts/check-og-images.ts for automated production verification.
- Integrated smoke_test job into deployment pipeline.
2026-02-12 19:14:14 +01:00
cba7c5abcf fix(middleware): bypass internationalization for stats and errors 2026-02-12 18:18:51 +01:00
d5dd4adfe5 fix(analytics): restore missing UMAMI_API_ENDPOINT in environment schema 2026-02-12 17:59:03 +01:00
e9cd8d1768 fix(analytics): restore Smart Proxy mechanism and remove conflicting rewrites 2026-02-12 17:33:42 +01:00
6d2279224e fix(analytics): ensure Umami Website ID is visible to client bundle 2026-02-12 17:19:01 +01:00
e800c1fbe0 feat: align analytics and error naming standards and fix Umami proxy 2026-02-12 16:55:20 +01:00
11a782a5ab fix(pipeline): conditional upstream status check (verified via git ls-remote) 2026-02-12 15:18:59 +01:00
7b3710c174 fix(pipeline): implement clean PAT-based upstream wait logic 2026-02-12 15:16:11 +01:00
37f4306367 fix(pipeline): use git ls-remote for robust upstream SHA discovery 2026-02-12 15:13:27 +01:00
b1fa47a1b8 fix(pipeline): fix sed syntax error in upstream wait patch 2026-02-12 15:07:51 +01:00