-
Notifications
You must be signed in to change notification settings - Fork 146
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
feat: Imported Firefox 134 and Firefox 135 schema data #5551
Conversation
expect(manifestJSONParser.collector.warnings).toEqual( | ||
expect.arrayContaining([ | ||
expect.objectContaining({ | ||
code: 'MANIFEST_PERMISSIONS', | ||
instancePath: '/permissions/1', | ||
message: expect.stringMatching( | ||
new RegExp(`Invalid permissions "${permName}"`) | ||
), | ||
}), | ||
]) | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: @willdurand this is currently covering the behavior expected at the moment without a more specific error code, I'd be leaning towards filing a separate followup to consider introducing a separate error code and a better error message linking a doc page with more precise guidance about how optional only permissions should be used by extensions developers.
The type is defined there because we need to define the type at the manifest schema level, for it to be extensible by others. We cannot just remove it. That means that if an empty enum is really disallowed, that we need to think of alternatives. |
The updated schema data includes the following changes
Firefox 134:
"sandbox"
to theProfilerFeature
strings enumOptionalOnlyPermission
typeruntime.onUserScriptMessage
andruntime.onUserScriptConnect
API eventstelemetry
API method related to dynamically registered scalarsUSER_SCRIPT
world toExecutionWorld
string enum"userScripts"
to theOptionalOnlyPermission
string enumFirefox 135:
"flows"
to theProfileFeature
strings enumIn addition to that this PR also includes:
src/schema/updates/manifest.json
side to prevent the empty enum currently part of the OptionalOnlyPermission schema data as imported from Firefox from triggering errors originated from ajv (which consider an empty array associated to an enum as invalid schema data) - see b417050Fixes #5550