- 현재가 행: AL(통합) 현재가를 KRX·NXT 양 컬럼에 공통 표시(동일가).
등락률만 각 시장 전일종가 대비로 분리 → 가격 같고 % 다름.
- 당일종가 행 신설: 그 시장이 마감된 뒤에만(KRX 15:30·NXT 20:00 이후)
해당 시장 종가+등락 표시, 장중엔 '·'(미확정).
- _render_ohlc_mini_dual에 al_price·krx_closed·nxt_closed 파라미터 추가.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
이전 커밋에서 WS 연결 시 보유 가격보정 ka10095 2콜을 "순수 중복"으로 보고
skip했으나, 그 두 콜(KRX/NX)은 보유종목 행의 KRX·NXT 듀얼 OHLC 미니
(r['ohlc_krx']·['ohlc_nxt']) 데이터원이기도 했다. _AL 허브는 거래소별 단일
최신값만 들어 두 컬럼을 동시에 못 주므로 skip 불가 → 게이팅 제거(항상 호출).
관심·감시(단일 OHLC) 허브 충당은 그대로 유효.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
장중 차트의 오늘 값은 foot 라벨만 1초 라이브였고 점 위치는 페치 때만
갱신돼 둘이 어긋나 보였다. WS 틱마다 서버와 동일 스케일로 y를 재계산해
last-dot·live-halo·신고가 마커·라이브 점선 끝점·마지막 pt-dot을 함께 이동.
렌더 범위 밖이면 차트 가장자리로 클램프(다음 페치가 스케일 재계산).
- net-chart-last에 스케일 노출(data-rt-nw-ylo/span/top/ih/x)
- 라이브 점선에 live-seg 클래스로 baseline 점선과 구분
- rt-nw 페인트에 점·선분 이동 로직 추가
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- realtime_hub: 0B/1h 구독을 _AL(통합/SOR)로 전환 → 정규장 KRX + NXT 시간대
NXT 체결을 한 구독으로 수신(수신 시 거래소 접미사 제거 후 bare 저장).
NXT 당일평가손익 실시간 갱신 미동작 근본 수정. 0B 시/고/저(16/17/18) 캡처
- behive_web: WS 연결 시 보유 가격보정 ka10095 2콜 skip(완전 중복),
관심·감시 시세도 허브 메모리 우선 충당(OHLC·마크는 서버 렌더 유지, mark는
exchange 필드로 판정) → 시세성 키움 호출 중복 제거
- VI 배지: 자동갱신 swap 직후 마지막 WS 상태 즉시 재적용(깜빡임 제거),
codesOnPage가 보유행(:held)·영문 6자리 코드도 수집 → 보유종목까지 VI 표시
- 상단바 WS 연결 상태 점(초록/빨강/회색) 추가 + 탭 시 상태 토스트
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
load()에 추가했던 .refresh spinning(빨강) 제거 — 자동갱신마다 빨간 깜빡임 거슬림.
내용은 여전히 클리어 없이 swap. 수동 새로고침(↻)의 빨간 스핀은 manualRefresh가 그대로 유지.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
net-chart-last 라벨을 실시간 순자산으로 갱신(라이브 점일 때만). 순자산 변동분=손익 변동분(baseline·cf 세션중 고정)이라 net/pnl/period 모드 공통 처리.
SVG 점 위치는 새로고침 시(장중 이동 미미·Y재스케일 위험 회피). setOwnerKpis에서 owner별 갱신.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5분 stale 재갱신이 resetShellLook()로 전탭을 스피너로 비우던 것 제거 → 기존 내용 유지한 채 fetch, 완료 시 교체.
로딩 표시는 새로고침(↻) 아이콘 스핀으로만(내용 그대로 보임). 실패 시 기존 내용 유지+에러 토스트.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
JS 폭측정 자동맞춤은 리셋→축소 플래시가 패널 swap/자동갱신마다 깜빡여서 제거.
대신 이름 길이로 글씨크기 클래스(stock-sm 10자+/stock-xs 14자+) 서버 렌더 시 확정 → 깜빡임 없음.
당일거래 마크(★)는 line2 보유 왼쪽으로 이동.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
line1-held .stock 이 잘릴 만하면 폭 실측해 font-size를 0.5px씩 줄여 한 줄에 맞춤(min 10px).
MutationObserver는 행 추가(패널 swap)에만 반응하도록 필터 → 실시간 1초 갱신엔 재측정 안 함(레이아웃 부하 방지). resize도 재맞춤.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
line1=뱃지+당일거래마크(★)+종목명+계좌종류(nowrap, 이름 ellipsis), line2=보유+비중, line3=태그.
미사용 .name-head 제거, .line1-held{flex-wrap:nowrap}로 긴 이름도 1줄 유지.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
line1=뱃지+종목명, line2=보유+비중, line3=태그+계좌종류(작게)로 재배치.
기존 line1에 섞여있던 태그·계좌(·star)를 line3로 분리. 각 줄 flex 단일행이라 3줄 고정.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
line1이 flex-wrap이라 이름 길면 종목명이 다음줄로 내려가 매수등급 배지만 윗줄에 남음(KODEX AI핵심전력설비 등).
배지+이름을 .name-head로 묶고 이름은 min-width:0 ellipsis 처리 → 한 묶음 유지, 길면 잘림.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
line2 flex 자식인 비중 칩 텍스트가 좁은 폭(삼성전자 등 보유수량 자릿수 큰 경우)에서 내부 줄바꿈됨.
.wt-chip{white-space:nowrap}으로 한 덩어리 유지.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
_compute_adr_ma_latest를 확장 윈도우로 — 20일 미만이어도 가용분 평균 숫자 표시('누적 N/20일 평균').
단 과열/침체 태그·색은 20일 채워질 때까지 보류(짧은 윈도우 임계치 해석 부정확). 차트 정책과 일치.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
_compute_adr_ma_series를 확장 윈도우로 — window 미만 구간은 가용한 만큼의 평균으로 1일차부터 점 생성.
누적이 20일 도달하면 정식 trailing-20 이평과 동일(steady-state 불변, 검증됨). 누적 중엔 제목에 '누적 N/20일' 표시.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
보유행 키가 'CODE:held'(메인)·'CODE:held:계좌'(계좌별)·'CODE'(당일매매)로 갈리는데
paint 함수가 [data-row-key=CODE] 정확매칭이라 :held 메인 목록을 놓쳐 현재가·평가손익·등락률이
라이브 갱신 안 됨(당일매매 중복행·관심종목·KPI만 움직여 작동처럼 보임). selByCode로 바 키+접두 키 함께 매칭.
fill_seq 빈파일('') 엣지도 수정 — 첫 체결 reload 누락 방지.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30분 고정 폴링 → 다음 영업일 07:00까지 계산해 자되 6시간 상한.
주말·휴장·연휴 정확히 건너뜀(_next_preopen_dt + _load_holidays). 휴장일 깨우기 48→4회/일.
6h 상한은 날짜계산 오류 시에도 자가교정하는 backstop. 개장 임박(07:00~08:00)은 여전히 60s.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
고정 60s 폴링 → 평일 07:00~08:00(NXT 프리마켓 08:00 임박)만 60s,
그 외 장외(밤·주말·휴장)는 30분. 밤새 무의미한 1분 폴링 제거.
30분 상한은 자가교정용(개장 오버슬립 방지). 휴장·주말은 phase!=closed 라 자동 30분.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
장외·주말·휴장 시 키움 WS 연결 안 함(재연결 폭주·로그 노이즈 방지).
behive_web._market_phase_state() 지연 import 재사용(active=정규장·NXT만 연결).
장 마감되면 수신 루프가 연결 종료 후 대기 모드(60s 폴링), 개장 시 자동 재연결.
판정 실패 시 보수적으로 연결 유지(fail-open).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scripts/git_autopush.sh + ai.openclaw.git-autopush.plist (매일 02:00 KST).
변경 있을 때만 add+commit+push, store 헬퍼로 무인 인증.
CLAUDE.md launchd 섹션에 트리거 기재.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
설정·스크립트·스킬·문서·큐레이션 메모리 추적.
시크릿(credentials/identity)·런타임 상태(state/logs/sessions/sqlite)·
백업(clobbered/bak)·dream 캐시는 .gitignore로 제외.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>