릴리즈 노트
Mapply의 새로운 기능과 개선사항을 확인해보세요.
버전 1.0.9
최신새로운 기능
- 링크 처리 시스템: 텍스트 내 URL을 자동으로 감지하여 클릭 가능한 링크 이모지(🔗)로 변환하는 기능이 추가되었습니다.
- 협업 커서 개선: 화면 밖 협업자를 위한 테두리 방향 표시자와 실시간 협업자 위치 추적 기능이 추가되었습니다.
- 노드 균등 간격 배치 기능: Shift + 방향키로 선택된 노드들을 균등한 간격으로 배치할 수 있는 기능이 추가되었습니다.
- 연결선 타입 아이콘 개선: 연결선 타입 버튼에 커스텀 아이콘을 적용하여 가독성과 사용성을 향상시켰습니다.
- 태그 처리 로직 개선: 태그 처리 로직이 완전히 개선되어 더 안정적이고 정확한 태그 기능을 제공합니다.
개선사항
- 노드 텍스트 입력 방식 개선: 텍스트 입력 시 노드가 중앙 기준에서 왼쪽 기준으로 늘어나도록 변경하여 더 직관적인 편집 경험을 제공합니다.
- 형제 노드 생성 위치 최적화: 엔터키로 생성되는 형제 노드의 위치를 정확히 아래로 배치되도록 조정했습니다.
- 탭키 노드 생성 거리 조정: 탭키로 자식 노드를 생성할 때 부모 노드 크기를 고려한 적절한 간격으로 배치되도록 개선했습니다.
- 균등 간격 배치 기능 개선: 노드 크기를 고려하여 더 정확한 균등 간격 배치가 가능하도록 개선했습니다.
- 권한 시스템 단순화: 모든 협업자를 편집 권한으로 고정하고 권한 선택 UI를 제거하여 사용성을 개선했습니다.
- 협업자 초대 시스템 개선: 이메일 기반 초대 시스템으로 통일하고 UI/UX를 개선했습니다.
- Firebase SDK 업그레이드: v9.23.0으로 업그레이드하고 Chart.js 중복 초기화 문제를 해결했습니다.
- 로그인/회원가입 성능 최적화: 백그라운드 처리, 타임아웃 추가, 불필요한 지연을 제거하여 성능을 향상시켰습니다.
- 매크록 노드의 다중 선택 및 드래그 기능: Command키를 이용한 다중 선택과 영역 선택 기능을 추가했습니다.
- 노드 자동 줄바꿈 처리: 노드 텍스트가 길어질 때 자동으로 줄바꿈이 적용되도록 개선했습니다.
버그 수정
- JavaScript 오류 수정: collaboration-cursor.js에서 undefined 객체 접근을 방지하는 안전장치를 추가했습니다.
- Firestore 사용자 프로필 업데이트: 프로필 편집 시 users 컬렉션의 displayName 필드가 정확히 업데이트되도록 개선했습니다.
- 로그인 체크박스 참조 오류: rememberMe 체크박스 element 참조 오류를 수정하고 null 안전성 검사를 추가했습니다.
- 링크 클릭 영역 정확도 개선: 링크 이모지의 클릭 영역 계산을 정확히 수정하여 클릭 가능성을 향상시켰습니다.
- Firestore 내부 에러 수정: 중요한 Firestore 내부 assertion 에러를 해결하고 연결 안정성을 향상시켰습니다.
- 네트워크 재연결 문제 해결: 네트워크 재연결 및 Firestore 오류 복구 기능을 개선했습니다.
- 다중 선택 해제 로직 개선: Ctrl/Cmd+클릭으로 개별 노드 선택해제 시 드래그 처리를 올바르게 개선했습니다.
- 노드 정렬 기준점 수정: 노드 중심이 아닌 실제 가장자리(edge)를 기준으로 정렬하도록 수정했습니다.
- Firestore Target ID 중복 오류 해결: 'Target ID already exists' 오류를 해결하여 더 안정적인 데이터 동기화를 제공합니다.
버전 1.0.8
새로운 기능
- 완전 독립형 데모 페이지: 로그인 없이 사용할 수 있는 완전히 독립된 데모 환경이 구현되었습니다 (demo.html).
- 가이드 페이지 추가: 홈페이지에서 접근 가능한 포괄적인 사용자 가이드가 추가되었습니다.
- 폴더 기능 완전 구현: 마인드맵을 폴더별로 정리할 수 있는 완전한 폴더 관리 시스템이 구현되었습니다.
- 마인드맵 공유 시스템: 공개/비공개 설정과 권한 관리를 통한 마인드맵 공유 기능이 구현되었습니다.
- 이미지 노드 지원: Firebase Storage 연동을 통한 이미지 노드 업로드 및 관리 기능이 추가되었습니다.
- 델타 저장 시스템: 변경사항만 저장하는 효율적인 델타 기반 저장 시스템이 구현되었습니다.
개선사항
- 테마 시스템 완전 개편: 라이트/다크 모드를 데모와 메인 앱 모두에서 자유롭게 선택할 수 있게 되었습니다.
- 아키텍처 분리 및 보안 강화: 로그인 환경과 데모 환경의 데이터 저장 방식을 완전히 분리하여 보안을 강화했습니다.
- 폴더 UI/UX 대폭 개선: 내 마인드맵 페이지의 폴더 관리 UI가 완전히 새롭게 디자인되었습니다.
- 트랙패드 줌 경험 개선: 맥북 트랙패드를 사용한 줌 인/아웃 경험이 향상되었습니다.
- 통일된 디자인 시스템: 가이드 페이지와 내 마인드맵 페이지의 사이드바 디자인이 통일되었습니다.
- 성능 최적화: 백그라운드 델타 적용 시스템과 즉시 동기화 시스템으로 성능이 향상되었습니다.
- 사용자 설정 관리: Firebase와 로컬 스토리지 동기화를 통한 설정 저장 및 검증 로직이 개선되었습니다.
- 메뉴 접근성 향상: 홈페이지에 가이드와 릴리즈 노트 메뉴가 추가되어 접근성이 향상되었습니다.
버그 수정
- 테마 변경 오류 수정: 정의되지 않은 함수로 인한 테마 변경 실패 문제를 해결했습니다.
- 데모 페이지 독립성 확보: 모든 서버 의존성과 인증 로직을 제거하여 완전한 독립형 데모를 구현했습니다.
- 릴리즈 노트 페이지의 HTML 구조 및 버전 번호 순서가 정리되었습니다.
- 태그 줄바꿈 처리 및 체크박스-태그 연동이 개선되었습니다.
- 레거시 사용자 상호작용 대기 함수가 제거되고 즉시 동기화 시스템으로 대체되었습니다.
- Firebase Storage 규칙 및 이미지 업로드 로직이 최적화되었습니다.
- 공유 마인드맵 방문 기록 저장 로직이 개선되었습니다.
버전 1.0.7
새로운 기능
- 색상 선택기에 다양한 색상 옵션이 추가되고 기존 색상이 정리되었습니다.
- S키를 통한 이모지 스티커 메뉴 표시 및 이모지 스티커 생성 로직이 구현되었습니다.
- 우클릭 더블클릭으로 포스트잇 생성 및 스크롤 처리 기능이 추가되었습니다.
- 노드 정렬을 위한 스냅 버튼 UI 및 초기 상태 설정이 구현되었습니다.
- 뷰포트 저장 및 복원 기능으로 데이터 import 후 뷰포트 위치가 복원됩니다.
- 연결선의 굵기를 설정할 수 있는 기능이 추가되었습니다.
- 포스트잇 색상 메뉴 구현 및 마지막 사용 색상 저장 기능이 추가되었습니다.
개선사항
- 최근 사용 색상을 표시하고 관리하는 로직이 구현되어 색상 선택 UI가 개선되었습니다.
- 연결선 색상 설정 로직에 마인드맵 초기화 체크 및 선택된 연결선 색상 변경 기능이 추가되었습니다.
- 실시간 협업 리스너에서 신규 델타만 감지하도록 수정하여 성능이 개선되었습니다.
- 권한 캐시 기간 연장 및 협업자 상태 리스너가 최적화되었습니다.
- 연결선 판단 로직에서 x축 거리 기준으로 좌우 및 상하 연결 결정 방식이 수정되었습니다.
- 빈번한 디버깅 로그를 주석 처리하여 성능이 개선되었습니다.
버그 수정
- 드래그된 노드에서 이모지 스티커와 포스트잇을 드롭 타겟에서 제외하는 처리가 추가되었습니다.
- 키 입력 이벤트 리스너에서 불필요한 'keypress' 이벤트를 제거했습니다.
- 키보드 이벤트 처리 개선 및 포스트잇 노드 크기 고정 기능이 추가되었습니다.
- 포스트잇 기능에서 하이라이트 상태를 고려한 모양 및 텍스트 처리 로직이 수정되었습니다.
- 화살표 방향 변경 시 델타 저장 기능 및 수정된 연결선 감지 로직이 구현되었습니다.
버전 1.0.6
새로운 기능
- 배경 그리드 및 색상 설정 기능으로 그리드 타입과 배경색 선택 UI가 구현되었습니다.
- 노드 클릭 시 체크박스 토글 및 렌더링 로직이 구현되고 체크박스 상태 저장 기능이 추가되었습니다.
- 노드 우클릭 시 하이라이트 토글 기능 및 라운드 테두리 크기 조정이 추가되었습니다.
- 사용자 프로필 편집 모달 및 사용자 이름 업데이트 기능이 구현되었습니다.
- 다중 선택 기능이 개선되어 드래그 상태 추적 및 선택 영역 그리기 조건이 수정되었습니다.
- 캔버스 드래그 상태 추가 및 애니메이션 최적화 기능이 구현되었습니다.
개선사항
- 사용자 권한 확인 기능에 캐싱이 적용되고 Firestore 할당량 절약을 위한 디바운스 및 최소 저장 간격이 조정되었습니다.
- 애니메이션 루프를 120 프레임으로 변환하여 애니메이션 활성화 시 버벅임 문제가 해결되었습니다.
- 토스트 메시지 위치가 하단바에서 윗쪽으로 변경되어 디자인이 개선되었습니다.
- 기본 권한이 'viewer'에서 'editor'로 변경되고 선택 UI에서 기본값으로 설정되었습니다.
- 테마 기본값이 'dark'에서 'light'로 변경되고 테마 적용 로직이 개선되었습니다.
- 다중 선택 기능에서 선택 끝 지점 처리 및 하이라이트 애니메이션으로 인한 플리커 현상이 제거되었습니다.
버그 수정
- Firebase Storage 규칙을 수정하여 마인드맵 이미지 접근 및 삭제 권한을 조정하고 이미지 업로드 로직을 최적화했습니다.
- 불필요한 스케일링 스타일을 제거하여 렌더링 성능을 개선했습니다.
- 마인드맵, 공유, 새 마인드맵 생성 모달 닫기 기능이 구현되었습니다.
- 공유 마인드맵 기능에서 사용자 권한 체크 및 초대 시스템이 추가되고 이미지 로드 방식이 최적화되었습니다.
버전 1.0.5
새로운 기능
- 델타 기반 마인드맵 저장 시스템이 추가되어 Firestore에 델타 저장 기능이 구현되었습니다.
- 공유 마인드맵 기능이 추가되어 공유 설정 UI 및 로직이 구현되고 공개 마인드맵 방문 기록 저장 기능이 추가되었습니다.
- 연결선 텍스트 편집 기능이 추가되어 연결선 라벨 저장/복원 로직 및 연결선 선택 시 하이라이트 기능이 구현되었습니다.
- 마인드맵 이미지 노드 처리 개선으로 비동기 이미지 로드 및 Firestore 저장 기능이 추가되었습니다.
- 연결선 노드 추가 및 선택 상태 업데이트 로깅이 개선되어 부모 노드 및 형제 노드 추가 시 디버깅 로그가 추가되었습니다.
개선사항
- 실시간 협업 및 자동 저장 시스템이 개선되어 타임스탬프 기반 중복 업데이트 방지 및 디바운싱 저장 로직이 추가되었습니다.
- 마인드맵 델타 저장 및 로드 시스템이 개선되어 델타 자동 삭제 로직 및 마인드맵 ID 기반 로드 최적화가 추가되었습니다.
- 연결선 텍스트 위치 계산 기능이 추가되어 직각 및 일반 연결선에 대한 텍스트 위치 계산 로직이 구현되었습니다.
- 이미지 노드 검색 로직이 구현되어 효율적인 이미지 노드 관리가 가능해졌습니다.
버그 수정
- Firestore 인덱스 추가 및 메타데이터 접근 규칙을 설정하고 대용량 마인드맵 분할 기능을 구현했습니다.
- 연결선 텍스트 편집 기능에서 현대적인 remove() 메서드 사용 및 구형 브라우저 호환성을 추가했습니다.
- 연결선 텍스트 편집에서 중복 호출 방지 로직 및 Enter/Escape 키 이벤트 처리가 개선되었습니다.
- 연결선 텍스트 편집에서 초기 문자 설정을 제거하고 IME 조합 상태 추적이 추가되었습니다.
버전 1.0.4
핵심 기능
- 노드 모양 선택 UI 추가 및 기본 노드 모양 설정 기능이 구현되었습니다.
- 우측 메뉴 UI가 바 형태로 수정되어 사용성이 개선되었습니다.
- 핀치 줌 기능 추가 및 더블 클릭 이벤트 처리가 개선되었습니다.
- 텍스트 중앙 정렬 및 내용물 중앙 정렬 기능이 추가되었습니다.
- 마인드맵 제목 편집 기능 및 스타일이 개선되었습니다.
- 선 굵기 설정 기능이 추가되고 UI가 업데이트되었습니다.
- 클립보드 붙여넣기 기능 개선으로 JSON 데이터 및 이미지 처리 로직이 추가되었습니다.
- PDF, JPG, CSV 형식으로 마인드맵 내보내기 모달 및 품질 설정 기능이 구현되었습니다.
개선사항
- 다크모드 및 사용자 설정 관리 기능으로 테마 저장 및 불러오기 로직이 구현되었습니다.
- DPI 스케일링을 고려한 캔버스 중심점 계산 로직이 추가되었습니다.
- 노드 선택 로직이 개선되어 무한 재귀 방지 및 다중 선택 유지 기능이 추가되었습니다.
- 줌 기능 단축키가 추가되고 스케일 제한이 확장되었습니다.
- 검색바 활성화 시 키 입력 차단 및 노드 편집 방지 기능이 추가되었습니다.
- 캔버스 스케일링 로직으로 전체 요소 크기 조정 및 여백, 사이드바, 모달 높이 보정이 구현되었습니다.
버전 1.0.3
새로운 기능
- 노드 텍스트 파싱 및 접기 기능이 추가되었습니다.
- 협업 마우스 커서 기능이 추가되어 실시간 협업이 강화되었습니다.
- 협업 커서 초기화 기능 및 마인드맵 ID 추출 함수가 구현되었습니다.
- Firebase Storage 규칙 및 이미지 업로드 기능이 추가되었습니다.
- 이미지 분할 저장 기능이 추가되어 대용량 이미지 처리가 개선되었습니다.
개선사항
- 접기 기능 관련 속성이 추가되고 실시간 업데이트 시 접기 상태가 보존됩니다.
- 고해상도 DPI 조정 및 텍스트 렌더링 품질이 개선되었습니다.
- 텍스트 구분자 스타일이 추가되고 불필요한 구분자가 제거되었습니다.
버그 수정
- 공개 마인드맵 저장 오류를 수정했습니다.
- 배경 및 표면 색상 문제를 수정했습니다.
- Firebase 데이터베이스 호환성 문제를 해결했습니다.
버전 1.0.2
새로운 기능
- Alt+클릭으로 노드 연결 및 연결 해제 기능이 추가되었습니다.
- 수동 화살표 자동 저장 기능이 추가되었습니다.
- 화살표 각도 보완 기능이 구현되었습니다.
- 이미지 업로드 기능이 복구되고 개선되었습니다.
버그 수정
- 탭키, 엔터키 관련 오류를 수정했습니다.
- Firebase 설정 및 타겟, 호스팅 정보를 업데이트했습니다.
버전 1.0.1
새로운 기능
- 실시간 협업 기능이 추가되고 UI가 개선되었습니다.
- 마인드맵 공유 설정을 위한 토글 스위치가 추가되었습니다.
- 협업자 목록 표시를 위한 스타일 및 기능이 구현되었습니다.
- Firebase 실시간 협업 기능이 구현되었습니다.
- 마인드맵 메타데이터 업데이트 시 공개 여부가 반영됩니다.
개선사항
- 협업 뷰포인트 동기화 문제가 처리되고 로고가 변경되었습니다.
- Firebase 설정 및 리다이렉트 경로가 수정되어 마인드맵 페이지가 'my-mindmaps.html'로 변경되었습니다.
- 회원가입 및 로그인 페이지 로고가 수정되었습니다.
버그 수정
- 마인드맵 수정 기능에서 설명 필드 업데이트가 제거되어 성능이 개선되었습니다.
버전 1.0.0
초기 릴리즈새로운 기능
- 마인드맵 생성 및 편집 기본 기능
- 노드 드래그 앤 드롭
- 실시간 협업 기능
- Firebase 연동
- 사용자 인증 시스템