Skip to content

Uploading an extension to OpenVSX: when the storage backend is somehow unreachable, OpenVSX still creates the extension #1378

@muja

Description

@muja

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions