Hello guys, I am implementing a flutter application which communicates with the cloud appwrite system. On the login step I try to add a push target if this target is missing. The code for this looks like:
Future<void> setUserTarget(String? fcmToken, User user) async {
if (fcmToken != null) {
if (user.targets.isEmpty ||
!user.targets.any((targe) => targe.providerType == 'push')) {
await _account.createPushTarget(
targetId: user.$id,
identifier: fcmToken,
providerId: PROVIDER_ID);
} else {
await _account.updatePushTarget(
targetId: user.$id, identifier: fcmToken);
}
}
}
When I debug through the code I get this state of the user is targest list is empty (see screenshot), but after caling the _account.createPushTarget() function I get the error message: A target with the same ID already exists (see the second screenshot)
I also checked the appwrite console and there is not target for the user.
I am not sure what the problem is. Can anybody help?
Kind regards
How are you getting the user object?
With this line of code: final user = await _account.get();
If you look in console under that user do you see the target for that already?
No, there is no target for that user
is there any reason you're using the users id as the target ID and not ID.Unique()?
Hmm, this is a good point. I was thinking I saw this in the documentation. But, I should use ID.unique()
I will try that
Not that it should be conflicting now since there isn't one, but I'm not sure what it validates for that section off the top of my head.
I looked through the documentation and found this: https://appwrite.io/docs/references/cloud/server-nodejs/users#updateTarget But I mixed it up. I will try with ID.unique and will let you if the problem is solved
I changed my code, now using ID.unique() But I am still facing the same problem
Ok, now something is completely off. I want to try to login with a different user to check if it works or not. Now I get the problem with session_already_exists but nothing is visible in the console
I am not sure what is happening 😰
:( Did you delete the session from your last user?
Recommended threads
- Weird permission failure
when creating an account I use following methods: ``` Future<void> register(String email, String password, String username) async { final user = await accoun...
- Appwrite Storage error 503s for automate...
I'm facing error 503s from Appwrite after about 5-6 seconds of making AI requests from my tool with images and files above 20MB (=> not inline base64 used, but ...
- Flutter Android oAuth is no more working
I currently don't get the oAuth login to work in flutter android. it works on ios and on web. but when try to use it on Android, i get to the point where the ca...