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
- Enabling Overage Usage
Hello Appwrite Support Team, I am currently using Appwrite under the GitHub Student Developer Pack plan. Recently, my project hit the database read limit, and ...
- appwrite-docs MCP fails in Cursor — SSE ...
Hi team, I'm having trouble getting the hosted Appwrite docs MCP working in Cursor on Windows. Environment IDE: Cursor (latest) OS: Windows 11 Node: v24.15.0 ...
- Migration from Cloud to Self-Hosted not ...
Hello Appwrite Community, I've got the problem, that when I try to migrate my Appwrite Project from the cloud to my self-hosted Appwrite, that an API Key is mi...