appwrite / sdk-for-web

[READ-ONLY] Official Appwrite Web SDK ๐Ÿงก
https://appwrite.io
BSD 3-Clause "New" or "Revised" License
273 stars 59 forks source link

๐Ÿ› Bug Report: Realtime doesn't work on React Native #29

Closed rohankm closed 2 months ago

rohankm commented 1 year ago

๐Ÿ‘Ÿ 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?

๐Ÿข Have you read the Code of Conduct?

stnguyen90 commented 1 year ago

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

solita-jtn commented 1 year ago

@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)
prathamesh3707 commented 8 months ago

please assign it to me

lohanidamodar commented 3 months ago

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