세션 바에 현재 컨텍스트 토큰 추정치 / 모델 최대값 표시.
글자 수 ÷ 4 로 토큰 추정, 50% 이하 초록 / 50~80% 노랑 / 80%+ 빨강 색상 진행 바.
메시지 전송·응답 완료 시 즉시 업데이트.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 코드 에디터 저장: 서버 API → File System Access API로 전환
- codeSaveFileById에 저장 성공/실패/폴더미선택 피드백 메시지 추가
- 프로젝트 생성 형식: project-files JSON → @@FILE/@@ENDFILE 델리미터로 변경
- JSON 이스케이프 오류(Unterminated string) 근본 해결
- 계획 단계 시스템 프롬프트 강화: JSON 출력 절대 금지 명시
- 프로젝트 생성 세션 ID: 계획 세션 재사용 (서버가 history 파라미터 무시하므로)
- _projFileCreated async화: 파일 쓰기 완료 후 사이드바 리프레시
- 헤더/드롭다운 폴더명 표시 동적 업데이트 (workspace/code/ 하드코딩 제거)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The 💻 코드 sidebar tab now opens a dedicated code.html page in a new tab,
mirroring how the slide wizard opens pptx-wizard.html.
- Add web-ui/code.html: standalone code editor page reusing styles.css and
the same CodeMirror/xterm/Monaco head as the main app.
- Add web-ui/code.js: self-contained code-view logic — inlined shared helpers
(api/authHeaders/escHtml/getCookie) + the extracted code-editor block +
a bootstrap that inits Monaco and loads models/dir. It mirrors the code
block in app.js (kept duplicated so the main app stays untouched).
- index.html: tab-code now window.open('/code.html'). The in-page code mode
(top mode button) is unchanged, so chat→editor live streaming still works.
Verified with Playwright: Monaco initializes, editor/sidebar/toolbar/Coder AI
render, no JS errors.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>