← Docs hub

SK_28 나이트모드 v1.20.05 변경 요약

결론

v1.20.05의 SK_28 수정은 기존 분기를 유지하면서 명령 2곳만 정리한 것이다.

  1. 예약 대기 상태에서 일반 ON을 요청하면 Ghost(true)를 먼저 보내고 기존 예약 종료 시각까지 TimeMode(true)를 실행한다.
  2. 예약 상태에서 상시 ON으로 전환할 때는 이미 Ghost=true이므로 TimeMode(false)만 실행한다.

서버 통신 가능 여부에 따른 Cloud/Local 진입 조건과 그 밖의 상태 분기는 변경하지 않았다.

SK_28 v1.20.05 변경 구조

요청 시나리오별 최종 동작

번호 Function token 현재 상태 (Ghost, TimeMode, Active) TTS 최종 명령
[1] 일반 ON <sk_28>(enable=0,type=-1) (true, true, false) 나이트 모드를 지금 켰어요. 기존에 지정하신 시간까지 동작합니다. Ghost(true) → TimeMode(true, 현재 시각, 기존 endTime)
[2-1] 시간 설정 ON <sk_28>(enable=0,type=0) (true, false, true) 인터넷이 연결되어 있지 않아 22:00~06:00 시간지정 나이트모드를 설정합니다. Ghost(true) → TimeMode(true, 22_00, 06_00)
[2-2] 시간 설정 ON <sk_28>(enable=0,type=0) (true, false, false) [2-1]과 동일 Ghost(true) → TimeMode(true, 22_00, 06_00)
[3] 상시 ON <sk_28>(enable=0,type=1) (true, true, active 무관) 시간 예약을 해제하고 나이트 모드가 항상 켜지도록 변경했어요. TimeMode(false)만 실행

실제로 바뀐 부분

[1] 변경 전: TimeMode(true, 현재 시각, 기존 endTime)
[1] 변경 후: Ghost(true) → TimeMode(true, 현재 시각, 기존 endTime)

[3] 변경 전: TimeMode(false) → Ghost(true)
[3] 변경 후: TimeMode(false)

[2-1]과 [2-2]는 기존부터 요구 순서대로 구현돼 있었다. 코드 변경 없이 테스트 기대값만 실제 계약에 맞게 정리했다.

변경하지 않은 기존 분기

상황 기존 동작 유지
완전 OFF에서 일반 ON Ghost(true)만 실행
상시 나이트모드가 이미 동작 중 중복 안내, setter 없음
예약 나이트모드가 이미 동작 중인데 일반 ON 기존 종료 시각 자동 OFF 안내, setter 없음
일반 OFF Ghost(false)만 실행하며 TimeMode 예약값은 유지
서버 통신 가능 + 시간 설정 ON 기존 Cloud NightModeAgent 진입 조건 유지

코드·검증 기준

항목 결과
기능 커밋 ce363802 · fix SK_28 나이트모드 command sequence
릴리즈 기준 c615ac96 · tag v1.20.05
Resolver unit test 20/20 PASS
assembleDebugAndroidTest PASS
Release APK versionName=1.20.05, versionCode=124, platform 인증서 확인
최종 실기기 발화 검증 별도 수행 필요

실제 구현은 기존 NightModeDecisionResolver의 상태 분기와 명령 목록을 최소 수정한 것이다.

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date