https://github.com/gnuboard/g7/issues/122 제보자의 추가 지적 2건(빌드가 게시본을 지움 / CLI 최초 게시 후 웹 재생성 불가)에 대응하고, 같은 근본 원인을 공유하는 결함을 전수조사로 함께 고친다. - 빌드가 자기 산출물만 교체한다: 루트 vite `emptyOutDir: false` 기본값 true 는 폴백 없는 코어 3번들과 배달된 immutable URL 의 게시본을 함께 지웠다 - 게시 트리 권한을 웹이 이어받는다: 병합 전 프리플라이트 + 부모 그룹 상속·g+w 종전 소유권 정상화는 root 축만 덮어 비-root CLI 계정은 무방비였다 - 갱신 → 생성 → 완전성 확인을 한 묶음으로: 기록 바이트 대조, .old 원자 스왑, rename 일시 거부 재시도, 프론트 JSON 파싱 검증 - 실패를 억제하고 기록한다: 버전 한정 실패 마커 + 사유별 대시보드 알림 + ext-static:status 점검 커맨드 - 파생: catch-all 제외 목록을 에셋 화이트리스트 합집합에서 파생(mjs·webp·otf 누락), 번들 디스크 쓰기 fail-soft·빈 번들 503, 활성 디렉토리 prune 회피
69 lines
3.8 KiB
PHP
69 lines
3.8 KiB
PHP
<?php
|
|
|
|
return [
|
|
'types' => [
|
|
'module' => 'Module',
|
|
'plugin' => 'Plugin',
|
|
'template' => 'Template',
|
|
],
|
|
|
|
'errors' => [
|
|
'core_version_mismatch' => ':extension (:type) requires Gnuboard7 core version :required or higher. (Current: :installed)',
|
|
'version_check_failed' => 'Version check failed.',
|
|
'operation_in_progress' => 'Cannot process the request because ":name" has an operation in progress (:status).',
|
|
'zip_missing_manifest' => 'Manifest :file not found inside ZIP: :zip',
|
|
'zip_invalid_manifest' => 'Manifest :file inside ZIP is not valid JSON.',
|
|
'zip_identifier_mismatch' => 'ZIP manifest identifier does not match target extension. (expected: :expected, actual: :actual)',
|
|
'zip_missing_version' => 'Manifest :file inside ZIP has no version field.',
|
|
'not_found' => 'Extension (:identifier) not found.',
|
|
'cascade_dependency_failed' => 'Failed to install cascade dependency :type (:identifier): :message',
|
|
'invalid_type' => 'Invalid extension type.',
|
|
'not_auto_deactivated' => 'This extension was not automatically deactivated due to core version incompatibility.',
|
|
'hidden_extension' => 'Hidden (internal-only) extensions are not exposed to user actions.',
|
|
],
|
|
|
|
'warnings' => [
|
|
'auto_deactivated' => ':type ":identifier" has been automatically deactivated due to core version incompatibility.',
|
|
],
|
|
|
|
'alerts' => [
|
|
'incompatible_deactivated' => ':type ":name" auto-deactivated',
|
|
'incompatible_message' => 'Required: :required, Installed: :installed',
|
|
'recovered_title' => ':type ":name" is compatible again',
|
|
'recovered_body' => 'Now compatible after core upgrade (previously required: :previously_required). You can re-activate.',
|
|
'recovered_success' => 'Extension has been re-activated.',
|
|
'dismissed' => 'Alert dismissed.',
|
|
'auto_deactivated_listed' => 'Auto-deactivated extensions listed.',
|
|
'recover_action' => 'Re-activate',
|
|
'dismiss_action' => 'Dismiss alert',
|
|
'static_publish_failed_title' => 'Failed to generate startup files',
|
|
'static_publish_failed_parent_not_writable' => 'Could not write to the folder for startup files — :count consecutive failures. The site works normally but the first screen loads more slowly. Run `php artisan ext-static:status` on the server to see the cause.',
|
|
'static_publish_failed_write_failed' => 'Generating startup files failed :count times in a row. Check available disk space. The site works normally but the first screen loads more slowly.',
|
|
'static_publish_failed_lock_unavailable' => 'Startup file generation was skipped :count times in a row. Check the cache store. The site works normally but the first screen loads more slowly.',
|
|
],
|
|
|
|
'badges' => [
|
|
'incompatible' => 'Core upgrade required',
|
|
'incompatible_tooltip' => 'Requires core :required or higher (current: :installed)',
|
|
'incompatible_sr' => ':name requires core :required or higher but :installed is installed; update is not allowed.',
|
|
],
|
|
|
|
'banner' => [
|
|
'title' => 'Some extensions were auto-deactivated due to core compatibility',
|
|
'item_required' => 'Required: :required',
|
|
'guide_link' => 'Core upgrade guide',
|
|
'dismiss' => 'Dismiss',
|
|
],
|
|
|
|
'update_modal' => [
|
|
'compat_warning_title' => 'Core version compatibility warning',
|
|
'compat_warning_message' => 'This :type requires core :required or higher. (current: :installed)',
|
|
'compat_guide_link' => 'View core upgrade guide',
|
|
'force_label' => 'Override warning and force update (not recommended)',
|
|
],
|
|
|
|
'commands' => [
|
|
'clear_cache_success' => 'Extension version check cache has been cleared.',
|
|
],
|
|
];
|