From 9f2c6d6b48f2847a72ca4b39148b2414c8b718d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20S=C3=A1nchez?= Date: Fri, 21 Aug 2026 12:37:00 -0600 Subject: [PATCH 1/2] fix[frontend](platform-broadcast): render bulk apply-to-all button as icon-only with tooltip --- .../components/PlatformBroadcastButton.tsx | 25 ++++++++++++------- frontend/src/shared/i18n/locales/de.json | 2 +- frontend/src/shared/i18n/locales/en.json | 2 +- frontend/src/shared/i18n/locales/es.json | 2 +- frontend/src/shared/i18n/locales/fr.json | 2 +- frontend/src/shared/i18n/locales/it.json | 2 +- frontend/src/shared/i18n/locales/pt.json | 2 +- frontend/src/shared/i18n/locales/ru.json | 2 +- 8 files changed, 23 insertions(+), 16 deletions(-) diff --git a/frontend/src/features/platform-broadcast/components/PlatformBroadcastButton.tsx b/frontend/src/features/platform-broadcast/components/PlatformBroadcastButton.tsx index 00e110ce8..09d5f3221 100644 --- a/frontend/src/features/platform-broadcast/components/PlatformBroadcastButton.tsx +++ b/frontend/src/features/platform-broadcast/components/PlatformBroadcastButton.tsx @@ -1,6 +1,7 @@ import { useState, type ReactNode } from 'react' import { Radio } from 'lucide-react' import { Button } from '@/shared/components/ui/button' +import { Tooltip, TooltipContent, TooltipTrigger } from '@/shared/components/ui/tooltip' import { useAuth } from '@/features/auth/services/auth.context' import { useBilling } from '@/features/billing' import { useSupportTenant } from '@/shared/lib/current-tenant' @@ -48,15 +49,21 @@ export function PlatformBroadcastButton(props: PlatformBroadcastButtonProps) { return ( <> - + + + + + {props.label} + Date: Fri, 21 Aug 2026 13:04:09 -0600 Subject: [PATCH 2/2] fix[backend](auth): default empty tenant to DefaultTenantID for non-internal callers --- backend/pkg/http/middleware/auth.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/pkg/http/middleware/auth.go b/backend/pkg/http/middleware/auth.go index 41146aca5..4ffc6e242 100644 --- a/backend/pkg/http/middleware/auth.go +++ b/backend/pkg/http/middleware/auth.go @@ -41,7 +41,13 @@ func setActor(c *gin.Context, a Actor, supportOf SupportOfFunc) bool { c.Set("support_access", a.Support) - ctx := authz.WithTenantID(c.Request.Context(), a.TenantID) + tid := a.TenantID + if tid == "" && !a.Internal { + // platform admin with no tenant selected → scope to the default + // tenant instead of "" (which downstream usecases fail-open on). + tid = authz.DefaultTenantID + } + ctx := authz.WithTenantID(c.Request.Context(), tid) if a.Internal && a.TenantID == "" { ctx = tenancy.WithAllTenantsRead(ctx)