Giter VIP home page Giter VIP logo

Comments (4)

GuillaumeSalles avatar GuillaumeSalles commented on May 14, 2024 3

Based on @vinodsantharam feedback and some investigation, it's possible to use @liveblocks/client and @liveblocks/react with React native, but it requires some work. I'm reopening this issue to keep track of what could be improved to officially support React native.

Here are the necessary work around as of v0.14.1:

  • use a polyfill for atob (used to parse jwt token)
import {decode, encode} from 'base-64';

if (!global.btoa) {
  global.btoa = encode;
}

if (!global.atob) {
  global.atob = decode;
}
  • Patch window.addEventListener to not crash on window.addEventListener("online").
window.addEventListener = () => {};

To officially support it, we need to:

  • Not crash on window.addEventListener.
  • Give a clear error message when atob is not defined.
  • Optional but it would great to use @react-native-community/netinfo to reconnect faster instead of waiting for the heartbeat.
  • And of course, official documentation

from liveblocks.

GuillaumeSalles avatar GuillaumeSalles commented on May 14, 2024 2

We now have an official example: https://github.com/liveblocks/liveblocks/tree/main/examples/react-native-todo-list

from liveblocks.

GuillaumeSalles avatar GuillaumeSalles commented on May 14, 2024 1

Hi @dynamichny,

To be completely transparent with you, we didn't try @liveblocks/client and @livebocks/react with react native, but my understanding is that it should work since we only depend on fetch and WebSocket. If it does not work for some reason, we will make sure to fix the issues to make it work!

from liveblocks.

nandorojo avatar nandorojo commented on May 14, 2024

for the online listener, maybe you could do what react-query does, and let people register their own listener.

from liveblocks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.