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
- Local Serverless Function Testing: Are D...
I have followed the instructions to get the CLI working, and have been able to log-in, initialize my project, and created a simple Python function, which calls ...
- Update user email using OTP
Hi, I am trying to implement email update using OTP, there is not password associated with the account. One solution I found online is creating appwrite functio...
- Magic Link token automatically consumed
Hi, I'm using the Magic Link auth system with Appwrite Cloud and I'm running into huge issues getting users to log in successfully. About 9 times out of 10, th...