Releases: project820/notepad-ai
Notepad AI v0.6.1
Notepad AI v0.6.1 — 기본 .md 편집기 설정 정직하게 동작
.md 더블클릭 시 Xcode가 열리던 문제를 파고들었습니다.
왜 안 됐나
- 기존 버튼은
lsregister만 실행 → 앱을 "다음으로 열기" 후보에만 등록할 뿐, 기본 앱을 바꾸지 않았습니다. macOS는 마크다운 타입 소유자(Xcode)를 계속 기본으로 사용했습니다. - 구형 Launch Services API는 macOS 26에서 성공값(0)을 반환하면서도 실제로는 아무 동작도 안 하는 상태였습니다.
- 최신 API(
NSWorkspace.setDefaultApplication)는 CLI/비-GUI 컨텍스트에서의 쓰기를 macOS가 거부합니다(서명 여부와 무관 — 서명된 TextEdit으로 설정해도 안 됨). 이는 macOS의 보안 제약입니다.
이번 변경
- 버튼이 등록 후 실제 기본 앱을 읽어 확인합니다. 시스템이 자동 변경을 허용하면 한 번 클릭으로 끝납니다.
- 허용하지 않으면(현재 미서명 빌드 + macOS 26), Finder에서 한 번만 하는 정확한 단계를 그 자리에서 안내합니다: .md 우클릭 → 정보 가져오기 → "다음으로 열기" → Notepad AI → "모두 변경". 한 번 하면 계속 유지됩니다.
- 안내 문구를 정직하게 정정했습니다(이전엔 "자동으로 안 된다" 또는 "Finder 불필요"라고 잘못 안내).
진짜 완전한 원클릭은 (1) 앱 코드서명 또는 (2) 네이티브 모듈로 앱 내부에서 직접 호출하는 방식이 필요하며, 둘 다 별도 작업입니다.
검증: 타입체크 0 · 테스트 2940 · i18n 5개 언어 패리티 · 빌드 그린 · 설치본에서 동작 확인.
Notepad AI v0.6.0
Notepad AI v0.6.0 — 설정 정리 & 문체 한국어화
자주 조정하는 항목을 설정 모달에서 꺼내 실제 쓰는 자리로 옮겼습니다.
- 문체(난이도·자연스러움) → AI 채팅 패널. 채팅 모드 줄의 톱니 버튼으로 펼칩니다. 글쓰기 보조 설정이라 채팅 옆이 자연스럽습니다.
- 표시(자간·장평·줄간격) → 텍스트 크기(Aa) 메뉴. 글자 크기 선택과 한 곳에 모았고, 즉시 반영됩니다.
- 설정 모달은 이제 AI 제공자 + 기본 .md 편집기만 남아 단순해졌습니다.
- 난이도·자연스러움 한국어/일본어/중국어 번역. 그동안 영어로만 보이던 항목을, 언어 전환 시 함께 바뀌도록 했습니다(초등생…전문직, 끄기…강하게).
검증: 타입체크 0 · 테스트 2939 통과 · 빌드 그린 · 라이브 확인(스테퍼 즉시 반영, 한국어 표시).
Notepad AI v0.5.3
Notepad AI v0.5.3 — 표면 감사 마무리
렌더러 감사 후속 수정입니다.
- HTML 내보내기 중복 제출 방지. 디자인/톤 단계에서 빠르게 두 번 눌러도 두 번째 생성이 첫 작업을 고아로 만들지 않습니다.
- 표 셀 강조 서식 정상화. 굵게/기울임 안쪽에 공백이 있어
** 텍스트 **로 저장돼 별표가 그대로 보이던 문제를, 마커가 글자에 붙도록(**텍스트**) 수정.
검증: 타입체크 0 · 테스트 2939 통과 · 빌드 그린.
Notepad AI v0.5.2
Notepad AI v0.5.2 — 채팅·HTML 내보내기 다듬기
렌더러 표면(채팅·내보내기·표) 감사에서 나온 실사용 개선입니다.
- AI 답변이 에러로 사라지지 않습니다. 스트리밍 중 일시적 오류가 나도 그때까지 받은 내용을 유지하고, 오류는 별도 안내로 표시하며, 복사/삽입 버튼을 그대로 쓸 수 있습니다(기존엔 통째로 오류 텍스트로 덮였음).
- HTML 내보내기 취소 시 백그라운드 생성 중단. 생성 도중 취소하면 진행 중이던 AI 요청을 즉시 중단합니다(리소스 낭비 방지).
검증: 타입체크 0 · 테스트 2938 통과 · 빌드 그린.
Notepad AI v0.5.1
Notepad AI v0.5.1 — v0.5.0 회귀 수정
v0.5.0 직후 자체 리뷰에서 발견한 3건을 바로 고친 패치입니다.
- 경로 검증 강화(HIGH). 파일 열기/저장 경로에서
..(상위 디렉터리 탈출) 세그먼트를 거부합니다. - 줄맞춤 스페이서 크래시 방지(HIGH). 줄을 합치는 편집(예: 줄바꿈 삭제) 시 정렬 스페이서가 줄 시작에서 벗어나면 CodeMirror가 예외를 던질 수 있던 문제를, 매핑 후 줄 시작이 아닌 스페이서를 걸러내도록 수정.
- 로그인 창 리스너 누수(MEDIUM). 로그인 창의 IPC 리스너가 해제되지 않아 재시도 시 중복 실행되던 문제 수정(닫을 때 구독 해제).
검증: 타입체크 0 · 테스트 2937 통과 · 빌드 그린. 설치는 아래 DMG로(install-guide.html 참고).
Notepad AI v0.5.0
Notepad AI v0.5.0 — 완성도 끌어올리기 (정렬/동기화 재설계 · 보안 · 접근성 · 디자인)
사용자 의견을 반영해 원본↔프리뷰 정렬과 스크롤 동기화를 새로 만들고, 앱 전반을 프로덕션 수준으로 다듬었습니다.
고쳐진 것 — 정렬 & 스크롤 동기화
- 창 크기에 따라 틀어지던 문제 해결. 서로 싸우던 두 개의 스크롤 동기화(1:1 미러 + 전체높이 비율)를 없애고, VS Code/Joplin 방식의 블록 단위 보간(anchor interpolation) 하나로 통일했습니다. 블록 경계마다 정확히 맞고 창 크기와 무관합니다.
- 타이핑할 때 정렬 칸이 순간적으로 튀던 현상 제거(편집 시 스페이서가 텍스트와 함께 이동).
- 스크롤 동기화 떨림(피드백 루프) 제거.
- 긴 문서 전체로 동기화 범위 확대.
더 튼튼하게 (보안·안정성)
- 파일 열기/저장 IPC 경로 검증 강화(경로 탈출 차단), 파일 I/O 오류를 안전하게 처리.
- 창을 닫으면 진행 중이던 AI 스트림을 정리(리소스 누수 방지).
- 로컬 모델만 있고 서버가 꺼져 있을 때 "로그인됨"으로 잘못 표시되던 문제 수정.
접근성 & 디자인
- 키보드 포커스 링(주황) 전역 적용, 모달 포커스 트랩(Tab 순환·Esc 닫기), 드롭다운 화살표/Enter 키 조작, 탭 ARIA 정리.
- 디자인 토큰 정합성(버튼 알약 모양, 다크모드 오버레이 보정),
prefers-reduced-motion지원. - 로그인 창 한국어화(그동안 영어로 표시되던 부분).
성능
- 큰 문서/붙여넣기 시 프리뷰 재렌더를 프레임 단위로 합쳐 타이핑 지연 감소.
검증: 타입체크 0 · 단위 테스트 2935 통과 · 빌드 그린 · 라이브 스모크 확인. 설치는 아래 DMG를 받아 Notepad AI.app을 응용 프로그램 폴더로 옮기세요(install-guide.html 참고).
Notepad AI v0.4.1
Notepad AI v0.4.1
Fixed
- 언어 변경이 즉시 반영됩니다. 이전에는 언어를 바꿔도 화면이 거의 그대로였습니다(아이콘 UI라 툴팁만 바뀜). 이제 언어를 고르면 "재시작이 필요합니다. 지금 재시작할까요?" 확인 팝업이 선택한 언어로 뜨고, 확인하면 앱이 자동으로 다시 시작되어 모든 화면이 새 언어로 표시됩니다.
- 재시작 전에 세션을 저장하므로 열려 있던 문서와 저장 안 한 내용이 그대로 복원됩니다.
설치: 아래 DMG를 받아 Notepad AI.app을 응용 프로그램 폴더로 끌어다 놓으세요. 자세한 안내는 install-guide.html 참고.
Notepad AI v0.4.0
Notepad AI v0.4.0
로컬 모델 (Ollama + LM Studio)
- 로컬 LLM을 비용 부담 없이 사용. Ollama / LM Studio 서버를 켜두면 설치/로드된 모델만 자동으로 모델 목록에 나타납니다(기본 포트 자동 감지, 설정에서 URL 변경 가능, localhost 전용).
- 메인 채팅 · Block AI · HTML 내보내기 모든 모델 선택에 로컬 모델이 등장하고, 각 모델의 컨텍스트 크기 배지가 함께 표시됩니다. HTML 생성도 로컬로 가능합니다(작은 모델은 결과가 약할 수 있다는 안내 포함).
- 로컬 서버가 꺼져 있거나 느려도 클라우드 모델 선택은 전혀 느려지지 않습니다(비차단 설계).
사이드 패널 파일 탐색기
- 좌측 패널이 개요 / 파일 2탭이 되었습니다(개요·각주는 그대로).
- 파일 탭은 연 문서의 폴더를 기준으로 한 파일 트리입니다. 모든 파일을 보여주되 .git / node_modules / 숨김파일은 가리고, 열 수 있는 문서는 아이콘과 색으로 구분됩니다. 폴더 열기 버튼·필터·새로고침 제공.
- 문서를 클릭하면 현재 창에서 열립니다(저장 안 한 변경이 있으면 저장 확인, 이미 다른 창이 연 파일이면 그 창으로 이동). 열 수 없는 파일은 시스템 기본 앱으로 엽니다.
모든 변경은 표시/추가 기능이며 Markdown 원본과 보안 경계(html:false)는 그대로입니다.
Apple Silicon (arm64). 미서명 빌드: 첫 실행 시 우클릭 → 열기.
Notepad AI v0.3.6
Notepad AI v0.3.6
Model picker shows context window size
- The HTML-export model picker now labels each model with its context window, so large-context (1M) models stand out at a glance — e.g.
GPT-5.4 · 1M,Gemini 2.5 Pro · 1MvsGPT-5.4 mini · 400K,Claude Sonnet 4.5 · 200K. - The HTML source-size budget now follows the selected model's actual context window (a 1M model accepts far more source than a 128K one), replacing the old flat per-provider budget.
Apple Silicon (arm64). Unsigned build: right-click -> Open on first launch.
Notepad AI v0.3.5
Notepad AI v0.3.5
HTML export: pick a model just for HTML
- The HTML-export wizard now has its own model picker (on the tone/style step). Choose any provider/model for HTML generation independently of your main chat model — e.g. a big-context model (GPT-5.x) for large documents, or a light one for quick jobs.
- Your HTML-model choice is remembered, and the source-size budget follows the model's context window (ChatGPT/GPT-5.x budget raised to ~800K characters).
Rendering fix
- Removed subscript (
~x~): in Korean prose~means a range / "approximately" (e.g.50~55%), which was being misrendered as a subscript in the preview. The tilde now stays literal. Highlight (==), superscript (^x^), emoji, definition lists, and header ids are unchanged. (Your Markdown source was never affected — this was a preview-only fix.)
Apple Silicon (arm64). Unsigned build: right-click -> Open on first launch.