pypi / warehouse

The Python Package Index
https://pypi.org
Apache License 2.0
3.58k stars 965 forks source link

Trusted publishing: pending publisher should warn about ultranormalized name collision #16226

Open twm opened 3 months ago

twm commented 3 months ago

What's the problem this feature will solve?

I created a pending publisher when I named my package:

image

But when I tried to use it I got an error:

Error: Trusted publishing exchange failure: Token request failed: the server refused the request for the following reasons:

It's probably colliding with coverage_pth, the abandoned package I'm trying to replace.

Describe the solution you'd like

The PyPI UI should warn that the pending publisher will fail to create the package due to a name conflict. I'd expect this check to happen on page load, since the UI warns that races are possible:

image

Alternatively, it could be treated as a form validation error like a closer match does:

image

Additional context

Related issues:

woodruffw commented 3 months ago

Thanks for the report @twm!

I agree this should be a form error, like the second screenshot you posted.

(A variant of this error will still be possible when a project with a too-similar name is created between the pending publisher's creation and use. But that should be much less common.)

woodruffw commented 3 months ago

I've asked @DarkaMaul to take a look at fixing this 🙂

twm commented 3 months ago

Thanks @woodruffw! I would also be happy to give it a go myself if that'd be helpful.

woodruffw commented 3 months ago

No problem with me!