Client marked as "expired" in UI even after updating expiryTime and enabling config #3055
Open
2 tasks done
Labels
bug
Something isn't working
Describe the bug
Description:
Even after programmatically extending a client's subscription (expiryTime) and enabling the config (enable: true), the 3x-ui frontend still shows the red "expired/exceeded" badge. This causes confusion, even though the config is fully functional and accessible.
Only after making an additional change (e.g., modifying email, flow, or any other field in the client object), the "expired" tag disappears in the UI. This suggests a frontend cache/render issue.
How to repeat the problem?
Steps to reproduce:
Create a client with a limited expiryTime.
Let the client expire.
Using the API, update expiryTime to a future timestamp and set enable: true.
Do not modify any other fields like email, flow, etc.
Open the UI — the client still appears as "expired", even though the subscription is valid.
Expected action
The "expired" label should disappear immediately after updating expiryTime and enabling the config.
Received action
Actual behavior:
The client remains marked as "expired" in the UI.
The config works fine technically (client can connect).
Changing any non-functional field (like email or flow) forces the UI to refresh and remove the label.
3x-ui Version
2.5.8
Xray-core Version
25.4.30
Checklist
The text was updated successfully, but these errors were encountered: