Core
런타임 카탈로그 경계와 셸 로딩 성능
0.5.1
App 런타임 활성화 경계, 셸 로딩 동작과 백그라운드 갱신 성능을 개선합니다.
변경
- 유휴 시간의 App 런타임 준비는 설치된 App의 등록 엔트리만 불러옵니다. App을 사용할 때까지 언어 카탈로그는 불러오지 않으므로 라우트와 위젯의 활성화 동작은 유지하면서 백그라운드 네트워크 및 파싱 작업을 줄입니다.
- 앱을 불러올 때 알림과 작업 목록을 반복 조회하던 문제를 수정하고, 숨긴 대시보드의 데이터 조회는 해당 탭을 다시 표시할 때 재개하도록 했습니다.
수정
- Agent가 기본적으로 채팅으로 답하도록 라우팅 지침을 정리했습니다. 데이터 조회를 대시보드 생성이나 화면 이동 요청으로 해석하지 않도록 했습니다.
- Agent 출력의 App 컴포넌트는 현재 언어의 번역을 불러온 뒤 표시합니다. 컴포넌트 코드가 이미 등록된 경우에도 적용됩니다.
- 데이터 원본에 법인 대상이 필요한 대시보드는 명시적으로 위임된 법인을 요구합니다. 대상이 없으면 추가 입력을 요청하고, 대상이 있으면 위젯 조회에 연결합니다. 백엔드 권한 검사는 유지합니다.
- 명령 팔레트 검색과 팔레트의 즐겨찾기 조회는 팔레트가 열릴 때까지 기다립니다. 즐겨찾기 검색어 입력은 지연 처리하고, 입력 중 이전 목록 요청은 취소합니다.
- 데이터 마이그레이션 실행 목록은 Work Tab이 숨겨져 있으면 조회를 멈추고, 처리 중에는 3초마다, 표시 중인 유휴 상태에서는 30초마다 조회합니다. 따라서 새 작업과 종료 결과를 계속 발견할 수 있습니다.
- 전자 결재 및 업무 프로세스 작성 화면은 명시적인 App descriptor에 선언된 언어 카탈로그를 활성화한 뒤 App 소유 라벨을 표시합니다.
- 전자 결재 및 업무 프로세스 위젯은 명시적인 소유 App 런타임을 활성화하고 소유 App을 사용할 수 없으면 안전하게 차단합니다. Core 권한 검사와 작성 내용을 유지합니다.
- 여러 App이 함께 표시되는 Inspector 위젯은 활성화 전에 내비게이션 리소스 메타데이터에서 소유자를 확인합니다. 설치된 소유 App의 카탈로그와 런타임은 필요할 때 불러오고, 설치되지 않은 소유 App은 차단하며, 활성화 실패 시 재시도할 수 있습니다. 언어 카탈로그를 다시 불러오는 동안에도 Inspector 작성 내용은 유지됩니다.
적용 안내
Core와 Agent Gateway 변경을 함께 적용해야 합니다. 대상 없이 저장된 기존 대시보드는 자동 변환하지 않으며, 기존 채팅에 대상 선택 UI를 추가하는 변경은 포함하지 않습니다.
위의 Core 런타임 변경에는 SDK 변경이 필요하지 않습니다. 이번 릴리스는 증명서 발급 신청과 구매 요청의 결재 권한 적용 및 라벨을 수정한 People 0.4.4와 Procurement 0.3.0-beta.3도 함께 채택합니다. 업데이트 후 php artisan nexia-access:sync-manifest --all-tenants를 실행해 모든 테넌트에 권한 정의를 반영하세요. 정의 동기화만으로 사용자 지정 Role에 새 권한이 부여되지는 않습니다. 기존 Role의 people.certificate.request 부여 상태를 확인하고, 구매 요청을 상신할 사용자 지정 Role에만 procurement.purchase_request.submit을 명시적으로 추가하세요.