Related to #1272 and #783 but not quite the same.
In this specific case, when OpenVSX is not able to upload to the storage backend, the extension is still created in OpenVSX without the ability to install it. When publishing the same extension again (after the fixing the underlying issue), the message "extension is already published but not activated, therefore not visible" is returned by the server. When trying to install the extension from VSCode, it seems successful but the extension is not installed at all. The only way to fix this seems to be to go into the database and run
DELETE from extension_version where active = 'f';
and re-upload. You can see how this is problematic and not particularly great UX/DX.
Reasons for why upload to storage backend failed in our case include 1) self-signed certificate without explicit trust and 2) S3 bucket was full.
Steps to reproduce
See above, either connect to a S3 with invalid certificate or if it's also reproducible, provide an invalid URL or a valid non-S3 url like https://example.com. Try to upload an extension using the ovsx cli
Expected behavior
The extension is not created and an error is returned to the ovsx cli (e.g. 502 Bad Gateway)
Actual behavior
The extension is created