From fbbce6b7c0cf7cbb654effac201a588f028153c3 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Thu, 21 May 2026 17:52:28 +0100 Subject: [PATCH] fix: ci fixes, tenant router debug, select width improvement --- .github/workflows/deploy-embeds.yml | 3 +++ .github/workflows/upload-openapi-spec.yml | 3 +++ apps/dashboard/src/lib/utils/services/sentry/index.ts | 3 +-- apps/tenant-router/src/index.ts | 10 +++++++++- packages/ui/src/base/select/select-trigger.svelte | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-embeds.yml b/.github/workflows/deploy-embeds.yml index 67ff0b33..18e55466 100644 --- a/.github/workflows/deploy-embeds.yml +++ b/.github/workflows/deploy-embeds.yml @@ -48,6 +48,9 @@ jobs: - name: Install dependencies run: pnpm i + - name: Build @cio/embeds workspace dependencies + run: pnpm turbo run build --filter=@cio/embeds^... + - name: Build and upload embeds to R2 if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' run: pnpm --filter @cio/embeds run embeds:publish diff --git a/.github/workflows/upload-openapi-spec.yml b/.github/workflows/upload-openapi-spec.yml index 79d846dc..496c1dba 100644 --- a/.github/workflows/upload-openapi-spec.yml +++ b/.github/workflows/upload-openapi-spec.yml @@ -48,6 +48,9 @@ jobs: - name: Install dependencies run: pnpm i + - name: Build @cio/api workspace dependencies + run: pnpm turbo run build --filter=@cio/api^... + - name: Upload to Cloudflare R2 if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' run: | diff --git a/apps/dashboard/src/lib/utils/services/sentry/index.ts b/apps/dashboard/src/lib/utils/services/sentry/index.ts index 254df47b..88f22bbf 100644 --- a/apps/dashboard/src/lib/utils/services/sentry/index.ts +++ b/apps/dashboard/src/lib/utils/services/sentry/index.ts @@ -2,8 +2,7 @@ import * as Sentry from '@sentry/sveltekit'; import { dev } from '$app/environment'; import { env } from '$env/dynamic/public'; -const isEnabled = () => - Boolean(env.PUBLIC_SENTRY_DSN?.trim()) && !dev && env.PUBLIC_IS_SELFHOSTED !== 'true'; +const isEnabled = () => Boolean(env.PUBLIC_SENTRY_DSN?.trim()) && !dev && env.PUBLIC_IS_SELFHOSTED !== 'true'; export type SentryUser = { id: string; diff --git a/apps/tenant-router/src/index.ts b/apps/tenant-router/src/index.ts index 0692255b..132e8d75 100644 --- a/apps/tenant-router/src/index.ts +++ b/apps/tenant-router/src/index.ts @@ -75,11 +75,19 @@ export default { upstreamHeaders.set('x-forwarded-for', clientIp); } - return fetch(upstreamUrl.toString(), { + const upstreamResponse = await fetch(upstreamUrl.toString(), { method: request.method, headers: upstreamHeaders, body: request.body, redirect: 'manual' }); + + if (isProxiedApiCall) { + console.log( + `[proxy] ${request.method} ${url.pathname} → ${upstreamHost}${upstreamPath} status=${upstreamResponse.status} ct=${request.headers.get('content-type') ?? ''}` + ); + } + + return upstreamResponse; } } satisfies ExportedHandler; diff --git a/packages/ui/src/base/select/select-trigger.svelte b/packages/ui/src/base/select/select-trigger.svelte index eb63dc3d..7f877472 100644 --- a/packages/ui/src/base/select/select-trigger.svelte +++ b/packages/ui/src/base/select/select-trigger.svelte @@ -19,7 +19,7 @@ data-slot="select-trigger" data-size={size} class={cn( - "ui:border-input ui:data-placeholder:text-muted-foreground ui:[&_svg:not([class*='text-'])]:text-muted-foreground ui:focus-visible:border-ring ui:focus-visible:ring-ring/50 ui:aria-invalid:ring-destructive/20 ui:dark:aria-invalid:ring-destructive/40 ui:aria-invalid:border-destructive ui:dark:bg-input/30 ui:dark:hover:bg-input/50 ui:shadow-xs ui:flex ui:w-fit ui:max-w-full ui:min-w-0 ui:select-none ui:items-center ui:justify-between ui:gap-2 ui:whitespace-nowrap ui:rounded-md ui:border ui:bg-transparent ui:px-3 ui:py-2 ui:text-sm ui:outline-none ui:transition-[color,box-shadow] ui:focus-visible:ring-[3px] ui:data-disabled:cursor-not-allowed ui:data-disabled:opacity-50 ui:data-[size=default]:h-9 ui:data-[size=sm]:h-8 ui:**:data-[slot=select-value]:line-clamp-1 ui:**:data-[slot=select-value]:flex ui:**:data-[slot=select-value]:items-center ui:**:data-[slot=select-value]:gap-2 ui:[&_svg:not([class*='size-'])]:size-4 ui:[&_svg]:pointer-events-none ui:[&_svg]:shrink-0", + "ui:border-input ui:data-placeholder:text-muted-foreground ui:[&_svg:not([class*='text-'])]:text-muted-foreground ui:focus-visible:border-ring ui:focus-visible:ring-ring/50 ui:aria-invalid:ring-destructive/20 ui:dark:aria-invalid:ring-destructive/40 ui:aria-invalid:border-destructive ui:dark:bg-input/30 ui:dark:hover:bg-input/50 ui:shadow-xs ui:flex ui:w-fit ui:max-w-xs ui:min-w-0 ui:select-none ui:items-center ui:justify-between ui:gap-2 ui:whitespace-nowrap ui:rounded-md ui:border ui:bg-transparent ui:px-3 ui:py-2 ui:text-sm ui:outline-none ui:transition-[color,box-shadow] ui:focus-visible:ring-[3px] ui:data-disabled:cursor-not-allowed ui:data-disabled:opacity-50 ui:data-[size=default]:h-9 ui:data-[size=sm]:h-8 ui:**:data-[slot=select-value]:line-clamp-1 ui:**:data-[slot=select-value]:flex ui:**:data-[slot=select-value]:items-center ui:**:data-[slot=select-value]:gap-2 ui:[&_svg:not([class*='size-'])]:size-4 ui:[&_svg]:pointer-events-none ui:[&_svg]:shrink-0", className )} {...restProps}