fix(core,admin_basic): 정적 게시 재게시 누락 3건 수정 + 관리자 수동 복구 UI + sudo core:update 소유권 정합
- 템플릿 update 는 레이아웃 변경 여부와 무관하게 캐시 버전을 올리고(실패 복원 뒤에도), 자산 주소 방식 전환 3경로도 bump 한다 - config:cache 가 컨테이너 인스턴스를 덮어 이후 terminating 재게시가 사라지던 결함을 복원 헬퍼로 차단 - custom/ 변경 감지와 게시가 같은 열거자(재귀·크기 포함)를 쓰고, 서명은 호스트별로 저장 - 캐시 버전·서명 키를 만료시키지 않는다(기본 TTL 24h 로 매일 전체 재생성되던 문제) - 관리자 > 환경설정 > 일반 「초기 화면 정적 파일」 카드: 상태 조회 + 지금 다시 만들기(확인 모달), 대시보드 알림 버튼 연결, CLI 와 같은 statusReport 소비 - sudo core:update 경로의 root 소유 잔존(설정 디렉토리·임시 폴더·로그·업그레이드 마이그레이션 산출물) 상속·정합화, ext-static 명령 root 경고와 sudo -u 힌트 - 안내·문서·트러블슈팅 4건·audit 룰 ext-cache-version-raw-read·ja 언어팩 동기
This commit is contained in:
@@ -27,6 +27,7 @@ use App\Extension\Helpers\ExtensionPendingHelper;
|
||||
use App\Extension\Helpers\ExtensionRoleSyncHelper;
|
||||
use App\Extension\Helpers\ExtensionStatusGuard;
|
||||
use App\Extension\Helpers\ExtensionUpgradeGuardHelper;
|
||||
use App\Extension\Helpers\FilePermissionHelper;
|
||||
use App\Extension\Helpers\GithubHelper;
|
||||
use App\Extension\Helpers\IdentityMessageSyncHelper;
|
||||
use App\Extension\Helpers\IdentityPolicySyncHelper;
|
||||
@@ -1829,9 +1830,11 @@ class ModuleManager implements ModuleManagerInterface
|
||||
return;
|
||||
}
|
||||
|
||||
// 디렉토리 생성
|
||||
// 디렉토리 생성 — sudo 코어 업데이트(번들 확장 업데이트 프롬프트) 경로에서 root 로 만들어지면
|
||||
// `storage/app/modules` 는 restore_ownership 제외 경로라 되돌려지지 않는다 → 부모 소유권 상속 (#651 F13)
|
||||
if (! File::isDirectory($settingsDir)) {
|
||||
File::makeDirectory($settingsDir, 0755, true);
|
||||
FilePermissionHelper::inheritOwnershipFromParent($settingsDir);
|
||||
}
|
||||
|
||||
// 카테고리별로 설정 파일 생성
|
||||
@@ -1846,6 +1849,7 @@ class ModuleManager implements ModuleManagerInterface
|
||||
|
||||
$jsonContent = json_encode($categoryData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
File::put($filePath, $jsonContent);
|
||||
FilePermissionHelper::inheritOwnershipFromParent($filePath);
|
||||
$createdFiles[] = $category.'.json';
|
||||
}
|
||||
|
||||
@@ -4140,7 +4144,7 @@ class ModuleManager implements ModuleManagerInterface
|
||||
$tempDir = storage_path('app/temp/module_update_'.uniqid());
|
||||
|
||||
try {
|
||||
File::ensureDirectoryExists($tempDir);
|
||||
ExtensionPendingHelper::ensureUpdateTempDirectory($tempDir);
|
||||
|
||||
// GitHub에서 다운로드 및 추출 (코어와 동일한 폴백 체인)
|
||||
$extractedDir = $this->extensionManager->downloadAndExtractFromGitHub(
|
||||
|
||||
Reference in New Issue
Block a user