Skip to content

feat: Lynx Web Platform 지원 - #58

Merged
eunjin11 merged 3 commits into
mainfrom
feat/web-prototype
Aug 18, 2026
Merged

feat: Lynx Web Platform 지원#58
eunjin11 merged 3 commits into
mainfrom
feat/web-prototype

Conversation

@eunjin11

Copy link
Copy Markdown
Collaborator

Lynx 공식 Web Platform(@lynx-js/web-core) 위에서 lynx-console이 동작하도록 플랫폼 분기를 추가하고, 브라우저에서 검증할 수 있는 example 호스트 셸을 넣었어요.

네이티브 동작은 그대로 두고 web에서만 우회하도록 SystemInfo.platform 런타임 체크(shared/isWebPlatform)로 분기했어요.

  • Network: web의 lynx.fetch는 LynxFetchModule이 없어 동작하지 않으므로 worker의 globalThis.fetch를 원본으로 사용. 네이티브는 번들러가 주입하는 bare fetch 식별자를 그대로 패치해야 앱 호출이 잡히므로 기존 경로 유지
  • Tabs: web x-list가 리렌더마다 가로 스크롤을 리셋해 탭이 원위치로 돌아가는 문제를 display 토글 방식으로 대체
  • BottomSheet: web BTS에서 rAF 콜백이 유실되면 열림 애니메이션 시작 상태에 갇히므로 setTimeout 폴백 추가
  • FloatingButton: 데스크톱 마우스는 touch 이벤트를 만들지 않아 web에서만 tap 폴백을 추가하고, 열린 콘솔이 버튼을 가리도록 z-index 조정
  • useKeyboardHeight: web에서 keyboardstatuschanged 리스너 등록 시 없는 네이티브 모듈을 호출해 크래시가 나므로 우회
  • Log: web lynx-core가 찍는 "NYI: ..." 노이즈 로그 필터링

example에는 web/lynx 두 environment를 추가하고, 호스트 셸을 example/web에 뒀어요. 실행: npx rsbuild dev -c example/web/rsbuild.config.mjs

Lynx 공식 Web Platform(@lynx-js/web-core) 위에서 lynx-console이 동작하도록
플랫폼 분기를 추가하고, 브라우저에서 검증할 수 있는 example 호스트 셸을 넣었어요.

네이티브 동작은 그대로 두고 web에서만 우회하도록 SystemInfo.platform 런타임
체크(shared/isWebPlatform)로 분기했어요.

- Network: web의 lynx.fetch는 LynxFetchModule이 없어 동작하지 않으므로 worker의
  globalThis.fetch를 원본으로 사용. 네이티브는 번들러가 주입하는 bare fetch
  식별자를 그대로 패치해야 앱 호출이 잡히므로 기존 경로 유지
- Tabs: web x-list가 리렌더마다 가로 스크롤을 리셋해 탭이 원위치로 돌아가는
  문제를 display 토글 방식으로 대체
- BottomSheet: web BTS에서 rAF 콜백이 유실되면 열림 애니메이션 시작 상태에
  갇히므로 setTimeout 폴백 추가
- FloatingButton: 데스크톱 마우스는 touch 이벤트를 만들지 않아 web에서만 tap
  폴백을 추가하고, 열린 콘솔이 버튼을 가리도록 z-index 조정
- useKeyboardHeight: web에서 keyboardstatuschanged 리스너 등록 시 없는 네이티브
  모듈을 호출해 크래시가 나므로 우회
- Log: web lynx-core가 찍는 "NYI: ..." 노이즈 로그 필터링

example에는 web/lynx 두 environment를 추가하고, <lynx-view> 호스트 셸을
example/web에 뒀어요. 실행: npx rsbuild dev -c example/web/rsbuild.config.mjs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@eunjin11 eunjin11 self-assigned this Aug 17, 2026
@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
lynx-console Ready Ready Preview Aug 17, 2026 10:45pm

Request Review

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
main에 잘못 올렸다 revert한 커밋(3f415cc)이 PR merge-base로 잡혀,
같은 파일명이 이미 존재해 changeset이 감지되지 않던 문제 해결

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@eunjin11
eunjin11 merged commit 305cc1e into main Aug 18, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant