Hi, I don't know exactly when, but I see that the push targets of almost all users have disappeared, is this normal? Prj. ID. 6665de8b001d6c9b0a25
Ya all the same
How many? Could it be that some targets were expired, but not the one specified?
sometimes 1, sometimes 2
I once tried to send a push manually to an expired token and it sent it correctly, again via appwrite
yes but even if it was considered expired it didn't delete them, today I found many deleted items, is there any scheduled event that cleans?
Send to only 1 target and you got an error saying it was expired?
Yes, they are deleted as a background job. No guarantee as to when exactly it'll run
ah...but why they are expired...
i need to investigate..
no it is sent without errors, I will try again as soon as I have time
The only thing I can think of is it is marked as expired in Appwrite, then you update it, but it's still marked as expired, and then it gets deleted
Is it marked as expired only when Google is engaged in an attempt to send a push?
What do you mean? The API call is made to Google/firebase and then we mark it as expired depending on the response
On appwrite, is the status of "EXPIRED" inserted when the first push is sent?
It's supposed to be marked as expired only if firebase returns the not found or unregistered error
But I think we may be correlating it wrong so the wrong target in the batch is marked as expired
This is a PR to fix it: https://github.com/utopia-php/messaging/pull/88
so there is actually an index problem, and a token that has not actually expired is then updated in the table
@Steven Hi Steven, I saw that the fix to this problem was merged into master, just out of curiosity, how will this be released on the cloud now?
we need to deploy it
We've deployed the fix.
- the push target should specify whether it's expired or not now
- updating a push target will reset the expired flag
- the correct recipient should be marked as expired if the push fails
Let me know how it goes.
good, for 1. where i can see if the push target is marked expired or not?
In the payload. For example, account.get()
includes the targets.
Perfect, I think I can see it with command cli, top, thank you
Recommended threads
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...
- Deep Linking & Password reset
I am using react native with expo. I want to implement deep link with the url recived via email. So when clicked the link it opens my app. I havent ever used de...
- Deploy function not working - 503
Hellon i get this error message, when i try to deploy a new version of a function <html><body><h1>503 Service Unavailable</h1>No server is available to handle...