diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 9a0fbe9a7..b92716cc5 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,6 +13,10 @@ on: required: false default: 'false' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: PUPPETEER_SKIP_DOWNLOAD: "true" COREPACK_NPM_REGISTRY: "https://registry.npmmirror.com" @@ -89,12 +93,12 @@ jobs: DOMAIN="e-tib.com" PRJ="etib" - if [[ "${{ github.ref_type }}" == "branch" && "$REF" == "main" ]]; then + if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then TARGET="testing" IMAGE_TAG="main-${SHORT_SHA}" ENV_FILE=".env.testing" TRAEFIK_HOST="test.${DOMAIN}" - elif [[ "${{ github.ref_type }}" == "tag" ]]; then + elif [[ "${{ github.ref }}" == refs/tags/* ]]; then if [[ "$REF" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then TARGET="production" IMAGE_TAG="$REF" diff --git a/.turbo/0864e4a10f76dcaf-manifest.json b/.turbo/0864e4a10f76dcaf-manifest.json deleted file mode 100644 index 76da7627c..000000000 --- a/.turbo/0864e4a10f76dcaf-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-lint.log":{"size":11972,"mtime_nanos":1779970374061729177,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]} \ No newline at end of file diff --git a/.turbo/0864e4a10f76dcaf-meta.json b/.turbo/0864e4a10f76dcaf-meta.json deleted file mode 100644 index 342e742cb..000000000 --- a/.turbo/0864e4a10f76dcaf-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"0864e4a10f76dcaf","duration":6769,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"} \ No newline at end of file diff --git a/.turbo/0864e4a10f76dcaf.tar.zst b/.turbo/0864e4a10f76dcaf.tar.zst deleted file mode 100644 index aa4325654..000000000 Binary files a/.turbo/0864e4a10f76dcaf.tar.zst and /dev/null differ diff --git a/.turbo/41698960411f6bf6-manifest.json b/.turbo/41698960411f6bf6-manifest.json deleted file mode 100644 index cd531fd8f..000000000 --- a/.turbo/41698960411f6bf6-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-test.log":{"size":2776,"mtime_nanos":1781469605328811961,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]} \ No newline at end of file diff --git a/.turbo/41698960411f6bf6-meta.json b/.turbo/41698960411f6bf6-meta.json deleted file mode 100644 index 15163ed00..000000000 --- a/.turbo/41698960411f6bf6-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"41698960411f6bf6","duration":4168,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"} \ No newline at end of file diff --git a/.turbo/41698960411f6bf6.tar.zst b/.turbo/41698960411f6bf6.tar.zst deleted file mode 100644 index 692324646..000000000 Binary files a/.turbo/41698960411f6bf6.tar.zst and /dev/null differ diff --git a/.turbo/7668a73054ba889d-manifest.json b/.turbo/7668a73054ba889d-manifest.json deleted file mode 100644 index f262f87b1..000000000 --- a/.turbo/7668a73054ba889d-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-typecheck.log":{"size":85,"mtime_nanos":1779970373499305257,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]} \ No newline at end of file diff --git a/.turbo/7668a73054ba889d-meta.json b/.turbo/7668a73054ba889d-meta.json deleted file mode 100644 index 8576f107c..000000000 --- a/.turbo/7668a73054ba889d-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"7668a73054ba889d","duration":6206,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"} \ No newline at end of file diff --git a/.turbo/7668a73054ba889d.tar.zst b/.turbo/7668a73054ba889d.tar.zst deleted file mode 100644 index a571156d1..000000000 Binary files a/.turbo/7668a73054ba889d.tar.zst and /dev/null differ diff --git a/.turbo/7d27d7d8e3c30797-manifest.json b/.turbo/7d27d7d8e3c30797-manifest.json deleted file mode 100644 index 58fff3843..000000000 --- a/.turbo/7d27d7d8e3c30797-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-typecheck.log":{"size":90,"mtime_nanos":1781782738306875884,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]} \ No newline at end of file diff --git a/.turbo/7d27d7d8e3c30797-meta.json b/.turbo/7d27d7d8e3c30797-meta.json deleted file mode 100644 index 549d8d515..000000000 --- a/.turbo/7d27d7d8e3c30797-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"7d27d7d8e3c30797","duration":14130,"sha":"d6eb1c0e7fe99bc7006a396c8eea0228c4723b31","dirty_hash":"b247ccedfcf352a6efb73993a3482b827d5b44922d26bf137f251d0d69a200b6"} \ No newline at end of file diff --git a/.turbo/7d27d7d8e3c30797.tar.zst b/.turbo/7d27d7d8e3c30797.tar.zst deleted file mode 100644 index 1bef99f1c..000000000 Binary files a/.turbo/7d27d7d8e3c30797.tar.zst and /dev/null differ diff --git a/.turbo/9c3fa4d9e1993aff-manifest.json b/.turbo/9c3fa4d9e1993aff-manifest.json deleted file mode 100644 index 2432103f3..000000000 --- a/.turbo/9c3fa4d9e1993aff-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-test.log":{"size":2150,"mtime_nanos":1779970370282819916,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]} \ No newline at end of file diff --git a/.turbo/9c3fa4d9e1993aff-meta.json b/.turbo/9c3fa4d9e1993aff-meta.json deleted file mode 100644 index c09fff1ae..000000000 --- a/.turbo/9c3fa4d9e1993aff-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"9c3fa4d9e1993aff","duration":2989,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"} \ No newline at end of file diff --git a/.turbo/9c3fa4d9e1993aff.tar.zst b/.turbo/9c3fa4d9e1993aff.tar.zst deleted file mode 100644 index 57f040a78..000000000 Binary files a/.turbo/9c3fa4d9e1993aff.tar.zst and /dev/null differ diff --git a/.turbo/bb46018d4a7bc516-manifest.json b/.turbo/bb46018d4a7bc516-manifest.json deleted file mode 100644 index a7dc13636..000000000 --- a/.turbo/bb46018d4a7bc516-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-lint.log":{"size":12987,"mtime_nanos":1781469609469080321,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]} \ No newline at end of file diff --git a/.turbo/bb46018d4a7bc516-meta.json b/.turbo/bb46018d4a7bc516-meta.json deleted file mode 100644 index 4c9f3cc20..000000000 --- a/.turbo/bb46018d4a7bc516-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"bb46018d4a7bc516","duration":8307,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"} \ No newline at end of file diff --git a/.turbo/bb46018d4a7bc516.tar.zst b/.turbo/bb46018d4a7bc516.tar.zst deleted file mode 100644 index c26176bdb..000000000 Binary files a/.turbo/bb46018d4a7bc516.tar.zst and /dev/null differ diff --git a/.turbo/c3b4dbd60e2d475a-manifest.json b/.turbo/c3b4dbd60e2d475a-manifest.json deleted file mode 100644 index f0f3d0883..000000000 --- a/.turbo/c3b4dbd60e2d475a-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-lint.log":{"size":15001,"mtime_nanos":1781782739446599688,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]} \ No newline at end of file diff --git a/.turbo/c3b4dbd60e2d475a-meta.json b/.turbo/c3b4dbd60e2d475a-meta.json deleted file mode 100644 index 54769e5cc..000000000 --- a/.turbo/c3b4dbd60e2d475a-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"c3b4dbd60e2d475a","duration":15270,"sha":"d6eb1c0e7fe99bc7006a396c8eea0228c4723b31","dirty_hash":"b247ccedfcf352a6efb73993a3482b827d5b44922d26bf137f251d0d69a200b6"} \ No newline at end of file diff --git a/.turbo/c3b4dbd60e2d475a.tar.zst b/.turbo/c3b4dbd60e2d475a.tar.zst deleted file mode 100644 index cbb4f2e9d..000000000 Binary files a/.turbo/c3b4dbd60e2d475a.tar.zst and /dev/null differ diff --git a/.turbo/cache/32905076da5f4894-manifest.json b/.turbo/cache/32905076da5f4894-manifest.json deleted file mode 100644 index 3703b6b01..000000000 --- a/.turbo/cache/32905076da5f4894-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-typecheck.log":{"size":92,"mtime_nanos":1779097674383861303,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]} \ No newline at end of file diff --git a/.turbo/cache/32905076da5f4894-meta.json b/.turbo/cache/32905076da5f4894-meta.json deleted file mode 100644 index bf85dee73..000000000 --- a/.turbo/cache/32905076da5f4894-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"32905076da5f4894","duration":4492,"sha":"35d9650626b56a727e9c1981308145cb7b2f28aa","dirty_hash":"58f8ebc92a0452cbb0a09c5ebe800385fcc42ff82fee098bb7d6c8828bc526f0"} \ No newline at end of file diff --git a/.turbo/cache/32905076da5f4894.tar.zst b/.turbo/cache/32905076da5f4894.tar.zst deleted file mode 100644 index 3a9258793..000000000 Binary files a/.turbo/cache/32905076da5f4894.tar.zst and /dev/null differ diff --git a/.turbo/cache/7e2629942c881f80-manifest.json b/.turbo/cache/7e2629942c881f80-manifest.json deleted file mode 100644 index 75459a08c..000000000 --- a/.turbo/cache/7e2629942c881f80-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-test.log":{"size":818,"mtime_nanos":1779097671747078359,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]} \ No newline at end of file diff --git a/.turbo/cache/7e2629942c881f80-meta.json b/.turbo/cache/7e2629942c881f80-meta.json deleted file mode 100644 index 17ed2a5bf..000000000 --- a/.turbo/cache/7e2629942c881f80-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"7e2629942c881f80","duration":1855,"sha":"35d9650626b56a727e9c1981308145cb7b2f28aa","dirty_hash":"58f8ebc92a0452cbb0a09c5ebe800385fcc42ff82fee098bb7d6c8828bc526f0"} \ No newline at end of file diff --git a/.turbo/cache/7e2629942c881f80.tar.zst b/.turbo/cache/7e2629942c881f80.tar.zst deleted file mode 100644 index 3313d9a66..000000000 Binary files a/.turbo/cache/7e2629942c881f80.tar.zst and /dev/null differ diff --git a/.turbo/cache/85340b254e0f10f1-manifest.json b/.turbo/cache/85340b254e0f10f1-manifest.json deleted file mode 100644 index cd5032ee3..000000000 --- a/.turbo/cache/85340b254e0f10f1-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-lint.log":{"size":10746,"mtime_nanos":1779097675143794164,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]} \ No newline at end of file diff --git a/.turbo/cache/85340b254e0f10f1-meta.json b/.turbo/cache/85340b254e0f10f1-meta.json deleted file mode 100644 index 2fe160e7f..000000000 --- a/.turbo/cache/85340b254e0f10f1-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"85340b254e0f10f1","duration":5252,"sha":"35d9650626b56a727e9c1981308145cb7b2f28aa","dirty_hash":"58f8ebc92a0452cbb0a09c5ebe800385fcc42ff82fee098bb7d6c8828bc526f0"} \ No newline at end of file diff --git a/.turbo/cache/85340b254e0f10f1.tar.zst b/.turbo/cache/85340b254e0f10f1.tar.zst deleted file mode 100644 index f3a5987ce..000000000 Binary files a/.turbo/cache/85340b254e0f10f1.tar.zst and /dev/null differ diff --git a/.turbo/ea9126c55a797120-manifest.json b/.turbo/ea9126c55a797120-manifest.json deleted file mode 100644 index 19143e052..000000000 --- a/.turbo/ea9126c55a797120-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-test.log":{"size":3396,"mtime_nanos":1781782731048784172,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]} \ No newline at end of file diff --git a/.turbo/ea9126c55a797120-meta.json b/.turbo/ea9126c55a797120-meta.json deleted file mode 100644 index 24e94b94b..000000000 --- a/.turbo/ea9126c55a797120-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"ea9126c55a797120","duration":6873,"sha":"d6eb1c0e7fe99bc7006a396c8eea0228c4723b31","dirty_hash":"b247ccedfcf352a6efb73993a3482b827d5b44922d26bf137f251d0d69a200b6"} \ No newline at end of file diff --git a/.turbo/ea9126c55a797120.tar.zst b/.turbo/ea9126c55a797120.tar.zst deleted file mode 100644 index 14763314f..000000000 Binary files a/.turbo/ea9126c55a797120.tar.zst and /dev/null differ diff --git a/.turbo/eb4eeeb717c1af0c-manifest.json b/.turbo/eb4eeeb717c1af0c-manifest.json deleted file mode 100644 index 5872ad5a5..000000000 --- a/.turbo/eb4eeeb717c1af0c-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".turbo/turbo-typecheck.log":{"size":85,"mtime_nanos":1781469608726900998,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]} \ No newline at end of file diff --git a/.turbo/eb4eeeb717c1af0c-meta.json b/.turbo/eb4eeeb717c1af0c-meta.json deleted file mode 100644 index 2a6ccbca5..000000000 --- a/.turbo/eb4eeeb717c1af0c-meta.json +++ /dev/null @@ -1 +0,0 @@ -{"hash":"eb4eeeb717c1af0c","duration":7565,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"} \ No newline at end of file diff --git a/.turbo/eb4eeeb717c1af0c.tar.zst b/.turbo/eb4eeeb717c1af0c.tar.zst deleted file mode 100644 index a571156d1..000000000 Binary files a/.turbo/eb4eeeb717c1af0c.tar.zst and /dev/null differ diff --git a/.turbo/turbo-lint.log b/.turbo/turbo-lint.log deleted file mode 100644 index 6827dd511..000000000 --- a/.turbo/turbo-lint.log +++ /dev/null @@ -1,5 +0,0 @@ - -> e-tib-nextjs@2.2.12 lint /Volumes/Alpha SSD/Coding/e-tib.com -> eslint . - - ELIFECYCLE  Command failed. diff --git a/.turbo/turbo-test.log b/.turbo/turbo-test.log deleted file mode 100644 index 4d8a6498e..000000000 --- a/.turbo/turbo-test.log +++ /dev/null @@ -1,55 +0,0 @@ - -> e-tib-nextjs@2.2.12 test /Volumes/Alpha SSD/Coding/e-tib.com -> vitest run --passWithNoTests - - - RUN  v4.1.2 /Volumes/Alpha SSD/Coding/e-tib.com - -(node:64961) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead. -(Use `node --trace-deprecation ...` to show where the warning was created) - ✓ tests/mdx-links.test.ts (1 test) 29ms - ✓ tests/homepage-and-competence-content.test.ts (4 tests) 14ms - ❯ tests/legal-pages.test.ts (2 tests | 1 failed) 9ms - ✓ should contain highly professional B2B sections in German AGB 5ms - × should contain professional corresponding B2B sections in English Terms 2ms - ✓ tests/task-12-links.test.ts (2 tests) 8ms - ✓ tests/messen-content.test.ts (2 tests) 8ms - ✓ lib/mail/mailer.test.ts (1 test) 7ms -stderr | components/layout/LanguageSwitcher.test.tsx > LanguageSwitcher TDD > translates /en/trade-fairs to /de/messen when switching to German -React does not recognize the `transitionMessage` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `transitionmessage` instead. If you accidentally passed it from a parent component, remove it from the DOM element. - - ✓ components/layout/LanguageSwitcher.test.tsx (5 tests) 25ms - ✓ components/search/AISearchResults.test.tsx (1 test) 52ms -stderr | components/blocks/ReferencesSlider.test.tsx > ReferencesSlider TDD > renders reference tiles correctly -Received `true` for a non-boolean attribute `fill`. - -If you want to write it to the DOM, pass a string instead: fill="true" or fill={value.toString()}. - - ✓ components/blocks/ReferencesSlider.test.tsx (2 tests) 43ms - ✓ lib/env.test.ts (6 tests) 4ms -stdout | app/[locale]/referenzen/[slug]/page.test.tsx -[Config] Initializing Toggles: { feedbackEnabled: false } - - ✓ app/[locale]/referenzen/[slug]/page.test.tsx (1 test) 26ms - -⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ - - FAIL  tests/legal-pages.test.ts > Legal Pages Content Validation > should contain professional corresponding B2B sections in English Terms -Error: ENOENT: no such file or directory, open '/Volumes/Alpha SSD/Coding/e-tib.com/content/en/terms.mdx' - ❯ tests/legal-pages.test.ts:25:24 -  23| -  24| it('should contain professional corresponding B2B sections in Englis… -  25| const content = fs.readFileSync(enTermsPath, 'utf8'); -  | ^ -  26| -  27| expect(content).toContain('title: "Terms and Conditions"'); - -⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ - - - Test Files  1 failed | 10 passed (11) - Tests  1 failed | 26 passed (27) - Start at  14:54:33 - Duration  5.94s (transform 5.27s, setup 0ms, import 9.43s, tests 222ms, environment 13.80s) - - ELIFECYCLE  Test failed. See above for more details. diff --git a/.turbo/turbo-typecheck.log b/.turbo/turbo-typecheck.log deleted file mode 100644 index 1ecc4f200..000000000 --- a/.turbo/turbo-typecheck.log +++ /dev/null @@ -1,5 +0,0 @@ - -> e-tib-nextjs@2.2.12 typecheck /Volumes/Alpha SSD/Coding/e-tib.com -> tsc --noEmit - - ELIFECYCLE  Command failed. diff --git a/Dockerfile b/Dockerfile index bec952c36..864d14446 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ ENV SKIP_RUNTIME_ENV_VALIDATION=true ENV CI=true # Copy lockfile and manifest for dependency installation caching -COPY pnpm-lock.yaml package.json .npmrc* ./ +COPY pnpm-lock.yaml package.json .npmrc* *.tgz ./ COPY patches* ./patches/ ARG NPM_DOMAIN=git.infra.mintel.me diff --git a/app/[locale]/errors/api/relay/route.ts b/app/[locale]/errors/api/relay/route.ts new file mode 100644 index 000000000..cbeedc0e5 --- /dev/null +++ b/app/[locale]/errors/api/relay/route.ts @@ -0,0 +1,13 @@ +import { NextResponse } from 'next/server'; + +export async function POST(req: Request) { + try { + const rawText = await req.text(); + // Sentry sends NDJSON (Newline Delimited JSON). Split by newline to parse safely. + const items = rawText.split('\n').filter(Boolean).map(line => JSON.parse(line)); + console.log("CLIENT ERROR INTERCEPTED:", JSON.stringify(items[0], null, 2)); + } catch (e) { + console.log("Failed to parse relay body (NDJSON)", e); + } + return NextResponse.json({ success: true }); +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 1b2fed681..82a9ea88f 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -10,6 +10,7 @@ import { getMessages } from 'next-intl/server'; import '../../styles/globals.css'; import { SITE_URL } from '@/lib/schema'; import FeedbackClientWrapper from '@/components/FeedbackClientWrapper'; +import AnnotatorClientWrapper from '@/components/AnnotatorClientWrapper'; import { setRequestLocale } from 'next-intl/server'; import { Inter } from 'next/font/google'; import { mapFileSlugToTranslated } from '@/lib/slugs'; @@ -37,7 +38,7 @@ export async function generateMetadata(props: { template: '%s | E-TIB', default: 'E-TIB | Die Experten für Kabelnetzbau', }, - description: 'Ihr Partner für Kabelleitungstiefbau, Horizontalspülbohrungen, Planung und Vermessung in Guben und überregional.', + description: 'Ihr Partner für Kabelleitungsnetzbau, Horizontalspülbohrungen, Planung und Vermessung in Guben und überregional.', metadataBase: new URL(baseUrl), manifest: '/manifest.webmanifest', alternates: { @@ -214,6 +215,7 @@ export default async function Layout(props: {