Weekly v0.294.0
v0.294.0 — 읽지 못한 상황판을 "이번 달 계획 없음" 으로 그리지 않습니다
업무 상황판의 네 보기가 board 없이도 그려졌습니다. 첫 읽기가 실패하면 벽에는 42칸짜리 빈 달력이 걸리고, 목록·담당자 보기는 "이 기간에 등록된 업무 일정이 없습니다", 주 보기는 일곱 칸 모두 "일정 없음" 이라고 말합니다.
이 판은 사무실 벽에 거는 것입니다. 지나가며 보는 사람에게 그것은 부서가 이번 달에 아무것도 계획하지 않았다는 문장이고, 벽에 걸린 것을 의심할 자리는 없습니다.
실패는 실패라고 말합니다
- 읽기에 실패하면 네 보기는 그리지 않습니다. 빈 달력도, "일정 없음" 도 답이 아닙니다 — 둘 다 물어보지 않은 질문에 대한 답입니다.
- 창을 옮기다 실패한 경우가 더 나빴습니다. 실패한 읽기가 앞의 판을 그대로 두므로, 다음 달로 넘어가다 실패하면 지난달 줄이 이번 달 제목 아래 남고,
부서 전체를 끄다 실패하면 남의 줄이 본인 것으로 남습니다. 오래된 것이 아니라 화면이 묻지 않은 질문에 답하는 것입니다. boardAfterFailure가 그 둘을 가릅니다. 창(from·to·scope)이 다르면 버리고, 같으면 벽에 걸린 것을 지킵니다 — 전체화면은 1분마다 다시 읽으므로, 한 번 실패했다고 벽을 비우는 것은 1분 된 판보다 나쁩니다.
검사 목록에서 조용히 빠져 있던 화면
failstate-check.py의 화면 목록에schedule을 더했습니다.a11y-check.py의PAGES에는 있었는데 이쪽에는 빠져 있어, 새 화면이 검사에서 조용히 사라져 있었습니다. 이번 버그를 잡았어야 할 검사가 이 화면을 보고 있지 않았습니다.
검증
시험 7개(scheduleGrid.test.ts 순수 함수 4개, SchedulePage.test.tsx 화면 3개)를 더했습니다. 고치기 전 코드에서 새 화면 시험이 month-cell 42칸을 그리며 실패하는 것을 먼저 확인했습니다.
프런트엔드 141개 시험과 tsc -b·프로덕션 빌드를 두 시간대(Asia/Seoul, America/New_York)에서 통과했고, 실제 PostgreSQL 위에서 전체 Go 테스트와 go vet, 버전·OpenAPI·모달·페이징 검사를 통과했습니다.
업그레이드
프런트엔드만 바뀝니다. 마이그레이션도, 새 환경변수도, API 변경도 없습니다. 기존과 같이 PostgreSQL 을 백업한 뒤 v0.294.0 이미지를 올리면 됩니다.
오프라인 배포 자산
- 파일:
weekly-v0.294.0.tar.gz - 크기:
9310487 bytes - SHA-256:
19212a85e4fb1d885737e798df27685aaac4422cfbf724f694799e5583447adc - 이미지 다이제스트:
sha256:adf62f0e61bcc55057ad91fabc2ed4352e09891577a2b17187b4c253149ff9db
반입 전에는 파일이 온전히 도착했는지를 SHA-256으로, 그 파일이 담은 것이 빌드된 이미지가 맞는지를 아카이브 안의 다이제스트로 확인합니다. 옮기는 과정에서 압축을 풀었다 다시 묶으면 파일 해시는 달라지지만 다이제스트는 그대로입니다. docker image inspect --format {{.Id}} 는 이 값과 다를 수 있습니다 — Docker가 적재하면서 자기 식별자를 다시 매기기 때문이며, 확인에 쓰지 마십시오.
sha256sum weekly-v0.294.0.tar.gz
gzip -dc weekly-v0.294.0.tar.gz | tar -xO manifest.json | grep -o "blobs/sha256/[0-9a-f]\{64\}" | head -1
gzip -dc weekly-v0.294.0.tar.gz | docker load