appwrite / sdk-for-web

[READ-ONLY] Official Appwrite Web SDK 🧑

Home Page:https://appwrite.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ› Bug Report: Realtime doesn't work on React Native

rohankm opened this issue Β· comments

πŸ‘Ÿ Reproduction steps

  1. create a react native expo app
  2. init the appwrite
  3. check the console log

πŸ‘ Expected behavior

As react native does not have window.localstorage, implementing the same with
AsyncStorage from '@react-native-async-storage/async-storage'; would be more sense.

i was checking the docs of supabase. This is how they did it

import AsyncStorage from '@react-native-async-storage/async-storage';
import { createClient } from '@supabase/supabase-js'

const supabaseUrl = YOUR_REACT_NATIVE_SUPABASE_URL
const supabaseAnonKey = YOUR_REACT_NATIVE_SUPABASE_ANON_KEY

export const supabase = createClient(supabaseUrl, supabaseAnonKey, {
  localStorage: AsyncStorage as any,
  autoRefreshToken: true,
  persistSession: true,
  detectSessionInUrl: false,
});

implementing something like this would be helpful

πŸ‘Ž Actual Behavior

Screenshot 2022-07-08 at 5 25 10 AM

🎲 Appwrite version

Version 0.10.x

πŸ’» Operating system

MacOS

🧱 Your Environment

No response

πŸ‘€ Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

@rohankm could you please clarify that realtime in react native is what doesn't work?

commented

@stnguyen90 SDK throws the exception below, when trying to subscribe. This is due to that it uses localStorage which is not available in React Native.

TypeError: Cannot read properties of undefined (reading 'getItem')
    at WebSocket.onMessage (/xxx/node_modules/appwrite/dist/cjs/sdk.js:181:81)

please assign it to me

@rohankm We now have React Native SDK. Please check it out at https://github.com/appwrite/sdk-for-react-native