From a3e78a36778e98634e6ad37ebdbef494aeb6b1bc Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:18:52 +0200 Subject: [PATCH] fix(authorization): gate mutable Livewire controls by policy Disable unauthorized listbox inputs and hide application deploy actions, with updated disabled styling and coverage. --- resources/css/app.css | 8 +- .../components/database-status-info.blade.php | 4 +- .../views/components/forms/listbox.blade.php | 7 ++ .../livewire/notifications/discord.blade.php | 2 +- .../livewire/notifications/email.blade.php | 10 +-- .../project/application/domains.blade.php | 4 +- .../project/application/heading.blade.php | 4 + .../project/application/swarm.blade.php | 2 +- .../database/clickhouse/general.blade.php | 4 +- .../database/dragonfly/general.blade.php | 4 +- .../project/database/heading.blade.php | 4 + .../project/database/keydb/general.blade.php | 4 +- .../database/mariadb/general.blade.php | 4 +- .../database/mongodb/general.blade.php | 4 +- .../project/database/mysql/general.blade.php | 4 +- .../database/postgresql/general.blade.php | 4 +- .../project/database/redis/general.blade.php | 4 +- .../project/service/domains.blade.php | 4 +- .../project/service/heading.blade.php | 4 + .../project/service/stack-form.blade.php | 2 +- .../shared/scheduled-task/show.blade.php | 10 +-- .../storages/volume-backups/s3.blade.php | 4 +- .../livewire/server/log-drains.blade.php | 6 +- .../views/livewire/server/swarm.blade.php | 4 +- .../livewire/source/github/change.blade.php | 4 +- .../livewire/source/gitlab/change.blade.php | 2 +- resources/views/livewire/team/index.blade.php | 2 +- .../Feature/ListboxTriggerTruncationTest.php | 9 ++ ...bleLivewireComponentsAuthorizationTest.php | 83 +++++++++++++++++++ 29 files changed, 164 insertions(+), 47 deletions(-) diff --git a/resources/css/app.css b/resources/css/app.css index 95e0207ce2..636cf2ce8a 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -1905,7 +1905,13 @@ html[data-theme="custom"] textarea:disabled { .listbox-trigger:disabled { cursor: not-allowed; - opacity: 0.5; + background-color: var(--color-neutral-100); + color: var(--color-neutral-400); +} + +.dark .listbox-trigger:disabled { + background-color: color-mix(in oklab, var(--color-white) 3%, transparent); + color: var(--color-fg-faint); } .listbox-trigger:focus-visible { diff --git a/resources/views/components/database-status-info.blade.php b/resources/views/components/database-status-info.blade.php index 5e352c206b..b9298e2689 100644 --- a/resources/views/components/database-status-info.blade.php +++ b/resources/views/components/database-status-info.blade.php @@ -65,7 +65,7 @@ @endif