could not connect to servicer

PLz Note i all internet & network permssions added befor & my app use to work will but two days ado i got this errors & i am useing my device to debug & test

Exception has occurred.
ArgumentError (Invalid argument(s): argument value for ‘return_value’ is null) << from realm_binding.dart

Exception has occurred.
SocketException (SocketException: Failed host lookup: ‘services.cloud.mongodb.com’ (OS Error: No address associated with hostname, errno = 7))

class ItemService with ChangeNotifier {
  R.User? user;
  late R.Realm realm;
  R.App app;
  List<Account> accounts = [];
  List<IsUserPaid> selectedUsers = [];
  List<int> isPaid = [];
  List<Account> searchResults = [];
  Account? currentAccount;

  bool _itemIsLoading = false; // Loading state
  bool? get itemIsLoading => _itemIsLoading;

  ItemService(this.app) {
    _initialize();
  }

  Future<void> _initialize() async {
    if (app.currentUser == null) {
      throw Exception("User is not authenticated");
    }
    user = app.currentUser;
    await _openRealm();
  }

  Future<void> _openRealm() async {
    //_setLoading(true);
    var realmConfig = R.Configuration.flexibleSync(
        user!, [Mytable.schema, IsUserPaid.schema, Account.schema]);
    realm = R.Realm(realmConfig);
    listenToConnectionState();
  }

  Future<void> updateSubscriptions() async {
    realm.subscriptions.update((mutableSubscriptions) {
      mutableSubscriptions.clear();
      mutableSubscriptions.add(realm.all<Mytable>());
      // mutableSubscriptions.add(realm.all<IsUserPaid>());
      mutableSubscriptions.add(realm.all<Account>());
    });
  }

  Future<void> refreshData() async {
    try {
      await realm.subscriptions.waitForSynchronization().then((_) {
        currentAccount = getCurrentUser();
        print(currentAccount?.userName ?? "No User");
        refreshToken();
      }).catchError((error) {
        print('Error during subscription synchronization: $error');
      });
    } catch (e) {
      print('Exception in refreshData: $e');
    }
  }

  void listenToConnectionState() {
    realm.syncSession.connectionStateChanges
        .listen((R.ConnectionStateChange connectionState) {
      switch (connectionState.current) {
        case R.ConnectionState.connected:
          print("Connected to the Realm server.");
          updateSubscriptions();
          refreshData();
          _setLoading(false);
          break;
        case R.ConnectionState.connecting:
          print("Connecting to the Realm server...");
          _setLoading(true);
          break;
        case R.ConnectionState.disconnected:
          print("Disconnected from the Realm server.");
          _setLoading(false);
          break;
      }
    });
  }

  void _setLoading(bool value) {
    _itemIsLoading = value;
    notifyListeners();
  }

  Future<void> close() async {
    if (user != null) {
      await user?.logOut();
      user = null;
    }
    realm.close();
  }

  @override
  void dispose() {
    realm.close();
    super.dispose();
  }

if i signout i got
Exception has occurred.
RealmException (RealmException: Accessing object of type Users which has been invalidated or deleted. Error code: 2010.)

Exception has occurred.
RealmException (RealmException: Error getting property Account.email Error: RealmException: Accessing object of type Users which has been invalidated or deleted. Error code: 2010.)

Exception has occurred.
TimeoutException (TimeoutException after 0:01:00.000000: Future not completed)

enum AuthMode { signUp, login }

class UserService with ChangeNotifier {
  AuthMode authMode = AuthMode.login;
  bool eye = true;
  bool eye1 = true;

  TextEditingController emailController = TextEditingController();
  TextEditingController nameController = TextEditingController();
  TextEditingController confirmPasswordController = TextEditingController();
  TextEditingController passController = TextEditingController();
  GlobalKey<FormState> formKey = GlobalKey<FormState>();
  AutovalidateMode autovalidateMode = AutovalidateMode.disabled;

  String id;

  App atlasApp;
  User? currentUser;
  late Account currentAccount;

  bool _userIsLoading = false; // Loading state

  bool? get userIsLoading => _userIsLoading;

  // bool? get userIsLoading => _userIsLoading;

  UserService(this.id) : atlasApp = App(AppConfiguration(id));

  Future<User> registerUserEmailPassword(
      String email, String password, String name, String token) async {
    EmailPasswordAuthProvider authProvider =
        EmailPasswordAuthProvider(atlasApp);

    _setLoading(true); // Start loading

    try {
      await authProvider.registerUser(email, password);
      User loggedInUser =
          await atlasApp.logIn(Credentials.emailPassword(email, password));
      await setRole(loggedInUser, email, name, token);
      currentUser = loggedInUser;

      _setLoading(false); // Stop loading

      notifyListeners();
      return loggedInUser;
    } catch (e) {
      _setLoading(false); // Stop loading if an error occurs
      rethrow; // Re-throw the exception after stopping the loading indicator
    }
  }

