저장 및 동기화 · 현재 Web 앱
텍스트 변경은 즉시 저장됩니다.
로그인 상태에서는 자동으로 동기화됩니다.
JotGrove Web 앱은 Card, Wall 위치, Plan, Task, 설정, AI 검토 데이터와 Reset 진행 상태를 현재 브라우저의 IndexedDB에 기록합니다. 동기화 대상 변경은 영구 outbox 항목과 함께 저장되며, 로그인하고 온라인이면 보통 약 2초 안에 동기화를 시작합니다. 네트워크가 복구되거나 다시 로그인하면 대기 중인 작업도 자동으로 이어집니다.
- 인증된 계정별 즉시 로컬 저장
- 로그인·온라인 상태에서 자동 동기화
- 네트워크 복구 후 영구 outbox 재시도
편집 내용 로컬 저장
- 01즉시 저장
텍스트 변경을 이 브라우저에 바로 기록합니다.
- 02안전하게 대기
같은 트랜잭션에서 작업 ID와 기준 리비전을 영구 outbox에 추가합니다.
- 03자동 동기화
로그인하고 온라인이면 대기 중인 작업을 보통 약 2초 안에 보내기 시작합니다.
- 04자동 재개
오프라인 작업은 대기 상태로 남고 네트워크 복구 또는 재로그인 후 계속 동기화됩니다.
즉시 저장 → 온라인에서 자동 동기화
로컬 우선, 로컬 전용은 아님
로컬 저장 경로 덕분에 네트워크가 끊겨도 일반 텍스트 작업이 원활합니다.
로컬 우선은 변경을 어디에 먼저 기록하는지를 뜻합니다. 모든 기능이 오프라인에서 작동하거나, 동기화된 내용이 한 기기에만 머물거나, 서비스가 종단 간 암호화된다는 뜻은 아닙니다.
- 01이 브라우저에서
- 02계정 분리
- 03동기화 대기열
- 04동시 편집
- 05서버가 필요한 기능
이 브라우저에서
작업 사본은 IndexedDB에 저장됩니다.
Cards, Wall 위치, 계획, 할 일, AI 실행과 결과물, 설정, 동기화 대기열, Reset Your Life 여정은 브라우저 데이터베이스에 저장됩니다. 따라서 일시적으로 네트워크가 끊겨도 텍스트 편집을 계속 사용할 수 있습니다.
- 하나의 트랜잭션으로 내용을 저장하고 동기화 작업을 함께 대기열에 추가
- UUID 기반 기록으로 서버 왕복 없이 로컬에서 생성
- 한 번 정상적으로 방문한 뒤에는 설치형 Web 앱이 캐시된 앱 셸을 오프라인에서 다시 열 수 있지만 비공개 API 데이터는 해당 캐시에 넣지 않음
계정 분리
인증된 계정과 작업 공간마다 별도의 로컬 데이터베이스를 사용합니다.
이메일 인증 후 JotGrove는 원격 내용을 불러오기 전에 검증된 사용자 및 작업 공간 ID로 범위가 정해진 데이터베이스를 선택합니다. 로그아웃해도 해당 계정의 로컬 데이터베이스는 남으므로 나중에 다시 로그인하면 복원할 수 있습니다.
- 새 계정은 설정만 있는 빈 상태로 시작
- 계정 범위가 바뀌면 초기 데이터를 로컬에 쓰기 전에 다시 불러오기
- 기존 계정 분리 전 브라우저 데이터베이스는 자동으로 가져오지 않음
동기화 대기열
오프라인 텍스트는 안전하게 남고, 연결이 복구되면 자동 업로드됩니다.
대기 중인 각 변경 작업은 고정된 작업 ID와 시작 기준 리비전과 함께 IndexedDB에 영구 저장됩니다. 전송 요청은 멱등이므로 이미 승인된 같은 작업을 다시 보내도 의도적으로 중복 생성하지 않습니다. 수신 요청은 순서가 있는 커서로 원격 변경을 브라우저에 가져옵니다.
- 반복된 오프라인 편집은 전송 전에 관련된 최신 스냅샷으로 압축
- 네트워크 복구와 재로그인 모두 대기 중인 동기화를 자동 재개
- 로그인 중인 대기 작업은 보통 약 1.5초 후 전송 예약되며 약 30초마다 안전 확인; 지금 동기화도 계속 사용 가능
동시 편집
현재 Web 동기화에는 사용자가 버전 충돌을 해결하는 절차가 없습니다.
현재 Web 앱은 v1 동기화를 호출합니다. Card, Plan 또는 Task가 오래된 기준 리비전으로 도착해도 서버는 들어온 데이터를 적용하고 리비전을 올린 뒤 merged로 반환합니다. 따라서 나중에 도착한 스냅샷이 충돌 선택 화면을 여는 대신 다른 기기의 더 최근 필드를 덮어쓸 수 있습니다.
- Wall 위치 쓰기는 필드별 시계를 비교할 수 있음
- 대기열은 제한적인 ID 충돌 또는 레코드 없음 상황에서 기준을 다시 맞출 수 있음
- 서버 v2에는 필드 충돌 엔진이 있지만 현재 Web 클라이언트는 그 엔드포인트를 사용하지 않음
서버가 필요한 기능
미디어, 전사, AI, 외부 연결에는 다른 네트워크 경계가 적용됩니다.
이미지 바이트는 IndexedDB에 저장되지 않으며 오프라인 업로드 또는 재시도 대기열도 없습니다. 업로드가 실패하면 텍스트 Card만 남을 수 있고, 성공한 이미지는 인증된 첨부파일 엔드포인트를 사용합니다. 음성을 텍스트로 바꿀 때 브라우저는 오디오를 JotGrove 서버로 보내고 서버가 설정된 전사 제공업체로 전달합니다. 저장되는 것은 편집 가능한 전사문이며 재생 가능한 음성 메모가 아닙니다. AI, 링크 서비스, 인증, 계정 동기화에도 서버가 필요합니다.
- 첨부파일 바이트는 인증된 서버 저장소 사용
- MCP 클라이언트는 서버에 도달한 최신 데이터만 읽을 수 있음
- 외부 클라이언트에 방금 편집한 내용을 묻기 전에 지금 동기화 사용
상태를 그대로 읽기
로컬, 대기 중, 동기화됨은 서로 다른 상태입니다.
인터페이스는 이 브라우저에 아직 계정으로 전송되지 않은 작업이 있는지 알려 줍니다. 데이터를 지우거나 다른 곳에서 MCP를 사용하기 전에 이 차이를 확인하세요.
- 01
로컬 우선은 종단 간 암호화를 뜻하지 않음
- 02
현재 제품은 협업 CRDT 편집이 없는 개인 작업 공간
- 03
현재 Web v1 동기화는 동시 변경 내용을 merged로 받아들일 수 있으며 사용자용 버전 병합 화면이 없음
온라인에서 자동 동기화
연결이 끊겨도 계속 기록하세요.
텍스트는 영구 outbox에 남고 네트워크 복구 또는 재로그인 후 자동으로 업로드됩니다. 방금 편집한 내용을 다른 세션이나 MCP 클라이언트에서 즉시 확인해야 할 때만 지금 동기화로 상태를 확인하세요.
JotGrove 열기