From 4cc3505050d29dd8bb6ae83f340141bc81a6fedb Mon Sep 17 00:00:00 2001 From: F4ilji Date: Sat, 4 Jul 2026 18:34:19 +0500 Subject: [PATCH] fix(vikon): exclude non-writable dirs from access check (vendor, build, vikon_core) --- .../VikonIntegration/Actions/CheckAccessAction.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/Containers/VikonIntegration/Actions/CheckAccessAction.php b/app/Containers/VikonIntegration/Actions/CheckAccessAction.php index 8b3479b..aef30a4 100644 --- a/app/Containers/VikonIntegration/Actions/CheckAccessAction.php +++ b/app/Containers/VikonIntegration/Actions/CheckAccessAction.php @@ -57,9 +57,18 @@ class CheckAccessAction private function findNonWritable(string $path, int $depth = 0): array { if ($depth > 3 || !is_dir($path)) return []; - if (!is_writable($path)) { - return [str_replace(base_path() . '/', '', $path)]; + + $relative = str_replace(base_path() . '/', '', $path); + + $excluded = ['vendor', 'node_modules', 'storage', '.git', 'bootstrap/cache']; + foreach ($excluded as $ex) { + if (str_starts_with($relative, $ex)) return []; } + + if (!is_writable($path)) { + return [$relative]; + } + $result = []; foreach (File::directories($path) as $dir) { $result = array_merge($result, $this->findNonWritable($dir, $depth + 1));