HeyPuter / puter

🌐 The Internet OS! Free, Open-Source, and Self-Hostable.
https://puter.com
GNU Affero General Public License v3.0
26.62k stars 1.77k forks source link

Subdomain Expiration without clear reason #806

Open bitsnaps opened 1 month ago

bitsnaps commented 1 month ago

There seems to be a recurring issue where subdomains are expiring unexpectedly across multiple applications.

It has been noticed that almost every app I've created (maybe except listed app ) ends up with an expired subdomain after a certain period, even if it shows continued usage by other users in various discussions on discord.

[Possible] steps to reproduce:

Expected behavior:

The subdomain should remain active as long as the app is in use and not be subject to expiration based on external factors like domain name changes or inactivity.

Screenshots: The provided image shows examples of subdomains that have expired without any apparent action taken on my part.

image

Deployment:

What could trigger that issue:

Originally posted in issue#230

KernelDeimos commented 1 month ago

After taking a careful look we have no time-based expiry mechanism which could be affecting subdomains. I suspect that instead there is another issue where subdomains are replaced/removed/re-used because of some other action on the system. I haven't found it yet but I'm continuing to investigate.

Are you able to post exact reproduction steps? Ideally from a clean install of open-source Puter, which should have the same issue.

bitsnaps commented 1 month ago

It is challenging to reproduce the issue as the behavior appears to be random, and subdomains are generated with unique and random names from user's eye, this variability makes it difficult to establish a consistent reproduction path.

Currently, there is no method for tracking logs from the user's perspective, which complicates the investigation into the root cause of the problem, without these insights, identifying what leads to subdomain expiration becomes more difficult.

To get to the crux of the issue, I recommend implementing a more detailed logging mechanism that specifically tracks actions related to replaced/removed/re-used subdomains, this may facilitate pinpointing the specific moment an issue arises, providing more context around the problem.

If subdomains are expiring after a period from a user side, this may suggest that external actions from other users are contributing to the issue, so isolating the behavior during a single instance of usage may not fully capture the root cause.

As a potential way forward, I suggest conducting experiments that involve creating a bulk of actions labeled replaced/removed/re-used across multiple accounts (e.g; using a batch testing tool: locust..), this might help in identifying patterns that lead to the subdomain expiration issue more effectively.

KernelDeimos commented 2 weeks ago

Hi, thanks for your suggestions. Better logging and monitoring is always on the TODO. Contributions are welcome; adding help-wanted label in case anyone else is able to reprod this before we do.