  void _setLoading(bool value) {
    _userIsLoading = value;
    notifyListeners();
  }

  Future<User> logInUserEmailPassword(String email, String password) async {
    _setLoading(true); // Start loading

    Credentials credentials = Credentials.emailPassword(email, password);
    final loggedInUser = await atlasApp.logIn(credentials);
    currentUser = loggedInUser;
    _setLoading(false); // Start loading

    notifyListeners();

    return loggedInUser;
  }

  Future<void> setRole(
      User loggedInUser, String email, String name, String token) async {
    final realm =
        Realm(Configuration.flexibleSync(loggedInUser, [Account.schema]));
    String subscriptionName = "rolesSubscription";
    realm.subscriptions.update((mutableSubscriptions) =>
        mutableSubscriptions.add(realm.all<Account>(), name: subscriptionName));
    await realm.subscriptions.waitForSynchronization();
    realm.write(() {
      currentAccount = Account(ObjectId(), email, name, loggedInUser.id, token);

      return realm.add(currentAccount);
    });

    realm.subscriptions.update((mutableSubscriptions) =>
        mutableSubscriptions.removeByName(subscriptionName));
    await realm.subscriptions.waitForSynchronization();

    realm.close();
  }

  Future<void> logoutUser() async {
    await currentUser?.logOut();
    currentUser = null;
  }
runApp(
    MultiProvider(
      providers: [
        ChangeNotifierProvider<DataTableProvider>(
          create: (_) => DataTableProvider(),
        ),
        ChangeNotifierProvider<LanguageProvider>(
          create: (_) => LanguageProvider(),
        ),
        ChangeNotifierProvider<ConnectivityProvider>(
          create: (_) => ConnectivityProvider(),
        ),
        ChangeNotifierProvider<PdfProvider>(
          create: (_) => PdfProvider(),
        ),
        ChangeNotifierProvider<UserService>(create: (_) => UserService(appId)),
        ChangeNotifierProxyProvider<UserService, ItemService?>(
            // RealmServices can only be initialized only if the user is logged in.
            create: (context) => null,
            update: (BuildContext context, UserService appServices,
                ItemService? realmServices) {
              return appServices.atlasApp.currentUser != null
                  ? ItemService(appServices.atlasApp)
                  : null;
            }),
      ],
      child: const Jamia(),
    ),
  );
}

class Jamia extends StatelessWidget {
  const Jamia({super.key});

  @override
  Widget build(BuildContext context) {
    final provider = Provider.of<DataTableProvider>(context, listen: true);
    final itemService = Provider.of<ItemService?>(context);
    final con = Provider.of<ConnectivityProvider>(context, listen: true);

    SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(
        systemNavigationBarIconBrightness:
            provider.tm == ThemeMode.light ? Brightness.dark : Brightness.light,
        statusBarIconBrightness:
            provider.tm == ThemeMode.light ? Brightness.dark : Brightness.light,
        systemNavigationBarColor: provider.tm == ThemeMode.light
            ? const Color(0xffFEFBF7)
            : Color(0xFF1F1F1F),
        statusBarColor: provider.tm == ThemeMode.light
            ? const Color(0xffFEFBF7)
            : Color(0xFF1F1F1F),
        statusBarBrightness:
            provider.tm == ThemeMode.light ? Brightness.light : Brightness.dark,
      ),
    );

    WidgetsBinding.instance.addPostFrameCallback((_) {
      if (con.isConnected && itemService?.itemIsLoading == true) {
        itemService?.refreshData();
      }
    });

    return MaterialApp(
      locale: Locale(provider.local),
      localizationsDelegates: const [
        S.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: S.delegate.supportedLocales,
      navigatorKey: navigatorKey,
      title: "Jamia",
      debugShowCheckedModeBanner: false,
      themeMode: provider.tm,
      theme: lightTheme(context), // Use the light theme
      darkTheme: darkTheme(context), // Use the dark theme
      routes: {
        SplashView.routeName: (context) => const SplashView(),
        GeneratedTableScreen.routeName: (context) =>
            const GeneratedTableScreen(),
        DragDropListView.routeName: (context) => const DragDropListView(),
        Setting.routeName: (context) => const Setting(),
        TablesScreen.routeName: (context) => const TablesScreen(),
        LoginSignup.routeName: (context) => const LoginSignup(),
        FriendsAddedMeScreen.routeName: (context) =>
            const FriendsAddedMeScreen(),
      },
      home: itemService?.isLogedIn() ?? false
          ? con.isConnected
              ? itemService?.itemIsLoading == true
                  ? WaitingIndicator(con: con)
                  : const TablesScreen()
              : const TablesScreen() // Show TablesScreen when loading is complete
          : const LoginSignup(),
    );
  }
}