From c1a46fd90855bc625c8ecfbf7a4b4da27d563447 Mon Sep 17 00:00:00 2001 From: hyowons Date: Thu, 11 Jun 2026 10:05:37 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B3=B4=EC=9C=A0=EC=A2=85=EB=AA=A9=20?= =?UTF-8?q?=EB=93=B1=EB=9D=BD=EB=A5=A0=20=EA=B0=80=EB=81=94=20=EC=95=88=20?= =?UTF-8?q?=EB=B3=B4=EC=9D=B4=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20=E2=80=94=20?= =?UTF-8?q?rt-daypct=20span=20=ED=95=AD=EC=83=81=20=EB=A0=8C=EB=8D=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존 조건(d_pct_val != 0)으로 등락률이 0/None이면 .rt-daypct span을 아예 안 그렸는데, WS paintDay는 span이 있을 때만 갱신(if(sp))이라 한 번 0으로 렌더되면 실시간으로도 복구 안 돼 사라졌다. show_day_change 동안 항상 span을 그리도록 변경(값 0/None은 0.00% neutral) → WS가 라이브로 채움. Co-Authored-By: Claude Opus 4.8 --- agents/stock/workspace/scripts/behive_web.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py index af6a01f..89ad04a 100644 --- a/agents/stock/workspace/scripts/behive_web.py +++ b/agents/stock/workspace/scripts/behive_web.py @@ -2692,10 +2692,13 @@ def _render_holding_row(r: dict, total_value: int, show_day_change: bool = False # raw pred_close_krx 는 kt00018 결함으로 정규장 시작 전·마감 후 cur_price 와 같은 값이 들어와 # 등락률이 항상 0% 으로 깔리는 문제가 있어 사용 X. d_pct_val = r.get('day_change_pct') - if show_day_change and isinstance(d_pct_val, (int, float)) and d_pct_val != 0: - d_sign = '+' if d_pct_val >= 0 else '' - d_cls = 'day-pct up' if d_pct_val > 0 else 'day-pct down' - price_html = f'{mark_html}{price:,}{d_sign}{d_pct_val:.2f}%' + # show_day_change(시간대 게이트) 동안엔 항상 rt-daypct span 을 그린다 — 값이 0/None이어도. + # span 이 없으면 WS paintDay(if(sp)) 가 실시간으로 못 채워, 한 번 0으로 렌더되면 등락률이 사라진 채 복구 안 됨. + if show_day_change: + _dp = d_pct_val if isinstance(d_pct_val, (int, float)) else 0.0 + d_sign = '+' if _dp >= 0 else '' + d_cls = 'day-pct up' if _dp > 0 else ('day-pct down' if _dp < 0 else 'day-pct neutral') + price_html = f'{mark_html}{price:,}{d_sign}{_dp:.2f}%' else: price_html = f'{mark_html}{price:,}'