feat: add local-first Supabase account sync and template community - #84
Open
Turtle-Hwan wants to merge 14 commits into
Open
feat: add local-first Supabase account sync and template community#84Turtle-Hwan wants to merge 14 commits into
Turtle-Hwan wants to merge 14 commits into
Conversation
Turtle-Hwan
force-pushed
the
feat/cloudflare-account-sync
branch
from
August 23, 2026 13:55
b49f2cc to
9b86056
Compare
Turtle-Hwan
marked this pull request as ready for review
August 23, 2026 13:56
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Turtle-Hwan
force-pushed
the
feat/cloudflare-account-sync
branch
2 times, most recently
from
August 27, 2026 04:02
9c9cbfe to
b7560dc
Compare
Turtle-Hwan
force-pushed
the
feat/cloudflare-account-sync
branch
from
August 30, 2026 17:02
a5d968c to
f695f6a
Compare
Turtle-Hwan
force-pushed
the
feat/cloudflare-account-sync
branch
from
August 31, 2026 05:29
31965c5 to
752a2ac
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
목적
LinKU의 템플릿을 IndexedDB에 먼저 저장하고, 선택적인 Google 로그인으로 여러 기기 동기화와 템플릿 커뮤니티를 제공합니다. Supabase 장애나 미설정 상태에서도 로컬 생성, 편집, 적용, 백업, 복원은 계속 동작합니다.
포함된 변경
기존 backend 기능 대응
기존 frontend가 호출하지 않던 독립 icon rename/delete endpoint는 별도 API로 옮기지 않았습니다. 아이콘은 content-addressed asset으로 관리되고, 사용자가 템플릿을 수정·삭제하거나 전체 클라우드 데이터를 삭제하는 현재 흐름에서 정리됩니다.
제거한 범위
학교 공개 공지는 기존 frontend 직접 조회와 캐시만 유지합니다. 이전 backend 데이터는 자동 이관하지 않습니다.
보안과 비용 경계
검증
pnpm install --frozen-lockfilepnpm run lintpnpm run build:localpnpm exec playwright test tests/extension: 3 passedpnpm run build:gh-pagespnpm audit --prod --audit-level=high: no known vulnerabilitiesHosted PR CI는 lint, extension build, local-first template 55개, monitoring 23개와 Sentry bundle 계약만 검사합니다. Chromium과 Docker를 설치하는 MV3/Supabase 검사, 전체 기능 회귀와 중복 Pages 빌드는 로컬 검증 결과로 분리했습니다.
운영 연결 상태
chromiumapp.org/supabaseURL 등록VITE_SUPABASE_URL,VITE_SUPABASE_PUBLISHABLE_KEY등록남은 수동 배포 게이트는 빌드된 unpacked extension의
chrome.identity.launchWebAuthFlow전체 UI 흐름, 게시/복제/좋아요, 두 기기 충돌 시나리오입니다. 운영 release는 이 PR을 merge하기 전까지 배포되지 않습니다.