-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add staging state? #10
Comments
@minhqdao Sure, That seems to be a great Idea I think we should implement this @arteevraina , But the main thing to consider is that the user himself will also be a maintainer so he can delete/update the details of the package/version. We should surely implement this for namespaces. I will be adding a field to the packages collection. |
Yes, this looks like a nice feature addition to me as well and It is also related to |
I think I understand namespaces as a domain in which the packages can be linked. So, two different packages with the same name can exist on the Registry under different namespaces (domains) and this makes things easy on the fpm side that no two dependencies with the same name and domain (namespace) exist in the project or something like that. But, I could not understand here what does |
I think the other way around is preferable here, every upload is immutable, but can be removed if broken (yanked). Removal will retain the package for explicit dependencies, like on Crates.io or PyPI. Deletion should be an operation reserved for admins. If staged or beta packages remain mutable, what does prevent someone to just upload all packages in the staging area and have them always mutable? |
There should be in warning during build when a dependency is still in the staging area:
Identifying if a package is broken, however, could add additional work for maintainers who in some cases will need to decide whether a package should be taken down or not. I also like the idea of calling it We could also think about automatically move an uploaded package from I just want an uploader to be able to upload a package, test it thoroughly via the official registry, send it to colleagues to let them try it and be able to take it down or change it before it becomes fully |
fix: only persist auth state and remove loading
As final packages are supposed to be immutable (except for some metadata maybe), I think we should have sth like a staging state (a simple field in the package like
is_staging
oris_final
might suffice, or sth more sophisticated like apublication_state
:"staging"
) where the package is uploaded and fully functioning but might be altered, swapped, or even removed. It acts as abeta
phase before it becomes fully permanent within the database. I can just otherwise imagine that someone uploads a package which is buggy or has a typo and that'll stay in the database forever. 😣On the
fpm
side, we could warn a user if a package is used that is still in staging mode. We can also warn the uploader that a package will become fully permanent and immutable if the he/she changes the package to "final".The text was updated successfully, but these errors were encountered: