[Office 화면] 뒤로 가기로 돌아올 때 「일시 중지 상태를 사용할 수 없습니다」가 잠깐 뜸 #23

Closed
opened 2026-10-04 15:11:06 +09:00 by dreampiler · 2 comments
Owner

Office 화면에 다시 들어올 때마다 useWorkspacePause(apps/web/hooks/domains/office/use-workspace-pause.ts)가 마운트 효과에서 resetPauseState() 로 상태를 unknown·기록 없음으로 지우고 조회를 다시 한다. 조회가 끝나기 전 그 짧은 동안 WorkspacePauseState(apps/web/app/office/components/workspace-pause-banner.tsx 79행)가 「읽는 중」과 「읽기 실패」를 구별하지 못하고 둘 다 unknown 이라 경고 막대(pauseStateUnavailable)를 그린다. 실측(10-04 15:1x): GET /api/v1/office/workspaces//pause 는 단독·개요 집계와 동시 모두 200·0.02초 — 실제 실패가 아니다. 고칠 것: 같은 워크스페이스로 다시 마운트될 때는 지우지 않고 마지막으로 읽은 상태를 둔 채 다시 읽는다(이미 WS 재연결 때 쓰는 규칙 「last known state remains the best available until the read answers」와 같게). 워크스페이스가 바뀔 때만 지운다. 경고 막대는 읽기가 실제로 실패했을 때만 — 읽는 중 상태를 따로 둔다. 「배너가 없으면 실행 중으로 읽지 않게」라는 원 설계(AC-OFFICE-KILL-SWITCH-006.4)는 지킨다(읽는 중에는 이전 상태 유지, 처음 진입처럼 이전 상태가 없으면 짧은 읽는 중 표시). 확인: 개요 → 작업 열기 → 뒤로 가기에서 경고가 깜빡이지 않고, 백엔드를 멈추고 들어오면 경고가 뜨는지 화면으로. 업스트림 가능한 수정. Kandev R3.

Office 화면에 다시 들어올 때마다 useWorkspacePause(apps/web/hooks/domains/office/use-workspace-pause.ts)가 마운트 효과에서 resetPauseState() 로 상태를 unknown·기록 없음으로 지우고 조회를 다시 한다. 조회가 끝나기 전 그 짧은 동안 WorkspacePauseState(apps/web/app/office/components/workspace-pause-banner.tsx 79행)가 「읽는 중」과 「읽기 실패」를 구별하지 못하고 둘 다 unknown 이라 경고 막대(pauseStateUnavailable)를 그린다. 실측(10-04 15:1x): GET /api/v1/office/workspaces/<id>/pause 는 단독·개요 집계와 동시 모두 200·0.02초 — 실제 실패가 아니다. 고칠 것: 같은 워크스페이스로 다시 마운트될 때는 지우지 않고 마지막으로 읽은 상태를 둔 채 다시 읽는다(이미 WS 재연결 때 쓰는 규칙 「last known state remains the best available until the read answers」와 같게). 워크스페이스가 바뀔 때만 지운다. 경고 막대는 읽기가 실제로 실패했을 때만 — 읽는 중 상태를 따로 둔다. 「배너가 없으면 실행 중으로 읽지 않게」라는 원 설계(AC-OFFICE-KILL-SWITCH-006.4)는 지킨다(읽는 중에는 이전 상태 유지, 처음 진입처럼 이전 상태가 없으면 짧은 읽는 중 표시). 확인: 개요 → 작업 열기 → 뒤로 가기에서 경고가 깜빡이지 않고, 백엔드를 멈추고 들어오면 경고가 뜨는지 화면으로. 업스트림 가능한 수정. Kandev R3.
Author
Owner

R3 자식 f5085d76-48f1-44f7-986f-6f05b5ac3b1b 등록. 큐 원문과 실제 hook mount reset/unknown 경고 분기 대조 확인. 빠른 작업 대기에서 즉시 작업 칸 입장, autopilot=true, blocked_by 없음. 자동 기동은 세션 상한 population11/ceiling8로 미뤄졌고 세션0 readback 확인, 아직 실행/구현 완료 아님. Kandev automatic replay가 다음 주체, 부모가 이후 session/산출물 확인. 같은 workspace 마지막 pause 상태 보존·workspace 변경 reset·읽는 중과 실제 실패 구별·AC-OFFICE-KILL-SWITCH-006.4 유지 범위를 brief와 R3 Plan/배포 후 검증23089ea0에 반영. 실패 검증 backend 중지는 자기 격리 시험 인스턴스만. W-019/W-022 순서 제약 없이 진행, locale 겹침은 부모 조율. 구현/검토/병합 후 PR/commit 인계, R3 배포 readback 후 종결. 큐 중복/운영 변경/수동 spawn 없음.

R3 자식 f5085d76-48f1-44f7-986f-6f05b5ac3b1b 등록. 큐 원문과 실제 hook mount reset/unknown 경고 분기 대조 확인. 빠른 작업 대기에서 즉시 작업 칸 입장, autopilot=true, blocked_by 없음. 자동 기동은 세션 상한 population11/ceiling8로 미뤄졌고 세션0 readback 확인, 아직 실행/구현 완료 아님. Kandev automatic replay가 다음 주체, 부모가 이후 session/산출물 확인. 같은 workspace 마지막 pause 상태 보존·workspace 변경 reset·읽는 중과 실제 실패 구별·AC-OFFICE-KILL-SWITCH-006.4 유지 범위를 brief와 R3 Plan/배포 후 검증23089ea0에 반영. 실패 검증 backend 중지는 자기 격리 시험 인스턴스만. W-019/W-022 순서 제약 없이 진행, locale 겹침은 부모 조율. 구현/검토/병합 후 PR/commit 인계, R3 배포 readback 후 종결. 큐 중복/운영 변경/수동 spawn 없음.
Author
Owner

R3 관제 확인: W-023 Task COMPLETED. PR73 MERGED, reviewed_head=8c3a07b0bb5bd85c76784cefb0ff31c47c9e7760, merge=0915af41bd4d0a4c17223de73b39110a46dd7148. 정식 검토 통과와 해당 head 일치 확인. 실제 화면 4개 시나리오는 R3 검증23089ea0의 배포 후 원목표로 남음. 사본 D:/260720_Ai_Workspace_Tools/kandev-wt-w023와 로컬branch kd/w023-pause-flicker는 범위 밖 zh-hk/zh-tw settings.json 미반영 내용 때문에 원위치 보존, 물리 반납 미완료를 부모가 인수. 별도 PR/폐기/삭제 승인 없음. 자식의 gate 호출은 생략하고 이 진행 기록은 관제가 담당.

R3 관제 확인: W-023 Task COMPLETED. PR73 MERGED, reviewed_head=8c3a07b0bb5bd85c76784cefb0ff31c47c9e7760, merge=0915af41bd4d0a4c17223de73b39110a46dd7148. 정식 검토 통과와 해당 head 일치 확인. 실제 화면 4개 시나리오는 R3 검증23089ea0의 배포 후 원목표로 남음. 사본 D:/260720_Ai_Workspace_Tools/kandev-wt-w023와 로컬branch kd/w023-pause-flicker는 범위 밖 zh-hk/zh-tw settings.json 미반영 내용 때문에 원위치 보존, 물리 반납 미완료를 부모가 인수. 별도 PR/폐기/삭제 승인 없음. 자식의 gate 호출은 생략하고 이 진행 기록은 관제가 담당.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dreampiler/kandev#23