프론트엔드 앱에서 online/offline 상태를 다루는 로직은 생각보다 자주 비즈니스 로직 안으로 스며드는 것 같아요.

실제로 구현하다 보면 navigator.onLine, online/offline 이벤트 리스너, retry 분기, offline 상태에서의 액션 처리 같은 코드가 여기저기 흩어지기 쉽고, 시간이 지날수록 일관되게 관리하기도 어려워집니다.

오프라인 상태 대응은 늘 우선순위가 밀리기 쉬웠고, 요즘처럼 AI로 기능 개발 속도가 빨라질수록 좋지 않은 네트워크 환경에서도 최소한의 경험을 유지할 수 있도록 제품 경험의 하방을 함께 올리는 일도 중요하다고 느꼈어요.

이런 문제를 조금 더 깔끔하게 다루고 싶어서 connectivity-js라는 오픈소스를 만들었습니다.

  • 선언적인 네트워크 상태 제어
  • framework-agnostic core + React adapter
  • offline action queue
  • deduplication / backoff retry

GitHub
https://github.com/minseong0324/connectivity-js

아직 0.x 버전이라 내부 구현이나 API 설계는 더 다듬어갈 부분이 많습니다. 비슷한 문제를 겪어보셨거나 개선 아이디어가 있다면
피드백, 이슈, PR 모두 환영합니다.