Skip to content

"Certificate has expired" when activating the Expo schema #87

Description

@byCedric

Edit: in version 0.8.0+, the code that could trigger this has been removed and replaced with something more stable.


Description of the bug

There is a known issue related to certificates in the newer vscode. This might result in the following error:

image

Workarounds

There are currently two workarounds to avoid this issue, until vscode fixes the issue. After applying either of the workarounds, simply restart your vscode and the error should be gone.

From the vscode team

Currently, the recommended workaround from the vscode team would be to add "http.systemCertificates": false in your configuration. This would avoid the faulty root certificate and successfully pull in the schema.

After the schema was activated successfully, you can remove this option. We cache the schema to minimize the API calls.

With the Expo schema cache

If you aren't comfortable with disabling the system certificates, you can work around this issue by pre-populating the schema cache. This would be required for every major Expo SDK version your project(s) use.

$ expo init ./temporary --template expo-template-blank@44
$ cd temporary
$ expo doctor
$ cd ..
$ npx rimraf temporary

This creates an empty project using Expo SDK 44, we only need to execute $ expo doctor inside of that to download the Expo schema outside vscode. After you execute this, the schema is written to:

If you use other SDK versions, you can replace 44 with any major version you use.

# Linux
~/.cache/expo/schema-44.0.0.json

# MacOS
~/.expo/cache/schema-44.0.0.json

# Windows
%AppData%\Local\Expo\schema-44.0.0.json

Additional context

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