알림 확인·읽음·수신 설정과 업무 이동
제품 개발 기록으로 · 신고와 답변 · 메신저 · 결재
알림 목록·공용 벨·푸시의 사용법과 이동 경로를 설명합니다. 실행한 조작과 미확인 항목은 아래 검증 기록에서 구분합니다.
목적·범위·사용 조건
받은 알림을 확인하고 관련 업무로 이동하는 기능입니다. 이 항목은 알림 목록, 읽음 처리, 클릭 목적지, 신고 답변 열람과 인접한 알림 설정 조작을 다룹니다. 목적지에서 수행하는 휴가 신청·승인이나 급여 수정은 각각 별도 업무이므로 알림을 읽는 행위만으로 처리되지 않습니다.
- 로그인한 사용자 본인에게 전달된 인앱 알림이 조회 대상입니다. API는 수신자 ID와 인앱 채널을 기준으로 목록과 읽음 상태를 조회·변경합니다.
- 목록 조회에는 본인이 받은 알림 데이터가 필요합니다. 푸시는 기기 등록과 알림 허용이 전제이며, 앱의 수신 설정과 운영체제·브라우저 권한은 별개입니다.
- 신고 답변 열람은 신고 조회 권한과 해당 조직의 본인 신고라는 조건을 확인합니다. 알림의 목적지 정보 자체가 업무 화면의 조회·수정 권한을 부여하지 않습니다.
- 수신 설정 조회·변경은 서버에서 알림 리소스의 읽기·수정 권한을 확인합니다. 설정 화면이 보이는 것만으로 저장 권한이 있다고 판단하지 않습니다.
- 목록에서는 사용자가 자유 텍스트를 입력하지 않습니다. 알림 ID·종류·원본 업무 ID는 서버가 제공합니다. 설정의 입력은 아래 설명한 스위치와 대상 사용자 선택입니다.
진입 경로와 제공 조작
| 경로 | 여는 방법 | 제공되는 조작·표시 |
|---|---|---|
| 직원 앱 | 기본 화면 상단의 종 아이콘. 상세 화면에서는 먼저 뒤로 이동해야 종 아이콘이 나타남 | 전체 화면 알림 목록, 알림 행 열기, 「모두 읽음」, 상단 뒤로가기. 최신 30건을 조회 |
| 공용 알림 벨이 있는 데스크톱 앱 | 상단 종 아이콘 | 드롭다운, 알림 본문 열기, 「모두 읽음」, 작성자가 있는 항목의 「이 사람 알림 끄기」. 최신 20건을 조회 |
| 운영체제·브라우저 푸시 | 수신한 푸시 알림 누르기 | 앱을 활성화하거나 새 창을 열고 전달된 목적지로 이동. 목록 클릭과 읽음 처리 방식이 같지 않음 |
| 직원 앱의 연관 설정 | 하단 「더보기」에서 「휴대폰 알림 설정」 | 「푸시 알림」·「전체 알림 받기」 스위치, 음소거한 사용자의 「해제」 |
직원 앱 알림 목록에는 미읽음 항목이 있을 때 「모두 읽음」이 표시됩니다. 사람별 음소거 버튼은 이 목록에 없습니다. 위 두 목록에는 검색·유형 필터·이전 페이지·추가 로딩·알림 편집·삭제·내보내기 조작이 구현되어 있지 않습니다. API가 페이지·필터 또는 숨김 기능을 제공해도 화면에서 사용할 수 있다고 기재하지 않습니다.
직원 앱에서 알림 확인하기
- 로그인 후 기본 화면 상단의 종 아이콘을 누릅니다. 헤더가 「알림」과 뒤로가기 버튼으로 바뀌고 하단 내비게이션은 숨겨집니다.
- 「로딩 중...」 표시 후 최신 알림 최대 30건이 최신순으로 나타납니다. 제목·본문·상대 시각을 확인합니다. 읽지 않은 알림은 강조 배경과 점으로 구분됩니다.
- 원하는 행을 누릅니다. 키보드로 행에 초점을 둔 경우 Enter로도 열 수 있습니다. 이동 결과는 아래 목적지 표에 따릅니다.
- 휴가·연장·외근·인센티브 알림에 대상 신청 정보가 있으면 해당 신청 상세까지 엽니다. 결재자 알림은 결재할 문서, 신청 결과 알림은 내 신청 상세로 연결됩니다. 대상 정보가 없거나 조회할 수 없으면 목록에서 확인합니다. 알림을 여는 것만으로 승인되지 않습니다.
- 읽지 않은 항목은 화면 이동과 별도로 읽음 저장을 요청합니다. 성공하면 알림의 읽음 상태와 벨의 미읽음 수가 갱신됩니다. 이미 읽은 항목도 다시 눌러 목적지로 이동할 수 있습니다.
- 목적지로 이동하지 않고 알림 화면을 닫으려면 상단 뒤로가기를 누릅니다. 다시 확인하려면 기본 화면의 종 아이콘으로 재진입하며, 그때 목록을 다시 조회합니다.
데스크톱에서 알림 확인·모두 읽음 처리하기
- 로그인한 앱의 종 아이콘을 누릅니다. 미읽음 수와 최신 20건을 함께 조회합니다. 종의 숫자는 99건을 넘으면 「99+」로 표시되며, 조회된 20건의 개수와 미읽음 전체 개수는 다를 수 있습니다.
- 알림의 제목·본문 영역을 눌러 엽니다. 미읽음 항목이면 먼저 읽음 저장을 시도한 후 이동합니다. 직원 앱처럼 이동 이벤트를 처리하는 앱에서는 해당 화면이 열리고, 이를 처리하지 않는 앱에서는 확인할 앱을 안내합니다. 신고 답변은 공용 위젯을 직접 엽니다.
- 모든 미읽음 알림을 읽음으로 바꾸려면 미읽음 수가 있을 때 보이는 「모두 읽음」을 누릅니다. 별도 확인 팝업 없이 실행됩니다. 현재 보이는 20건뿐 아니라 본인의 전체 미읽음 인앱 알림이 대상입니다.
- 성공하면 표시 중인 항목이 읽음으로 바뀌고 숫자가 0이 됩니다. 알림을 삭제하거나 관련 결재를 승인하는 작업은 아닙니다. 이 화면에는 읽지 않음으로 되돌리는 버튼이 없습니다.
- 종 아이콘을 다시 누르거나 패널 바깥을 눌러 닫습니다. 다시 열면 목록을 재조회합니다. 기본 설정에서는 미읽음 숫자를 60초마다 다시 조회하며, 열린 목록 전체가 같은 주기로 갱신되는 것은 아닙니다.
알림 종류와 실제 목적지
결재 화면이 「신청·결재」 · 「내 신청·결재 현황」 두 탭으로 바뀐 뒤에도 알림은 예전 하위 탭 이름(approvalTab: leave | work | incentive | documents)으로 오며, 직원 앱 라우터가 이를 「내 신청·결재 현황」 + 해당 종류 거르기로 옮깁니다(apps/employee-app/src/router.ts setApprovalTab). 승인·반려 알림은 결재자뿐 아니라 신청한 직원에게도 갑니다(notification-requester.ts).
| 알림·연관 업무 | 직원 앱에서 여는 곳 | 다음 행동·연결의 의미 |
|---|---|---|
휴가 leave_request | 결재 → 내 신청·결재 현황(휴가로 거름) | 대상 정보가 있으면 신청 상세 확인. 읽음과 결재 상태는 별개 |
연장근무 overtime·외근 offsite_work·출퇴근 정정 attendance_correction | 결재 → 내 신청·결재 현황(근무로 거름) | 해당 근무 신청·보고를 찾아 확인 |
인센티브 incentive | 결재 → 내 신청·결재 현황(인센티브로 거름) | 해당 인센티브 기록 확인. 읽는 것만으로 지급 처리되지 않음 |
서류 document·증명서 certificate | 결재 → 내 신청·결재 현황(서류로 거름) | 해당 제출·요청 건 확인. 알림 클릭은 발급·다운로드가 아님 |
| 대화방 정보가 포함된 푸시 | 메신저의 지정 대화방 | 대화방 ID가 전달되어야 특정 방을 선택할 수 있음 |
신고 답변 system + referenceType: csReport | 공용 「신고 상세」 또는 「내 신고 내역」 | 인앱 목록 클릭은 신고 ID가 있으면 상세, 없으면 목록. 푸시는 아래의 전달 한계가 있음 |
급여 시트 메모 memo, 수당 allowance, 공제 deduction, 교육비 education | 「급여관리에서 확인해 주세요.」 안내 | 해당 앱을 직접 열어 업무 확인. 인앱 알림에서 직접 여는 직원 앱 목적지는 없음 |
권한 요청 permission_request, 일반 경고 general | 「관리자에서 확인해 주세요.」 안내 | 관리자 앱에서 권한·경고 대상 업무 확인 |
그 밖의 시스템 알림 system | 호봉 승급은 급여관리, 근무형태 변경은 내부 결재, 그 외는 내부 결재 안내 | referenceType에 따라 안내 앱이 달라짐. 신고 답변은 위의 별도 분기가 우선 |
공용 벨이 있는 앱이라도 일반 직원 앱 탭 이동을 지원하는지는 앱의 이벤트 소비 여부에 달려 있습니다. 같은 알림이라고 해서 모든 앱에서 같은 화면을 직접 연다고 설명하지 않습니다.
신고 답변을 확인하고 목록으로 돌아가기
- 인앱 알림 목록 또는 공용 벨에서 신고 답변 알림을 누릅니다. 신고 ID가 있으면 해당 신고 상세를 조회합니다. ID가 없는 알림이면 「내 신고 내역」에서 대상 행을 선택합니다.
- 「신고 상세」에서 접수번호·상태·제목·신고 본문을 확인하고 「답변」 영역의 운영자 회신 본문·시각과 처리 결과를 읽습니다. 신고자에게 공개된 답변만 내려오며 운영자 내부 코멘트는 이 조회에 포함되지 않습니다.
- 답변과 처리 결과가 없으면 아직 답변이 등록되지 않았다는 안내가 나타납니다. 이 화면은 답변 열람용이며 여기서 답장을 입력하는 폼은 없습니다.
- 「목록으로」를 누르면 내 신고 목록으로 돌아갑니다. 다른 신고 행을 누르면 그 상세가 열립니다. 「닫기」 또는 제목 옆 닫기 버튼으로 위젯을 닫습니다.
- 상세를 불러오지 못하면 내역 화면으로 돌아가 오류 안내를 보여줍니다. 다시 확인하려면 목록의 해당 행을 다시 누르거나 위젯을 닫고 재진입합니다.
사람별 음소거와 수신 설정
- 데스크톱 벨에서 작성자가 있는 알림에 마우스를 올리거나 해당 버튼에 키보드 초점을 두면 「이 사람 알림 끄기」가 나타납니다. 작성자가 없는 시스템 알림에는 이 조작이 제공되지 않습니다.
- 버튼을 누르고 대상 이름이 표시된 확인 팝업에서 확인합니다. 취소하면 변경되지 않습니다. 확인하면 현재 사용자에게 해당 사람의 알림을 음소거하는 설정이 저장되고, 현재 열린 목록에서 그 사람의 알림을 제외한 뒤 완료 안내를 표시합니다.
- 이는 알림 원본을 삭제하거나 기존 전달 기록을 모두 읽음 처리하는 동작이 아닙니다. 목록 재조회 API는 저장된 기존 알림을 음소거 기준으로 걸러내지 않으므로, 재진입했을 때 과거 알림이 다시 보일 수 있습니다. 향후 수신 차단 범위는 알림 생성 경로가 해당 음소거 규칙을 적용하는지에 따릅니다.
- 직원 앱에서는 「더보기」 → 「휴대폰 알림 설정」으로 들어갑니다. 설정 로딩이 끝나기 전에는 스위치를 조작할 수 없습니다. 음소거된 사용자 목록의 「해제」를 누르면 그 사람의 음소거 규칙을 제거합니다. 성공하면 해당 줄이 사라집니다.
- 「푸시 알림」을 끄면 앱에 저장되는 푸시 채널 수신 설정이 꺼집니다. 초기 저장값이 없을 때 화면 기본값은 켜짐입니다. OS·브라우저 알림 권한을 허용하거나 차단하는 동작과는 별개이며, 이미 받은 인앱 목록을 삭제하지 않습니다.
- 「전체 알림 받기」를 끄면 전체 음소거 규칙을 추가합니다. 다시 켤 때 전체 음소거와 기존 유형별 음소거 규칙을 제거하고 설정을 재조회합니다. 사람별 음소거는 그대로 남으므로 특정 사람의 알림도 받으려면 그 사람의 「해제」를 별도로 눌러야 합니다. 두 스위치는 별도 저장 버튼 없이 변경 즉시 저장을 요청합니다.
종류별 수신과 방해 금지 시간
| 항목 | 사용 대상·시작 위치 | 조작과 결과 | 되돌림·예외 |
|---|---|---|---|
| 종류별 알림 | 본인 계정, 더보기 → 휴대폰 알림 설정 | 메신저·결재 요청·내 신청 결과·공지·근태·그 밖의 알림의 스위치를 바꾸면 즉시 저장 | 끈 종류도 앱 알림함·대화에는 남음. 푸시 알림/전체 알림도 켜져 있어야 수신 |
| 방해 금지 | 같은 화면의 방해 금지 시간 | 켠 뒤 시작·끝 시각을 지정. 회사 시간대로 판정하고 다음 날까지 이어지는 시간도 지원 | 같은 시작·끝은 거절하고 이전 값 복원. 끄면 시간 제한 해제. 기기 자체 알림 권한은 별도 |
뒤로가기는 저장 취소가 아닙니다. 별도 저장·취소 버튼 없이 변경 시 저장하며, 실패하면 오류와 이전 설정을 확인한 후 다시 시도합니다. 화면을 다시 열어 실제 저장 값을 대조합니다. 이번 예제 촬영은 메신저 종류 끄기, 21:30~다음 날 08:00 설정, 재진입 후 유지까지 확인했습니다. 실제 휴대폰으로 시간대 전후 푸시를 받아 본 검증은 아직 없습니다.
정본: MyInfoForm.ts의 toggleCategoryPush·changeQuietHours, notifications.html, 알림 API와 공용 알림 종류 상수. 방 하나만 끄는 동작은 메신저 설정과 구분합니다.
푸시로 들어오는 경우
- 기기에서 수신한 푸시를 누릅니다. 이미 열린 웹 앱이 있으면 창에 초점을 주고 이동 정보를 전달합니다. 열린 창이 없으면 앱 URL을 새로 엽니다. 네이티브 앱은 푸시 클릭 이벤트의 이동 정보를 사용합니다.
- 휴가·근무 등은 전달된 섹션·탭으로, 대화방 정보가 있으면 그 방으로 이동합니다. 목적지 섹션이 없으면 앱만 열립니다. 인앱 목록의 다른 앱 안내 팝업이 푸시에도 반드시 나타나는 것은 아닙니다.
- 푸시 클릭 경로 자체는 인앱 알림의 읽음 API를 호출하지 않습니다. 따라서 푸시로 내용을 보았어도 인앱 알림이 미읽음으로 남을 수 있습니다.
- 신고 답변의 경로 차이: 확인한 리비전에서는 서버의 푸시 데이터, 네이티브 이동 파서, 웹 서비스워커가
csReportId를 목적지 필드로 전달하지 않습니다. 코드 흐름상 신고 위젯은 내역 목록으로 열리며 특정 신고 상세를 자동 선택할 수 없습니다. 목록에서 해당 신고를 선택하는 후속 단계가 필요합니다. 이는 코드로 확인한 한계이며 실기기에서 재현 검증하지 않았습니다.
예외·실패·재진입
| 상황 | 구현된 결과 | 사용자가 취할 수 있는 다음 행동 |
|---|---|---|
| 알림이 없음 | 「알림이 없어요」 표시 | 새 알림이 생성된 뒤 목록을 다시 열기 |
| 직원 앱 목록 조회 실패 | 전용 오류 대신 빈 목록 처리 | 연결을 확인하고 닫았다가 다시 열기. 빈 화면만으로 실제 알림 0건을 단정하지 않기 |
| 개발 빌드에서 빈 목록 또는 조회 실패 | 시안용 더미 알림이 표시될 수 있음 | 개발 화면의 표시를 실제 전달 기록이나 운영 증거로 쓰지 않기 |
| 직원 앱 읽음 저장 실패 | 목적지 이동은 유지하고 읽음 표시를 되돌림 | 재진입 후 다시 열어 확인. 결재나 신고 상태가 되돌아간 것은 아님 |
| 데스크톱 조회·읽음·모두 읽음 실패 | 별도 오류 안내 없이 기존 상태가 남을 수 있음 | 패널 재진입으로 저장 결과 확인 |
| 잘못되거나 더 이상 접근할 수 없는 신고 ID | 상세 조회 실패 후 내역 화면에 오류 안내 | 내 신고 목록에서 접근 가능한 대상을 다시 선택. 일반 업무 목적지도 해당 화면의 권한에 따름 |
| 푸시 설정 저장 실패 | 스위치 값을 되돌리고 오류 표시 | 연결·권한을 확인한 뒤 다시 변경 |
| 사람별 음소거 저장 실패 | 오류 안내. 조직 정보가 없으면 조직 확인 안내 | 로그인 조직을 확인한 뒤 다시 실행 |
| 사람별 음소거 해제 실패 | 별도 오류 안내 없이 목록이 유지될 수 있음 | 설정에 재진입해 저장 여부 확인 |
다른 기능·데이터와의 연결 및 유지보수
| 연결 대상·정본 | 역할과 데이터 변화 | 함께 확인해야 하는 영향 |
|---|---|---|
NotificationEvent·NotificationDelivery, notification.router.ts | 업무 이벤트와 수신자별 전달을 분리. 목록은 본인 인앱 전달 기록을 읽고, 읽음 처리는 전달의 isRead·readAt을 변경 | 알림 읽음이 원본 휴가·근무·서류의 승인·발급 상태를 바꾸지 않음을 확인 |
NotificationService.ts와 직원 앱 app.ts·app-shell.html | SDK 호출을 실제 목록·클릭·뒤로가기·미읽음 표시와 연결 | 페이지 제한, 진입·재진입 로딩, 읽음 실패 시 화면과 서버 상태의 차이 |
notification-navigation.ts와 NotificationBell.ts | 알림 종류·대화방 정보·신고 원본 정보를 화면 목적지 또는 안내 앱으로 변환 | 새 타입·탭 이름·특수 원본 추가 시 목록·벨·서버가 모두 같은 판단을 소비하는지 확인 |
CsReport.ts·cs-report.html·cs-report.router.ts | hereby:cs-report-open 이벤트를 본인 신고 목록·상세 조회로 연결. 조직·본인 소유와 공개 답변 범위를 적용 | 신고 ID가 없거나 권한이 없는 경우, 공개·비공개 답변 차이, 목록으로 복귀 |
MyInfoForm.ts, NotificationPreference·NotificationMuteSetting | 푸시 채널 설정, 전체·사람별 음소거 규칙 저장 | 스위치 조합과 실패 복구, 과거 목록과 미래 전달의 차이, 각 알림 생성 경로의 규칙 적용 범위 |
notification.service.ts·push-notifications.ts·push-navigation.ts·push-sw.js | 서버 목적지를 푸시 데이터·이벤트·URL을 통해 전달 | 섹션·탭·대화방·신고 ID를 각 경계에서 보존하는지, 앱 실행 중·종료 상태의 차이. 현재 신고 ID 전달 누락 확인 |
근거와 남은 검증
아래는 6fbaee7f의 코드와 마크업을 확인한 근거입니다. 위 사용 방법은 코드 기반 초안이며 화면·실기기 실행을 완료한 매뉴얼로 표시하지 않습니다.
- 직원 앱: 목록 화면, 진입·조회·클릭 처리.
- 공용 벨: 버튼·목록·음소거 UI, 조회·읽음·음소거 구현.
- 저장·접근 범위: 알림 API, 신고 조회 API, 설정 구현.
- 푸시 경계: 서버 전송 데이터, 이동 파서, 웹 서비스워커.
남은 검증은 역할별 실제 진입·목록 조작, 모든 목적지 유형, 설정 저장 후 재진입, 네트워크 실패, 앱 실행 중·종료 상태의 푸시입니다. 도착한 업무 화면의 전체 사용 방법, 데스크톱 앱별 설정 진입 차이, 원본 업무별 알림 발송·음소거 정책은 아직 완전하게 문서화하지 않았습니다. 사용자 가이드와 스크린샷 대조도 남아 있습니다.
이 사용 방법에 필요한 화면·영상
현재 이 초안에는 새로 촬영한 주석 이미지나 녹화가 없습니다. 이번 확인은 코드와 저장된 가이드 캡처의 대조이며, 기준 리비전을 실행하는 환경에서 아래 경로를 촬영하는 작업이 남아 있습니다.
| 절차 | 캡처에서 표시할 위치·순서 | 보여줄 결과 |
|---|---|---|
| 직원 앱 알림 확인 | 1. 기본 화면 종 아이콘, 2. 목록의 대상 알림 행 | 3. 결재의 해당 탭과 목록. 읽음 변화는 목록 재진입 장면으로 확인 |
| 데스크톱 모두 읽음 | 1. 종 아이콘, 2. 패널의 「모두 읽음」 | 3. 미읽음 숫자와 항목 표시의 변화. 직원 앱 화면으로 대신 설명하지 않음 |
| 신고 답변 확인 | 1. 신고 답변 알림, 2. 상세의 답변 영역, 3. 「목록으로」 | 해당 신고의 답변과 내 신고 목록. 푸시 진입은 별도 영상에서 비교 |
| 음소거·해제 | 1. 알림의 「이 사람 알림 끄기」, 2. 확인 팝업, 3. 더보기의 「휴대폰 알림 설정」, 4. 대상 사용자의 「해제」 | 음소거 설정이 저장·해제된 결과. hover로 버튼이 나타나는 과정은 영상이 적합 |
| 푸시로 진입 | 1. 실제 수신한 푸시를 탭, 2. 앱이 열리는 과정 | 실행 중·종료 상태별 목적지와 신고 목록·상세 차이. 편집으로 중간 화면을 생략하지 않음 |
기존 docs/ko/guides/guide-shots/ea-12.png는 직원 앱의 전체 화면 알림 목록이며 「모두 읽음」 버튼은 없습니다. 그런데 해당 가이드의 알림 절차에는 「모두 읽음」 조작이 포함되어 있어, 이미지·설명·현재 구현을 함께 대조해 수정할 대상으로 남깁니다. 이 캡처를 데스크톱 모두 읽음 조작의 증거로 재사용하지 않습니다.
변경 이력과 근거
| 항목 | 변경 전·후와 이유 | 근거·검증 범위 |
|---|---|---|
| 알림 목적지 이동 | 알림 목록은 읽음만 처리하고 공용 벨·푸시의 목적지 판단도 흩어져 있었습니다. 공용 표를 사용해 화면 이동 또는 확인 앱 안내를 제공하도록 변경했습니다. | 구현·검증 설명. 원문에 로컬 알림 클릭 검증과 공용 벨의 검증 한계가 기록되어 있습니다. |
| 신고 답변 연결 | 신고 답변 알림이 일반 시스템 알림 안내에 머물지 않고 공용 신고 위젯을 열도록 확장한 기록입니다. | 신고 답변 확인 기능 설명. 현재 코드의 별도 분기와 호출 경로 확인. |
| 사용법 보완 | 현재 동작과 유지보수 확인점을 이 문서에 등록했습니다. | 확인한 목적지 코드. 운영 화면 재검증 안 함. |
| 실패 경로 보완 | 사용자 피드백에 따라 목록·벨·푸시·신고·설정의 실제 조작 순서, 데이터 변화, 경로 차이와 실패 동작을 확장했습니다. 푸시의 신고 ID 전달 누락도 실제 구현의 한계로 기록했습니다. | 위의 경로별 코드 근거를 대조했습니다. 서비스 기능을 수정한 작업이나 실행 검증을 완료한 기록은 아닙니다. |
직원 알림 이동 영상
알림 확인 가이드에 상단 종 → 알림 목록 → 「연장근무 보고서를 제출해 주세요」 → 결재의 근무 화면 → 종으로 목록 재진입을 촬영했습니다. 도착 화면에서 보고서 작성 버튼을 확인했습니다. 실제 푸시 발송·시스템 권한·앱을 종료한 상태의 수신과는 별개입니다. 읽음 저장 실패 시 복구와 직원 앱에 목적지가 없는 알림의 안내는 별도 촬영 대상입니다.
직원 앱의 모두 읽음
직원 알림 가이드의 「모두 읽음」은 화면의 최신 30건뿐 아니라 본인의 전체 알림함을 대상으로 합니다. 별도 확인창 없이 실행하고 처리 중에는 중복 요청을 막습니다. 성공하면 벨 숫자를 갱신하며, 실패하면 표시 중인 항목의 미읽음 상태를 되돌립니다. 오류 안내가 항상 뜨는 것으로 설명하지 않습니다. 읽음 해제·삭제·결재 처리를 대신하는 기능이 아닙니다.
PR #662, apps/employee-app/src/app.ts의 markAllNotificationsRead, views/app-shell.html, notifications-inbox.test.ts를 대조해 과거의 ‘버튼 없음’ 설명을 정정했습니다. 예제 미읽음 생성부터 처리·실패 복구까지의 새 촬영은 대기 중입니다.
Android 뒤로가기
직원 앱에서 Android 뒤로가기는 열린 알림 화면과 신고 창을 먼저 닫고 원래 화면으로 돌아갑니다. 앱 종료 여부와 열린 창의 순서를 구분합니다. PR #849의 네이티브 뒤로가기 처리를 대조했으며, Android 실기기에서 알림·신고 창의 우선순위와 반복 뒤로가기는 별도 검증이 필요합니다. 브라우저 뒤로가기 영상으로 확인을 대신하지 않습니다.
잠긴 대화의 휴대폰 알림 표시
대화 잠금이 켜진 조직에서는 직원 앱 → 더보기 → 휴대폰 알림 설정의 메신저 표시 방식에서 이름만·새 메시지 안내만·이름과 내용을 선택합니다. 선택 후 다시 열어 저장값을 확인합니다. 알림 종류와 방해 금지 시간은 별도 설정이므로 내용을 표시하도록 선택해도 차단된 알림이 다시 켜지는 것은 아닙니다. #1163의 선택 UI와 기존 웹·네이티브 복호화 경로를 함께 확인해야 합니다. 이번에는 실제 잠금 화면 수신·시간대별 차단을 촬영하지 않았습니다.
iOS의 민감 화면 캡처·녹화 이벤트와 관리자 캡처 이력 조회는 #1147에 포함됐습니다. 이벤트에는 화면 종류·발생 시각을 남기며 실제 캡처 이미지를 수집하는 기능이 아닙니다. Android의 캡처 차단과 이벤트 수집을 동일하게 설명하지 않습니다. 웹 녹화가 성공했다고 휴대폰 차단·이력 수집이 검증된 것은 아닙니다.